vices, then it evaluates its scalability and device man-
agement features. Finally, the contributions are sum-
marized in Section 5.
2 RELATED WORK
Cloud computing has become a widespread and reli-
able solution over the past decade. Overcoming inter-
operability issues of public cloud providers and vari-
ous middleware implementations, the process of cre-
ating and managing cloud federations is clarified and
applied (Kertesz, 2014). There are various reasons to
optimize resource management in such federations: to
serve more users simultaneously, to increase quality
of service, to gain higher profit from resource renting,
or to reduce energy consumption or CO2 emissions.
As depicted in Figure 1, in the past decade we
experienced an evolution in Cloud Computing: the
first clouds appeared in the form of a single virtu-
alized datacenter, then broadened into a larger sys-
tem of interconnected, multiple datacenters. As the
next step cloud bursting techniques were develop to
share resources of different clouds, then cloud feder-
ations were realized by interoperating formerly sep-
arate cloud systems. Once overall optimization is-
sues in cloud federations addressing datacenter con-
solidation, operating costs and energy efficiency were
developed, further research directions started to use
clouds to support newly emerging domains, such as
the Internet of Things. In the case of IoT systems,
data management operations are better placed close
to their origins, thus close to the users, which re-
sulted in better exploiting the edge devices of the net-
work. Finally, as the latest step of this evolution the
group of such edge nodes formed the fog. Dastjerdi
and Buyya defined fog computing as a distributed
paradigm (Dastjerdi and Buyya, 2016), where cloud
storage and computational services are performed at
the network edge. This new paradigm enables the ex-
ecution of data processing and analytics application
in a distributed way, possibly utilizing both cloud and
near-by resources. The main goal is to achieve low la-
tency, but it also brings novel challenges in real-time
analytics, stream processing, power consumption and
security.
There are many simulators available to examine
distributed and specifically cloud systems. Neverthe-
less, there are some more specific IoT simulators ad-
dressing similar issues compared to this study. Han et
al. (Han et al., 2014.) have designed DPWSim, which
is a simulation toolkit to support the development
of service-oriented and event-driven IoT applications
with secure web service capabilities. SimIoT (Sotiri-
adis et al., 2014.) was derived from the SimIC sim-
ulation framework. It introduces several techniques
to simulate the communication between an IoT sen-
sor and the cloud, but it is limited to compute activity
models. The SimpleIoTSimulator (SimpleIoTSimu-
lator, 2017) is an IoT sensor or device simulator that
is able to create test environments made up of thou-
sands of sensors and gateways on a computer. It sup-
ports many of the common IoT protocols (e.g. CoAP,
MQTT, HTTP). Its drawback is that it needs a spe-
cific, RedHat Linux environment, while our approach
is more heterogeneous, and focuses on IoT device
simulation with mobile devices, which is easier to be
applied. The Atomiton simulator (Atomiton, 2017)
is probably the closest solutions to our concept. It
manages virtual sensors, actuators and devices with
unique behaviors. With this tool complex, dynamic
systems can be created for specific applications. Un-
like our open, mobile solution, it is a commercial,
web-based environment with very limited documen-
tation.
Kang et al. introduced the main types and features
of IoT gateways in (Kang et al., 2017). This work is a
detailed study in this regard, and presents the state-of-
the-art and research directions in this field. In this pa-
per we does not aim to propose a generic solution for
all needs of an IoT system, but to provide a gateway
solution that can be used together with MobIoTSim
(Pflanzner et al., 2016) to enable a comprehensive
simulation environment for investigating IoT clouds.
3 DEVELOPING A PRIVATE
GATEWAY
3.1 A Comprehensive IoT Cloud
Simulation Environment
The architecture of our vision for simulating IoT
Cloud systems is depicted in Figure 2. Unlike tradi-
tional simulators, we try to stay as close to real world
systems as possible. We take trace files saved from
public applications, place them into an archive (I.),
and use them in MobIoTSim (Pflanzner et al., 2016)
(II.) to mimic real device behavior. We also develop
gateway services (III.) to process and visualize sen-
sor data and instantiate and operate them at private or
public cloud providers.
The basic usage of the simulator is to: (i) connect
the application to a cloud, where the data is to be sent,
(ii) create and configure the devices to be simulated,
and (iii) start the (data generation of the) required de-
vices. These main steps represented by three main
A Private Gateway for Investigating IoT Data Management
527