Zhang 2021
Zhang 2021
Zhang 2021
fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2021.3051742, IEEE Internet of
Things Journal
1
Abstract—The development of the smart medical industry and and anywhere, especially with the popular of IoT health-
equipment has made great progress due to the fusion of the care [6], [7]. Smart IoT healthcare in cloud environments [8] is
IoT, cloud computing, and big data. In smart IoT healthcare, an irresistible and promising future trend in the medical field.
patients can collect vital parameters from various medical sensors
attached to them to detect diseases and make initial diagnoses by Traditionally, IoT application providers usually adopt cus-
themselves. With the powerful storage and computing functions tomized development mode to meet customers’ specific busi-
of cloud computing, medical sensor devices deployed in a cloud ness requirements. Although this service delivery mode has
environment can effectively solve the problems that the devices promoted the rapid growth of the IoT business in the past few
are highly dispersed, heterogeneous, and have limited processing years, its cost-effectiveness and scalability are very limited.
capabilities. As a result, this method can effectively provide
customized and scalable smart medical services for patients. The emergence of IoT cloud applications brings new solutions
However, because these medical resources share computing re- for the development and delivery of IoT applications [9]. IoT
sources on the cloud platform, changes in equipment workloads cloud applications support the virtualized vertical solution by
will lead to service performance competition among tenants. inheriting the multitenant feature of cloud computing, which
Therefore, determining how to achieve performance isolation means that each tenant can share the computing resources with
between tenants and guarantee the service level agreements
(SLAs) of the tenants has become the most concerning issue other tenants and customize their applications according to
for cloud service providers. In this article, we propose a per- their own business scenarios.
formance isolation algorithm for multi-tenant IoT clouds, which The IoT cloud makes it possible to access and analyze
can effectively provide performance isolation between tenants. the data flows of massive numbers of IoT devices [10] and
Experiments show that the message processing delay of tenants greatly improves the cost-effectiveness and scalability of IoT
working within the allocated quota can be reduced by 82%.
services [11]. However, the responsibility of software system
Keywords: High-performance Isolation Technology, Smart maintenance is handed over to the cloud provider, which brings
IoT Healthcare, Cloud Computing, Intelligent Medical Diag- many new technical challenges. In addition, the multitenant
nosis performance isolation problem, which is how to ensure that
all tenants’ devices working within assigned quotas are not
interfered by the other tenants devices that have exceeded their
I. I NTRODUCTION quotas in a multitenant scenario, has become a research focus
With the rapid development of Internet of Things healthcare, in this area [12].
multiple home medical equipment such as infrared thermome- In seeking to achieve multitenant performance isolation,
ter, blood pressure monitors, and heart rate monitor are already most existing research focuses on SaaS application in Web
quite common in people’s daily lives [1], [2]. Therefore, scenarios, which are mainly divided into two types: virtual
patients can obtain personal medical diagnoses by uploading machine-based tenant performance isolation and application-
their physical health data obtained from IoT medical devices level middleware-based composite performance isolation.
[3]to obtain professional healthcare advice from the cloud. In 2011, L. Wu et al. [13] implemented the resource
Furthermore, these types of personal service medical devices allocation of tenants with different SLA levels through virtual
are becoming more portable, accurate and specialized with the machines. In 2012, Takeshi et al. [12] proposed a scheme
rapid development of information technology [4], [5]. Like to allocate independent virtual machines to each tenant for
e-commerce, it will be extremely convenient for patients to isolation. The deployment of virtual machine will bring high
obtain personalized and professional diagnostic report anytime additional costs. Although the above patterns achieve effective
performance isolation, they sacrifice cost-effectiveness.
Corresponding Author: Yin ZHANG, [email protected]; Yi SUN, In 2012, David Shue et al. [14] proposed a Pisces sys-
[email protected] tem that can achieve effective performance isolation in Web
2327-4662 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Prince Edward Island. Downloaded on May 30,2021 at 16:27:41 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2021.3051742, IEEE Internet of
Things Journal
2
2327-4662 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Prince Edward Island. Downloaded on May 30,2021 at 16:27:41 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2021.3051742, IEEE Internet of
Things Journal
3
2327-4662 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Prince Edward Island. Downloaded on May 30,2021 at 16:27:41 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2021.3051742, IEEE Internet of
Things Journal
4
U = α · Uc + β · UM + γ · UB (2)
where Uc is the CPU usage rate, UM is the memory usage
rate, and UB is the bandwidth usage rate. Considering that in
the IoT cloud scenario, the consumption of messages sent by
devices is also handled by the cloud server, which is identical
to processing of Web service requests, the same resource
estimation algorithm can be used to estimate the message
resource consumption.
Fig. 4: Token Bucket Algorithm
III. H IGH - PERFORMANCE I SOLATION FOR S MART I OT
In multitenant applications in asynchronous communication H EALTHCARE IN THE CLOUD
mode, by assigning a token bucket to each tenant, it is possible The architecture of the multitenant performance isolation
to limit the resources consumed by each tenant, thereby technology in this study is shown in Figure 2.
achieving a certain degree of performance isolation. However, Device layer. The device layer consists of IoT devices and
this solution has the following problems in the IoT scenario: the MQTT clients of the IoT cloud.
1) The replenishment rate of tokens is constant. The system Access layer. The network layer consists of an MQTT
lacks an effective negative feedback mechanism to more broker and a processor pool. The MQTT broker, as a message
accurately control the resource consumption of tenants. agent of the IoT, is responsible for forwarding messages
When many system resources are occupied by the job between devices and application services. Its processor thread
tasks of a certain batch of equipment, the token issuer group is the actual execution unit for the decoding, tenant au-
lacks an effective mechanism to dynamically reduce the thentication, and topic resolution of each producer’s messages.
token issuance rate, resulting in high system resource The processor pool maintains a FIFO processor queue for each
occupation. tenant, and the processor thread will join the corresponding
2) Considering the complexity and variability of the IoT queue according to the tenant ID after tenant authentication.
environment, it is difficult to determine how many tokens Control layer. The control layer is composed of a priority
are the most appropriate for each tenant. Once the token scheduler and distributed token bucket. The priority scheduler
rate of the tenant is set too high, it will cause some tenants maintains a tenant priority queue and a resource counter.
to encroach on the resources of other tenants; otherwise The token bucket is implemented using a distributed blocking
system resources cannot be fully exploited. queue, which applies a token for the scheduler and return token
3) When the equipment of some tenants is idle, to maximize for the consumer.
resource utilization, other tenants should be allowed to Service layer. The service layer is responsible for processing
use the remaining system resources, but the token bucket device messages. The service provider will offer customized
severely restricts the resource quota, resulting in idle re- and scalable software services according to different vertical
sources that cannot be allocated to the remaining tenants. businesses of the IoT.
2327-4662 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Prince Edward Island. Downloaded on May 30,2021 at 16:27:41 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2021.3051742, IEEE Internet of
Things Journal
5
flow scheduling. In order to solve this problem, the distributed Algorithm 1 MQTT Data Flow Scheduling Algorithm
token bucket algorithm is introduced to the scheduling process. Input:
The token is stored through the distributed blocking queue.
inputBuffer: input buffer of consumer
The scheduler will not schedule until the token is obtained
from the token bucket. Variable:
In contrast to the traditional token bucket algorithm, the
timeInterval: time interval of resource consumption update
system no longer replenishes new tokens at a constant rate,
processorMap: map of processor queue
and the tokens will not be discarded after message forwarding;
priorityQueue: priority queue of tenants
instead, but the tokens will be returned to the queue by
currentProcessor: current processor
the consumer after message processing. Through this dis-
tributed token bucket algorithm, the distributed system using Function: handleMessage
the asynchronous communication mode can accurately control
message = inputBuffer.PeekMessage()
the number of messages consumed. As a result, the system
if message.type == PubilshMessage:
will have an effective negative feedback mechanism, and the
tenantId = ParseTenantID(message.topic)
speed of message sending is dynamically determined by the
processorQueue = processorMap.Get(tenantId)
message processing speed of microservices. Figure 5 shows
processorQueue.Add(currentProcessor)
the principle of the MQTT data flow scheduling algorithm.
currentProcessor.Wait()
Due to different business scales, tenants often have different tenant = getTenantInfo(tenantId)
equipment scales, so they will sign different SLA agreements processIncoming(msg)
with an IOT cloud platform. At present, the cloud platform of tenant.resource += getMessageWeight(message.topic)
the Internet of Things often focuses on the traffic demand [24]. tenant.weight = tenant.maxMessages/tenant.resource
Generally, the message traffic (the maximum number of
messages received from all devices in each service cycle) Functino: SchedulerLoop
is specified in an SLA [22]. The priority of tenants should while true :
consider the resource occupation and the maximum message token = blockingQueue.Acquire()
volume at the same time. In a normal scenario, the maximum tenant = priorityQueue.Get(1)
message traffic of a tenant should be proportional to their processor_queue = processorMap.Get(tenantId)
resource usage; therefore, the priority calculation formula of processor = processorQueue.Pop()
the tenant can be obtained as follows. processor.Notify()
if curruntTime lastTime > timeInterval :
Mi for tenant in tenantQueue
Pi = (3) tenant. resource = 0
Ri
lastTime = currentTime
where Pi is the priority of tenant i, Ri is the resource end while
consumption over a period of time, and Mi is the maximum
message traffic specified in an SLA. According to the above
formula, under the same resource consumption, the larger the
maximum message traffic ordered by a tenant is, the higher B. Results and Analysis
the priority of the tenant. The scheduling algorithm proposed
in this study is shown in algorithm 1. TABLE I: Performance without the isolation algorithm
Average Latency Latency Standard Deviation Throughput
Tenant
IV. E XPERIMENTS A ND A NALYSIS (ms) (ms) (sec−1 )
1 10897 8761.13 119.7
A. Computing Environment Setup 2 14470 8690.41 313.4
The hosts used in this section are configured using a Sum 13464 8845.14 433.1
computer with an Intel Core i7-9750H 6-core, 12-thread 2.60
GHz CPU; 16 GB of memory; and the 64-bit Ubuntu 16.04 The experiment tests the multitenant application in an IoT
operating system. Golang 1.12 and JAVA 1.8 are used as the scenario. A parking lock service is selected as the consumer.
development languages. MySQL 5.7 is used to simulate the The initial number of clients of two tenants is set to 100,
tenant data. Docker is used as Container. Spring Cloud Dalston and then 60 clients are added to tenant 2 every 5 seconds to
is used as the microservice framework. SurgeMQ is used as simulate the scenario of the increasing communication load
the MQTT broker. of tenant 2s devices. The messages sent by the device include
The IoT cloud platform used in experiments is an IoT the heartbeat frame and parking space status change message.
healthcare cloud in the smart IoT healthcare field. The plat- First, we tested the scenario without the tenant performance
form is developed based on the microservice framework spring isolation algorithm. The results of the related experiments are
cloud and the Web framework spring boot. It is a cloud shown in Table 1, Figure 6 and Figure 7.
service platform based on the multitenant mode that provides Message processing latency: The request latencies of the
intelligent IoT healthcare services. two tenants are almost the same throughout the whole process.
2327-4662 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Prince Edward Island. Downloaded on May 30,2021 at 16:27:41 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2021.3051742, IEEE Internet of
Things Journal
6
2327-4662 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Prince Edward Island. Downloaded on May 30,2021 at 16:27:41 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2021.3051742, IEEE Internet of
Things Journal
7
2327-4662 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Prince Edward Island. Downloaded on May 30,2021 at 16:27:41 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2021.3051742, IEEE Internet of
Things Journal
8
V. C ONCLUSION AND F UTURE W ORK [4] N. Shi, L. Tan, W. Li, X. Qi, and K. Yu, “A blockchain-empowered
aaa scheme in the large-scale hetnet,” Digital Communications and
In smart medicine, an IoT cloud platform not only provides Networks, 2020.
cloud computing resources for medical sensor devices, but it [5] Z. Guo, Y. Shen, A. K. Bashir, M. Imran, N. Kumar, D. Zhang, and
also provides software services for tenants, controls equipment K. Yu, “Robust spammer detection using collaborative neural network
in internet of thing applications,” IEEE Internet of Things Journal, 2020.
and queries the status of equipment through network services. [6] F. Tao, Y. Cheng, L. Da Xu, L. Zhang, and B. H. Li, “Cciot-cmfg: cloud
In this situation, there will also be performance interference computing and internet of things-based cloud manufacturing service
between multiple tenants, and performance isolation on the system,” IEEE transactions on industrial informatics, vol. 10, no. 2,
pp. 1435–1442, 2014.
IoT device side alone cannot guarantee global fairness. We [7] M. Chen and Y. Hao, “Label-less learning for emotion cognition,” IEEE
implemented a unified tenant data flow scheduling scheme transactions on neural networks and learning systems, 2019.
for the IoT cloud to effectively ensure the fair distribution [8] M. Chen, Y. Jiang, N. Guizani, J. Zhou, G. Tao, J. Yin, and K. Hwang,
“Living with i-fabric: Smart living powered by intelligent fabric and
of cloud resources. In addition, the experiments show that deep analytics,” IEEE Network, 2020.
the algorithm proposed in this paper can effectively isolate [9] A. Botta, W. De Donato, V. Persico, and A. Pescapé, “Integration of
the performance of tenants’ equipment. Furthermore, the al- cloud computing and internet of things: a survey,” Future generation
computer systems, vol. 56, pp. 684–700, 2016.
gorithm ensure the service quality for each tenant. Besides, by [10] E. Truyen, D. Van Landuyt, V. Reniers, A. Rafique, B. Lagaisse, and
applying this scheme in smart IoT healthcare can effectively W. Joosen, “Towards a container-based architecture for multi-tenant saas
improve patients’ medical service experience. applications,” in Proceedings of the 15th international workshop on
adaptive and reflective middleware, 2016, pp. 1–6.
In the field of future medicine, first, since the populariza- [11] C. D. Weissman and S. Bobrowski, “The design of the force. com
tion of sensor technology and Internet of Things healthcare, multitenant internet application development platform,” in Proceedings
multiple home medical devices such as infrared thermometers of the 2009 ACM SIGMOD International Conference on Management
of data, 2009, pp. 889–896.
and heart rate monitors are already quite common in peoples [12] T. Takahashi, G. Blanc, Y. Kadobayashi, D. Fall, H. Hazeyama, and
daily lives and have been used to measure essential body S. Matsuo, “Enabling secure multitenancy in cloud computing: Chal-
parameters, such as heart rate, body temperature and others. lenges and approaches,” in 2012 2nd Baltic Congress on Future Internet
Communications. IEEE, 2012, pp. 72–79.
Therefore, in the IoT healthcare scenario, patients can obtain [13] L. Wu, S. K. Garg, and R. Buyya, “Sla-based resource allocation for
personal medical diagnoses by uploading physical health data software as a service provider (saas) in cloud computing environments,”
obtained from IoT medical devices to iDoctor, which is a in 2011 11th IEEE/ACM International Symposium on Cluster, Cloud
and Grid Computing. IEEE, 2011, pp. 195–204.
self-serve medical system, to obtain professional healthcare [14] D. Shue, M. J. Freedman, and A. Shaikh, “Performance isolation
advice. Second, previous patients’ cases are more important and fairness for multi-tenant cloud storage,” in Presented as part of
and valuable for personal disease diagnosis. Therefore, how to the 10th {USENIX} Symposium on Operating Systems Design and
Implementation ({OSDI} 12), 2012, pp. 349–362.
make full use of previous cases information while not leaking [15] R. Krebs, C. Momm, and S. Kounev, “Metrics and techniques for
patients’ private information is a leading and promising field quantifying performance isolation in cloud environments,” Science of
of research, especially in future privacy-preserving intelligent Computer Programming, vol. 90, pp. 116–134, 2014.
[16] H. Cai, B. Xu, L. Jiang, and A. V. Vasilakos, “Iot-based big data storage
medical applications. Thus, we will consider the problem of systems in cloud computing: perspectives and challenges,” IEEE Internet
how to securely obtain personal medical diagnoses in IoT of Things Journal, vol. 4, no. 1, pp. 75–87, 2016.
healthcare while preserving performance isolation and service [17] F. Caglar, S. Shekhar, A. Gokhale, and X. Koutsoukos, “Intelligent,
performance interference-aware resource management for iot cloud
quality in our future work. backends,” in 2016 IEEE First International Conference on Internet-of-
Things Design and Implementation (IoTDI). IEEE, 2016, pp. 95–105.
[18] S. A. Ali, M. Ansari, and M. Alam, “Resource management techniques
ACKNOWLEDGEMENT for cloud-based iot environment,” in Internet of Things (IoT). Springer,
This work was supported by the National Key R&D Pro- 2020, pp. 63–87.
[19] D. Happ, N. Karowski, T. Menzel, V. Handziski, and A. Wolisz, “Meet-
gram of China (No. 2020YFB1006002), the National Natural ing iot platform requirements with open pub/sub solutions,” Annals of
Science Foundation of China (Grant Nos. 81671768 and Telecommunications, vol. 72, no. 1-2, pp. 41–52, 2017.
61601041), the Fundamental Research Funds for the Central [20] D. Locke, “Mq telemetry transport (mqtt) v3. 1 protocol specification,”
IBM developerWorks Technical Library, vol. 15, 2010.
Universities(2019PTB-003), and the Key R&D Program of [21] X. Wang, V. Devadhar, and P. Murugesan, “Mechanism for facilitating
Hebei Province (Grant No. 20313701D). This work was also sliding window resource tracking in message queues for fair manage-
supported by the China NationalNatural Science Foundation ment of resources for application servers in an on-demand services
environment,” Feb. 23 2016, uS Patent 9,268,605.
No. 61802139,No. 61802139, No. L1924068 and The work [22] F. L. de Caldas Filho, R. L. Rocha, C. J. Abbas, L. M. E. Martins, E. D.
was supported by the Technology Innovation Project of Hubei Canedo, and R. T. de Sousa, “Qos scheduling algorithm for a fog iot
Province of China under Grant 2019AEA171. gateway,” in 2019 Workshop on Communication Networks and Power
Systems (WCNPS). IEEE, 2019, pp. 1–6.
[23] F. Brosig, S. Kounev, and K. Krogmann, “Automated extraction of
R EFERENCES palladio component models from running enterprise java applications,”
in Proceedings of the Fourth International ICST Conference on Perfor-
[1] A. Gatouillat, Y. Badr, B. Massot, and E. Sejdić, “Internet of medical mance Evaluation Methodologies and Tools, 2009, pp. 1–10.
things: A review of recent contributions dealing with cyber-physical [24] M. Chen, Y. Hao, K. Lin, Z. Yuan, and L. Hu, “Label-less learning for
systems in medicine,” IEEE internet of things journal, vol. 5, no. 5, pp. traffic control in an edge network,” IEEE Network, vol. 32, no. 6, pp.
3810–3822, 2018. 8–14, 2018.
[2] A. Limaye and T. Adegbija, “Hermit: A benchmark suite for the internet
of medical things,” IEEE Internet of Things Journal, vol. 5, no. 5, pp.
4212–4222, 2018.
[3] M. Chen, Y. Hao, C.-F. Lai, D. Wu, Y. Li, and K. Hwang, “Opportunistic
task scheduling over co-located clouds in mobile environment,” IEEE
Transactions on Services Computing, vol. 11, no. 3, pp. 549–561, 2016.
2327-4662 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: University of Prince Edward Island. Downloaded on May 30,2021 at 16:27:41 UTC from IEEE Xplore. Restrictions apply.