Openness and Standards: The Lingua Franca

In a previous post, I discussed what exactly is the Internet of Things and what are the components in an IoT system. From that post, we can reckon that IoT’s components constantly talk to each other in order to garner a wealth of data and provide insights to the users of the system. People across the world converse in different languages and it is particularly difficult for different groups of people to talk to each other unless official and national languages are set and embraced. Likewise, different companies make different products and for them to be able to talk to each other seamlessly, free and standard ways of communication must be established.

How the IoT eco-system is fragmented right now

As thousands of millions of smart devices enter our homes, pockets & lives today, there is one thing that we desperately want them to do….. and do soon. Talk to each other in a way that they understand each other. Smart devices have improved our lives in many ways & yet not many of them can seamlessly talk to each other. Our clock, for instance, cannot talk to our washing machine and tell it to start the washing cycle at a predefined time. The washing machine has to resort to its own clock and so does every device that needs a time schedule, each needing to be tuned seperately to be kept in sync. Why can’t our ONE smart wall clock be the source of time for all our devices? Nor can a standard smart fridge talk to any mobile phone to remind us to get milk on the way home.
A lot of companies such as Nest, Samsung, Sony, Apple and scores of others have come up with solutions to make their devices talk among themselves and make things seamless. But alas, most these solutions work only within the products made by the same company. Call it business strategy or monopoly, but most companies are hell-bent on forcing solutions from their own house down the throats the consumer.  The consumer is currently stuck with a situation where he / she cannot pick the best device from each company and have them talk to each other. The vendor tie-up is generally due to various reasons, such as a proprietary cable (e.g. iPhone’s data cable / charger), a proprietary data transfer method (e.g. Samsung Kies, iTunes) and other such reasons which lock solutions to the products by the same company.

010-apple-watch 001-samsung-gear

E.g. brilliant products like Apple Watch and the Samsung Gear smartwatches (both pictured above) have imposed limitations on which devices they will connect to. Apple’s watch connects only with iOS devices like iPhone and iPad, while Gear connects only with the Samsung Galaxy Android smartphones.

Interoperability: The biggest need in IoT

One of the biggest advantages to be fulfilled by IoT is the principle of ‘one-touch setup & forget’. The devices should work so seamlessly that the user is not even aware of their existence. Any device should connect & share data with any other device or with a central unit. At the end of the day, IoT’s main purpose is to automate our lives and filter the mundane chores away from us as consumers. The main principle for IoT is summarized exactly in one word — compatibility or interoperability. Users seek compatibility among devices. A smart device single-handedly doing its assigned job well is so 2000s. In 2016, we need devices that function well and also interoperate well with other devices that need their services. A connected world needs connected devices, but with no one having to toil to establish the connections or to speak over them.

So you have designed a smart washing machine which uses cutting edge technology to minimize detergent usage and use water efficiently? Not enough. It should be able to talk to your smart phone, your laptop and possibly even your smart watch, wherever you are and whatever you are doing, telling you about the progress of washing or alert you if its detergent bay is empty or if it is not able to draw water from the tap. Instead of forcing you to install its own ‘proprietary app’, it should be able to alert you via mass-used methods such as Gtalk or Whatsapp or why not SMS?

Standardisation as panacea

How can such a seamless level of interoperability be achieved? One simple magical word: Follow the standards. Big companies and consortiums have long existed to draw up standards for how devices should be designed and how they should communicate with each other. But most of the IoT standards are in their infancy and not getting the necessary push needed to kick them into mainstream, since a lot of companies are happy to hit the market first with their own proprietary technologies. This is counter-productive for them, since the majority of users end up rejecting the product for its lack of interoperability and the market for IoT remains fragmented.

Standards are the lingua franca which allow different devices to talk a common language. How are standards made in the first place? Multiple companies and experts form a consortium to identify if a set of functionalities have common storyboards.

004-w3c

Case in point: HTML & CSS. Companies like Netscape, Microsoft and Mozilla came together to decide on what are the requirements for a typical web page and how browsers should show them. Under the banner of the World Wide Web Consortium (W3C), HTML and CSS as standards have set the trail blazing for what constitutes a web page, how things are laid out, how they should look and what components can be in a typical web page and how they should be rendered by a web browser that claims to support HTML and CSS. As one can see, Apple’s Safari, Opera, Google’s Chrome, Mozilla’s Firefox and Microsoft’s Internet Explorer (version 9 and higher) are the major browsers which have taken a stand to adhere to W3C’s standards. HTML is currently standardized as version 5 and CSS as version 3. Both these versions are major rehauls over their predecessors, including support for streaming video & audio, 3D rendering and jerk free animations.

Anyone who wants to make his / her own web browser now knows exactly what to do when HTML is fed to his / her browser, since everything is standardized by W3C. And web developers can breathe easy as they know that their webpage made once will work equally well on all the standards obeying browsers.

Openness as a way to speed up standards adoption

