  The concept of Internet of Things (IoT) has led to the development of many
complex and critical systems such as smart emergency management systems.
IoT-enabled applications typically depend on a communication network for
transmitting large volumes of data in unpredictable and changing environments.
These networks are prone to congestion when there is a burst in demand, e.g.,
as an emergency situation is unfolding, and therefore rely on configurable
software-defined networks (SDN). In this paper, we propose a dynamic adaptive
SDN configuration approach for IoT systems. The approach enables resolving
congestion in real time while minimizing network utilization, data transmission
delays and adaptation costs. Our approach builds on existing work in dynamic
adaptive search-based software engineering (SBSE) to reconfigure an SDN while
simultaneously ensuring multiple quality of service criteria. We evaluate our
approach on an industrial national emergency management system, which is aimed
at detecting disasters and emergencies, and facilitating recovery and rescue
operations by providing first responders with a reliable communication
infrastructure. Our results indicate that (1) our approach is able to
efficiently and effectively adapt an SDN to dynamically resolve congestion, and
(2) compared to two baseline data forwarding algorithms that are static and
non-adaptive, our approach increases data transmission rate by a factor of at
least 3 and decreases data loss by at least 70%.
