Functional requirements in IoT:
1. Diverse Connectivity: Probably the most familiar form of connectivity for the internet, and for IoT, is Ethernet. In addition to Ethernet, IoT devices can connect using a wide variety of other technologies. The connectivity objective is that an IoT platform support as many modes of connection—wired and wireless—as possible. Wireless options include ANT+, Bluetooth, EDGE, GPRS, IrDA, LTE, NFC, RFID, Weightless, WLAN, ZigBee, and Z-Wave.
2. IoT Platforms Leverage Applications: IoT software applications are emerging for businesses in virtually every industry as well as for home users. These applications provide much of the automation capabilities that make IoT solutions so valuable. These software and middleware applications help businesses drive down costs, increase efficiency, and improve regulatory compliance. To achieve these goals, an IoT platform should be compatible with applications specific to your industry.
3. IoT Platforms Manage a Range of Devices: The number of devices connected to IoT will soon reach anywhere from 28 billion to 50 billion, depending on who you ask. IoT sensors gather information about conditions in their vicinity, such as temperature or moisture level. IoT actuators perform specific tasks, such as turning things on or off and recording information about its triggers and subsequent reactions. In addition, IoT wearables of various kinds, like a health-tracking bracelet, can record your health statistics and other data such as your location. In essence, the functional requirement for an IoT platform is that it has the ability to manage a heterogeneous set of devices.
4. IoT Platforms Generate Massive Amounts of Data: Devices that we discussed above don’t just perform tasks. In most cases, they will also report on the tasks they perform. Through their connection to an IoT platform and to each other, they will transmit detailed data about their actions. Typically, there will be no need for human intervention in the process. The devices will simply send data, potentially in real-time, for storage and analysis. To give you an idea of just how much data is involved, one estimate foresees the IoT generating around 400 ZB (zettabytes) by 2018. Functionally, therefore, an IoT platform must be able to support storing massive amounts of data.
5. IoT Platforms Require Powerful Analytics: The vast volumes of data discussed above have the potential to provide unprecedented insights into consumer behavior and preferences. Unlocking those insights, however, requires powerful analytics tools. A key IoT platform functionality, therefore, is that it is capable of either incorporating — or offering compatibility with —analytics solutions that will translate significant amounts of data into useful and actionable insights.
However, even if a platform meets those functionality requirements, there are still important non-functional requirements for an IoT platform.
Non-Functional requirements in IoT:
1. IoT Platforms and Security: Even with the recent attention given to security for IoT devices, it can be easy to overlook the need for end-to-end security for an IoT platform. Every part of a platform should be analyzed for security prospects. From internet connections to the applications and devices to the transmitted and stored data, there is a potential for an attack vector. Without question, the single most important non-functional requirement of an IoT platform is that it offers robust security.
2. IoT Platforms and Scalability: In light of the billions of devices and zettabytes of data discussed earlier, scalability is clearly a requirement in an IoT platform. The best practice for both businesses and consumers is to start small with IoT. However, many IoT solutions achieve their true potential only at scale. The ideal IoT platform is fully able to support a small, initial implementation, but also should be able to scale out as your business needs grow.
3. IoT Platforms and Availability: Highly robust public cloud platforms have conditioned us to expect 4 or 5 nines when we think about internet availability. Those same expectations should extend to IoT platforms. In fact, there is a good reason to anticipate even higher levels of availability from IoT platforms. That is because IoT platforms can interact with and control devices that have real-world impact. For example, an IoT platform might control the thermostat in your home or the open/close switch for a relief valve in an industrial plant. IoT platforms must, therefore, offer exceptionally high availability.
These requirements are intended to help you set the stage for evaluating IoT platforms. Depending on your specific plans, any particular function may be more important than the others. An IoT platform should nevertheless meet all these functional and non-functional requirements in order to serve you well.
(Source: IBM Journal)