How can standards be evolved? By making participation open and inviting as many parties to use and test them as possible. Over the years, new additions can be suggested when proof of concepts are made to work and they are incorporated in the standards. After 25 years in operation, HTML has hit version 5. From a simple language which was capable of only defining behaviour for text, hyperlinks & static images, HTML today has inbuilt components for laying out 3D animations and streaming videos. This was possible because web and HTML were released to the entire world to develop, hone & mature. More such examples include hardware standards such as USB, software standards such as ODBC for database operations, communication standard protocols such as SMTP for email and file format standards such as PNG for images.

Open standards in IoT

Standards have recently been suggested for the IoT field as well, based on observations of common behaviour among many of the prevailing devices. There are some functionalities which are common to all IoT components regardless of their goal, e.g. connection with other devices, sending & receiving data, analyzing, aggregating, etc. Open standards already exist for each of these functionalities and the companies which implement these will offer maximum value by sticking to those standards.

Open standards can be classified at 4 layers: the hardware, the software, the communication and the container formats (file formats). Lets look at each layer and which open solutions exist at each layer.

Open hardware standards

Things become easy when the hardware itself is standardized. This governs what the circuit should contain, how many wires are to be used, which wire is to be used for what purpose, how much amount of current should pass through each wire, etc. The most rampantly used hardware standards today are USB, Ethernet, WiFi and Bluetooth. Most devices will be immediately within the standards as long as they follow 2 or more of the above mentioned technologies. However another wire-free hardware standard called Zigbee is fairly popular in the home automation field. The above standards stand testimony to the fact that an openly published standard is adopted my millions of participants and a whole ecosystem is created as a result. E.g. we get everything from staple things like USB keyboards to specialized things like USB connected cooling fans. Same way, Ethernet is the backbone hardware for technologies dominating the Internet today. Everything from surfing a web page to watching a streaming video are built upon electrical current passing through Ethernet cables.

002-bluetooth 004-ethernet 003-usb

Some companies have gone to the length of publishing their entire circuitry for use by the public. Anyone can download the specification and make the circuitry on his / her own. Publishing the entire specification also allows modifications to the circuit or making add-on devices with a better understanding of the original circuit and hence higher interoperability. Two companies who dominate the field of open hardware at the moment are the US-based BeagleBoard and the UK-based Raspberry Pi. While the Pi consumes lower power and has more variety of add-ons dedicated to it, the BeagleBoard is much more versatile and powerful and a single board can support multiple add-ons. Over the years, the Pi and BeagleBoard are projected to be the base boards powering millions of IoT projects around the world.

006-pi
Raspberry Pi

005-bbb
BeagleBone Black

Open software standards

The 1980s and 1990s saw companies like Microsoft and Adobe dominate the desktop software scenario. Their software was proprietary, sold on CD/DVD and installed as per the setup instructions, working only on the operation system and the hardware supported. From early 2000s, a new trend emerged. With handheld devices being used and a single person possessing multiple devices like a laptop, a phone and a tablet, software consistently needed to be written for multiple types of hardware platforms with different limits of resources such as memory & storage space. In fact, user’s data was moved off hard disks and straight to the internet into the cloud. The trend started with emails, where desktop email software such as Outlook was replaced by the browser. Now we have entire Office suites and photo editors running entirely in browsers, be it the desktop, mobile or tablet… and even television and automotive dashboards!
Such a mass transformation needs base software which can be freely moulded to fit absolutely any type of hardware available. Also, when new types of hardware emerges, this software must lend itself to free transformation. Such software cannot be managed by ONE single company, nor by licenses. ENTER LINUX! This is the operating system of choice for 99% of startups and IoT devices. Android is also a form of Linux and its success doesn’t need any introduction. But even though we see so many varieties of Linux, they all follow a standard in their core functionality. The standards are documented as POSIX standards and all Linux variants are required to follow them, so that the developers don’t get any nasty surprises while making the necessary software. Similarly, software components such as web browsers, web servers, email clients & servers, chat, etc all typically build from existing open source software which adhere to standards.

009-linux 007-android 008-apache

Open communication standards

If one were to build his / her own satellite communication device or SIM card, chances are that he / she will be arrested for his / her efforts. This is because satellite communication methods are guarded and licensed. Only authorized personnel can make hardware or tune into those systems. This is an example of closed communication.

However for the purpose of IoT, we will stick to the most open and standard communication methods out there. Some of those were discussed in the hardware section, such as bluetooth, WiFi, Ethernet and Zigbee. These communication methods are license free and anyone can make devices and software which use these media. Similarly, protocols which build on top of these hardware media can be open or closed. E.g. HTTP (web surfing), SMTP (email), Jabber & XMPP (chat) are all standard & open, but some software like Skype and Netflix use their own proprietary transfer methods. Bluetooth has also taken big strides to achieve standard behaviour sets by classifying devices as having different profiles such as phone, headset, streaming device, human interface device, etc. Devices are required to adhere to one of the pre-defined profiles according to the version of Bluetooth that they claim to support.

