1 Introduction

Mobile cloud computing (MCC) is an integration of cloud computing (CC) into the applications of mobile devices. New advances in CC and mobile technology have inspired different patterns of cloud health care services and devices. In the cloud system, health-data can be stored and transmitted to medical caregivers from everywhere and response can be returned to patients through web service network. In this article, we present an MCC solution through a healthcare web service.

The motivations for the use of MCC in healthcare consist of several benefits that can be derived from the combinations of mobile and CC: ABI Research study showed that more than 240 million businesses will use cloud mobile services by 2015. “Traction will push the revenue of mobile cloud computing to $5.2 billion” [1].

In our study, MCC offers significant benefits to our healthcare solution such as:

  • Collaboration MCC technology maintains collaboration and team care delivery.

  • Performance MCC model can improve rapid access to computing, share information more easily, large storage of big data (cloud-based medical records) and reduce costs.

  • Modernization MCC will lower the barriers for modernization and innovation of healthcare applications.

  • Scalability several patients utilizing the healthcare applications.

  • Portability the ability to remotely access applications and data and provide functionality for managing information in distributed and ubiquitous applications.

Our research defines hybrid system that combines multi-agent system (MAS), web service and MCC. In this paper, we will only detail the MCC and our healthcare web services. This paper is organized as follows: at first we started with an introduction, then we describe the existing cloud healthcare solutions and a state of the art of MCC. In the next section, we present our cloud hospital architecture designed to mobile healthcare applications and we introduce the implementation details, the evaluation and discussion. Finally, we conclude with a summary of the article with further suggestions for additional advancement.

2 Cloud computing and mobile cloud computing in healthcare

2.1 Cloud computing in healthcare

CC is simply an architectural model that employs many of the same components used in datacenters around the world today in a more flexible, responsive, and efficient way [2].

According to NIST (National Institute of Standards and Technology, USA), “Cloud Computing is a model for enabling convenient, on-demand work access to a shared pool of configurable resources (e.g., networks, servers, storage, applications and services) that can rapidly be provisioned and released with minimal management effort or service provider interaction” [3].

CC consists of hardware and software resources made available on the internet as managed third-party services. These services typically provide access to advanced software applications. Cloud technology providers deliver applications via internet, which are accessed from a web browser, while the business software and data are stored on servers at a remote location.

In cloud technology, the information is shared from clients to the organization through the virtual data centers. The cloud technology includes three models: SaaS (Software as a service), PaaS (Platform as a service) and IaaS (Infrastructure as a service).

Cloud in healthcare information is speedily becoming the most important trend for the development of healthcare information systems [4]. CC can improve medical services and benefit biomedical research providing Centralization, Collaboration and Virtualization:

  • Centralization: by saving time and cost through providing an easier access to and retrieval of data.

  • Collaboration: doctors can collaborate together on cases, researches, through sharing resources, information and files.

  • Virtualization: it is the core axis of IaaS (Infrastructure-as-a-Service).

Recent studies indicate that CC can facilitate the biomedical informatics research communities. Reports show that as many as 30 % of healthcare organizations are either implementing or operating cloud-based solutions.Footnote 1

JiunnWoei and his colleague [5] identify a key factor for hospitals to make decision through Cloud Computing technology. The purpose of this study is to examine the factors that will change the decision to adopt CC technology in Taiwan’s hospital. Pankaj and Inderveer in 2013 [6] present a Cloud-Based Intelligent Health Care Service (CBIHCS) that performs real-time examination of patient health data for diagnosis of chronic illness, like diabetes, collected from different wireless sensory medical equipments. The authors utilized Principal Component Analysis for attribute selection and k-nearest neighbor (KNN) and Naïve Bayes for classification of patient health status. In [7], authors utilize Aneka [8] framework to create an autonomic cloud environment for hosting ECG (Electrocardiography) data analysis services.

Kuo in 2011 [9] designates that Cloud Computing can change the execution and adoption of medical information technology, in particular for the development of EHR (Electronic Health Records). In [10], authors use high performance computing of Amazon Web Service to facilitate genomic findings.

