This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| en:iot-reloaded:iot_system_design_principles [2024/12/03 18:11] – pczekalski | en:iot-reloaded:iot_system_design_principles [2025/05/17 11:45] (current) – agrisnik | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== IoT System Design Principles ====== | ||
| + | |||
| + | It is expected that billions or trillions of IoT devices will be deployed in the various sectors of the society or economy (e.g., intelligent transport systems, smart health care, smart manufacturing, | ||
| + | |||
| + | IoT system design has its own set of challenges as IoT systems often contain multiple components or elements (e.g., sensors and actuators, cyber-physical devices, networking nodes, computing nodes) interacting with one another to collect data, manipulate physical systems, transport data packets, and analyse the collected data to deliver better customer experience, create value, or solve a specific problem. Below are some practical IoT system design principles that should be considered when designing IoT systems. | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== Conduct proper research ===== | ||
| + | |||
| + | Before designing IoT systems, it is essential to understand the customers' | ||
| + | |||
| + | An IoT system may be designed not only to solve a problem or pain that potential customers are feeling but could be designed to create unique value. Innovative IoT solutions could create exceptional value to make their potential customers productive and competitive. It is required that IoT system designers understand the unique value that their system or solution is going to offer to their potential customers to improve their productivity, | ||
| + | |||
| + | The research process could include defining research questions, defining the market segment, sending out questionnaires to potential customers, conducting interviews with relative stakeholders in the target market, talking with sales representatives of potential customers, and attending industry conferences. The research findings should be well documented and analysed by all the stakeholders and the design team before the IoT project is launched so that the designers can cater to the customers' | ||
| + | |||
| + | |||
| + | ===== Focus on the values, needs or problems of users ===== | ||
| + | |||
| + | The features to be included in the IoT solution should align with users' needs and problems and the value they can derive from the products to improve their productivity, | ||
| + | |||
| + | It is essential to answer the following questions: | ||
| + | *What value will be delivered to the users by the IoT solution to be designed? | ||
| + | *What are some of the barriers that will prevent users from adopting the IoT solution to be designed? | ||
| + | *How will the IoT solution be designed to address the users' needs, problems and challenges? | ||
| + | *How will the IoT solution be designed to deal with the user adoption barriers? | ||
| + | *Which features are to be added to the IoT solution to be designed, and will they address the problems of users and deliver the value that will improve their productivity, | ||
| + | |||
| + | Addressing the above questions carefully during the research and technical design stages is essential. Thus, when designing IoT systems, focusing on the users' values, needs, and problems is crucial. | ||
| + | |||
| + | ===== Adopt a system-based design approach ===== | ||
| + | |||
| + | IoT is still in its early stages. We still have the opportunity to ensure that IoT systems are scalable, energy efficient, cheap, and secure by design while providing acceptable QoS. Another design requirement for IoT systems is interoperability. A holistic system-based approach is required to attain all these design goals and the goals of other stakeholders (network operators, service providers, regulators, and end users). There is a need for the development of formal methods and tools for the design, operation, and maintenance of IoT systems, networks, and applications in such a way as to satisfy the goals of the various stakeholders with minimal unintended consequences. | ||
| + | |||
| + | |||
| + | An IoT system often consists of multiple elements, such as the cyber-physical system (sensors and actuator device) deployed to collect data from the environment and to manipulate physical systems, communication systems deployed to transport data within the IoT infrastructure, | ||
| + | |||
| + | |||
| + | ===== Incorporate security measures ===== | ||
| + | |||
| + | Users are concerned about possible security weaknesses that could appear in their infrastructure after integrating IoT solutions. IoT system designers should incorporate security mechanisms into their solutions to address the users' security concerns. Sometimes, IoT system designers are preoccupied with implementing features that are required to address customers' | ||
| + | |||
| + | Securing an IoT infrastructure' | ||
| + | *Cryptography: | ||
| + | *Access control | ||
| + | *Attack detection and prevention | ||
| + | *Honeypots | ||
| + | *Runtime monitoring | ||
| + | *Firewalls | ||
| + | |||
| + | A significant security weakness in IoT infrastructures is often at the IoT device level. Because the batteries that power these devices have a limited energy capacity, their computing and communication capabilities are minimal, making it difficult to implement reliable but sophisticated security mechanisms. As a result, it is easy to compromise these devices to disrupt IoT services and sometimes turn them into an army of botnets to conduct massive and sophisticated distributed denial of service attacks on the IoT infrastructure as a whole and the Internet. Maintaining a rational trade-off between performance, | ||
| + | |||
| + | The IoT security threats to be considered during IoT system design are not only those from external attackers but also those from internal attackers. The threats could be within, and there should be a mechanism to deal with internal threats. The internal threats could be from disgruntled employees (users) and reckless or careless ones who may perform operations that may breach or compromise some of the IT assets within the IoT infrastructures. Therefore, the IoT system designer must understand every possible error that may occur when operating IoT systems and then take care of them when designing the IoT solution and ensure that the users are aware of such errors and well-equipped to handle them. | ||
| + | |||
| + | The security aspects to be considered when designing IoT systems are not only cyber security aspects but also the physical security aspects. The physical security of the IoT infrastructure should be considered when designing and deploying them. Some adequate measures should be designed to address threats to the physical security of IoT devices. | ||
| + | |||
| + | |||
| + | |||
| + | ===== Incorporate green and environmental sustainability measures ===== | ||
| + | |||
| + | Energy and environmental sustainability are among the essential constraints to consider when designing and deploying IoT infrastructures. Since IoT devices are designed to be minor, light, and powered by small batteries with limited energy capacity, energy efficiency is a primary design criterion when developing IoT devices. To reduce the energy consumption of IoT devices to a minimum level, low-power communication and networking technologies, | ||
| + | |||
| + | In addition to energy efficiency, it is essential to minimise the amount of waste the IoT industry creates. IoT devices are powered by batteries with minimal energy capacity, resulting in a very short lifetime for IoT devices (the lifetime of an IoT device is the time to deplete all the energy stored in the battery of the IoT, requiring a recharge or change of battery). If the IoT batteries are replaced within a very short time (less than a decade), then with the deployment of tens of billions or trillions of IoT devices globally, there will be a problem of how to dispose or recycle the IoT batteries. There is already an environmental problem in managing the massive amount of batteries and e-waste the electronics industry generates. The problem will worsen if environmental sustainability is not considered as one of the design criteria when designing IoT devices. Some of the green and environmental sustainability strategies that should be considered when designing IoT devices include: | ||
| + | *Green IoT hardware: Designing energy-efficient IoT hardware and incorporating hardware-based energy-saving mechanisms in IoT devices | ||
| + | *Green IoT communication infrastructure: | ||
| + | *Green IoT architectures: | ||
| + | *Green IoT software: Designing energy-efficient software and algorithms for processing IoT data and security mechanisms. | ||
| + | *Green energy sources for IoT systems: Energy harvesters are incorporated into IoT devices to harvest energy from the environment to charge the energy storage systems (battery or capacitor/ | ||
| + | *Green IoT policies: Policymakers should also develop Green IoT regulations and standards to be followed when designing green and sustainable IoT solutions. | ||
| + | *Green IoT education: An education strategy should raise public awareness of the need for green and sustainable IoT solutions so that IoT users, developers, and service providers consider environmental sustainability when making choices. | ||
| + | |||
| + | |||
| + | |||
| + | ===== The IoT application context should be considered | ||
| + | |||
| + | When designing IoT solutions, it is essential to consider the physical, social, and environmental context in which the device will be used. The features and specifications when designing IoT devices depend on the application context. The IoT systems intended for small agriculture, | ||
| + | |||
| + | To consider the application context, it is recommended to treat the entire IoT use case as a system of which the IoT system being designed is part. In this way, the interaction between the IoT system being designed and other existing systems in the sector (e.g., cities, homes, factories, transportation infrastructure, | ||
| + | |||
| + | |||
| + | ===== Effective data management strategies ===== | ||
| + | |||
| + | IoT devices collect massive amounts of data from the environments, | ||
| + | |||
| + | Data ownership issues, the kind of data that should be collected, and what the IoT service provider is permitted to do with the data should be considered when designing IoT solutions. The designers should ensure they comply with existing regulations or standards on data collection, management, and processing. Hence, the designers should ensure that the data of users is effectively managed by answering the following questions: | ||
| + | *What type of data should be collected? | ||
| + | *Who owns the data? | ||
| + | | ||
| + | *What do the IoT service providers intend to do with the data? | ||
| + | *What information is expected from the data, and how will it be used? | ||
| + | *What mechanisms are designed to protect the data during processing, transmission and storage? | ||
| + | |||
| + | ===== Ensure scalability and flexibility ===== | ||
| + | |||
| + | The IoT market is growing steadily, requiring IoT systems to be designed with the possibility of quickly scaling them up with increasing demand for IoT services. When developing IoT systems, it is essential to anticipate future growth and expansion and then provide the flexibility to expand the infrastructure to add more resources to meet the increase in service demand. Scalability and flexibility can be ensured by implementing a modular and flexible architecture that can be adapted to satisfy the growing demand. Also, the hardware, software, computing, networking, energy, and security choices should be made in such a way as to ensure that the designed IoT systems can handle current demand and future growth in data volume, traffic, and computing demand as demand for IoT services increases. | ||
| + | |||
| + | Interoperability and compatibility are significant barriers to ensuring scalability and flexibility when designing IoT systems. To ensure scalability, | ||
| + | |||
| + | ===== Design intuitive, user-friendly, | ||
| + | |||
| + | The user interface for IoT systems should be intuitive, user-friendly, | ||
| + | |||
| + | |||
| + | ===== Develop effective testing and quality assurance plans/ | ||
| + | |||
| + | Testing and quality assurance are essential phases in the IoT system development life cycle. Testing and quality assurance enable the development of IoT systems that meet and satisfy the customers' | ||
| + | |||
| + | Effective performance test plans can ensure that the designed IoT system can withstand high stress and still provide users with acceptable service and experience. Security tests and audits enable IoT system designers and developers to identify potential vulnerabilities and threads and to ensure compliance with security regulations and standards. Effective testing and quality assurance plans can also provide compatibility and interoperability of the designed IoT system with other IoT systems (devices and networks), which is essential to ensure seamless integration to deliver the desired quality of service and experience to the users. Therefore, by implementing robust testing procedures, IoT system designers can ensure that the IoT system they are designing can meet the highest standards of quality and reliability ((Digital Mahbub, "How an IoT System is Designed?", | ||
| + | |||
| + | |||
| + | ===== Ensure low-cost deployment, operation, and maintenance ===== | ||
| + | |||
| + | An effective deployment, operation and maintenance plan is essential to ensure that the IoT systems being designed are cost-effective or affordable, providing the users with reasonable returns on their investments. Every IoT system development cycle stage should be carefully planned to minimise the design, manufacturing, | ||
| + | |||
| + | In IoT applications where thousands, tens of thousands, or millions of IoT devices are deployed and spread across a wide geographical area, deployment, operation, and maintenance procedures are tedious and costly. Effective deployment, operation, and maintenance plans and tools are essential to ensure acceptable performance (reducing downtime and improving the QoS - Quality of Service or QoE - Quality of Experience). Monitoring and preventive maintenance plans to prevent failures or breakdowns and reactive maintenance plans to restore the system after breakdowns to reduce downtime, should be carefully designed and documented. Expansion or scalability plans should be created to enable cost-effective expansion and extension of the IoT system to handle more users or to satisfy customers' | ||
| + | |||
| + | It is essential to develop training and support plans to ensure that the users are well trained and supported to effectively use and manage the designed IoT system to satisfy their needs. Reducing the need for human intervention is essential to keep the cost low. Deployment, operation, and maintenance tasks should be automated, especially for large-scale IoT infrastructures. Automation reduces deployment, operation, maintenance, | ||
| + | |||
| + | |||
| + | |||
| + | ===== Develop working prototypes before mass production ===== | ||
| + | |||
| + | In the early stage of the IoT system development life cycle, developing a working prototype that is well-tested and satisfies the users' needs may be necessary. A well-tested and working prototype is required before mass production or deployment of the IoT system. Developing a working prototype before mass production or deployments helps resolve many functional, performance, | ||
| + | |||
| + | When a working prototype is created, several iterations may be required to improve the product to satisfy the organisation' | ||
| + | |||
| + | |||
| + | ===== Consider feedback from user-created use cases or requirements ===== | ||
| + | |||
| + | The feedback from the various use case applications where the IoT system being designed is deployed should provide user feedback that can be used to improve the production or solution. Users may expect or require features absent from the developed system or solution. IoT designers should be able to improve their designs to cater to users' needs or requirements. The users may use the designed system in ways that the designers did not expect. The designers should have a mechanism to follow up with the users to learn the various methods and contexts in which the systems are being used. Therefore, the ideas from the user feedback should be used to improve the design and adapt the system to satisfy the needs of its users. | ||