Conference PaperPDF Available

Design and Implementation of Middleware for IoT Devices toward Real-Time Flow Processing

Authors:

Figures

Content may be subject to copyright.
Design and Implementation of Middleware for IoT
Devices toward Real-Time Flow Processing
Yugo Nakamura1, Hirohiko Suwa1, Yutaka Arakawa1, Hirozumi Yamaguchi2, Keiichi Yasumoto1
1Nara Institute of Science and Technology, Ikoma, Nara 630-0192, Japan
2Osaka University, Suita, Osaka 565-0871, Japan
Email: {nakamura.yugo.ns0, yasumoto}@is.naist.jp
Abstract—Thanks to rapid advance and penetration of IoT
devices, it is becoming possible to sense almost every information
of real-world. This urges us to utilize data streams continuously
generated from IoT devices in real-time. In this paper, aiming to
locally process data streams by using computational resources of
IoT devices, we propose middleware for IoT devices where the
devices process data streams in real-time and in a distributed
manner. The proposed middleware provides four functions: (1)
distribution of tasks issued by application software into sub-
tasks and distributed execution of the sub-tasks over multiple
IoT devices, (2) distribution of data streams over IoT devices, (3)
real-time analysis of the data streams, and (4) seamless integration
of sensors and actuators. We have implemented a prototype of
the proposed middleware for Raspberry Pi and show its basic
performance.
I. INTRODUCTION
Recently, Internet of Things (IoT) that connects small
devices like sensors and actuators through network has been at-
tracting much attention due to its large potential for drastically
changing our society. IoT allows us to easily obtain sensor data
and even videos representing real-world situations. Thereby, a
way of creating situation-adaptive IoT services is required to
strategically utilize IoT data streams and improve quality of
life of people as well as values of communities.
In IoT and big data research fields, researchers were
focusing on development of technologies that efficiently collect
and aggregate various and massive sensor data. Therefore,
most of existing IoT-based systems employ cloud-centered
architecture as shown in the left-up side of Fig. 1. In this
architecture, data streams by IoT devices are collected and
stored in large-scale storage in cloud and analyzed spending
huge time and computation power before the analysis result
is fed back to the real-world. This kind of cloud-centered
architecture is not suitable to realize IoT services requiring
frequent communication among devices and real-time feedback
because such an architecture is not efficient and takes a lot
of cost to upload massive data streams from IoT devices
to the cloud. Moreover, community-based IoT services may
have to deal with privacy-sensitive data of community and
local residents, which should be kept within their private IT
infrastructure.
Assuming that computation power and memory capacity of
IoT devices increase year by year, we think IoT data streams
should be processed near their sources as shown in the right-
up side of Fig. 1. In [1], we proposed a platform called
IFoT (Information Flow of Things) that efficiently performs
New framework for IoT data streams
App_1 App_2 App_3 App_4
App_A App_B App_C
Conventional framework for IoT data streams
(Cloud-based centralized architecture)
Large
delays
Off-line utilization of stored big data
Real-time utilization of IoT data streams
Fig. 1. Paradigm shift of IoT-based systems
distributed processing as well as distribution and analysis of
data streams near their sources.
In this paper, aiming to locally process data streams by us-
ing computational resources of IoT devices based on “Process
On Our Own (PO3)” concept, we design and implement the
IFoT middleware for IoT devices where those devices process
data streams in real-time and in a distributed manner. The IFoT
middleware provides four functions: (1) distribution of tasks
issued by application software into sub-tasks and distributed
execution of the sub-tasks over multiple IoT devices, (2)
distribution of data streams over IoT devices, (3) real-time
analysis of the data streams, and (4) seamless integration of
sensors and actuators.
The remainder of the paper is organized as follows. Sec-
tion 2 overviews the related research and Section 3 clarifies
requirements and shows applications of IFoT middleware. The
detailed design of the middleware are described in Section
4 and its prototype implementation and basic performance
evaluation are provided in Section 5. Finally, we conclude the
paper in Section 6.
2016 IEEE 36th International Conference on Distributed Computing Systems Workshops
/16 $31.00 © 2016 IEEE
DOI 10.1109/ICDCSW.2016.37
162
II. RELATED WORK
Various IoT platforms have been designed and imple-
mented to interconnect IoT devices and process / merge data
streams [2]. Arkessa [3], Axeda [4], ThingSquare [5], Thing-
worx [6], WoTkit [7] and Xively [8] are PaaS (Platform as
a Service)-based architecture relying on cloud services, while
OpenIoT [9] and LinkSmart [10] are designed as distributed
systems. However, those platforms focus on data stream ag-
gregation above the cloud or support for service development
and have not yet achieved the context-based decentralized
data stream processing, which is the primary focus of IFoT.
Although IoT gateways have been designed and developed in
recent years [11], [12], [13], they also rely on cloud servers.
Edge Computing [14] [15] and Fog Computing [16] are
new paradigms where data processing is executed on those
components in or on the edge of networks to mitigate server
load. The demerit of these approaches is the need for invest-
ment to replace such network constituents like Information-
Centric networks (ICNs). We consider a more practical so-
lution by extending Edge Computing and Fog Computing.
We delegate the processing tasks of cloud servers to other
distributed systems to enable distributed real-time stream pro-
cessing.
Recently, stream processing technologies have been investi-
gated where multiple continuous data streams from sensors are
adaptively merged and aggregated to respond to given requests
of analysis and event detection over those streams. The existing
technologies are categorized by their processing styles where
(i) a single point of aggregation is assumed [18], [19] and (ii)
a fully distributed style is employed [20]. In this paper, we
take the distributed processing approach, which aim to realize
real-time stream processing.
In event detection and data analysis perspective, different
frameworks have been developed. In particular, on-line ma-
chine learning is a key enabler to realize real-time event detec-
tion and data analysis. Many of the IoT platforms support on-
line learning schemes. For example, AWS and StreamInsight
provide Amazon Machine Learning [21] and Azure Machine
Learning [22] to enable data processing and analysis over data
streams. SAMOA [23], MLlib [24], Jubatus [25] and Oryx [26]
also provide on-line machine learning functions. In this paper,
we use Jubatus that has a powerful distributed on-line machine
learning capability. We would like to highlight that our focus is
to realize distributed stream fusion using service-level context
on such a platform like Jubatus.
With the increased capabilities of wireless sensor nodes,
WSNs are becoming powerful enough such that sensors are
able to communicate with each other to accomplish more com-
plicated tasks. However, most of such in-network processing
approaches on WSNs like [17] have considered lightweight
data processing, while our focus is on data streaming and
real-time processing, where different design issues like task
allocations and stream aggregation should be considered.
III. REQUIREMENTS FOR THE MIDDLEWARE
A. Target application and functional requirements
The feature of IFoT middleware is that it is deployed near
the data source and works without any cloud system. All the
sensor streams are processed among proximity devices running
IFoT middleware without being stored in the database. This
architecture is suitable for real-time applications. Below, we
explain the functional requirements showing some examples
of applications.
1) Elderly monitoring application: This application keeps
monitoring elderly persons by analyzing sensor data streams
from various sensors deployed in their living environments. It
realizes an on-site tracking service that can detect emergency
situations like a bone fracture by fall.
In order to realize this application, the system has to
analyze sensor data streams generated from various sensors in
real-time for detecting the anomaly. In other words, the func-
tions to distribute and analyze multiple data streams between
multiple sensor devices are required.
2) Context-aware home appliance control application:
This application monitors the environment by utilizing various
environmental sensors such as illuminance sensors, sound
sensors and motion sensors. Based on the sensing results,
it provides a comfortable environment by controlling various
home appliances such as an air conditioner and ceiling light.
In order to realize this application, the system has to
estimate the environment of the place by combining the sensing
values of various sensors. In addition, it must quickly control
the home appliances based on the estimation results. It means
that the inter-node stream distribution and high-level data
analysis functions as well as the seamless cooperation among
various sensing devices and actuators are required.
3) Context-aware mobility support application: This ap-
plication estimates the crowdedness and the scenic beauty of
the PoI (Point of Interest) by sensing the person flow and
movement and so on for realizing the context-aware navigation
service that efficiently navigates users to a good PoI taking
into account its current conditions (e.g., crowdedness, scenic
beauty, etc.) of roads and spots. In this application, car-
mounted camera, smartphones, and environmental sensors in
the city are utilized for the estimation.
In order to provide such an integrated service, multiple
services should be utilized. For example, by making our Sakura
sensor [27] and crowd sensing technology [28] integrated, we
can estimate the correlation of the popularity and scenic levels,
which creates new services for the visitors. To do so, the
middleware should control high-level data streams as well as
low-level IoT devices.
B. Problem statement and basic approach
Some related applications which utilize the local processing
resources instead of a cloud resource have been proposed.
However, most of them are not good at sharing the sensor
devices or reusing the sensor data between different systems,
because the architecture of these applications is a vertically
integrated system. It increases the cost of the system, because
the system developer has to start from the selection of sensors
and actuators. On the other hand, in the research field of
wireless sensor network, some platforms [29] and middleware
[30] that can run multiple applications on the local sensor
devices have been proposed. However, these systems only
support the dedicated devices of each system. In addition,
163
executable processes are limited to the simple sensing and data
transmission, and complicated tasks such as anomaly detection
and clustering are not supported.
Our IFoT middleware aims to realize a horizontally-
distributed platform that allows various applications to share
IoT data streams generated from various sensors deployed in
our environment. Therefore, it provides the function to run
multiple tasks in parallel by dividing the original task, and also
provides the function to distribute the data streams directly
according to the requirement of devices. In addition, online
data analysis function and inter-node cooperation function for
connecting different sensors and actuators are also provided.
IV. IFOTMIDDLEWARE
In this section, we design middleware for Information Flow
of Things (IFoT) [1], a framework for processing, analyzing,
and aggregating (curating) IoT data streams in real-time and in
a scalable manner based on distributed processing among IoT
devices. IFoT middleware is an abstraction software running
on the intelligent sensing device (a flow source) which captures
and processes data in the real world and sends them out as a
flow(s). IFoT middleware has communication capabilities with
nearby IFoT nodes and the Internet (optional), and basic stream
processing such as data cleansing, data aggregation, etc.
A. Assumed Environment
Figure 2 shows the operating environment of IFoT mid-
dleware. We define (a) sensor node as a device to collect
information of the real environment, (b) actuator node as a
device to affect people, objects, space in the real environment,
and (c) IFoT Neuron Module as a small computer running IFoT
middleware for processing data streams. IFoT neuron mod-
ule has short-range wireless communication (Bluetooth Low
Energy, Enocean [31], Zigbee, etc.) interfaces for connecting
to the sensors / actuators and optional long range wireless
communication (WiFi, LTE, etc.) interfaces for connecting
to the Internet. Flows (or data streams) can be transmitted
between neuron modules.
B. Basic Concept
Figure 3 shows the layered architecture of IFoT systems,
where a system is divided into three layers: Application layer,
IFoT neuron layer, and Sensor / Actuator layer. IFoT middle-
ware runs over IFoT neuron modules and performs processing
/ analyzing / distributing the generated IoT data streams and
operates in response to a request from the application layer.
The functions of the IFoT middleware are described below.
1) Distributed processing of tasks: In accordance with the
requests of each application, IFoT middleware assigns tasks to
each node. Each node executes the assigned tasks depending
on the processing capability.
2) On-demand flow distribution: In an environment where
a variety of IoT data streams are generated, it is not efficient to
send all of the raw data to the cloud system. Therefore, IFoT
middleware provides the capability of direct flow distribution
between devices in parallel.
Sensor node
Sensor + Short-range communication I/F
Actuator node
Actuator + Short-range communication I/F )
IFoT neurons modules
(Small computer + IFoT Middleware
+ Long/Short-range communication I/F)
Real Environment
Fig. 2. Assumed Environment of IFoT system
Real Environment
Sensor/Actuator Layer
IFoT Neuron Layer
Application Layer
Distribute
Analysis
Assignment of tasks
Application A Application B Application C
IFoT Middleware
Fig. 3. Layered architecture of IFoT system
3) Online information processing: In IFoT systems, real-
time utilization of IoT data streams is required. Therefore,
IFoT middleware provides the ability to quickly processing /
analyzing / aggregating IoT data streams without accumulating
/ storing.
4) Various data streams integration: In assumed environ-
ment, there are variety of sensors / actuators that have different
interfaces and communication standards. Therefore, IFoT mid-
dleware provides the capability of handling the various data
streams in a unified manner.
C. Architecture
Figure 4 shows the logical architecture of IFoT middleware.
Figure 5 shows Recipe, that is a configuration file describing
a processing procedure of IoT data streams. In particular, it
is described as a task graph showing the processing procedure
(how to process and analyze the data streams, how to integrate
multiple data streams into a flow). Functions of the IFoT
middleware are explained below.
1) Task allocation function: Task allocation function is
composed of a recipe split class and task assignment class.
Recipe split class reads the recipe of among application and
divides it into tasks that can be executed in parallel. Task
assignment class distributes the divided tasks to among IFoT
modules.
2) Flow analysis function: Flow analysis function is com-
prised of learning class, judging class, managing class. Learn-
ing class analyzes a time series of sensor data in a sequential
164
Application A Application B Application C
IFoT Middleware
Recipe A Recipe B Recipe C
Task allocation mechanism
Flow analysis mechanism
3∼4ページ
Sensor/actuator integration mechanism
Sensor Class Actuator Class
Sensor node Actuator node
Task assignment ClassRecipe split Class
Flow distribution mechanism
Publish Class Broker Class Subscribe Class
Learning Class Judging Class Managing Class
Fig. 4. Logical architecture of IFoT middleware
Start watching
Sensing A Sensing B Sensing C
Anomaly detection
Sensing D
Anomaly detection
Camera monitoring
State estimation
Alert messaging
Fig. 5. Image of Recipe
order, and builds / updates models. Judging class analyzes data
streams using the built model. Managing class manages the
cooperative operation for distributed processing.
3) Flow distribution function: Flow distribution function
is comprised of publish class, broker class, subscribe class. In
IFoT middleware, the publish / subscribe system is adopted for
flow distribution between IFoT nodes, aiming to realize loosely
coupled flows and scalable messaging. Publication class is
placed in the sending side, subscription class is placed in the
receiving side in communication between IFoT nodes. Broker
class manages the distribution of data in accordance with the
topic the subscription class specifies.
4) Sensor / actuator integration function: Sensor / actuator
integration function is comprised of a sensor class and actuator
class. Each class abstracts the hardware and the communication
interface of the sensor / actuator, and provides a common
interface to flow distribution function. For example, a variety
Step1 : Submit Recipe
Step2 : Divide Recipes, Task Assignment
Step3 : Application execution
Application A
Assign
Application A
Recipe A
Divided
Fig. 6. Application building process
Management Node
IFoT Neuron Module
Wireless LAN
Management software
IFoT Middleware
Module A
IFoT Middleware
Module B
IFoT Middleware
Module C
IFoT Middleware
Module D
IFoT Middleware
Module E
IFoT Middleware
Module F
Fig. 7. Evaluation system structure
of sensor data streams are converted to packets of Message
Queue Telemetry Transport (MQTT) protocol [32].
D. Application build process
An overview of the application building process using the
IFoT middleware is shown in Figure 6. In Step 1, Application
builder makes the recipe, and sends the recipe to an IFoT
module. In Step 2, the IFoT module reads the recipe, divides
it into tasks that can be performed in parallel. In Step 3,
IFoT modules instantiate the class according to the contents
of the recipe, and execute the operation of the application in
cooperation with each other.
V. I MPLEMENTATION AND EVALUATION
A. Implementation
We implemented a prototype of IFoT middleware with
limited functions: flow distribution function and flow analysis
function. The flow distribution function is developed based
on Mosquitto [33] that has a lightweight communications
scheme by MQTT protocol. The flow analysis function is
165
TABLE I. EQUIPMENT SPECIFICATION
Device Raspberry Pi 2
Neuron OS Raspbian
Module CPU ARM Cortex-A7 900MHz
Memory 1GB
Device Think pad x250
Management OS Ubuntu 14.04
Node CPU Core i5-5200U 2.2GHz
Memory 8GB
Fig. 8. Management software screen
developed based on Jubatus that has a powerful distributed
on-line machine learning capability.
B. Overview of Experiments
The purpose of this experiment is to evaluate the perfor-
mance of the IFoT middleware and confirm the feasibility of
the IFoT based System. For this experiment, prototype of the
IFoT middleware is installed in six Raspberry Pis. Throughout
the experiment, we measured the processing time in the data
distribution and analysis by the IFoT middleware. Then, we
confirmed the trend in the processing delay (From the Sensing
to Training, Sensing to Predicting) by changing generation rate
of the sensor data (5, 10, 20, 40, and 80Hz.).
The system used in the experiment is shown in Figure
7. The equipment specifications are also shown in Table
I. The system is composed of six IFoT neuron prototypes
(Raspberry Pi) and one of the experimental management node.
All modules are connected to a common wireless LAN. In the
experiment, the class running on each module is selected from
the management software (Figure 8) on the management node.
TABLE II. EXPERIMENTAL RESULT(SENSING-TRAINING)
Sampling
rate(Hz)
Time(ms)
Ave. Max
5 58.969 357.619
10 60.904 360.761
20 232.944 419.513
40 1123.317 1482.500
80 1636.907 1913.752
Sensor Class Sensor ClassSensor Class
Publish ClassPublish Class Publish Class
Pub(A,data) Pub(B,data) Pub(C,data)
Sub(A,B,C)Sub(A,B,C)
Model
Pub(A,B,C,[data])
Train Class
[data]
Judgment result
data data data
Actuator Node
IFoT Neuron Module
[data]
Pub(A,B,C,[data])
Broker Class
Sensor Node
Module A Module B Module C
Module D
Module FModule E
Sample sensor data are transmitted at each fixed rate (5,10,20,40,80Hz).
Measuring the time until the end of
Training process and Predicting process by Jubatus.
Actuator Class
Predict Class
Subscribe Class
Subscribe Class
Training process
Sensor Class -> Publish Class -> Broker Class -> Subscribe Class -> Train Class
Predicting process
Sensor Class -> Publish Class -> Broker Class -> Subscribe Class -> Predict Class
Fig. 9. Cooperation between classes in the experiment
Linked operation between the modules is setup by management
software. The management software is developed based on
OpenRTM-aist [34]. As shown in Figure 9, we measured
processing time until completing each process ((1) learning
process, (2) predicting process) from sensing time. Sensor data
(32byte) are generated on the three neuron modules.
C. Experimental Results
Tables II and III show the results of the delay time in
learning and predicting processes for different sensing rate. In
the case of low sensing rate such as 10 and 20Hz, IFoT mid-
dleware could realize low-latency (i.e., real-time) processing.
When sensing rate is 20 to 40Hz, the delay time increased
and real-time processing was no longer possible. Then, in the
case of sensing rate over 80Hz, the delay time increased much
more. These results indicate that the current IFoT middleware
prototype can achieve real-time processing in a small-scale.
TABLE III. EXPERIMENTAL RESULT(SENSING-PREDICTING)
Sampling
rate(Hz)
Time(ms)
Ave. Max
5 58.969 346.142
10 59.020 334.501
20 74.747 373.992
40 744.535 819.748
80 1144.580 1249.122
166
However, in order to realize the real-time processing in a
larger-scale environment, it is necessary to add furether /
parallelization decentralization of processing tasks according
to available resources.
VI. CONCLUSION
In this paper, we proposed a middleware for IFoT (Infor-
mation Flow of Things) platform where IoT devices cooperate
to process flows or data streams in real-time, based on the
“Process On Our Own (PO3)” concept. IFoT middleware aims
to realize that (a) multiple applications run on IoT devices
while sharing their resources and (b) contents composed by
processing / analyzing / merging data streams in each ap-
plication can be distributed for secondary / tertiary use in
real-time. For these purposes, the middleware provides four
functions, (1) task division and allocation to IoT devices, (2)
on-demand distribution of data streams among IoT devices, (3)
real-time analysis of data streams, and (4) seamless integration
of sensors and actuators. We designed IFoT middleware and
implemented its prototype. We also conducted a simple exper-
iment for basic performance evaluation using six Raspberry
Pis. As a result, we confirmed that the proposed middleware
can realize real-time processing and analysis of data streams.
As the next step, we will improve real-time processing
performance and scalability of the IFoT middleware. Definition
of the language to describe recipes as well as the search
function for data streams generated from IoT devices that can
dynamically join / leave the network are also part of future
work.
Acknowledgement
This work was supported in part by JSPS KAKENHI Grant
Numbers 16H01721 and 26220001.
REFERENCES
[1] K. Yasumoto, H. Yamaguchi, H. Shigeno: Survey of Real-time Pro-
cessing Technologies of IoT Data Streams, Journal of Information
Processing, Vol. 24, No. 2, pp.195-202, 2016.
[2] J. Mineraud, O. Mazhelis, X. Su, S. Tarkoma: Contemporary Internet
of Things platforms, arXiv Preprint arXiv:150107438, 2015.
[3] Arkessa, http://www.arkessa.com/. Last accessed: April 2016.
[4] Axeda, http://www.axeda.com/. Last accessed: April 2016.
[5] ThingSquare, http://www.thingsquare.com/. Last accessed: April 2016.
[6] Thingworx, http://www.thingworx.com/. Last accessed: April 2016.
[7] M. Blackstock, R. Lea: IoT mashups with the WoTKit, in Proceedings
of IEEE Internet of Things (IOT), pp. 159–166, 2012.
[8] Xively, http://xively.com. Last accessed: April 2016.
[9] J. Kim and J.-W. Lee: OpenIoT: An open service framework for
the Internet of Things, in IEEE World Forum on Internet of Things
(WFIoT), pp. 89–93, 2014.
[10] P. Kostelnik, M. Sarnovsk, and K. Furdk: The semantic middleware
for networked embedded systems applied in the internet of things and
services domain, Scalable Computing: Practice and Experience, vol. 12,
pp. 307-315, 2011.
[11] Q. Zhu, R. Wang, Q. Chen, Y. Liu, and W. Qin: IoT gateway: bridging
wireless sensor networks into internet of things, in Proceedings of
IEEE/IFIP 8th International Conference on Embedded and Ubiquitous
Computing (EUC), pp.347–352, 2010.
[12] T. Zachariah, N. Klugman, B. Campbell, J. Adkins, N. Jackson, and
P. Dutta : The internet of things has a gateway problem, ACM
HotMobile’15 , pp. 27–32, 2015.
[13] S. Choochotkaew, H. Yamaguchi, T. Higashino, M. Shibuya: Data
Prioritization at Multi-user IoT Gateway with Multiple Sensor Data
Attributes, DPSWS bulletin, Vol. 5, pp.53–61, 2015.
[14] A. Davis, J. Parikh, W. E. Weihl: Edgecomputing: extending enterprise
applications to the edge of the internet, Proc. the 13th international
World Wide Web conference on Alternate track papers and posters,
2004.
[15] Pedro Garcia Lopez, Alberto Montresor, Dick Epema, Anwitaman
Datta, Teruo Higashino, Adriana Iamnitchi, Marinho Barcellos, Pascal
Felber, and Etienne Riviere : Edge-centric computing: Vision and chal-
lenges, ACM SIGCOMM Computer Communication Review, Vol.45,
No.5, pp.37-42 , 2015.
[16] F. Bonomi, R. Milito, J. Zhu, S. Addepalli: Fog Computing and Its
Role in the Internet of Things, Proc. of the First Edition of the MCC
Workshop on Mobile Cloud Computing (MCC ’12), pp. 13–16, 2012.
[17] D. Alessandrelli, M. Petraccay, and P. Pagano: T-Res: Enabling Recon-
figurable In-network Processing in IoT-based WSNs. Proc. of the 2013
IEEE International Conference on Distributed Computing in Sensor
Systems, pp. 337–344, 2013.
[18] S. Dutta, A. Narang, and S. K. Bera: Streaming Quotient Filter: A Near
Optimal Approximate Duplicate Detection Approach for Data Streams,
Proc. of the VLDB Endowment, Vol. 6, No. 8, pp. 589–600, 2013.
[19] Q. Zhang, J. Liu, and W. Wang: Approximate Clustering on Distributed
Data Streams, Proc. of the International Conference on Data Engineer-
ing (ICDE2008), pp. 1131–1139, 2008.
[20] C. Lei, E. A. Rundensteiner, and J. D. Guttman: Robust Distributed
Stream Processing, Proc. of the International Conference on Data
Engineering (ICDE2013), pp. 817–828, 2013.
[21] Amazon Machine Learninghttps://aws.amazon.com/machine-
learning/. Last accessed: April 2016.
[22] Azure Machine Learninghttps://azure.microsoft.com/en-
us/services/machine-learning/. Last accessed: April 2016.
[23] Apache SAMOAhttps://samoa.incubator.apache.org/. Last accessed:
April 2016.
[24] Spark MLibhttp://spark.apache.org/mllib/. Last accessed: April 2016.
[25] Jubatushttp://jubat.us/en/. Last accessed: April 2016.
[26] Cloudera Oryx, https://github.com/cloudera/oryx. Last accessed: April
2016.
[27] S. Morishita, S. Maenaka, D. Nagata, M. Tamai, K. Yasumoto, T.
Fukukura, and K. Sato: SakuraSensor: a system for realtime cherry-
lined roads detection by in-vehicle smartphones, Proc. of the 2015 ACM
International Joint Conference on Pervasive and Ubiquitous Computing
(UbiComp 2015), pp. 695–705, 2015.
[28] T. Nishimura, T. Higuchi, H. Yamaguchi, T. Higashino: Detecting
smoothness of pedestrian flows by participatory sensing with mobile
phones, Proc. of the 2014 ACM International Symposium on Wearable
Computers (ISWC 2014), pp.15-18, 2014.
[29] J. Hill and D. Culler: MICA: A wireless platform for deeply embedded
networks, IEEE Micro, vol. 22, pp. 12–24, 2002.
[30] J. Hill, R. Szewczyk, A. Woo, S. Hollar, D. Culler, and K.Pister:
System architecture directions for networked sensors, Proc. of the 9th
International Conference on Architectural Support for Programming
Languages and Operating Systems, pp. 93–104, 2000.
[31] Enocean, https://www.enocean.com/en/. Last accessed: April 2016.
[32] MQTThttp://mqtt.org/. Last accessed: April 2016.
[33] Mosquitto, http://mosquitto.org/. Last accessed: April 2016.
[34] N. Ando, T. Suehiro, K. Kitagaki, and T. Kotoku: A Software Platform
for Component Based RT-System Development: OpenRTM-Aist, Proc.
of SIMPAR 2008, pp. 87–98, 2008.
167
... As a result, services perform better quality because there is no need for a central core that could add delays, faults, and saturation to the system. A very promising project in this regard is the Information Flow of Things (IFoT) framework [42] which defines three layers to capture and process data, distribute information flows and render human and automated instruction recipes. This way, end-users in isolated areas can have comprehensive services running without Cloud connectivity [43]. ...
Article
Full-text available
The advent and consolidation of the Massive Internet of Things (MIoT) comes with a need for new architectures to process the massive amount of generated information. A new approach, Mist Computing, entails a series of changes compared to previous computing paradigms, such as Cloud and Fog Computing, with regard to extremely low latency, local smart processing, high mobility, and massive deployment of heterogeneous devices. Hence, context awareness use cases will be enabled, which will vigorously promote the implementation of advantageous Internet of Things applications. Mist Computing is expected to reach existing fields, such as Industry 4.0, future 6G networks and Big Data problems, and it may be the answer for advanced applications where interaction with the environment is essential and lots of data are managed. Despite the low degree of maturity, it shows plenty of potential for IoT together with Cloud, Fog, and Edge Computing, but it is required to reach a general agreement about its foundations, scope, and fields of action according to the existing early works. In this paper, (i) an extensive review of proposals focused on Mist Computing is done to determine the application fields and network elements that must be developed for certain objectives, besides, (ii) a comparative assessment between Cloud, Fog, Edge, and Mist is completed and (iii) several research challenges are listed for future work. In addition, Mist Computing is the last piece to benefit from the resources of complete network infrastructures in the Fluid Computing paradigm.
... Research of [6] provides an Information Flow of Things (IFoT) middleware architecture, a system for the collection, interpretation, and mixture of real-time and scalable data based on the sharing of data processing between IoT devices. There are several parameters in the basic definition of IFoT. ...
Article
Full-text available
Previously, an educational robot system was built by incorporating Internet of Things (IoT) elements. Over time, this educational robot has been implanted with a middleware. Middleware has a role in receiving command data from the real-time database, access sensors, actuators, and sending feedback. Middleware contains protocols that translate commands between high-level programming and Raspberry Pi hardware. The focus of this research is to improve the performance of the middleware to pursue processing time efficiency. For this reason, it is necessary to implement multiprocessing and multithreading in handling several tasks. The CPU division has been adjusted automatically to not work on just one core or block of memory. Several program functions can run in parallel and reduce program execution time efficiently. The tasks handled are sensor reading and actuator control in the form of a motor. Testing has been carried out to perform multiprocessing and multithreading tasks to process six sensors and five actuators. Multiprocessing requires an average of 1.00% to 15.00% CPU usage and 2.70% memory usage. Meanwhile, multithreading involves an average of 1.00% to 71.00% CPU usage and 3.30% memory usage.
... Then a new framework called information flow of things (IFoT) is suggested that performs real-time stream processing in a distributed manner among IoT devices. In [22], a middle-ware for IoT devices has been proposed to process the data stream locally using the resources of IoT devices in real-time. It divides the tasks into sub-tasks and each sub-task is executed on multiple IoT devices in a distributed manner. ...
Article
Full-text available
Use of internet of things (IoT) in different fields including smart cities, health care, manufacturing, and surveillance is growing rapidly, which results in massive amount of data generated by IoT devices. Real-time processing of large-scale data streams is one of the main challenges of IoT systems. Analyzing IoT data can help in providing better services, predicting trends and timely decision making for industries. The systematic structure of IoT data follows the pattern of big data. In this paper, a novel approach is proposed in which big data tools are used to perform real-time stream processing and analysis on IoT data. We have also applied Spark’s built-in support of the machine learning library in order to make real-time predictions. The efficiency of the proposed system is evaluated by conducting experiments and reporting results on the case scenario of IoT based weather station.
... In [40] we proposed a middleware for heterogeneous IoT devices (sensors and actuators) that is capable of processing data streams in real-time and in a distributed manner. In this article, we introduce RSU-Edge, a realization of such a middleware for RSU devices. ...
Article
Full-text available
Cities are embracing data-intensive applications to maximize their constrained transportation networks. Platforms such as Google offer route planning services to mitigate the effect of traffic congestion. These use remote servers that require an Internet connection, which exposes data to increased risk of network failures and latency issues. Edge computing, an alternative to centralized architectures, offers computational power at the edge that could be used for similar services. Road side units (RSU), Internet of Things (IoT) devices within a city, offer an opportunity to offload computation to the edge. To provide an environment for processing on RSUs, we introduce RSU-Edge, a distributed edge computing system for RSUs. We design and develop a decentralized route planning service over RSU-Edge. In the service, the city is divided into grids and assigned an RSU. Users send trip queries to the service and obtain routes. For maximum accuracy, tasks must be allocated to optimal RSUs. However, this overloads RSUs, increasing delay. To reduce delays, tasks may be reallocated from overloaded RSUs to its neighbors. The distance between the optimal and actual allocation causes accuracy loss due to stale data. The problem is identifying the most efficient allocation of tasks such that response constraints are met while maintaining acceptable accuracy. We created the system and present an analysis of a case study in Nashville, Tennessee that shows the effect of our algorithm on route accuracy and query response, given varying neighbor levels. We find that our system can respond to 1000 queries up to 57.17% faster, with only a model accuracy loss of 5.57% to 7.25% compared to using only optimal grid allocation.
Article
The Internet of Things (IoT) is a large-scale network of various sensing devices connected via the Internet to achieve intelligent functions. Efficient secure data transmission is a significant guarantee for specific functions of IoT. In recent years, compressive sensing has been applied to the field of the Internet of Things and a substantial number of compressive sensing based IoT data transmission schemes have been proposed. While existing IoT data transmission schemes based on compressive sensing could mostly accomplish signal sampling, data compression and encrypted transmission, the goal of privacy protection has rarely been achieved. Based on chaos theory and semi-tensor product compressive sensing (STP-CS), this paper proposes two novel secure data transmission methods for different scenarios of IoT: multiple concealing method (MC method) and precise concealing method (PC method). Both methods can provide different levels of reconstruction results for different receivers with various authorization levels. The feasibility, storage requirements, robustness, and security of the proposed methods are theoretically analyzed and experimentally simulated. The results show that the proposed methods ensure both the stability and security of data transmission, save storage space of sensors, and flexibly protect the privacy of the content of data transmitted.
Article
Full-text available
In many aspects of human activity, there has been a continuous struggle between the forces of centralization and decentralization. Computing exhibits the same phenomenon; we have gone from mainframes to PCs and local networks in the past, and over the last decade we have seen a centralization and consolidation of services and applications in data centers and clouds. We position that a new shift is necessary. Technological advances such as powerful dedicated connection boxes deployed in most homes, high capacity mobile end-user devices and powerful wireless networks, along with growing user concerns about trust, privacy, and autonomy requires taking the control of computing applications, data, and services away from some central nodes (the "core") to the other logical extreme (the "edge") of the Internet. We also position that this development can help blurring the boundary between man and machine, and embrace social computing in which humans are part of the computation and decision making loop, resulting in a human-centered system design. We refer to this vision of human-centered edge-device based computing as Edge-centric Computing. We elaborate in this position paper on this vision and present the research challenges associated with its implementation.
Article
Full-text available
This document regroups a representative, but non-exhaustive, list of contemporary IoT platforms. The platforms are ordered alphabetically. The aim of this document is to provide the a quick review of current IoT platforms, as well as relevant information.
Conference Paper
Full-text available
Toward reducing barriers for developing applications for the Internet of Things, researchers have connected things to the web enabling the development of IoT mashups. While establishing a Web of Things for mashup development has been an important step forward, we believe that web-centric IoT toolkits have the potential to increase the use of Internet-enabled things further by increasing the pool of developers and applications that can take advantage of the connected physical world. In this paper we derive several key requirements for IoT mashup toolkits based on existing systems, past research and our experience with an IoT mashup toolkit called the Web of Things Toolkit (WoTKit). Unlike other systems, the WoTKit aims to address key requirements for IoT mashup developers in one system. From this experience we derive key lessons learned for the community toward improving toolkits for developing IoT mashups.
Article
Full-text available
The unparalleled growth and popularity of the Internet coupled with the advent of diverse modern applications such as search engines, on-line transactions, climate warning systems, etc., has catered to an unprecedented expanse in the volume of data stored world-wide. Efficient storage, management, and processing of such massively exponential amount of data has emerged as a central theme of research in this direction. Detection and removal of redundancies and duplicates in real-time from such multi-trillion record-set to bolster resource and compute efficiency constitutes a challenging area of study. The infeasibility of storing the entire data from potentially unbounded data streams, with the need for precise elimination of duplicates calls for intelligent approximate duplicate detection algorithms. The literature hosts numerous works based on the well-known probabilistic bitmap structure, Bloom Filter and its variants. In this paper we propose a novel data structure, Streaming Quotient Filter, (SQF) for efficient detection and removal of duplicates in data streams. SQF intelligently stores the signatures of elements arriving on a data stream, and along with an eviction policy provides near zero false positive and false negative rates. We show that the near optimal performance of SQF is achieved with a very low memory requirement, making it ideal for real-time memory-efficient de-duplication applications having an extremely low false positive and false negative tolerance rates. We present detailed theoretical analysis of the working of SQF, providing a guarantee on its performance. Empirically, we compare SQF to alternate methods and show that the proposed method is superior in terms of memory and accuracy compared to the existing solutions. We also discuss Dynamic SQF for evolving streams and the parallel implementation of SQF.
Conference Paper
In this paper, we propose SakuraSensor, a participatory sensing system which automatically extracts scenic routes information from videos recorded by car-mounted smart-phones and shares the information among users in quasirealtime. As scenic routes information, we target flowering cherries along roads since the best period of flowering cherries is rather short and uncertain from year to year and from place to place. To realize SakuraSensor, we face two technical challenges: (1) how to accurately detect flowering cherries and its degree, and (2) how to efficiently find good places of flowering cherries (PoIs) using the participatory sensing technique. For the first challenge, we develop an image analysis method for detecting image pixels that belong to flowering cherries. To exclude artificial objects with similar color to flowering cherries, we also employ fractal dimension analysis to filter out unnecessary image areas. For the second challenge, we propose a method called k-stage sensing. In this method, the interval for sensing (taking a still image and applying the image analysis) by each car is dynamically shortened so that the roads near the already found PoIs are more densely sensed. We implemented SakuraSensor consisting of client-side software for iOS devices and server-side software for a cloud server and conducted experiments to travel cherry-lined roads and record videos by several cars. As a result, we confirmed that our method can identify flowering cherries at about 74 % precision and 84 % recall. We also confirmed that our k-stage sensing method could achieve the comparable PoI detection rate with half sensing times compared to a conventional method.
Conference Paper
In this paper, we propose a novel system for estimating crowd density and smoothness of pedestrian flows in public space by participatory sensing with mobile phones. By analyzing walking motion of the pedestrians and ambient sound in the environment that can be monitored by accelerometers and microphones in off-the-shelf smartphones, our system classifies the current situation at each area into four categories that well represent the crowd behavior. Through field experiments using Android smartphones, we show that our system can recognize the current situation with accuracy of 60--78%.
Article
Recently, Internet of Things (IoT) has been attracting attention due to its economical impact and high expectations for drastically changing our modern societies. Worldwide by 2022, over 50 billion IoT devices including sensors and actuators are predicted to be installed in machines, humans, vehicles, buildings, and environments. Demand is also huge for the real-time utilization of IoT data streams instead of the current off-line analysis/utilization of stored big data. The real-time utilization of massive IoT data streams suggests a paradigm shift to new horizontal and distributed architecture because existing cloud-based centralized architecture will cause large delays for providing service and waste many resources on the cloud and on networks. Content curation, which is the intelligent compilation of valuable content from IoT data streams, is another key to fully utilize and penetrate IoT technologies. In this paper, we survey the emerging technologies toward the real-time utilization of IoT data streams in terms of networking, processing, and content curation and clarify the open issues. Then we propose a new framework for IoT data streams called the Information Flow of Things (IFoT) that processes, analyzes, and curates massive IoT streams in real-time based on distributed processing among IoT devices.
Article
The vision of an Internet of Things (IoT) has captured the imagination of the world and raised billions of dollars, all before we stopped to deeply consider how all these Things should connect to the Internet. The current state-of-the-art requires application-layer gateways both in software and hardware that provide applicationspecific connectivity to IoT devices. In much the same way that it would be difficult to imagine requiring a new web browser for each website, it is hard to imagine our current approach to IoT connectivity scaling to support the IoT vision. The IoT gateway problem exists in part because today's gateways conflate network connectivity, in-network processing, and user interface functions. We believe that disentangling these functions would improve the connectivity potential for IoT devices. To realize the broader vision, we propose an architecture that leverages the increasingly ubiquitous presence of Bluetooth Low Energy radios to connect IoT peripherals to the Internet. In much the same way that WiFi access points revolutionized laptop utility, we envision that a worldwide deployment of IoT gateways could revolutionize application-agnostic connectivity, thus breaking free from the stove-piped architectures now taking hold. In this paper, we present our proposed architecture, show example applications enabled by it, and explore research challenges in its implementation and deployment.
Conference Paper
The Internet of Things (IoT) has been a hot topic for the future of computing and communication. It will not only have a broad impact on our everyday life in the near future, but also create a new ecosystem involving a wide array of players such as device developers, service providers, software developers, network operators, and service users. In this paper, we present an open service framework for the Internet of Things, facilitating entrance into the IoT-related mass market, and establishing a global IoT ecosystem with the worldwide use of IoT devices and softwares. We expect that the open IoT service framework we proposed will play an important role in the widespread adoption of the Internet of Things in our everyday life, enhancing our quality of life with a large number of innovative applications and services, but also offering endless opportunities to all of the stakeholders in the world of information and communication technologies.
Conference Paper
Distributed stream processing systems must function efficiently for data streams that fluctuate in their arrival rates and data distributions. Yet repeated and prohibitively expensive load re-allocation across machines may make these systems ineffective, potentially resulting in data loss or even system failure. To overcome this problem, we instead propose a load distribution (RLD) strategy that is robust to data fluctuations. RLD provides ϵ-optimal query performance under load fluctuations without suffering from the performance penalty caused by load migration. RLD is based on three key strategies. First, we model robust distributed stream processing as a parametric query optimization problem. The notions of robust logical and robust physical plans then are overlays of this parameter space. Second, our Early-terminated Robust Partitioning (ERP) finds a set of robust logical plans, covering the parameter space, while minimizing the number of prohibitively expensive optimizer calls with a probabilistic bound on the space coverage. Third, our OptPrune algorithm maps the space-covering logical solution to a single robust physical plan tolerant to deviations in data statistics that maximizes the parameter space coverage at runtime. Our experimental study using stock market and sensor networks streams demonstrates that our RLD methodology consistently outperforms state-of-the-art solutions in terms of efficiency and effectiveness in highly fluctuating data stream environments.