In 2011, Piette and his colleagues [11] present a CC based Voice over IP (VoIP) service for diabetic patients; the patients subscribing the cloud service received VoIP calls with prerecorded voice messages as self-care reminders. In this study, the advantages of this cloud computing based healthcare service are cost effective, and it can be extended globally easily. In practice, the Fujitsu in Japan [12] proposes a cloud computing solution for hospitals. In addition, Microsoft also defines a cloud computing technology to improve the quality of care. This solution reduced costs in Italy Pediatric research [13]. In its healthcare industry project [14], IBM proposed the use of CC in the United States hospitals: patients’ data are stored in a cloud database, patients can be monitored at home via this cloud service and doctor can use the cloud platform to make a diagnosis at home.

2.2 Mobile cloud computing in healthcare

The purpose of Mobile healthcare (m-healthcare) is to provide mobile healthcare users easy and quick access to the resources (e.g., PHR patient health records) and offer a variety of distributed services. The aim of applying MCC in healthcare applications is to reduce the limits of traditional medical applications (e.g., security, small storage, and medical errors [15, 16]).

The Mobile Cloud Computing Forum considers MCC as “an infrastructure where both the data storage and the data processing happen outside of the mobile device” [17]. In [18], MCC is defined as a new model for mobile applications: “it will be transferred to a centralized and powerful computing platform in the cloud”.

There are several advantages of MCC, such as [19]:

  • Extending battery lifetime: the technique of computation offloading is proposed to migrate the complex treatment from limited devices (mobile devices).

  • Improving data storage capacity and processing power: MCC is developed to enable mobile users to store/access cloud data.

  • Improving reliability: the storage of data on a number of computers in the clouds improves reliability.

  • Dynamic on demand provisioning of resources and scalability: It is a flexible way for running the applications without advanced reservation of resources and adding services.

  • Multi-tenancy: providers of service can share the resources to support a variety of applications and large number of users.

  • Ease of Integration: several services from diverse service providers can be integrated simply through the cloud.

MCC in healthcare systems is a potential trend for the development of medical information systems. MCC can recover health services providing access data anywhere, anytime and cost effective solutions for healthcare.

In the literature, there are only few works about MCC applications in healthcare, such as Upkar Varshney [20] who presents five key of mobile applications in the pervasive healthcare environment:

  1. 1.

    Comprehensive health monitoring services enable patients to be monitored at anytime, anywhere.

  2. 2.

    Intelligent emergency management system can manage the large call volume received from accidents or incidents.

  3. 3.

    Health-aware mobile devices which detect blood pressure, pulse-rate and level of alcohol.

  4. 4.

    Pervasive access to healthcare information allows caregivers and patients to access medical data.

  5. 5.

    Pervasive lifestyle incentive management can be used for paying healthcare expenses and other healthcare charge.

In the same way, [21] proposed a prototype of m-healthcare information management system called @HealthCloud based on MCC and Android operating system.

In practice, Tang and his colleagues implement a telemedicine homecare management system [22] in Taiwan to monitor patients with hypertension and diabetes. The system examines 300 patients and stores more than 4736 records of glucose and blood data on the cloud.

Then, [2325] present a solution to protect the patient’s health information: [23] utilizes P2P paradigm to ensure security and data in the clouds. In [24], authors present security as a service to defend mobile applications. In 2015, [25] present a secure mobile health application which is based on hybrid cloud architecture combined with cryptographic techniques.

In [26], the authors proposed an inference model based on ontology and a bayesian network to infer the depression diagnosis. Authors present a prototype using Multi-Agent System in the mobile cloud.

These solutions present very talented research in the MCC applications as it is the result of the collective profits of mobile and cloud technologies, but these solutions present several disadvantages listed in Table 1 and there are no complete systems which offer complete solutions for healthcare.

The system reported by Shan et al. [26] is most similar to the current study because both employ a mobile device interface. Nevertheless, Shan et al. only focused on the development of mobile environment based on depression ontology. However, the system did not exploit an inference model of other diagnosis.

Other studies have focused on the security level. However, most of these studies only provided a security model for healthcare [2325]. Thus, these studies focused only on how to ensure security on medical data placed in the mobile cloud environment. By contrast, in our study, we implement a real prototype for patients and doctors to use on a practical mobile device, but we also exploited the mobile cloud (CloudSim) and MAS to deploy our healthcare system in the cloud environment.

In Sect. 3, we present our MCMAS solution that combines MAS and MCC in healthcare domain.

3 Proposed system

Our research defines a hybrid System that combines Multi-Agent System, Web Service and Mobile Cloud Computing.

In this paper, we will only detail the MCC and our healthcare web services.

