Deploy Scalable Smart City Architectures Confidently With Network Simulation

July 17, 2017 Jamie Leland

The immensity of smart city projects poses a modeling challenge for application developers looking to evaluate smart city technologies before spending time and money on deployments. This has created an opening for a simulation solution that scales as networks grow, while ensuring an accurate representation of network and device characteristics

Traditional proof of concept (PoC) methodologies can be time-consuming and expensive as they often require a trial-and-error, hardware-based approach using incremental, small-scale rollouts. In addition, they struggle to accurately represent the technical characteristics of smart city platforms as they scale to thousands of devices across multiple, disparate networking technologies.

Instead, today's smart city developers require prototyping solutions that allow them to scale network and device analysis, as well as platform evaluation, to levels on par with real-world implementations. These requirements have led to new thinking in simulation technologies that now allows smart city stakeholders to evaluate the characteristics of smart city platform solutions in a virtualized environment, accurately and at scale.

Not only do these virtual sandboxes allow developers to create systems of systems based on thousands of sensors and devices, they also provide the opportunity to asses network characteristics under various loads. This helps reduce cost and time to market while at the same time designing accurately for current and future smart city requirements.

The Requirements of a Smart City Network

Smart cities are based on a compilation of efficiency (traffic management, utilities distribution, etc.) and safety (law enforcement, healthcare allocation, etc.) systems and services, all embedded into the fabric of urban and suburban communities through networks of sensors and communications technologies. Depending on the systems involved and the extent of the solution, smart city deployments can comprise tens, if not hundreds of thousands, of endpoints.

Sheer scale is a major obstacle when attempting to prototype smart city platforms, but equally as challenging is heterogeneity. Just one smart city system or service can include dozens of different types of sensors and devices from multiple vendors, many of which rely on different networking technologies. So many variables can lead to significant differences in performance and reliability for a smart city platform. The number of variables can also place unrealistic expectations on traditional hardware prototyping techniques when applied across platforms that span from edge nodes to a data center.

Even with the foundations for a real-world smart city prototyping lab in place, the physical space, climate control, network characteristics, and data types/formats prohibit scale on any meaningful level.

Simulation Speeds Smart City Rollouts

To meet the needs of operators, developers need a way to simulate a smart city network. Such a simulation tool would allow developers to create virtual labs of thousands of various sensors from different vendors. These would all be sending messages of different types and values, yet be integrated using a variety of interfaces and protocols to compare the latency, quality of service (QoS), interoperability, and scalability of different platform architectures.

Using such an approach, complete IoT topologies – replete with sensor nodes, gateway devices, and servers – could be instantiated on the fly using scripts or an abstracted graphical user interface-based (GUI-based) approach to development. Developers could then iterate on top of these simulations to drill down into abnormal scenarios or prototype system performance at exponential scale, as opposed to the piecemeal testing required when traditional PoC methods are applied to a smart city context.

Such simulation tools have been available in the networking world for some time as a means of understanding the behavior of complex system deployments. These technologies allow the integration of applications, middleware, brokers, load balancers, clients, servers, and gateways in scenarios where traditional analytics and PoC methodologies are unable to scale accurately and efficiently.

Simulation tools likewise provide a logical solution for smart city prototyping. The virtualized infrastructure needs to be modified only to include equipment and networking protocols typically found in Internet of Things (IoT) environments. Such environments include sensor nodes, gateway appliances, and the Message Queuing Telemetry Transport (MQTT) and Modbus protocols.

For example, the MIMIC simulator from Gambit Communications can be configured to manage devices communicating via MQTT, REST/HTTP, CoAP, Modbus, or the company's MIMIC Command line interface (CLI). Each virtual device on the simulated network is equipped with an individual IP address and network port, and can be managed individually or as part of a group (Figure 1).

Figure 1. The MIMIC IoT Simulator assigns an IP address and network port to each device and handles each individually, or as a group. (Source: Gambit Communications)

Once configured, the virtual devices can begin sending and receiving requests from any broker, application, or platform that is on, or part of, the simulated network, scaling up to 100,000 devices (Figure 2). The simulator supports Linux, Windows, and cloud environments.

Figure 2. Performance metrics for an IBM MessageSight MQTT broker handling a simulated 10,000 messages per second from 100,000 virtual MQTT devices generated by the MIMIC IoT Simulator. (Source: Gambit Communications)

Using simulation, smart city developers can quickly evaluate a number of characteristics for numerous test scenarios, including performance degradation across varying message rates, regression testing, and anomaly detection. Anomaly detection is particularly useful as the MIMIC IoT Simulator allows developers to instantaneously scale the number of devices on a network and condense operations that would normally take place over months into a single test session. This reveals anomalies that would otherwise be discovered only through exhaustive (and expensive) testing, or in the field, post deployment.

Furthermore, network simulation tools such as the MIMIC IoT Simulator are able to integrate specific devices such as gateways. For example, the GIGABYTE GB-BXBT-3825 gateway, based on the Intel® IoT Gateway platform reference architecture, can be positioned as a device under test (DUT) in a simulated MIMIC environment. The simulator acquires performance metrics using different protocols and loads from different types of devices while verifying the gateway DUT's scalability in mid- to large-scale smart city deployments (Figure 3).

Figure 3. Hardware based on the Intel® IoT Gateway platform reference architecture, such as the GIGABYTE GB-BXBT-3825 with Intel Atom® processor, can be positioned as the device under test (DUT) in a simulated environment generated by the MIMIC IoT Simulator. (Source: GIGABYTE)

Break Models Instead of Banks

Smart city projects typically involve a significant amount of investment from local governments that are often operating under tight budgets. With IoT simulation, developers can build PoCs to validate their smart city design and implementation strategies, saving resources before ground is broken in the physical world. Simulation also offers the possibility of testing against hypothetical events, providing insight into the realities of "What if?" scenarios.

Given the cost and time benefits of simulation, why not try to break the model before you break the bank?

About the Author

Jamie Leland

Jamie contributes, edits, and manages content for Embedded Computing Design, while also managing details and deadlines for all OpenSystems Media events. She was a freelance writer for several years, has a background in public relations and marketing, and holds a BA in Literature, Writing & Film from Arizona State University.

Follow on Twitter More Content by Jamie Leland