How the Internet of Things Works

Some Technical Issues and Solutions

At the moment, a lot of connected devices can talk to the Internet and to our phones, and maybe even some related products, but most of them can't talk to one another because of proprietary hardware and software with differing standards, languages and communication protocols. For most of the current remotely controlled smart household items, you'll need to use a different app or website to interface with the device or look at the data, unless they were specifically designed by the manufacturer to work together. In other words, the alarm clock talking to the coffee pot isn't easily achievable just yet unless you are an electronics hobbyist or the same company makes smart versions of them.

There aren't any universal standards or platforms to allow seamless interaction between all smart gadgets and enable you to control them from a central app, but several groups are working on creating standard protocols and software to make interoperability of multiple devices from different manufacturers a reality. The AllSeen Alliance, created by Qualcomm and joined by other companies, is working on an open-source, platform-independent software framework called AllJoyn. Cisco, Samsung, Intel and others are also working on their own open-source platform called IoTivity. The Thread Group, headed by Nest, ARM and Samsung, but comprising more than 160 members including Qualcomm, released the specs and documentation for their IP-based protocol for networking low-powered connected devices in July 2015. And CableLabs is reportedly looking into making cable boxes work as hubs to connect multiple devices.

There are a number of other smart device platforms out or coming out, including Apple's HomeKit, Google's Project Brillo, SmartThings, Ninja Blocks, Evrythng, Samsung Artik and Wink. Some of these are hardware hubs and software, and others are just software applications or platforms (either to be set up by a user or implemented by the manufacturers themselves). Some require licensing, and others are open-source. For the most part, they are compatible with multiple types and brands of devices, but none are all encompassing. Having a variety of equipment accessible from a central point of entry would add ease, convenience and security to automating your smart home.

Another major issue for the Internet of Things is a conundrum for the Internet itself, too. The standard identifier used to route Internet traffic to and from networked devices is the IP (Internet protocol) address. In its first and still-prevalent form (the IPv4 32-bit standard created in 1981), an IP address consists of four numbers separated by periods, each between zero and 255 (that's 256 possibilities for each of the four slots). Because of those limitations, the maximum number of available addresses on this standard is capped at around 4.295 billion. The Wall Street Journal reported that the U.S. will run out of IPv4 addresses in 2015, and that some other countries already have, making companies scramble to buy up unused addresses from others or move to the new IPv6 system [source: McMillan].

IPv6, a 128-bit standard, could allow for more than 340 undecillion addresses (that's 340 followed by 36 zeros). Its format consists of eight sets of four-character hexadecimal values separated by colons. In the cases of IPv4 and IPv6, fewer addresses than the maximum number are publicly available because of related rules and set-aside blocks, but in the latter case, the available number will still far exceed the number of devices that will be available in the years to come (or maybe ever). This means each device could be assigned a unique IP address. Organizations need to put money and effort into making their hardware, software and networks compatible with the new IP addresses, although lots of newer equipment, operating systems and browsers can already handle IPv6 [sources: Fiveash, Hardiman, McMillan].

An interim solution that a lot of entities already use is network address translation (NAT). NAT allows you to map whole networks of devices to a single IP address, which allows the Internet to see the network as its destination device. Then the network servers differentiate between the devices within that network to get data to and from the right places. This scheme is better for computing equipment within organizations than for gadgets in peoples' homes, however.