This architecture (Fig. 1) is related to the previous works in the healthcare domain when authors introduced MAS for healthcare and presented the interaction in an agent-based architecture for healthcare [27, 28]. This architecture is composed of a set of autonomous agents adapted to the interaction.

Fig. 1
figure 1

The MCMAS architecture

The agents of our hospital can be classified into two groups or layers [27]:

  • Intelligent agents or super agent (Agent doctor, Agent patient, Agents nurses….)

  • Swarm layer inspired from the Swarm Intelligence fields (applies the collective behavior of groups to resolve a problem.) such as office, medical materials …

This architecture includes the two previous layers of intelligent agents, representing a medical organization with different roles and communication patterns, and facilitating interoperability, and the accessibility to information.

The purpose of our study consists in the development of a medical framework able to solve a large variety of medical problems. Consequently, we designed cloud architecture consisting of multiple distributed agents placed in the cloud environment.

The main functionality of the prototype is to provide users with a mobile interface to manage healthcare information; the applications’ platform is a tool for several users:

  1. 1.

    Hospital staff: it represents all the agents that are concerned in providing care to patients in the healthcare system. This community should be able to know and confirm the abstract representation of the theoretical model of the hospital as well as manipulate and utilize the results of the system. The main categories of this category are:

    • Medical personnel: physician, surgeon, radiologist, anesthetist, etc.

    • Nursery personnel;

    • Technicians: such as laboratory personnel

    • Admission and discharge personnel;

    • Medical support personnel: security, archive, supplying, cleaning, etc.

  2. 2.

    Team study: such as researchers, engineers.

  3. 3.

    Non hospitalized patients represent the main users of the healthcare system and the core of the care system.

Our aim is that agent’s work in background in order to provide ambient environment to the final users. In other words, the agents communicate with each other, acquire their behavior and receive information through medical cloud data.

4 Implementation and results

A new medical system called medical cloud multi-agent system (MCMAS) is proposed. This is a complex system which integrates hybrid solutions, i.e., MCC and multi-agent system in healthcare to make care as efficient as possible. The web services and service-oriented architecture (SOA) technologies have been used in our prototype. This architecture offers a model combining the benefits of both Mobile technology and CC (Fig. 2).

Fig. 2
figure 2

Mobile cloud computing architecture

Corresponding mobile users defined above use mobile devices (Tablet, PDA, Smart phone...) attached to the networks via the base transceiver station (BTS) or satellite. Mobile users’ requirements are broadcasted to the servers that offer mobile services, then the subscribers’ requests are distributed to the cloud by the use of Internet and finally the controllers in cloud send to the users the requested medical cloud services.

We define several services, such as:

  • Patient appointment: patient can choose a date for remote consultation

  • Remote consultation: patient can make consultation in real time by sending and receiving messages from doctors.

  • Resource allocation: doctors and patients can remote allocate resources (IRM, scanner...).

  • Connection to CC storage (e.g., patient health records): The system application allows caregivers to save and upload distributed medical data.

  • Image viewing by supporting the DICOM image

  • Patient registration: patients can make registration remotely as well as choose the medical center and the suitable medical unit.

  • Medical analysis results viewing: the content of the test resides remotely into the cloud storage.

Table 1 lists the most positive points, the disadvantages of existing works and the positive features of our Medical Cloud Multi-Agent System (MCMAS). In fact there are no complete systems which offer complete solutions for healthcare.

Table 1 Advantages and disadvantages of existing works in healthcare and the position of our system

To implement our proposed application, we use JADE (Java Agent Development Framework) as a software framework for developing multi-Agent systems (JADE provides a set of interfaces for the design of agents implemented in Java [29])and it can excute on Android mobile devices with the support of the JADEAndroid Add-On [30]. The agents running on JADE platform during prototyping of the MCMAS are shown in Fig. 3.

Fig. 3
figure 3

Snapshot of the prototype in JADE platform

Currently, simulation-based approaches offer useful and potent tool to research community by allowing them to test their services in repeatable and controllable environment on simulated infrastructures for developing and testing adaptive application provisioning techniques [31].

In the literature, several simulators have been developed for performance analysis of cloud computing systems, such as GridSim, MicroGrid, GangSim and CloudSim [32]. The first three focus on Grid computing systems to evaluate costs of executing distributed applications in Cloud infrastructures. However, CloudSim is a generalized and extensible simulation toolkit and application which enables seamless modeling, simulation, and experimentation of emerging cloud computing system, infrastructures and application environments for single and internetworked clouds [3335].

