Content uploaded by Kosisochukwu Judith Madukwe
Author content
All content in this area was uploaded by Kosisochukwu Judith Madukwe on Jun 26, 2018
Content may be subject to copyright.
2017 IEEE 3rd International Conference on Electro-Technology for National Development (NIGERCON)
720 IEEE NIGERCON 2017
Leveraging Edge Analysis for Internet of Things Based
Healthcare Solutions.
*Kosisochukwu J. Madukwe
Ijeoma J.F Ezika
Ogechukwu N. Iloanusi.
Department of Electronic Engineering, University of Nigeria, Nsukka
Enugu State, Nigeria.
{kosisochukwu.madukwe, ijeoma.anarado, ogechukwu.iloanusi}@unn.edu.ng
Abstract—The Internet of Things (IoT) and its applications give
rise to an unprecedented amount of data that requires transfer,
processing/analysis and storage. Often times, the norm is to
maximize the capability of cloud computing services and
infrastructure in running complex algorithms on data associated
with IoT devices, in order to extract useful information, as well
as harnessing its storage services. The downsides of employing
cloud computing services include unacceptable latency, high
storage cost, increased network bandwidth, etc. However, edge
computing eliminates the problems of data communication
latency of cloud computing, by processing data at its source.
Thus, devices not continuously connected to the Internet can be
used for data processing and analysis. Also due to the
heterogeneous nature of devices used in data collection, the
necessary data integration prior to analysis poses a challenge to
developers of IoT solutions and products. The use of a
middleware platform was harnessed to solve this problem. In
this paper, we employ the use of an edge computing platform for
analyzing data generated by IoT devices used in providing
healthcare services. This is especially important as such services
require real-time analytical results for health monitoring and
diagnosis. The system depicted in this work is based on a
proposed patient–centric architecture for remotely monitoring
patients, and comprises of a biosensor, a smartphone, and an
edge analytics platform for data analysis. The biosensor (heart
rate sensor) used for this work collects physiological data from
the patient and sends it via Bluetooth to the smartphone, which
hosts a mobile application, “HealthMate”, that pre-processes the
sensor data, transfers it to the edge computing platform server,
Kaa server, for further data analysis and storage. The analyzed
sensor data is sent back to the mobile application on the
smartphone for real-time visualization if required.
Index Terms-- edge analysis, healthcare, Internet of Things
(IoT), Kaa IoT platform, mobile application, remote patient
monitoring
I. INTRODUCTION
One of the major benefits of the Internet of Things (IoT)
paradigm is the ability to generate an unprecedented amount
of data that can be analyzed to obtain a deeper insight on
events, or for actuating relevant responses. Specifically, in
order to provide adequate and timely healthcare services
through the use of IoT connected devices, efficient methods of
data analysis must be employed in the design of such systems.
All involved processes must be swift, seamless, and if
possible, in real-time. Over the years, cloud computing
solutions have been proposed for data analysis in IoT-based
healthcare applications. However, cloud-based IoT data
analysis solutions are known to incur high cost of data transfer
and storage, saturation of bandwidth and latency created when
data is continuously sent from the application to the cloud [1].
These requirements are obviously not ideal for areas of weak
internet connectivity. In addition, cloud computing services
are not very ideal where speed and real-time processing are
priorities. Also, because data generated by IoT is fragmented
due to the diverse types of sensors and devices that use non-
standard protocol for communication, integration and
management can be daunting. There is also the problem of
securing the large amount of sensitive data that is exposed
during transit from the source to the cloud from hackers [2].
Since data is constantly generated at the edge of the
network, it would be more efficient to analyze it at the source.
This paradigm is referred to as edge computing or edge
analysis. “Edge” is any computing or network resources
present between the source of the data and the cloud. For
example, a smart phone is the edge between body sensors and
the cloud [3]. This is logical because the IoT devices are both
data producers and consumers. Edge analysis greatly improves
results by eliminating data transfer latency from source to
cloud for processing and storage. It also increases efficiency,
since only meaningful and already processed data will be sent
to the centralized cloud for storage and further processing if
required. Furthermore, implementation of security protocols at
the edge of the network is very important as healthcare data is
usually classified as sensitive and private.
Edge computing, often referred to as fog computing [1],
has been shown to ensure a lower round trip time (RTT) of
about 1.416ms compared to cloud computing at 17.989ms. in
addition, under the same conditions, the up/down-link
bandwidthof computing on the edge is measured at
2017 IEEE 3rd International Conference on Electro-Technology for National Development (NIGERCON)
721 IEEE NIGERCON 2017
83.732/101.918Mbps, while that of cloud computing
ismeasured at 1.785/1.746 Mbps [1]. For the purpose of this
work, we use the terms fog computing and edge computing
interchangeably, as fog computing means bringing the power
of cloud computing to the edge where data is generated. The
normal cloud model involves transferring data from the sensor
directly to the cloud while the edge/fog model introduces a
middleware between the sensor and the cloud to save
bandwidth and reduce latency by carrying out some processes
on this middleware. In this paper we employ an edge analytics
platform for data analysis in an android-based healthcare
mobile application. We show that analyzing data with a
production-ready platform, Kaa Error! Reference source not
found., is just as effective and even simpler and faster than
writing a raw algorithm for data processing and it provides an
essential uniformity and standardization to the chaos caused
by different sensors and data formats.
II. REVIEW OF RELATED WORKS
The edge analysis architecture has been applied previously
in several IoT-based healthcare solutions.
In the work of Z. Lv et al [5], physiological data of
patients were analyzed locally for authenticity. They showed
that data analyzed globally would experience some loss if
there were to be a network interruption. The analyzed data
was collected and stored, to build up a health information
database for patients. The architecture proposed by A.
Bourouis et al. [6] allows for the analysis of data on the
smartphone, which is used as an Intelligent Central Node
(ICN). The smartphone runs on an operating system that can
carry out real-time data processing. The ICN uses a
comparison algorithm to determine whether to forward
information for cloud storage or not. It is also used to collect
location data.
The smart phone in [7] carries out some data analysis on
the acquired sensor data. This poses a potential data security
risk that could be circumvented by requesting user
acknowledgement before any action is carried out.Systems
like @Home [8] and PhMon [9] also analyses data locally
between the sensor and a control center. These systems are
made up of wearable bio-sensors connected to a monitoring
system via Bluetooth/ZigBee. This monitoring system
processes the data and provides visualization. It could also be
in charge of an alarm system for forwarding alerts efficiently.
The system presented in [10] carries out some basic analysis
on the cell phone by employing wireless sensor networks and
some complex detection algorithm.
These systems carry out data analysis locally by
implementing complex algorithms. On the other hand, our
proposed system employs the help of an edge analytics
platform that is transparent, free, works with both structured
and unstructured data and compatible with any kind of
hardware. This platform is used for the analysis of the raw
health data that aids the remote monitoring process and it
offers IoT features that can be easily plugged in for designing
various use cases. It also offers endpoint SDKs that handle
communication between the client application and the server
side which saves time required for development. To the best
of our knowledge, this is the first time the Kaa platform is
employed in the design an IoT-based healthcare solution. The
use of a platform for data analysis instead of writing
algorithms from scratch provides a much needed
interoperability and uniformity to the design of IoT solutions
and products. This system, which consists of a heart rate
sensor, connected to an android-based user-friendly mobile
application for remote patient monitoring, is built on a patient-
centric architecture. Thus, our focus is on providing ease of
usage and result visualization for all classes of patients, rather
than complex results with medical jargons, understandable by
only the health providers. The system will be deployed in real
life scenarios to prove the feasibility of the proposed
architecture and to investigate patient adoption of healthcare
technology in developing countries like Nigeria.
The rest of the paper is organized as follows. Section III
describes the technologies and tools of choice adopted to
achieve the objectives of this work. Section IV discusses the
steps involved in the design and implementation of the system.
Section V depicts the results obtained and Section VI
concludes the paper, while highlighting possible future work.
III. METHOD
A typical IoT-based Remote Patient Monitoring (RPM)
architecture consists of sections that carry out data acquisition,
data transmission, storage, analysis and visualization. The
block diagram in Figure 1 describes this system. The data
acquisition section is made of wearable sensors that measure
Raw Physiological Data
Acquisition
Data Transmission
Data Analysis Using
Specified Platform
Event Listener
Processed Data
Collection from
Specified Platform
Data Visualization
Figure 1: Block Diagram of the IoT-based RPM system.
2017 IEEE 3rd International Conference on Electro-Technology for National Development (NIGERCON)
722 IEEE NIGERCON 2017
physiological signals like heart rate, skin temperature, blood
oxygen saturation level, blood pressure etc. These sensors are
equipped with short range radio like Bluetooth Low Energy
(BLE), Bluetooth, ZigBee etc., for transferring data to the
concentrator. The sensors connect to a network through a
gateway or concentrator, which is mostly a smartphone.
Thedata transmission section is responsible for conveying the
aggregated data in real-time from the smartphoneslocation to
an appropriate destination for analysis and storage. This
transmission is usually governed by Wi-Fi or cellular
connectivity. The ability of the sensors to have access to the
Internet for data transmission, analysis and storage via the
gateway (smartphone) forms an IoT-based architecture. Data
analysis is carried out on the specified platform. A cloud-
based platform is usually employed to provide complex
analysis and storage of sensor data but in this work it is been
replaced with an edge analysis platform due to reasons
previously stated. After analysis, an event listener action is
triggered so as to constantly check for the availability of
processed data. This assists in making the system function in
real-time. The processed data is collected from the platform
and sent back forvisualization. Visualization of this data can
be realized on a web platform or on a mobile device via an
app or both.
The norm was to collect data from endpoints and send to a
data warehouse in the cloud for analysis and storage.
However, with the growth of endpoints as a result of increase
in the number of wearables and connected devices, the real-
time factor becomes absent because there will be an increase
in the amount of data sent to the cloud and thus a bandwidth
congestion which would inadvertently lead to data queuing up
for analysis. Thus, there is need for utilization of endpoints for
real-time data analysis of its self-generated raw data, while the
data warehouses receive only filtered and structured data
forstorageand further analysis.
The proposed solution employs the use of a smartphone that
houses a mobile application serving as the endpoint. The data
warehouses at the back-end can also send data back to the
endpoints based on the information previously received to
either increase the amount of data uploaded or change
indicators in their algorithms. This is the architecture
implemented in the Kaa IoT platform [4] and further
illustrated in Figure 2 as part of the proposed architecture.
Here, we have three layers: The device layer, the gateway
layer and the edge analytics platform. The device layer
consists of the bio-sensor attached to a patient to monitor
specific health conditions without obstructing the patient’s
daily activities. The sensor sends the collected raw data via
Bluetooth to the smartphone which hosts the mobile
application. The software development kit (SDK) of the
platform embedded into the mobile application pre-processes
the data before transferring it to the server for further analysis.
of the analysis platform. Thus some analysis of sensor data is
carried out at the edge of the network using an edge analytics
platform as opposed to solely using cloud computing. This
reduces the distance the data travels, thus making the system
faster. It also prevents or helps eliminate to some extent the
introduction of noise in to the sensor data. Since the point of
analysis is closer to the point of data generation, it makes it
more difficult for data to be tampered with by hackers.
After analysis, the data is sent back to the smartphone for
display via MQTT supported by the analysis platform. This
MQTT provides low latency, small packet sizes and a stable
communication over weak networks. It provides a two-way
communication channel, that supports push notifications. This
function is paramount for IoT systems that need to control
connected devices in real-time. Figure 3 further explains the
edge analysis model where the raw data collected by
endpoints is pre-processed locally at the edge of the network
by the customizable algorithm. Then the aggregated data is
delivered to the Kaa Operations Server and then to the Log
Appender, which transfers it to the Analytics System for more
extensive data analysis. The analytics system prepares
configuration updates for the Kaa Control Server which sends
them back to the Kaa Operations Server for further
distribution to the endpoints.
The Kaa platform employs the edge analytics model where
endpoints have the ability to process data and generate insight
Figure 2: Proposed Patient-Centric Architecture for IoT-based RPM system.
2017 IEEE 3rd International Conference on Electro-Technology for National Development (NIGERCON)
723 IEEE NIGERCON 2017
Figure 5: Flowchart for getting logged data from Kaa node.
from such data. It reduces the amount of data transferred to the
cloud by hundred times [4]. It is an open-source IoT platform
that allows OEMs and healthcare system integrators to
establish cross device connectivity and implement smart
features into medical devices and related software products. It
handles all the necessary communication across connected
objects. It takes care of data consistency and security, device
interoperability, and provides a failure-proof connectivity.It is
a robust platform that can be configured to meet to the design
specification of the product to be designed.
IV. DESIGN AND IMPLEMENTATION
The Zephyr BT heart rate monitor [11] used in this work
communicates with the smartphone over a Bluetooth link and
it only supports one link at a time thus when is connected it
will no longer be discoverable. Once a connection is
established, data packets can now be received by the
smartphone at 1 second intervals. The serial communication
between the sensor and the smartphone operates in a simplex
mode, thus the sensor only transmits but does not receive or
process data. The message format of the sensor constitutes of
Start of Text (STX) field for denoting the start of the
message, the 0x26 Message (Msg) ID which identifies each
message time, the Data Length Code (DLC) for specifying
the number of bytes within the data payload field of the
message which has a value of 0x37. This data payload
contains the actual data transferred from the sensor to the
smartphone. It can hold data between 0 to 128 bytes. The
CRC is an 8-bit polynomial of 0x8C. TheEnd of Text (ETX)
field denotes the end of the message with a standard ASCII
control character.
During the design phase which was carried out on Android
Studio [12] with code written in Java, the Kaa SDK is
embedded into the mobile application in order to implement
real-time bi-directional data exchange with the server. The
SDK creates a Kaa client on the endpoint of the Kaa
application being designed and this client uses the SDK to
communicate with the Kaa server. When a successful
Bluetooth connection is established between the smartphone
and the bio-sensor (cf. Figure 4), raw sensor data is sent to the
smartphone and pre-processed with the help of the Kaa SDK.
Consequently, this aggregated data is collected from the
smartphone, appended to a Kaa node and analyzed using a
defined log schema. Once the data logging is successful, it
loops back to collecting new data from the smartphone.
Figure 5 describes the event listening process that
facilitates collection of analyzed sensor data from the nodes on
the platform and transferring it to the smartphone for
visualization.
To analyze the sensor data, Oracle Virtual Box [13] and
Kaa Sandbox [4] were downloaded. The sandbox when
installed, opens in the virtual box. A new application was
created on Kaa and using the default schemas on the
applications, the SDK was downloaded and attached to the
Analytics System
Log Appender
Kaa Operations
Server
Kaa Control Server
Endpoint Endpoint Endpoint Endpoint
Figure 3: Edge Analytics Model for KaaIoT Platform [10]
Figure 4: Flowchart for appending logs to Kaa node.
2017 IEEE 3rd International Conference on Electro-Technology for National Development (NIGERCON)
724 IEEE NIGERCON 2017
lib folder of the mobile application being developed on
Android Studio.
The Kaa Events feature was included during the design so
that in the case of loss in internet connection, the data will be
saved and then pushed as an event when connection is
regained. Thus, two event schemas (one for receiving data
and one for the endpoint (smartphone)) in JavaScript Object
Notation (JSON) file format were used and uploaded to the
Kaa platform. The Kaa SDK provides API calls that helps to
push data logs to the Kaa cluster. Logs received from the
endpoint is sent through the log appender to the server. When
the server receives it, it is transferred to the Firebase NoSQL
database integrated in Kaa. Using the log schema written for
the mobile application, the Kaa server constructs object
binding and API for the custom SDK. These APIs are used to
instruct Kaa to deliver log records to the back–end processing
system. The confirm delivery option when enabled, ensures
that the Kaa client stores logs in their internal memory till
they receive a message from the server indicating a successful
delivery and appendage of data log to the appropriate log
appender. Data communicationbetween the Kaa SDK and the
server is secured using hybrid encryption with RSA and
AES.It is difficult to specify the format of the aggregated data
after the SDK has pre-processed it before sending it to the
Kaa server for further analysis because there is no direct
access to it. Also, in a more robust system there will be tons
of sensors and devices sending data at the same time. At no
point doesthe user have access to the raw sensor data.The
analyzed data from the Kaa platform is used to inflate the
GUI of the designed mobile application. The system was
deployed in real life scenarios as part of a case study to prove
the feasibility of the proposed architecture and to investigate
patient adoption of healthcare technology in developing
countries like Nigeria.
V. RESULTS
The various input user interfaces realized during the design
can be seen in Figure 6a. It shows the sign-in, create account
page for the patient. The menu page is used for navigation,
and from there, the patient can access the saved sessions,
view connected wearable devices, change settings, read about
the application and sign-out from the application. The saved
sessions show the highest, lowest and average values
recorded during the session. It also shows the time duration
and time stamp of each session. On the settings page, the
patients can enable or disable the audio alarm that is triggered
when thresholds are crossed. They can also set the desired
threshold for the physiological signal being monitored.
Figure 6b shows the output user interfaces. The sensor
status page aids the patient to know when the bio-sensor is
successfully connected to the smartphone. The active session
interface displays the heart rate as it is measured in beats per
minute. The color of the pulsating heart changes depending
Figure 6a:Resulting input user interfaces of the mobile application.
Figure 6b:Resulting output user interfaces of the mobile application.
2017 IEEE 3rd International Conference on Electro-Technology for National Development (NIGERCON)
725 IEEE NIGERCON 2017
on the health status; green when it is below the threshold and
yellow when it is above it. The health status interface shows
up when a session is ended. It could either display “GOOD”
or “CRITICAL”, depending the results gotten during the
session.
A case study employing the use of the designed system was
used to investigate patient adoption of mobile technology for
healthcare.
Finally, making use of the Kaa platform immensely
reduces the complexity involved in designing an IoT-based
solution. It also provides a uniformity of algorithm that will
promote a seamless integration with other solutions in the
future.
CONCLUSION AND FUTURE WORK
In this paper, we presented a healthcare IoT application for
remotely monitoring patients that employed a production-
ready, middleware edge analytics platform. The edge
computing paradigm is based on the principle of moving
some computing and storage capabilities to edge of the
network to improve application performance. In this work,
features like filtering mad aggregation, temporary storage,
data visualization, alarm system and user interface which are
normally carried out by centralized data centers in the cloud
have now been moved to the edge of the network. Edge
analysis does not replace cloud analysis; it merely relieves it
of some of its burden. Therefore, for utmost effectiveness,
both edge and cloud computing should be incorporated in IoT
systems. The case study carried out with patients in a local
hospital proves that this approach is feasible, cheap and
readily available. This solution is a proof-of-concept that the
edge analytics paradigm using ready-made platforms like Kaa
is cheap, fast and hardware agnostic. Further work will be
carried out to measure how fast and efficient edge computing
is when compared to cloud analysis for IoT systems. In
addition, work needs to be done to address the energy drain
experienced by edge devices during constant data transfer.
REFERENCES
[1] S. Yi, Z. Hao, Z. Qin and Q. Li. “Fog Computing: Platform and
Applications” in Hot Topics in Web Systems and Technologies
(HotWeb), 2015. Third IEEE Workshop on, pp 73-78, IEEE, 2015.
[2] D. Kirsch. “The Value of Bringing Analytics to the Edge,” Hurwitz &
Associates, Needham, MA, White Paper, 2015
[3] W. Shi, J. Cao, Q. Zhang, Y. Li, and L. Xu, “Edge Computing: Vision
and Challenge,” IEEE Internet of Things Journal, vol. 3, no. 5, pp.637-
646, 2016.
[4] “Kaa Project”. available: www.kaaproject.org. Accessed 5th December,
2016.
[5] Z. Lv, F. Xia, G. Wu, L. Yao and Z. Chen, “iCare: A Mobile Health
Monitoring System for the Elderly,” in Green Computing and
Communications (GreenCom) IEEE/ACM Int. Conf. on Cyber,
Physical, Social Computing (CPSCom) Hangzhou, China 2010, pp
699-705.
[6] A. Bourouis, M. Feham and A. Bouchachia, “Ubiquitous Mobile Health
Monitoring System for Elderly (UMHMSE)," International Journal of
Computer Science & Information Technology, vol. 3, no. 3, June 2011,
pp. 74-82.
[7] M. J. Morón, et al., “A Smart Phone-Based Personal Area Network for
Remote Monitoring of Bio-signals,” in 4th Int. Workshop on Wearable
and Implantable Body Sensor Networks, Spain, vol. 13, 2007, pp. 116-
121.
[8] I. Sachpazidis, “@Home: A Modular Telemedicine System,” in Proc.
2nd Workshop Mobile Computing in Medicine, Heidelberg, Germany,
Apr. 2002.
[9] C. Kunze, U. Grossmann, W. Stork, and K. D. Müller-Glaser,
“Application of ubiquitous computing in personal health monitoring
systems,” in Proc. 36th Annual. Meeting German Society for Biomed.
Eng., 2002, pp. 360–362.
[10] C. Wan-Young, Y. Chiew-Lian, S. Kwang-Sig and M. Risto “A Cell
Phone Based Health Monitoring System with Self Analysis Processor
Using Wireless Sensor Network Technology,” in Engineering in
Medicine and Biology Society, 29th Annual International Conference
of the IEEE. 2007.
[11] “Android Studio”, available: https://developer.android.com/studio/,
accessed:5th December, 2016.
[12] “Zephyr Performance Systems”, available:
http://zephyranywhere.com/products/hxm-bluetooth-heart-rate-monitor/
accessed: 10th January, 2017.
[13] “Oracle Virtual Box”, available: https://virtualbox.org, accessed: 5th
December, 2016.