ArticlePDF Available

Notes on Ensembles of IoT, Network Functions and Clouds for Service-oriented Computing and Applications

Authors:

Abstract and Figures

Many advances have been introduced recently for service-oriented computing and applications (SOCA). The Internet of Things (IoT) has been pervasive in various application domains. Fog/Edge computing models have shown techniques that move computational and analytics capabilities from centralized data centers where most enterprise business services have been located to the edge where most customer's Things and their data and actions reside. Network functions between the edge and the cloud can be dynamically provisioned and managed through service APIs. Microservice architectures are increasingly used to simplify engineering, deployment and management of distributed services in not only cloud-based powerful machines but also in light-weighted devices. Therefore, a key question for the research in SOCA is how do we leverage existing techniques and develop new ones for coping with and supporting the changes of data and computation resources as well as customer interactions arising in the era of IoT and Fog/Edge Computing. In this editorial paper, we attempt to address this question by focusing on the concept of ensembles for IoT, network functions and clouds.
This content is subject to copyright. Terms and conditions apply.
Service Oriented Computing and Applications (2018) 12:1–10
https://doi.org/10.1007/s11761-018-0228-2
SPECIAL ISSUE PAPER
Notes on ensembles of IoT, network functions and clouds for
service-oriented computing and applications
Hong-Linh Truong1·Nanjangud C. Narendra2·Kwei-Jay Lin3
Received: 9 February 2018 / Accepted: 20 February 2018 / Published online: 3 March 2018
© The Author(s) 2018. This article is an open access publication
Abstract
Many advances have been introduced recently for service-oriented computing and applications (SOCA). The Internet of
Things (IoT) has been pervasive in various application domains. Fog/Edge computing models have shown techniques that
move computational and analytics capabilities from centralized data centers where most enterprise business services have
been located to the edge where most customer’s Things and their data and actions reside. Network functions between the edge
and the cloud can be dynamically provisioned and managed through service APIs. Microservice architectures are increasingly
used to simplify engineering, deployment and management of distributed services in not only cloud-based powerful machines
but also in light-weighted devices. Therefore, a key question for the research in SOCA is how do we leverage existing
techniques and develop new ones for coping with and supporting the changes of data and computation resources as well as
customer interactions arising in the era of IoT and Fog/Edge computing. In this editorial paper, we attempt to address this
question by focusing on the concept of ensembles for IoT, network functions and clouds.
Keywords IoT ·Cloud computing ·Network functions ·Composition ·Service computing
1 Introduction
One of the key aspects of service-oriented computing is the
capability to compose various software components to offer
on-demand services and applications. This key aspect is even
more important in the current computing landscape where
new IoT, network functions [34] and cloud resources are
emerging on daily basis, enabling us to build new services and
applications for solving various problems. With today’s tools
and frameworks, it is quite easy to expose capabilities of IoT,
networks and cloud resources through well-defined service
interfaces for on-demand needs with pay-per-use models, and
the concept of resources is no longer limited to computing
power with CPU and memory. We have seen different types
BHong-Linh Truong
hong-linh.truong@tuwien.ac.at
Nanjangud C. Narendra
nanjangud.narendra@ericsson.com
Kwei-Jay Lin
klin@uci.edu
1Faculty of Informatics, TU Wien, Vienna, Austria
2Ericsson Research, Bangalore, India
3EECS, University of California, Irvine, Irvine, USA
of resources, such as data, analytics, firewall, intrusion detec-
tion, messaging, gateways, virtual machines, to name just a
few, to be explicitly specified and composed into services
and applications and to be controlled on-demand [28,34,67].
We have seen many advances in composition and pro-
visioning services and IoT, network function virtualization
(NFV) and cloud computing [21,30,38,47,50,62]. However,
our interest in this paper is not about the discussion of silo
works in individual IoT, network or cloud systems. We want
to examine IoT, network functions and clouds as a whole,
with specific application contexts. This leads to the key ques-
tion of our work: how can we blend resources from IoT, cloud
(micro) data centers and edge/core networks to build virtual
continuum-based resource slices across various layers and
systems? It is an important academic question [71], as well
as crucial in industry1, but we lack theoretical foundations.
In our view, this needs strong support from capabilities of
tools and frameworks for services engineering, provisioning,
operation and analytics. This is, however, not easy to achieve
due to the complexity and diversity of IoT [24], distributed
clouds [16,54], and Fog/Edge computing [9,14]. While in
1http://wings-ict-solutions.eu/cloud-continuum/,https://siliconangle.
com/blog/2016/08/22/an-edge-to-cloud- continuum-inside-ge-
digitals-predix-industrial-internet-of-things-platform-thecube/.
123
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
2 Service Oriented Computing and Applications (2018) 12:1–10
these fields the use of service computing is extensive—
almost all resources are provided by web services in IoT,
network functions, and clouds—our software components
need to deal with a lot of data generated by Things [64]. We
know that distributed analytics are carried out in different
places [25,58], software interactions are not just based on
REST [59], and the service response is almost near real time.
Realizing the impact of IoT and Fog/Edge computing,
several calls have been made for services models and corre-
sponding techniques for them [11,24,75]. While many works
have started to produce and deploy services in the edge,
there exist also many open research and challenging issues
[18,29]. Conceptual, generic integration models between IoT
and Cloud have been discussed and surveyed intensively
[10,20]. Our goal in this editorial paper is not to discuss many
aspects of the integration between IoT, network functions
and clouds. Instead, we focus on building ensembles of IoT,
network functions and clouds for SOCA. We consider this
research direction important because—with the availability
of various services for IoT, network functions, and clouds—
we can compose, provision and operate such ensembles of
resources across the edge and data centers for various appli-
cation domains. However, not only we need to understand
the potentials, we also have to analyze the challenges that
one will have to face and what we need to do.
In this paper, we will focus on the key question of ensem-
ble models, and the state-of-the art in terms of service compo-
sition, runtime aspects and analytics. We provide motivations
for the concept of ensembles before focusing on state-of-the
art. Since the work on ensembles will involve complex, cross-
layer and cross-system activities, we will concentrate on cer-
tain important aspects related to SOCA, such as service mod-
els, composition, testing, and interoperability. We believe
that, in this way,our editorial will provide a broader view onto
existing problems and present guidelines for future research.
The rest of this paper is organized as follows: Sect. 2dis-
cusses emerging ensembles for IoT, network functions and
cloud services, and key issues in composition and manage-
ment of ensembles. We analyze state-of-the-art in Sect. 3
before presenting key suggestions in Sect. 4. We conclude
the paper in Sect. 5.
2 Emerging ensembles of IoT, network
functions and clouds
2.1 Ensemble model
The first question we need to clarify is what does it mean by
“ensembles” of IoT, network function and cloud resources?
We (re)emphasize that our notion of resources can be used to
indicate, e.g., data, network, analytics, and messaging. Thus
resources can be mapped to virtual machines, containers,
network firewall services, complex processing services, data
streams of Things, to name just a few. Using this notion, in
our work, ensembles consist of resources from IoT, network
functions, and cloud services that establish a set of resources
utilized for the application in a specific context (with clearly
time, performance, cost, etc.). Resources in an embemble
work together, clearly establishing the so-called resource
slice [71]. At runtime, ensembles might be “intelligent” (or
not) by being able to reconfigure and adapt themselves. In our
work, we do not really emphasize the intelligence aspect of
ensembles like in work in the artificial intelligence domain,
but are concerned more on the question of resource manage-
ment and analytics of ensembles.
Figure 1presents the very high-level view of ensembles
of IoT, network function and cloud resources. Such ensem-
bles can be built by using service techniques because we
have observed that not only current cloud resources provide
excellent service models but also:
– NFV/5G is a key emerging area and more providers
deploy services at the edge. In fact, many features of
NFV are built based on elastic cloud models and cloud
technologies
IoT infrastructure-as-a-service and pay-per-use IoT com-
munication are on the rise.
IoT data-as-a-service and edge analytics as a service fol-
low the existing cloud service models, provided by public
and private IoT providers
Given these trends, eventually providers of IoT and net-
work functions will present programmable APIs for us to
utilize their resources, enabling the combination of such
resources with well-utilized cloud resources for application-
specific contexts.
The second question is whether we really need such
ensembles, as the integration of IoT, network functions and
clouds can be continuously done with other means. To answer
this we need to distinguish between generic integration mod-
els, such as discussed in [10,20], with specific, concrete
models for integration in our vision. Let us consider various
application scenarios that demonstrate the need to combine
various resources (data, network functions, cloud data ser-
vices, etc.) for the application explicitly:
Geosport/sport analytics: consider a sport analytics appli-
cation we might analyze data of athletes in a short time,
e.g., 2 hours of games. In such analytics, we need IoT sys-
tems to bring data to the cloud services but we also need
network functions to guarantee the network traffics and
to prevent data from being sent to wrong destinations.
Concrete scenarios can be found in the H2020 U-Test
123
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
Service Oriented Computing and Applications (2018) 12:1–10 3
Fig. 1 High-level abstract view of ensembles
project2but as well as in various real use cases which
could be extracted from those described in [12].
Video analytics in smart cities: consider the case that
we have many public and private cameras in the city that
are exposed through Web services. For a particular event,
e.g., football events, various clients want to obtain camera
video as well as cloud and network, such as police and
hospital for a few hours of data analytics. Huge amount
of resources from IoT, network functions and clouds are
needed in different contexts.
Emergency responses in seaports: consider the case of an
accident in a seaport, e.g., in the Inter-IoT project3.We
need to gather IoT data from terminals, vessels, cranes,
containers, etc., in order to make the right responses. Such
IoT data will need to be analyzed by services, which
might be in the cloud and in the edge system within the
seaport. The resources and their configurations are very
specific for this response which might last a few hours
only.
Here, it is important to see that typically many applica-
tions have utilized resources from IoT, network functions,
and clouds but not all of them need to explicitly acquire and
manage all resources. However, in the aforementioned sce-
narios, applications need ensembles with specific constraints.
All of these applications lead to the question of how to estab-
lish ensembles of resources that we need to manage, control
and optimize at IoT, edge and cloud sides, not just data flows
from IoT to clouds [70].
2http://www.u-test.eu/use-cases/#tab-1429727705-1-5.
3http://www.inter-iot-project.eu/.
2.2 Key research problems
It has been argued that the service technique is the right
approach for modeling and implementation of IoT-based
systems [42]: for example, the sensing and actuation capa-
bilities of devices are exposed through microservices [51].
Then, higher level services are composed from the basic
microservices for various data processing and decision-
making functions that are closer to the applications. This
naturally fits well to the extensive use of cloud resources as
services, leading to a natural way of integrating IoT and cloud
for SOCA.
However, the network between the cloud and IoT has also
been provided with service capabilities. This leads to the
question is how to build services through the composition of
IoT, network functions and cloud services. What would be
the direction that we should follow? In our view, we should
take a fresh look at how IoT, network functions and clouds
can be exposed as services that eventually bring on-demand
resources from different layers from different systems to be
available as programmable objects for application-specific
needs. This means that we need to develop techniques for
composing such resources and provisioning them for applica-
tions, without worrying about the low-level particular details
of specific layers or systems.
3 State-of-the-art
3.1 IoT, network functions and clouds as a service
It is needless to discuss about cloud as a service as it
is very matured in today’s computing landscape. In cloud
computing, the developer and end-user can easily access
123
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
4 Service Oriented Computing and Applications (2018) 12:1–10
cloud services and utilize them. However, in the core net-
work and/or the network between the edge and the cloud,
network functions4are not really exposed to the devel-
oper for composition and/or customization for applications.
Typically, network functions are controlled and managed
by providers as underlying infrastructures to enable more
dynamic service provisioning for rapidly meeting service-
level agreements. Certain network functions associated with
cloud infrastructures can be programmed, such as virtual net-
work connections and firewalls. However, they are not the
network functions in the edge or between the edge and the
cloud; they are in cloud data centers.
For ensembles, we do not expect that all Fog/Edge net-
work systems will be opened for application developers.
However, we expect that the Fog/Edge system providers will
expose certain network and computing capabilities under the
services when the providers claim their infrastructure as-a-
service. In this view, similar to the current cloud computing
offerings where the developer can easily program private net-
work connection or firewall settings, network functions can
be requested, provisioned and controlled by the applications.
For instance, one can deploy a firewall (a completely soft-
ware service) to the edge to prevent sending of sensor data
to cloud instances outside Europe.
To this end, network functions as a service [57] technolo-
gies could enable us to compose and orchestrate network
services as part of ensembles. In many situations, the use
of containers to establish overlay networks, such as with
Weave5, could also be a solution for deploying network
functions for ensembles. Other approaches on utilizing
microservices and service function chaining to establish the
link from IoT to the cloud like [45] are interesting. How-
ever, they are still quite low-level technologies that need to
be exposed to high-level services for composing ensembles.
On the IoT side, IoT is also provided as a service [55].
Mostly, this means that the IoT network can be controlled
and managed through the service model in the sense of ded-
icated IoT services. However, advanced providers can also
offer IoT features similar to existing public clouds: IoT ser-
vices can be rented and paid per use for different customers6.
Another aspect to leverage IoT as a service is to offer APIs
for exploiting IoT. The issue of API management for IoT has
been raised [74], but from the perspective of IoT providers
to make sure that they can hide the complexity of the access
to their resources.
All of the above-mentioned models enable us to com-
pose, acquire and operate IoT, network functions and cloud
4https://www.sdxcentral.com/sdn-nfv-use-cases/network-
virtualization/network-function- as-a-service/.
5https://www.weave.works/docs/net/latest/overview/.
6http://www.zdnet.com/article/microsoft-launches-iot-as-a-service-
offering-for-enterprises/.
resources based on our special needs. Thus they enable the
concept of ensembles of IoT, network functions and cloud
that we advocate in this editorial note.
3.2 Modeling IoT, network functions and cloud
elements
To be able to provision IoT and network functions together
with cloud services, one needs to be able to capture their
information and capabilities. We have seen several infor-
mation models for network functions, such as [73], NetJ-
SON (http://netjson.org/rfc.html) and YANG (http://www.
netconfcentral.org/yang_docs). However, these information
models have not been linked to IoT resources.
For modeling the relationship between things, sensors, and
cloud services, many works have been introduced [7,27,37,
53,76]. Such efforts produce information models that can be
part of ensembles and thus can be leveraged for abstracting
capabilities of IoT services and network services. However,
they do not address the modeling of ensembles in our view.
One approach to modeling IoT, network functions and
clouds is to use Model-driven Engineering (MDE). Although
IoT is an emerging topic for MDE [46], we have seen sev-
eral papers introducing different techniques for modeling
IoT and Cyber-physical Systems (CPS) [15,66]. In cloud
engineering, there already exist many MDE tools for cloud
services [13,22]. However, these MDE tools are focused on
silo systems (either IoT or Cloud). They are not developed
for ensembles and they do not include network functions as
modeling resources.
3.3 Programming and composition models for
ensembles
In terms of services selection and composition, various works
about service selections can be used but their focus is not
on IoT services, especially for data-aware service selections
and mashups [31]. Most of the work have no connection to
the network services, reflecting network functions and back-
end clouds. Searching and finding IoT services is an active
research area but it focuses mainly on finding devices and ser-
vices (semantic service selection) [33]. In [40] a declarative
language is presented for creating ensembles of autonomic
components. This work too does not focus on IoT and net-
works. In [75] orchestration challenges for IoT have been
discussed. Key issues of optimization have not been outlined.
Recently, there has been work discussing about the intelligent
distribution between the edge and the cloud [32]. However,
they do not introduce concepts to manage and programming
resources for specific IoT services across the edge and the
cloud. In terms of composition algorithms, network-aware
service composition [30] presents an integrated QoS-aware
composition method that integrates application services and
123
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
Service Oriented Computing and Applications (2018) 12:1–10 5
network services together. The work in [62] presents algo-
rithms for IoT service composition that consider quality of
service (QoS) and network latency. Such works however have
never been considered in the context of IoT services, network
services and clouds together. In [39] user-centric IoT appli-
cation composition is shown. This, however, does not include
networks.
3.4 Resource management and adaptation
In cloud computing, sophisticated features to make cloud
services autonomous (or, self-*) are based on MAPE-K
[36]. Examples of cloud service adaptation are described in
[48,80]. As surveyed in [52] there are a huge number of IoT
middleware. But most of them do not manage network ser-
vices between IoT and clouds, thus they do not adapt network
functions at runtime. There are a few works to coordinate the
resources between IoT and Cloud [17] but not the networks
in between. Works for virtualizing the network functions,
such as OPNFV Arno7, allow us to operate and maintain
complex network systems. Although arising for different pur-
poses, the combination of NFV and SDN presents powerful
solutions for network control and reconfiguration of complex
distributed systems. However, for ensembles, the adaptation
of such complex networks must be carried out in sync with the
IoT and cloud counterparts. To date, we do not have frame-
works to do the adaptation across IoT, network functions and
clouds.
In earlier work [6,43,44] we proposed the notion of
an autonomic middleware for IoT-based systems. The key
aspect of this middleware is the use of MAPE-K concepts
to facilitate context-aware adaptation of IoT service com-
positions. This also necessitates the automatic generation
of these compositions, especially in two cases: (1) possi-
ble large latency of computation required to generate the
compositions, and (2) the composition generation depends
upon specific formalisms to specify precondition/effects
and the planning algorithms. We also present the concept
of a multi-layered context model—application layer, envi-
ronment layer, device layer—so as to facilitate contextual
adaptation. We envision the application of this idea for auto-
mated generation and adaptation of ensembles.
3.5 Monitoring and policy management
Given the resources across IoT, network functions and
clouds, a key question is how do we monitor and control
the execution policies across subsystems. In terms of moni-
toring, there is no lack of monitoring tools to capture various
information from different layers, e.g., industrial tools such
7OPNFV Arno—https://www.opnfv.org.
as Prometheus8,Telegraf
9, Logstash10, Fluentd11 and aca-
demic works [1,3]. Tools such as [63] would provide valuable
information. However, the main problem is that these tools do
not give an end-to-end view on the ensembles. They provide
various metrics but leave the metrics correlation and cross
system analysis to the developer.
Another aspect is from the provider viewpoint: how would
the provider enforce resources provisioned for application-
specific ensembles? Generally, execution policy enforcement
should be carried out across IoT, network functions and
clouds. The policy execution at the IoT side is differ-
ent from that for clouds and networks, such as, based on
software-defined machines profiles and policies [56] and
blockchain-based permission control [61]. Another tricky
problem is that if a solution provider develops an ensemble
and deploys the ensemble as a service for his/her customers,
how does this solution provider work with underlying IoT,
network functions and cloud providers w.r.t. execution pol-
icy? This problem still remains unclear.
3.6 Testing
There are many testing techniques for cloud services.
DevOps and testing tools, such as automatic testing with
Jenkins12, Gating13, and Tsung14, and academic works have
demonstrated powerful applications to test cloud services.
Essentially, such testing techniques can also be extended to
network services and IoT, as long as they offer well-defined
interfaces. However, ensembles are established at runtime,
hence it is not sure how such tools can be used.
Testing IoT is not a very well-researched topic. The work
in [60] analyzes various challenges in testing IoT. Some
authors also try to apply traditional testing methods for IoT,
like fault injection [5]. All of these works are valuable but
they are far from the requirement for testing ensembles. The
key point is that, from the ensembles perspective, we see IoT
and network functions as services. Thus, in order to test them
we must have a mechanism, similar to cloud testing, but for
IoT and network services, to dynamically test performance
and failure. Furthermore, the test has to be within the context
of ensembles, imposed by specific constraints with respect
to performance and costs, for example.
Another important aspect of testing for ensembles is to
test their uncertainty. For complex IoT, network functions and
8https://prometheus.io/.
9https://github.com/influxdata/telegraf .
10 https://www.elastic.co/products/logstash.
11 https://www.fluentd.org/.
12 https://jenkins.io/.
13 https://gatling.io.
14 http://tsung.erlang-projects.org/.
123
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
6 Service Oriented Computing and Applications (2018) 12:1–10
clouds, it is easy to see the lack of knowledge about resources,
as well as the lack of knowledge about the change of underly-
ing systems. This lack of knowledge brings uncertainty that
requires novel techniques to monitor and test [2,4,49,77,78].
While work like in H2020 U-test have presented taxonomy
and uncertainty profiles and tools [72], the impact of uncer-
tainty is actually not well studied for IoT, network functions
and clouds.
Overall, the work of testing in cloud is quite well devel-
oped. Similarly, testing performance of network layers has
been done intensively. The current work on testing IoT is
very primitive and we do not see any testingtools for ensem-
bles. One possibility is to extend certain types of IoT Cloud
testing, for example, to run a lot of IoT data to test its impact
on cloud services. But this testing is only for the two ends and
it is not clear how we could do it for the network functions.
3.7 Interoperability
In the cloud, interoperability has been addressed exten-
sively [79]. Interoperability ranges from standardization [65]
to tools for specific solutions. In IoT, a published special
issue [23] has introduced various interoperability problems
and tools. Furthermore, there are many other solutions for
interoperability, such as middleware-based [8], MDE-based
[26], and protocol translation-based [19].
If we consider IoT, cloud or network functions individ-
ually, we see that each of them has to deal with various
interoperability problems, such as mismatched interfaces,
incompatible protocols, semantic and syntax data problems.
The key interoperability problem for ensembles is that the
ensembles are established across various layers and systems.
Therefore, we need to deal with a lot of individual interoper-
ability solutions and combine them together for ensembles.
Here, the composition and provisioning techniques of SOCA
could be important for selecting the right interoperable solu-
tions based on meta-data and runtime data.
4 Recommendations
From our high-level analysis of the state-of-the art, we make
the following five recommendations:
Rec #1—resource modeling and interoperability For us it is
quite clear about the service models for IoT, network func-
tions and clouds, especially microservices and REST-based
implementations. We have seen that mostly service interfaces
are provided through REST. However, especially at the IoT
side, various IoT services offer different ways to access data
and controls, e.g., using messaging protocols like MQTT
and AMQP. The nature of interaction models for data acqui-
sition and control is not in one-to-one interaction like typical
enterprise services but is in one-to-many or many-to-one.
Therefore, we recommend the service interaction models to
be developed with one-to-many or many-to-one protocols to
suit IoT, while still maintaining the key principle of services,
such as composability and discovery.
We recommend IoT resources be modeled with many new
types of meta-data about data quality, execution policies,
etc., to enable the composition of interoperable services. On
the one hand, we need to continue the current approach on
implementing interoperability solutions by introducing mid-
dleware, protocols translation, etc. On the other hand, the
dynamic approach for software composition and provision-
ing would also be another way.
Rec #2—programming We recommend to follow the current
two approaches: the top-down approach with model-driven
engineering (MDE) and the bottom-up approach with pro-
gramming frameworks and languages. In MDE, we have
observed various tools and MDE profiles for IoT and Cloud.
However, frameworks for supporting ensembles of IoT, net-
work functions and clouds are missing. There are also work
in business processes [41]. One of our previous works [69]
for example allows us to model IoT Cloud systems. However,
it has not included network functions yet and it is still focused
on modeling without code generation. Here our suggestion
is to combine various MDE approaches to develop a unified
framework for ensembles. The approach from programming
frameworks and languages introduce various techniques.
In particular, the complex service compositions mainly are
described by workflows or data processing pipelines in which
clouds are used for complex processing and IoT are reflected
through data inputs. However, we have not seen the incor-
poration of network functions into such languages. Thus we
suggest to incorporate network function APIs into existing
languages to allow us to build ensembles.
Rec #3—service management and adaptation Adaptation
needs to be context-aware [6] and driven by stored knowledge
about the system and earlier adaptation implementations.
However, current adaptation techniques and implementa-
tions are only for specific systems. We recommend to exploit
end-to-end context-aware adaptation [43,44] based on issues
triggered from the IoT side as the ensembles are mainly for
addressing problems from the IoT side with also resources
in the edge and cloud. Considering a huge number of uncer-
tainty across layers and systems as well as the vast knowledge
that one needs to master to work with ensembles, we rec-
ommend to develop uncertainty measure for ensembles.
This can be started from existing work on uncertainty for
IoT/CPS [72]. Furthermore, uncertainty must be included
into ensemble composition and adaptation. Works like uncer-
tainty adaptation in IoT Cloud [49] could be a starting point.
Rec #4—end-to-end monitoring Given a large number of
tools for infrastructure monitoring and application monitor-
ing as well as their related services for managing monitoring
data, we recommend a focus on correlation metrics and end-
123
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
Service Oriented Computing and Applications (2018) 12:1–10 7
to-end monitoring, as they are missing at the moment. One
approach is to establish end-to-end monitoring by leveraging
existing tools, such Prometheus and Fluentd, by combining
with end-to-end techniques, such as from [35]. However, new
metrics characterizing ensembles must be defined, for exam-
ple, how to calculate the availability of an ensemble based
on the availability of IoT, network functions and cloud.
Rec #5—testing We suggest to focus on end-to-end testing
through integration and system testing. We should see ensem-
bles as a uniform unit to test flows from IoT to clouds via
network functions. In this way, we can combine different
testing techniques for IoT, network functions and cloud but
we need to (i) define combination/composition of tests, (ii)
testing utilities for different systems, (iii) test emerging prop-
erties like uncertainty, elasticity, actuation. One approach we
suggest is to combine IoT testing with elastic testing of cloud
services [68].
5 Conclusions
In this paper, we motivated the building of application-
specific ensembles of IoT, network functions and clouds,
given the current offering and technology trends in IoT and
Fog/Edge computing. We presented the concept of ensem-
bles of IoT, network functions and cloud resources. Based
on our preliminary works and discussions, we believe that
such ensembles are important because many applications
need such ensembles for their specific context with respect to
performance, time and costs that they can manage and con-
trol. We have discussed the current state-of-the art, various
important aspects as well as presented recommendations for
the composition and analytics of ensembles.
Our current work is to deal with theoretical concepts of
ensembles, such as the formal way to describe and repre-
sent ensembles. We are working intensively into the tools
to support this concept, especially, monitoring, uncertainty
analytics and programming and execution management
for ensembles. Certain samples of services and ensemble
structures are being updated at https://github.com/rdsea/
IoTCloudSamples.
Acknowledgements Open access funding provided by TU Wien
(TUW). This paper is based on various discussions and our previous
works. In particular, our paper [71] discusses the resource slices of IoT,
network functions and cloud. Subsequently, we have developed fur-
ther techniques for resource integration and execution policy. Various
talks and discussions have helped us strengthen our views on ensembles.
Application scenarios we have discussed based on our intensivecollabo-
ration with industries and other academic partners in many projects like
H2020 U-Test and Inter-IoT projects. Hong-Linh Truong also would
like to thank Profs Yusheng Ji and Shigeki Yamada from NII, Japan, for
the discussion of ensembles of IoT and network functions. The work
in this paper is partially supported by the H2020 U-Test project and
H2020 Inter-IoT project via the subproject INTER-HINC.
Open Access This article is distributed under the terms of the Creative
Commons Attribution 4.0 International License (http://creativecomm
ons.org/licenses/by/4.0/), which permits unrestricted use, distribution,
and reproduction in any medium, provided you give appropriate credit
to the original author(s) and the source, provide a link to the Creative
Commons license, and indicate if changes were made.
References
1. Aceto G, Botta A, De Donato W, Pescapè A (2013) Survey cloud
monitoring: a survey. Comput Netw 57(9):2093–2115. https://doi.
org/10.1016/j.comnet.2013.04.001
2. Akkaya I, Liu Y, Lee EA (2016) Uncertainty analysis of mid-
dleware services for streaming smart grid applications. IEEE
Trans Serv Comput 9(2):174–185. https://doi.org/10.1109/TSC.
2015.2456888
3. Alhamazani K, Ranjan R, Mitra K, Rabhi F, Jayaraman PP, Khan
SU, Guabtni A, Bhatnagar V (2015) An overview of the commer-
cial cloud monitoring tools: research dimensions, design issues,
and state-of-the-art. Computing 97(4):357–377. https://doi.org/10.
1007/s00607-014-0398-5
4. Ali S, Yue T (2015) U-test: evolving, modelling and testing real-
istic uncertain behaviours of cyber-physical systems. In: 8th IEEE
international conference on software testing, verification and val-
idation, ICST 2015, Graz, Austria, April 13–17, 2015, pp 1–2.
IEEE. https://doi.org/10.1109/ICST.2015.7102637
5. Alipour MA (2017) Fault injection in the internet of things
applications. In: Proceedings of the 1st ACM SIGSOFT interna-
tional workshop on testing embedded and cyber-physical systems,
TECPS 2017, pp 9–11. ACM, New York, NY, USA. https://doi.
org/10.1145/3107091.3107095
6. Bellur U, Narendra NC, Mohalik SK (2017) AUSOM: autonomic
service-oriented middleware for IoT-based systems. In: 2017 IEEE
world congress on services (SERVICES), pp 102–105. https://doi.
org/10.1109/SERVICES.2017.25
7. Benazzouz Y, Munilla C, Gunalp O, Gallissot M, Gurgen L (2014)
Sharing user IoT devices in the cloud. In: 2014 IEEE world forum
on internet of things (WF-IoT), pp 373–374. https://doi.org/10.
1109/WF-IoT.2014.6803193
8. Blackstock M, Lea R (2014) IoT interoperability: a hub-based
approach. In: 2014 international conference on the internet of things
(IOT), pp 79–84. https://doi.org/10.1109/IOT.2014.7030119
9. Bonomi F, Milito R, Zhu J, Addepalli S (2012) Fog computing and
its role in the internet of things. In: Proceedings of the first edition
of the MCC workshop on mobile cloud computing, pp 13–16. ACM
10. Botta A, de Donato W, Persico V, Pescapé A (2016) Integration of
cloud computing and internet of things. Future Gener Comput Syst
56(C):684–700. https://doi.org/10.1016/j.future.2015.09.021
11. Bouguettaya A, Singh M, Huhns M, Sheng QZ, Dong H, Yu Q,
Neiat AG, Mistry S, Benatallah B, Medjahed B, Ouzzani M, Casati
F, Liu X, Wang H, Georgakopoulos D, Chen L, Nepal S, Malik Z,
Erradi A, Wang Y, Blake B, Dustdar S, Leymann F, Papazoglou M
(2017) A service computing manifesto: the next 10 years. Commun
ACM 60(4):64–72. https://doi.org/10.1145/2983528
12. Brefeld U, Zimmermann A (2017) Guest editorial: special issue on
sports analytics. Data Min Knowl Discov 31(6):1577–1579. https://
doi.org/10.1007/s10618-017-0530- 1
13. Casale G, Ardagna D, Artac M, Barbier F, Nitto ED, Henry
A, Iuhasz G, Joubert C, Merseguer J, Munteanu VI, Pérez JF,
Petcu D, Rossi M, Sheridan C, Spais I, Vladušiˇc D (2015) Dice:
quality-driven development of data-intensive cloud applications.
In: Proceedings of the seventh international workshop on mod-
eling in software engineering, MiSE’15, pp 78–83. IEEE Press,
123
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
8 Service Oriented Computing and Applications (2018) 12:1–10
Piscataway, NJ, USA. http://dl.acm.org/citation.cfm?id=2820489.
2820507
14. Chiang M, Zhang T (2016) Fog and IoT: an overview of research
opportunities. IEEE Internet Things J 3(6):854–864. https://doi.
org/10.1109/JIOT.2016.2584538
15. Ciccozzi F, Spalazzese R (2017) MDE4IoT: supporting the internet
of things with model-driven engineering. Springer, Cham, pp 67–
76
16. Coady Y, Hohlfeld O, Kempf J, McGeer R, Schmid S (2015) Dis-
tributed cloud computing: applications, status quo, and challenges.
SIGCOMM Comput Commun Rev 45(2):38–43. https://doi.org/
10.1145/2766330.2766337
17. Copil G, Moldovan D, TruongHL, Dustdar S (2014) On controlling
cloud services elasticity in heterogeneous clouds. In: Proceedings
of the 2014 IEEE/ACM 7th international conference on utility and
cloud computing, UCC ’14, pp 573–578. IEEE Computer Society,
Washington, DC, USA. https://doi.org/10.1109/UCC.2014.88
18. Creeger M (2010) Moving to the edge: CTO roundtable overview.
Queue 8(7):40:40–40:42. https://doi.org/10.1145/1831327.
1838135
19. Derhamy H, Eliasson J, Delsing J (2017) Iot interoperability: on-
demand and low latency transparent multiprotocol translator. IEEE
Internet Things J 4(5):1754–1763. https://doi.org/10.1109/JIOT.
2017.2697718
20. Díaz M, Martín C, Rubio B (2016) State-of-the-art, challenges,
and open issues in the integration of internet of things and cloud
computing. J Netw Comput Appl 67(C):99–117. https://doi.org/
10.1016/j.jnca.2016.01.010
21. Echeverría S, Root J, Bradshaw B, Lewis GA (2014) On-demand
VM provisioning for cloudlet-based cyber-foraging in resource-
constrained environments. In: Julien C, Lane ND, Mishra S (Eds)
6th international conference on mobile computing, applications
and services, MobiCASE 2014, Austin, TX, USA, November 6–
7, 2014, pp 116–124. IEEE. https://doi.org/10.4108/icst.mobicase.
2014.257768
22. Ferry N, Song H, Rossini A, Chauvel F, Solberg A (2014)
CloudMF: Applying MDE to tame the complexity of managing
multi-cloud applications. In: Proceedings of the 2014 IEEE/ACM
7th international conference on utility and cloud computing,
UCC’14, pp 269–277. IEEE Computer Society, Washington, DC,
USA. https://doi.org/10.1109/UCC.2014.36
23. Fortino G, Ganzha M, Palau C, Paprzycki M (2016) Interop-
erability in the internet of things. https://www.computer.org/
web/computingnow/archive/interoperability-in-the-internet-of-
things-december-2016-introduction
24. Georgakopoulos D, Jayaraman PP (2016) Internet of things: from
internet scale sensing to smart services. Computing 98(10):1041–
1058. https://doi.org/10.1007/s00607-016-0510-0
25. Govindarajan N, Simmhan Y, Jamadagni N, Misra P (2014)
Event processing across edge and the cloud for internet of things
applications. In: Proceedings of the 20th international conference
on management of data, COMAD’14, pp 101–104. Computer
Society of India, Mumbai, India. http://dl.acm.org/citation.cfm?
id=2726970.2726985
26. Grace P, Barbosa J, Pickering B, Surridge M (2014) Taming the
interoperability challenges of complex IoT systems. In: Proceed-
ings of the 1st ACM workshop on middleware for context-aware
applications in the IoT, M4IOT’14, pp 1–6. ACM, New York, NY,
USA. https://doi.org/10.1145/2676743.2676744
27. Haller S, Serbanati A, Bauer M, Carrez F (2013) A domain
model for the internet of things. In: Green computing and com-
munications (GreenCom), 2013 IEEE and internet of things
(iThings/CPSCom), IEEE international conference on and IEEE
cyber, physical and social computing, pp 411–417. https://doi.org/
10.1109/GreenCom-iThings-CPSCom.2013.87
28. Hirmer P, Mitschang B (2017) TOSCA4Mashups: enhanced
method for on-demand data mashup provisioning. Comput Sci Res
Dev 32(3):291–300. https://doi.org/10.1007/s00450- 016-0330-7
29. Hu W, Gao Y, Ha K, Wang J, Amos B, Chen Z, Pillai P, Satya-
narayanan M (2016) Quantifying the impact of edge computing
on mobile applications. In: Proceedings of the 7th ACM SIGOPS
Asia-Pacific workshop on systems, APSys’16, pp 5:1–5:8. ACM,
New York, NY, USA. https://doi.org/10.1145/2967360.2967369
30. Huang J, Liu G, Duan Q, Yan Y (2014) Qos-aware service compo-
sition for converged network-cloud service provisioning. In: 2014
IEEE international conference on services computing (SCC), pp
67–74. IEEE
31. Im J, Kim S, Kim D (2013) IoT mashup as a service: cloud-
based mashup service for the internet of things. In: Proceedings
of the 2013 IEEE international conference on services computing,
SCC’13, pp 462–469. IEEE Computer Society, Washington, DC,
USA. https://doi.org/10.1109/SCC.2013.68
32. Jalali F, Smith OJ, Lynar T, Suits F (2017) Cognitive IoT gateways:
automatic task sharing and switching between cloud and edge/fog
computing. In: Proceedings of the SIGCOMM posters and demos,
SIGCOMM posters and demos, pp 121–123. ACM, New York, NY,
USA. https://doi.org/10.1145/3123878.3132008
33. Jenson S, Want R, Schilit BN, Kravets RH (2015) Building an
on-ramp for the internet of things. In: Proceedings of the 2015
workshop on IoT challenges in mobile and industrial systems, IoT-
Sys’15, pp 3–6. ACM, New York, NY, USA. https://doi.org/10.
1145/2753476.2753483
34. Kablan M, Caldwell B, Han R, Jamjoom H, Keller E (2015)
Stateless network functions. In: Proceedings of the 2015 ACM
SIGCOMM workshop on hot topics in middleboxes and network
function virtualization, HotMiddlebox’15, pp 49–54. ACM, New
York, NY, USA. https://doi.org/10.1145/2785989.2785993
35. Kaldor J, Mace J, Bejda M, Gao E, Kuropatwa W, O’Neill J,
Ong KW, Schaller B, Shan P, Viscomi B, Venkataraman V, Veer-
araghavan K, Song YJ (2017) Canopy: an end-to-end performance
tracing and analysis system. In: Proceedings of the 26th sympo-
sium on operating systems principles, SOSP’17, pp 34–50. ACM,
New York, NY, USA. https://doi.org/10.1145/3132747.3132749
36. Kephart JO, Chess DM (2003) The vision of autonomic computing.
Computer 36(1):41–50
37. Kim J, Lee JW (2014) OpenIoT: an open service framework for the
internet of things. In: 2014 IEEE world forum on internet of things
(WF-IoT), pp 89–93
38. Klein A, Ishikawa F, Honiden S (2012) Towards network-aware
service composition in the cloud. In: Proceedings of the 21st
international conference on world wide web, WWW’12, pp 959–
968. ACM, NewYork, NY, USA. https://doi.org/10.1145/2187836.
2187965
39. Ko IY, Ko HG, Molina AJ, Kwon JH (2016) SoIoT: toward a user-
centric IoT-based service framework. ACM Trans Internet Technol
16(2):8:1–8:21. https://doi.org/10.1145/2835492
40. Krijt F, Jiracek Z, Bures T, Hnetynka P, Gerostathopoulos I (2017)
Intelligent ensembles: a declarative group description language and
java framework. In: Proceedings of the 12th international sym-
posium on software engineering for adaptive and self-managing
systems, SEAMS’17, pp 116–122. IEEE Press, Piscataway, NJ,
USA. https://doi.org/10.1109/SEAMS.2017.17
41. Meyer S, Ruppen A, Magerkurth C (2013) Internet of things-
aware process modeling: integrating iot devices as businessprocess
resources. In: Salinesi C, Norrie MC, Pastor Ó (eds) Advanced
information systems engineering. Springer, Berlin, pp 84–98
42. Mohalik SK, Jayaraman MB, Ramamurthy B, Vulgarakis A (2015)
SOA-PE : a service-oriented architecture for planning and exe-
cution in cyber-physical systems. In: Proceedings international
conference on smart sensors and systems (IC-SSS-2015). IEEE
123
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
Service Oriented Computing and Applications (2018) 12:1–10 9
43. Mohalik SK, Narendra NC, Badrinath R, Jayaraman MB, Padala C
(2016) Dynamic semantic interoperability of control in IoT-based
systems: need for adaptive middleware. In: 2016 IEEE 3rd world
forum on internet of things (WF-IoT), pp 199–203. https://doi.org/
10.1109/WF-IoT.2016.7845399
44. Mohalik SK, Narendra NC, Badrinath R, Le DH (2017) Adaptive
service-oriented architectures for cyber physical systems. In: 2017
IEEE symposium on service-oriented system engineering (SOSE),
pp 57–62. https://doi.org/10.1109/SOSE.2017.10
45. Morabito R, Beijar N (2017) A framework based on SDN and
containers for dynamic service chains on IoT gateways. In: Pro-
ceedings of the workshop on hot topics in container networking and
networked systems, HotConNet’17, pp 42–47. ACM, New York,
NY, USA. https://doi.org/10.1145/3094405.3094413
46. Morin B, Harrand N, Fleurey F (2017) Model-based software engi-
neering to tame the IoT jungle. IEEE Softw 34(1):30–36. https://
doi.org/10.1109/MS.2017.11
47. Muoz F, Muoz R, Rodrguez J, Lopez V, de Dios OG, Fernndez-
Palacios JP (2013) End-to-end service provisioning across MPLS
and IP/WDM domains. In: 2013 international conference on smart
communications in network technologies (SaCoNeT), vol 02, pp
1–5. https://doi.org/10.1109/SaCoNeT.2013.6654561
48. Nallur V, Bahsoon R (2013) A decentralized self-adaptation mecha-
nism for service-based applications in the cloud. IEEE Trans Softw
Eng 39(5):591–612. https://doi.org/10.1109/TSE.2012.53
49. Nastic S, Copil G, Truong HL, Dustdar S (2015) Governing elastic
IoT cloud systems under uncertainty. In: 7th IEEE international
conference on cloud computing technology and science, Cloud-
Com 2015, Vancouver, BC, Canada, November 30–December
3, 2015, pp 131–138. IEEE. https://doi.org/10.1109/CloudCom.
2015.77
50. Nastic S, Sehic S, Le DH, Truong HL, Dustdar S (2014) Provi-
sioning software-defined IoT cloud systems. In: Proceedings of
the 2014 international conference on future internet of things and
cloud, FICLOUD’14, pp 288–295. IEEE Computer Society, Wash-
ington, DC, USA. https://doi.org/10.1109/FiCloud.2014.52
51. Newman S (2015) Building microservices, 1st edn. O’Reilly
Media, Inc., Sebastopol
52. Ngu AH, Gutierrez M, Metsis V, Nepal S, Sheng QZ (2017) IoT
middleware: a survey on issues and enabling technologies. IEEE
Internet Things J 4(1):1–20. https://doi.org/10.1109/JIOT.2016.
2615180
53. Oteafy S, Hassanein H (2012) Towards a global IoT: Resource
re-utilization in WSNS. In: 2012 international conference on com-
puting, networking and communications (ICNC), pp 617–622.
https://doi.org/10.1109/ICCNC.2012.6167496
54. Pahl C, Lee B (2015) Containers and clusters for edge cloud
architectures—a technology review. In: 2015 3rd i nternational con-
ference on future internet of things and cloud, pp 379–386. https://
doi.org/10.1109/FiCloud.2015.35
55. Pencheva E, Atanasov I (2016) Engineering of web services for
internet of things applications. Inf Syst Front 18(2):277–292.
https://doi.org/10.1007/s10796-014-9532-3
56. Phung PH, Truong HL, Yasoju DT (2017) P4SINC—an execu-
tion policy framework for IoT services in the edge. In: 2017 IEEE
international congress on internet of things (ICIOT), pp 137–142.
https://doi.org/10.1109/IEEE.ICIOT.2017.23
57. Qadir J, Ahmed N, Yousaf FZ, Taqweem A (2016) Network
as a service: the new vista of opportunities. arXiv preprint
arXiv:1606.03060
58. Ravindra P, Khochare A, Reddy S, Sharma S, Varshney P, Simmhan
Y (2017) ECHO : an adaptive orchestration platform for hybrid
dataflows across cloud and edge. In: Maximilien EM, Vallecillo A,
Wang J, Oriol M (Eds) Service-oriented computing—15th interna-
tional conference, ICSOC 2017, Malaga, Spain, November 13–16,
2017, Proceedings, Lecture notes in computer science, vol 10601,
pp 395–410. Springer. https://doi.org/10.1007/978-3-319-69035-
3_28
59. Reinfurt L, Breitenbücher U, Falkenthal M, Leymann F, Riegg A
(2016) Internet of things patterns. In: Proceedings of the 21st Euro-
pean conference on pattern languages of programs, EuroPlop’16,
pp 5:1–5:21. ACM, New York, NY, USA. https://doi.org/10.1145/
3011784.3011789
60. Rosenkranz P, Wählisch M, Baccelli E, Ortmann L (2015) A dis-
tributed test system architecture for open-source IoT software. In:
Proceedings of the 2015 workshop on IoT challenges in mobile and
industrial systems, IoT-Sys’15, pp 43–48. ACM, New York, NY,
USA. https://doi.org/10.1145/2753476.2753481
61. Samaniego M, Deters R (2016) Using blockchain to push software-
defined IoT components onto edge hosts. In: Proceedings of the
international conference on big data and advanced wireless tech-
nologies, BDAW’16, pp 58:1–58:9. ACM, New York, NY, USA.
https://doi.org/10.1145/3010089.3016027
62. Shehu UG, Safdar GA, Epiphaniou G (2015) Network aware com-
position for internet of thing services. Trans Netw Commun 3(1):45
63. Sterle J, Sedlar U, Rugelj M, Kos A, Volk M (2016) Application-
driven OAM framework for heterogeneous IoT environments. Int
J Distrib Sens Netw 2016:3:3–3:3. https://doi.org/10.1155/2016/
5649291
64. Taherkordi A, Eliassen F, Horn G (2017) From IoT big data to
IoT big services. In: Proceedings of the symposium on applied
computing, SAC’17, pp 485–491. ACM, New York, NY, USA.
https://doi.org/10.1145/3019612.3019700
65. Teckelmann R, Reich C, Sulistio A (2011) Mapping of cloud stan-
dards to the taxonomy of interoperability in IaaS. In: Proceedings
of the 2011 IEEE third international conference on cloud com-
puting technology and science, CLOUDCOM’11, pp 522–526.
IEEE Computer Society, Washington, DC, USA. https://doi.org/
10.1109/CloudCom.2011.78
66. Thramboulidis K, Christoulakis F (2016) UML4IoT—a UML-
based approach to exploit iot in cyber-physical manufacturing
systems. Comput Ind 82(C):259–272. https://doi.org/10.1016/j.
compind.2016.05.010
67. Thuluva AS, Bröring A, Medagoda GP, Don H, Anicic D, Seeger
J (2017) Recipes for iot applications. In: Proceedings of the sev-
enth international conference on the internet of things, IoT’17, pp
10:1–10:8. ACM, New York, NY, USA. https://doi.org/10.1145/
3131542.3131553
68. Truong HL, Berardinelli L (2017) Testing uncertainty of cyber-
physical systems in IoT cloud infrastructures: combining model-
driven engineering and elastic execution. In: Proceedings of the 1st
ACM SIGSOFT international workshop on testing embedded and
cyber-physical systems, TECPS 2017, pp 5–8. ACM, New York,
NY, USA. https://doi.org/10.1145/3107091.3107093
69. Truong HL, Berardinelli L, Pavkovic I, Copil G (2017) Mod-
eling and provisioning IoT cloud systems for testing uncertain-
ties. In: Proceedings of the 14th EAI international conference
on mobile and ubiquitous systems: computing, networking and
services, MobiQuitous 2017. ACM. http://dsg.tuwien.ac.at/staff/
truong/publications/2017/truong-mobiquitous2017.pdf
70. Truong HL, Copil G, Dustdar S, Le D, Moldovan D, Nastic S
(2016) On engineering analytics for elastic IoT cloud platforms.
In: Sheng QZ, Stroulia E, Tata S, Bhiri S (eds) Service-oriented
computing—14th international conference, ICSOC 2016, Banff,
AB, Canada, October 10–13, 2016, Proceedings, Lecture notes in
computer science, vol 9936, pp 267–281. Springer. https://doi.org/
10.1007/978-3-319-46295-0_17
71. Truong HL, Narendra NC (2016) SINC—an information-centric
approach for end-to-end IoT cloud resource provisioning. In: Inter-
national conference on cloud computing research and innovations,
ICCCRI 2016, Singapore, Singapore, May 4–5, 2016, pp 17–24.
IEEE Computer Society. https://doi.org/10.1109/ICCCRI.2016.12
123
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
10 Service Oriented Computing and Applications (2018) 12:1–10
72. U-Test H2020 Deliverable: Report on Uncertainty Mod-
elling Framework V.2. https://www.simula.no/file/u-testd22pdf/
download. Accessed 22 June 2017
73. van der Ham J, Stéger J, Laki S, Kryftis Y, Maglaris V, de Laat C
(2015) The NOVI information models. Future Gener Comput Syst
42:64–73
74. Vukovic M (2015) Internet programmable IoT: on the role of
apis in IoT: the internet of things (ubiquity symposium). Ubiquity
2015(November):3:1–3:10. https://doi.org/10.1145/2822873
75. Wen Z, Yang R, Garraghan P, Lin T, Xu J, Rovatsos M (2017) Fog
orchestration for internet of things services. IEEE Internet Comput
21(2):16–24. https://doi.org/10.1109/MIC.2017.36
76. Zhang H, Meng C (2014) A multi-dimensional ontology-based IoT
resource model. In: 2014 5th IEEE international conference on
software engineering and service science (ICSESS), pp. 124–127.
IEEE
77. Zhang M, Selic B, Ali S, Yue T, Okariz O, Norgren R (2016)
Understanding uncertainty in cyber-physical systems: a conceptual
model. In: Modelling foundations and applications—12th Euro-
pean conference, ECMFA2016, held as part of STAF 2016, Vienna,
Austria, July 6–7, 2016, Proceedings, pp 247–264
78. Zhang M, Selic B, Ali S, Yue T, Pradhan D, Nastic S, Truong
HL, Schneider M, Bureck M, Hein C (2015) Understanding
uncertainty in cyber-physical systems, https://www.simula.no/file/
d12pdf/download. Technical report, U-Test Project
79. Zhang Z, Wu C, Cheung DW (2013) A survey on cloud inter-
operability: taxonomies, standards, and practice. SIGMETRICS
Perform Eval Rev 40(4):13–22. https://doi.org/10.1145/2479942.
2479945
80. Zoghi P, Shtern M, Litoiu M, Ghanbari H (2016) Designing
adaptive applications deployed on cloud environments. ACM
Trans Auton Adapt Syst 10(4):25:1–25:26. https://doi.org/10.
1145/2822896
123
Content courtesy of Springer Nature, terms of use apply. Rights reserved.
1.
2.
3.
4.
5.
6.
Terms and Conditions
Springer Nature journal content, brought to you courtesy of Springer Nature Customer Service Center GmbH (“Springer Nature”).
Springer Nature supports a reasonable amount of sharing of research papers by authors, subscribers and authorised users (“Users”), for small-
scale personal, non-commercial use provided that all copyright, trade and service marks and other proprietary notices are maintained. By
accessing, sharing, receiving or otherwise using the Springer Nature journal content you agree to these terms of use (“Terms”). For these
purposes, Springer Nature considers academic use (by researchers and students) to be non-commercial.
These Terms are supplementary and will apply in addition to any applicable website terms and conditions, a relevant site licence or a personal
subscription. These Terms will prevail over any conflict or ambiguity with regards to the relevant terms, a site licence or a personal subscription
(to the extent of the conflict or ambiguity only). For Creative Commons-licensed articles, the terms of the Creative Commons license used will
apply.
We collect and use personal data to provide access to the Springer Nature journal content. We may also use these personal data internally within
ResearchGate and Springer Nature and as agreed share it, in an anonymised way, for purposes of tracking, analysis and reporting. We will not
otherwise disclose your personal data outside the ResearchGate or the Springer Nature group of companies unless we have your permission as
detailed in the Privacy Policy.
While Users may use the Springer Nature journal content for small scale, personal non-commercial use, it is important to note that Users may
not:
use such content for the purpose of providing other users with access on a regular or large scale basis or as a means to circumvent access
control;
use such content where to do so would be considered a criminal or statutory offence in any jurisdiction, or gives rise to civil liability, or is
otherwise unlawful;
falsely or misleadingly imply or suggest endorsement, approval , sponsorship, or association unless explicitly agreed to by Springer Nature in
writing;
use bots or other automated methods to access the content or redirect messages
override any security feature or exclusionary protocol; or
share the content in order to create substitute for Springer Nature products or services or a systematic database of Springer Nature journal
content.
In line with the restriction against commercial use, Springer Nature does not permit the creation of a product or service that creates revenue,
royalties, rent or income from our content or its inclusion as part of a paid for service or for other commercial gain. Springer Nature journal
content cannot be used for inter-library loans and librarians may not upload Springer Nature journal content on a large scale into their, or any
other, institutional repository.
These terms of use are reviewed regularly and may be amended at any time. Springer Nature is not obligated to publish any information or
content on this website and may remove it or features or functionality at our sole discretion, at any time with or without notice. Springer Nature
may revoke this licence to you at any time and remove access to any copies of the Springer Nature journal content which have been saved.
To the fullest extent permitted by law, Springer Nature makes no warranties, representations or guarantees to Users, either express or implied
with respect to the Springer nature journal content and all parties disclaim and waive any implied warranties or warranties imposed by law,
including merchantability or fitness for any particular purpose.
Please note that these rights do not automatically extend to content, data or other material published by Springer Nature that may be licensed
from third parties.
If you would like to use or distribute our Springer Nature journal content to a wider audience or on a regular basis or in any other manner not
expressly permitted by these Terms, please contact Springer Nature at
onlineservice@springernature.com
... Truong et al. [57] shows that the problem of heterogeneity requires grouping of different network components in the ecosystem known as ensembling. For different requests and tasks, the ecosystem's components ensemble to provide services. ...
... Aazam et al. [48] Rescati et al. [49] Mukherjee et al. [16] Dastjerdi and Buyya [51] Mutlag et al. [64] Saqib and Hamid [65] Bittencourt et al. [37] Yi et al. [50] Atlam et al. [52] Nandyala and Kim [46] Mehdipour et al. [53] Virdis et al. [54] Kertiou et al. [35] Prabavathy et al. [55] Buzachis et al. [56] Truong et al. [57] Yassein et al. [18] Al-Fuqaha et al. [17] Luan et al. [10] Krivic et al. [60] Perera et al. [13] Guerrero et al. [58] Kim et al. [59] Osman [39] Seiger et al. [67] Zhang and Sheng [72] Bruns et al. [73] Papageorgiou et al. [74] Naha et al. [14] Garcia-de Prado et al. [41] Forkan et al. [40] Kumar and Prakash [38] Kraemer et al. [76] Portmann et al. [61] Misra et al. [66] Hassani et al. [77] Kapitsaki et al. [75] Mejtoft [62] Esmaeilian et al. [43] Rahmani and Kanter [63] Institutional Review Board Statement: Not applicable. ...
Article
Full-text available
The number of IoT sensors and physical objects accommodated on the Internet is increasing day by day, and traditional Cloud Computing would not be able to host IoT data because of its high latency. Being challenged of processing all IoT big data on Cloud facilities, there is not enough study on automating components to deal with the big data and real-time tasks in the IoT–Fog–Cloud ecosystem. For instance, designing automatic data transfer from the fog layer to cloud layer, which contains enormous distributed devices is challenging. Considering fog as the supporting processing layer, dealing with decentralized devices in the IoT and fog layer leads us to think of other automatic mechanisms to manage the existing heterogeneity. The big data and heterogeneity challenges also motivated us to design other automatic components for Fog resiliency, which we address as the third challenge in the ecosystem. Fog resiliency makes the processing of IoT tasks independent to the Cloud layer. This survey aims to review, study, and analyze the automatic functions as a taxonomy to help researchers, who are implementing methods and algorithms for different IoT applications. We demonstrated the automatic functions through our research in accordance to each challenge. The study also discusses and suggests automating the tasks, methods, and processes of the ecosystem that still process the data manually.
... We will show the key requirements for ASREs (Section II) that ASREs must combine various types of high-level edge and clouds resources, also IoT data sources and network functions, for application specific needs. Similar to a network slice (and network slicing techniques) [5] provides a virtual network capabilities across network infrastructures, we can use resource slice to include various types of resources across different infrastructures to a virtual one [6]. However, resource slices are not enough for our ASRE concept. ...
... Service level monitoring data is still hard to be obtained and integrated. This requires logging and instrumentation implemented within resources, such as using Fluentd 6 . In addition, for ASRE, aggregating monitoring data is not enough, we also need to define which metrics can be used to characterize ASRE as a whole. ...
Preprint
Full-text available
When provisioning "resources" for applications across edge and cloud infrastructures, most work deals with infrastructural containers and virtual machines (VMs) as resources. Such infrastructural resources can be acquired and scaled in an elastic manner for dynamic requirements from the applications. However, this type of low-level infrastructural resources is not in the view of many application developers, who need diverse types of resources as services with different capabilities, such as, messaging brokers, file management services, flow engines and data transfers, besides infrastructural containers and VMs, for a single application. We research a new abstraction for resources for applications, called Application-specific Resource Ensembles (ASREs), across edge and cloud infrastructures. ASRE encapsulates diverse types of high-level resources, coupled with management APIs, that is provided for application-specific context. In this paper, we report our initial work on ASRE models and Management Service.
... Our goal is to provide a framework for edge application-level interactions within ensembles of IoT, Edge, Network Functions and Clouds [10]. In complex scenarios, the developers usually need to address key engineering aspects of their edge applications, such as, integration among services, interoperability, application-level performance, data transformation, and runtime deployment. ...
Preprint
Full-text available
Realizing the potential of edge computing and fog networks connecting the edge and the cloud, researchers and industries have increasingly developed techniques and tools for testing edge infrastructures and applications. Simulating edge applications and systems plays a crucial role because not everyone can have access to a real-world deployment of edge infrastructures and fog networks together with their IoT and cloud counterparts. Furthermore, interactions in edge applications are complex, spanning different layers and subsystems, that cannot be easy tested with real code. We present IoTCloudSamples as a software framework that allows the developer to tackle missing aspects of edge simulations, such as understanding the integration among different edge elements, the interoperability across layers among different edge platforms and protocols, and the interaction with real-world pay-per-use IoT and cloud services. IoTCloudSamples supports the approach of edge-simulation-as-code to allow the reuse and runtime steering of realistic simulation operations. We will illustrate examples from our real-world projects concentrating on edge analytics applications.
Article
Full-text available
Weather in Malaysia are hot and humid throughout the year thus having a sudden rain can disrupt the drying of laundries and make them wet. In this study, an automated retractable roof system was developed to overcome this problem. The development and implementation of this study enables user to monitor the parameters at the laundry suspension area by using their smartphone and prevent the laundries getting wet from rain. This study uses humidity sensors, Ultraviolet (UV) sensor, rain sensor, and temperature sensor to detect parameter such as humidity, UV intensity, presence of water and temperature respectively. Data from the sensors were collected and analysed to determine the values of parameters when rains occurred. These parameters were indicated as part of weather prediction study. From experiment, the retractable roof will open and close depended on condition met by the system. In addition, the system can communicate with the user’s phone through using Internet connection. The Blynk application in the smartphone allows the user to monitor and control the system through internet connection between the application and microcontroller. This study will be helpful for non-commercial use and can be expanded to commercial use as with further improvement.
Article
Full-text available
Aromatherapy candles with essential oils which can provides a therapeutic treatments have been made to maintain and improve our wellbeing. In this paper, a mini prototype of automated aromatherapy candle process plant using IoT and WSN has been proposed and developed. The main process of producing aromatherapy candle are heating and mixing. To produce the right quality of the aromatherapy candle, the quantity of the raw material is important. Heating process will be control by using ESP8266 based PID controller and monitored by using Open Source Programmable Logic Controller called OpenPLC that run on Raspberry Pi. The software is efficient because can support users over the entire plant and process. Mixing process will mix the raw material evenly using agitator motor with specific temperature. The whole process in this work can be monitored and control through PC via this implementation of software. To obtain the best quality of this work, the set point of temperature need to be control and the plant able to be achieved after second test of the study. As the result, this study able to produces aromatherapy candle with better quality in minimal time. This study also able to control the candle from releasing too many Volatile Organic Compound that can effect human life. Armed with the wealth of relevant information presented in this article, it is hoped that readers will have greatly benefited and gained a thorough understanding on how to develop an automated aroma therapy candle process planting using IoT and WSN. With further research put forth into this study, it is also hope it could be an advantage in innovation development and can be implemented in real life manufacturing industry.
Article
Realizing the potential of edge computing and networks connecting the edge and the cloud, researchers from academia and industries have increasingly developed techniques and tools for edge infrastructures and applications. This paper focuses on supporting complex edge application interactions, which span different layers and subsystems in edge-cloud environments. This paper addresses (i) diverse types of software components for emulating realistic functionality and configurations, like data transformation and service API interoperability, and (ii) techniques for connecting emulated scenarios to real edge software development and operations, and to IoT and cloud counterparts. We present IoTCloudSamples as a software framework with (i) modeling and implementation of diverse types of IoT, edge and cloud elements for complex edge scenarios, (ii) methods for constructing and steering emulations to study the interoperability across layers among different edge platforms and protocols, and (iii) extensive emulated scenarios and experiments integrated with real-world IoT and cloud services. IoTCloudSamples supports the approach of edge-simulation-as-code to allow the reuse and runtime steering of realistic emulation operations. We will present examples from our real-world projects concentrating on edge analytics applications.
Preprint
Full-text available
In order to explore the practical potential and needs of interdisciplinary knowledge and competence requirements of Blockchain technology, the project activity "Development of Interdisciplinary Blockchain Skills Concept" starts with the literature review identifying the state of the art of Blockchain in Supply Chain Management and Logistics, Business and Finance, as well as Computer Science and IT-Security. The project activity further explores the academic and industry landscape of existing initiatives in education which offer Blockchain courses. Moreover, job descriptions and adverts are analyzed in order to specify today's competence requirements from enterprises. To discuss and define the future required competence, expert workshops are organized to validate the findings by academic experts. Based on the research outcome and validation, an interdisciplinary approach for Blockchain competence is developed. A second part focuses on the development of the Blockchain Best Practices activity while conducting qualitative empirical research based on case studies with industry representatives. Therefore, company interviews, based on the theoretical basis of Output 1, explore existing Blockchain use cases in different sectors. Due to the interdisciplinary importance of Blockchain technology, these skills will be defined by different perspectives of Blockchain from across multiple mentioned disciplines. The use cases and companies for the interviews will be selected based on various sampling criteria to gain results valid for a broad scale. The analysis of the various use cases will be conducted and defined in a standardized format to identify the key drivers and competence requirements for Blockchain technology applications and their adoption. On the one hand, this approach ensures comparability, on the other hand, it facilitates the development of a structured and systematic framework.
Article
Full-text available
Part 1: In order to explore the practical potential and needs of interdisciplinary knowledge and competence requirements of Blockchain technology, the project activity "Development of Interdisciplinary Blockchain Skills Concept" starts with the literature review identifying the state of the art of Blockchain in Supply Chain Management and Logistics, Business and Finance, as well as Computer Science and IT-Security. and the project activity further explores the academic and industry landscape of existing initiatives in education which offer Blockchain courses (learning programs, modules, courses, vocational trainings etc.). Moreover, job descriptions and adverts are analyzed in order to specify today's competence requirements from enterprises. To discuss and define the future required competence, expert workshops are organized to validate the findings by academic experts. Based on the research outcome and validation, an interdisciplinary approach for Blockchain competence is developed. Part2: This part focuses on the development of the Blockchain Best Practices activity while conducting qualitative empirical research based on case studies with industry representatives. Therefore, company interviews, based on the literature review and theoretical basis of Output 1, explore existing Blockchain use cases in different sectors. Required skills and knowledge will emerge. Due to the interdisciplinary importance of Blockchain technology, these skills will be defined by different perspectives of Blockchain from across multiple disciplines such as Supply Chain Management and Logistics, Business, Economics and Finance, and Computer Science. The use cases and companies for the interviews will be selected based on various sampling criteria (e.g., industry, IT maturity and Blockchain experience, future adoption and the transformative capabilities) to gain results valid for a broad scale. The analysis of the various use cases will be conducted and defined in a standardized format to identify the key drivers and competence requirements for Blockchain technology applications and their adoption. On the one hand, this approach ensures comparability, on the other hand, it facilitates the development of a structured and systematic framework.
Conference Paper
Full-text available
The Internet of Things (IoT) is on rise. More and more physical devices and their virtual shadows emerge and become accessible through IoT platforms. Marketplaces are being built to enable and monetize the access to IoT offerings, i.e., data and functions offered by platforms, things, and services. In order to maximize the usefulness of such IoT offerings we need mechanisms that allow their efficient and flexible composition. This paper describes a novel approach for such compositions. The approach is based on the notion of Recipes that define work-flows on how their ingredients, i.e., instances of IoT offerings, shall interact with each other. Furthermore the paper presents a novel user interface that enables users to create and instantiate recipes by selecting their ingredients. An example from the smart mobility domain guides through the paper, illustrates our approach, and demonstrates as a proof-of-concept.
Conference Paper
Full-text available
Fog computing, also known as Edge computing, is an emerging computational paradigm, increasingly utilized in Internet of Things (IoT) applications, particularly those that cannot be served efficiently using Cloud computing due to limitations such as bandwidth, latency, Internet connectivity. At present, the norm is the static allocation of tasks by developers of an application, where some IoT applications are allocated to be performed on the Cloud, some on the Fog, and some on a hybrid Cloud-Fog. The applications are pre-programmed and predefined to be run on a platform, and this is unchangeable at run-time. IoT gateways, which are devices that bridge the IoT local network and the Internet, are in a position to make dynamic adjustments and allocation decision between platforms based upon real-time conditions such as an IoT applications' performance. However, currently there is no (or very little) intelligence embedded into IoT gateways. This paper proposes cognitive IoT gateways powered by cognitive analytics and machine learning to improve the performance of IoT applications. These IoT devices are able to automatically learn and decide when and where to run an application, be that on the Cloud or on the Fog. The dynamic task sharing and platform interchanging will enable the IoT applications to be optimized for multiple objectives including task performance.
Conference Paper
Modern Cyber-Physical Systems (CPS) and Internet of Things (IoT) systems consist of both loosely and tightly interactions among various resources in IoT networks, edge servers and cloud data centers. These elements are being built atop virtualization layers and deployed in both edge and cloud infrastructures. They also deal with a lot of data through the interconnection of different types of networks and services. Therefore, several new types of uncertainties are emerging, such as data, actuation, and elasticity uncertainties. This triggers several challenges for testing uncertainty in such systems. However, there is a lack of novel ways to model and prepare the right infrastructural elements covering requirements for testing emerging uncertainties. In this paper, first we present techniques for modeling CPS/IoT Systems and their uncertainties to be tested. Second, we introduce techniques for determining and generating deployment configuration for testing in different IoT and cloud infrastructures. We illustrate our work with a real-world use case for monitoring and analysis of Base Transceiver Stations.
Conference Paper
The Internet of Things (IoT) is offering unprecedented observational data that are used for managing Smart City utilities. Edge and Fog gateway devices are an integral part of IoT deployments to acquire real-time data and enact controls. Recently, Edge-computing is emerging as first-class paradigm to complement Cloud-centric analytics. But a key limitation is the lack of a platform-as-a-service for applications spanning Edge and Cloud. Here, we propose ECHO\mathbb {ECHO}, an orchestration platform for dataflows across distributed resources. ECHO\mathbb {ECHO} ’s hybrid dataflow composition can operate on diverse data models – streams, micro-batches and files, and interface with native runtime engines like TensorFlow and Storm to execute them. It manages the application’s lifecycle, including container-based deployment and a registry for state management. ECHO\mathbb {ECHO} can schedule the dataflow on different Edge, Fog and Cloud resources, and also perform dynamic task migration between resources. We validate the ECHO\mathbb {ECHO} platform for executing video analytics and sensor streams for Smart Traffic and Smart Utility applications on Raspberry Pi, NVidia TX1, ARM64 and Azure Cloud VM resources, and present our results.
Conference Paper
This paper presents Canopy, Facebook's end-to-end performance tracing infrastructure. Canopy records causally related performance data across the end-to-end execution path of requests, including from browsers, mobile applications, and backend services. Canopy processes traces in near real-time, derives user-specified features, and outputs to performance datasets that aggregate across billions of requests. Using Canopy, Facebook engineers can query and analyze performance data in real-time. Canopy addresses three challenges we have encountered in scaling performance analysis: supporting the range of execution and performance models used by different components of the Facebook stack; supporting interactive ad-hoc analysis of performance data; and enabling deep customization by users, from sampling traces to extracting and visualizing features. Canopy currently records and processes over 1 billion traces per day. We discuss how Canopy has evolved to apply to a wide range of scenarios, and present case studies of its use in solving various performance challenges.
Conference Paper
Internet of Things comprises a large proportion of cyber-physical systems where a group of interconnected sensors and actuators, usually with cloud backends, are used to perform a task. Vendors of Internet of Things devices provide programming frameworks to help users—usually with little knowledge of embedded or distributed systems—to develop their applications. Most of these frameworks provide an event-based abstraction of the underlying cyber-physical systems. In this paper, we propose a preliminary set of faults for fault injection in event-based Internet of Things as a part of our ongoing investigation into the testing of Internet of Things applications. These faults intend to enhance the awareness of the programmers about the situations that might arise in the wild.