The CloudSim simulator is probably the most sophisticated among the simulators overviewed. CloudSim helps the researchers to focus on specific system design issues without getting concerned about the low level details related to cloud-based infrastructures and services [36].

CloudSim is becoming an intense research issue in cloud computing and studies are working to further develop CloudSim simulations extension, especially for mobile cloud computing systems.

Table 2 describes the comparison of the cloud computing simulators based on their characteristics such as platform, language software or hardware. Most of these simulators are software based and are developed using Java [37].

Table 2 Comparison of cloud computing simulators [37]
Fig. 4
figure 4

CloudSim result

Fig. 5
figure 5

Consultation report

Fig. 6
figure 6

A set of questions

To make cloud simulation, we choose CloudSim as a framework that enables modeling, simulation, and experimentation of emerging Cloud computing infrastructures and application services [38].

CloudSim was successfully deployed and performed experiments related to mapping of virtual machineson hosts in data centers; Fig. 4 shows the creation of a datacenter with one host and run one cloudlet on it corresponding to our prototype.

Even though the CloudSim has not the objective to substitute real cloud environment, it represents a helpful aid to make a previous and partial cloud simulation.

The main purpose of this article is to define a prototype of mobile internet application in the cloud environment for healthcare system, in which patients are able to get immediate aid [(Fig. 5) interface doctor reports present the heath status of patient] and make an appointment from the corresponding doctors.

Table 3 User’s profile

5 Evaluation and discussion

To evaluate our solution, we have proposed to 15 participants a questionnaire-based survey (Fig. 6): Including 7 doctors and 8 patients after a training session, the user profiles are illustrated in the Table 3.

The summary of usability/readability evaluation results is presented in Fig. 7. From the evaluation metrics, we declare that our solution is reasonably high.

However, MCMAS only utilizes a seven service (mentioned in Sect. 4), even though this application is not complex enough to take all benefits of the influence of MCC.

Fig. 7
figure 7

Usability and readability evaluation

Fig. 8
figure 8

Overview of the secure mobile cloud service architecture

The main challenge in MCC application for healthcare is privacy and security. In our MCMAS, we propose secure mobile cloud service architecture that allows security information management in the cloud to protect our MCMAS applications. The secure information service permits mobile devices of the users to share data to the cloud. In our secure solution, we present three parts implicated in the secure information network service model: (1) Mobile Cloud user data sharer, (2) data owner, and (3) cloud service provider shown in Fig. 8. The data owner distributes files and grants access to the Mobile Cloud user data sharer. Both mobile data owner and mobile data sharer utilize the cloud storage to store up and recover files.

The security service can be completed with the aid of secure cloud application services that provide the mobile user encryption, decryption and authentication services to the mobile users.

In the secure information network service model, we consider security and privacy issues in two layers, since MCC is a combination of mobile devices and cloud computing: Mobile device-based security and cloud-based security Fig. 9.

Fig. 9
figure 9

MCC security layers

As discussed above, the security plays a major role in Healthcare MCC. For that as a future work, we aim to implement the proposed architecture in real cloud to provide medical security to the data.

A future improvement of the application could allow the adding up of other services and maintain the integration of Big data “An important class of Big Data application exists in the healthcare domain. There are wide varieties of health related data sets that play a critical role in the health information systems and clinical decision support systems registries” [39].

6 Conclusion

The presented work is an effort towards the integration of MCC in the health delivery process. Advances in Information Technologies, such as mobile computing and CC, are creating new opportunities to improve the health care ecosystem. Thus, Mobile and CC provide the essential functionalities that make them suitable to be used in the remote healthcare domain.

The prototyping and assessment results illustrated that the proposed MCMAS can achieve successful and proficient forecast for the majority of users. The comparison with previous research showed that the proposed MCMAS has the following benefits: an ergonomic user interface through a mobile device and a mobile cloud services accessed anywhere anytime.

As a future work, we plan to introduce the usage of several improvements or possible extensions to the architecture and deploy the prototype not only in polyclinic ESSALEMA but also in other healthcare environment to evaluate the applications in terms of user tolerability and performance. The proposed MCMAS was designed and developed for just a polyclinic. Nevertheless, the obtained system may be simply matched and applied to further similar medical applications.