Pictured below are HTTP and Bluetooth Streaming Audio communication methods. HTTP, once the standard protocol for web surfing using a web browser, is now also used for getting access to real devices in an IoT field as well. Real devices have web servers embedded in them and hence can be represented by URLs and one can use browsers to control their behaviour. Bluetooth streaming audio is a standard protocol used for streaming music from a source to your Bluetooth headset, Bluetooth-enabled television / speakers and to your car dashboard for hearing music from your phone over your car’s speakers.

 011-http 012-bluetooth-streaming

Open container formats (file formats)

While some file storage formats are openly documented, some of them are licensed to companies. HTML, JSON, XML, vCard, PNG and Ogg Vorbis / Theora are some formats which are free for use by anyone, whereas doc, ppt, pdf and mp3 are formats which are licensed by certain companies.One cannot write their own tool to read or write in these formats and must either use the source company provided and licensed tool / algorithm or get a license to write their own tool to read and write with the format.

013-png 014-json 015-vcard

Pictured above are the formats PNG, JSON and vCard. PNG is the most popular open standard to store images like photos and logos. Unlike the proprietary JPEG, PNG supports transparency, so that it is possible to see the components behind a PNG image. JSON is a way to store hierarchy based data and is used to exchange data among the components of IoT. vCard is an open and the most common format to exchange contact information between address books.

Conclusion

So as one can see, for free communication and data sharing among the participants of IoT, one needs to implement components which follow standards. With more adherence, more interoperability can be achieved.
In the blogs to come, I will discuss which open options are available at each level, so that one can implement a seamless, interoperable ecosystem of IoT devices.

[subscribe_form]

2 thoughts on “Openness and Standards: The Lingua Franca”

  1. On open communication standards for IoT – few points for consideration

    Let me make a clear distinction between the lower layer communication protocols vs application level communication protocols (like HTTP)

    On lower layer protocols
    ===================
    1. Most of IoT devices communicate wireless

    2. For wireless communication you need a spectrum that satisfies the following properties for IoT
 a. Should support long range communication without information loss (this is possible only in the lower wavelength area – below 3GHz of electromagnetic spectrum)
 b. Should be able to carry information without loss when transmitted at low power. Bumping up the power of the transmitter to achieve coverage extension is going to drain the battery of IoT device. Remember that most of IoT devices are installed at sites where there is no direct power supply. They run on battery and that battery has to last for years (not days). So low power usage is the key
 c. And finally a spectrum range that satisfies above 2 properties has to be unlicensed (meaning free) for the standards to be developed and tested in a truly open fashion

    3. The issue is most of the sweet spot spectrum (700 MHz to 2300 MHz) is licensed in many countries. The government holds the spectrum. Operators pay heavy price for that spectrum. And when huge money is involved, there will be fight to protect one’s turf and hence co-operation wont be too open – but huddled / syndicated.

    4. The unlicensed band (ISM band) has different spectral range in different countries. So a technology that works on unlicensed band at a particular frequency in one country may not work in another country. LoRA for example uses different ISM bands in different countries.

    5. There are too many device categories in IoT. A surveillance camera needs a high bandwidth communication channel to stream surveillance video whereas a health monitoring watch needs fixed timeslot (say once an hour) low bandwidth channel to transfer information. No one technology solves both ends of the requirement. So you are bound to have technology fragmentation.

    6. Finally wireless communication is bound by laws of physics. Each band of spectrum has distinct characteristics and different bands suit different class of IoT applications.

    In summary : As much as one could wish for a grand unified standard for wireless IoT communications – there are practical, political, business and laws of physics related difficulties in achieving it.

    On upper layer protocols
    ===================

    The upper layer protocols that you can run on an IoT device really depends on the constraints enforced by the lower layer. A full blown HTTP stack on an IoT device requires a full blown TCP / IP stack below. Considering the huge volume of IoT devices it has to be IPv6. IPv6 is known to have too much overhead at the header compared to the small amount of application data thats sent for IoT.

    So what can we do?

    Shrink IPv6 to something like 6LoWPAN and shrink HTTP to CoAP. So one’s wish for a unified HTTP application stack gets busted here itself.

    Now this is not all. Many IoT devices dont even run IP stack. They run protocols like MQTT-SN directly over layer 2.

    Atleast for the initial few years, I believe the application layer too will remain fragmented with each class of application using different protocols and hence no interoperability. A particular class of application could only talk among themselves.

    So whats in store?
    ===============
    There are efforts to fundamentally re-architect the networks of next generation (check US’s National Science Foundation funded efforts on Information Centric Networking – https://en.wikipedia.org/wiki/Information-centric_networking and https://tools.ietf.org/html/draft-lindgren-icnrg-efficientiot-03). Those efforts are still at a very nascent stage. Will take few years to see if the world is ready for a fundamental mindset change (after all the shift from IPv4 to IPv6 itself took 20 years and is still happening). Only time will tell.

  2. Sridhar,

    Your comments are very valuable. The point about laws of physics and power consumptions are the ones which are the most convincing about why standards are not possible for some time to come. It’s great to hear from someone who is part of communications industry and a core member of the standards consortium.

Leave a Reply

Your email address will not be published.