In this part of the article, we’ll be attempting to understand the Design Principles of IoT that one needs to follow to design IoT products/services. The design principles allow the developers to analyse & implement the internet of things. The following is an attempt to cover some design principles, keeping in mind major areas of IoT implementation.
Interoperability: The Internet of Things is going to develop in so many different fields and finds so many applications that its own diversity can be the main obstacle to its own growth. The devices that will be forming the Internet of things will be countless and of different types, i.e. varying technical profiles will operate (from household appliances to wearables, from autonomous vehicles to drones, among many others), manufactured by thousands of different companies, each with their own standards.
Interoperability is basically the ability for systems or components of systems to communicate with each other, regardless of their manufacturer or technical specifications.
For example, imagine that two IoT devices need to send each other some information but are unable to do so because they “speak a different language”, since they are from different manufacturers. The results of such a failure of communication may result into many problems.
Imagine that the system that regulates the air conditioning of your home “speaks” in a language given by its manufacturer and the one that controls the system for opening and closing the windows of your home only “understands” its own language because it has been created by a different company. They would be unable to communicate with each other and thus won’t able to take action in a co-ordinated manner.
Even a more severe situation, imagine that you are travelling in an autonomous vehicle and you need to communicate with other vehicles on the road to co-ordinate your movements (by forming a local platoon) and to be able to drive safely. What if they could not do so because each vehicle is of a different company which would make the exchange of
information impossible? In this type of situation, even people’s lives could be put at risk. This makes interoperability an important principle of IoT development.
Virtualization: Devices or systems must be able to simulate and create a virtual copy of the real world. They must also be able to monitor objects existing in the surrounding environment. Simply put, there must be a virtual copy of everything.
For example, assume there’s a plant that has been connected through IoT, having a Virtual Platform, i.e. creating a virtual copy of the Smart Factory by linking sensor data with virtual plant models enables us to monitor the plant efficiently & also simulate different issues that might be faced due to different dysfunctional units & be keep proper security measures for it.
Thus, for example, we’ll be able to monitor effects of a small oil leakage and be prepared if it goes worse or we may even employ IoT to inform the relevant authorities about such a mishap long before it takes place. For example, imagine a factory environment, with nodes deployed for temperature monitoring & control, or machine monitoring & control & a central head controlling the entire factory. In case of a slight or obvious temperature rise (of factory/machinery), the nodes shall be automatically able to control temperature (let’s say by changing thermostat’s temperature / coolant flow) and then report to the central head later, since it was not a huge deal and didn’t need master’s immediate attention.
- Decentralization: This is the ability of each device/node to work independently, in case of petty issues or absence of a controlling master. This gives room for customized products and problem solving. This also creates a more flexible environment for production. In cases of failure or having conflicting goals, the issue is delegated to a higher level. The following are two cases where decentralization maybe put to effect.
In other case, if there’s a fire or a heavy machinery breakdown that already has damaged the Central Head (or the master), the nodes (if still active) must be able to control the situation to the best of their capability without any commands from the master. For e.g. If the master hasn’t responded for let’s say a minute, switch on alarms & sprinklers.
In some cases, situation maybe so critical that we might not have time to send or wait for master’s response, in such criticality, our nodes shall be smart enough to take action immediately, like the spinal cord in humans. However, even with such technologies implemented, the need for quality assurance remains a necessity on the entire process.
- Real-Time Capability: An IoT device/system needs to be able to collect data, store or analyse it, and make decisions according to new findings, all in real time. The devices need to assure that they are able to meet real-time deadlines with respect to aforementioned processes.
Service-Orientation: Products must be customer-oriented. People and smart objects/devices must be able to connect efficiently through the Internet of Services to create products based on the customer’s specifications. For example, one might make an IoT application but it is not useful to any customer as it doesn’t satisfy any of their needs/problems.
Modularity: In a dynamic market, an IoT device’s ability to adapt to a new market is essential. In a typical case, it would probably take a week for an average company to study the market and change its production accordingly. On the other hand, Internet of things may be designed so as adapt fast and smoothly to seasonal changes as per the market trends. Enabling developers to push functional updates while being miles away from the actual device.
Pranjal is an Electronics & Communications Engineering Student, completed 3rd Year at Institute of Technology, Nirma University, Ahmedabad .I n the initial years, he was in the Robocon Team of college where he got interested into Robotics , mainly concerning Robotic Drives , Motion & Path planning. Along with that currently his fields of interests are Internet of Things, Embedded Systems & Re-configurable Hardware. He has done few projects as Mini Projects in college & currently working to publish a paper on one of those projects.