11
72 Int. J. Computer Applications in Technology, Vol. 57, No. 1, 2018 Copyright © 2018 Inderscience Enterprises Ltd. MC-Sim: a mobile cloud simulation toolkit based on CloudSim Manel Gherari* LAMIS Laboratory, Department of Computer Science, University of Tebessa, Tebessa 12000, Algeria Email: [email protected] *Corresponding author Abdelkrim Amirat LIM Laboratory, Department of Computer Science, University of Souk-Ahras, Souk-Ahras 41000, Algeria Email: [email protected] Mohamed Ridda Laouar LAMIS Laboratory, Department of Computer Science, University of Tebessa, Tebessa 12000, Algeria Email: [email protected] Mourad Oussalah LINA Laboratory, Department of Computer Science, University of Nantes, Nantes 44322, France Email: [email protected] Abstract: Mobile Cloud Computing (MCC) has gained a significant attention these past years. MCC consists of migrating mobile applications from the constrained mobile devices to the cloud. This task is highly complicated and demanding, therefore several novel methods, tools, and approaches are introduced to tackle this complexity. At this point, we argue that a simulation of the deployment mechanisms for accessing cloud services and testing mobile cloud applications in the cloud environment is a mandatory phase prior to real deployment in a real environment. A simulation will offer the developer a controllable and cost-free environment to test and evaluate applications’ performance according to different predefined scenarios. As MCC lacks tools of simulation of its aspects, to fill this gap we propose Mobile Cloud Simulation (MC-Sim) toolkits based on CloudSim. Keywords: CloudSim; mobile cloud computing; cloud simulation; mobile cloud simulation; mobile cloud computing modelling. Reference to this paper should be made as follows: Gherari, M., Amirat, A., Laouar, M.R. and Oussalah, M. (2018) ‘MC-Sim: a mobile cloud simulation toolkit based on CloudSim’, Int. J. Computer Applications in Technology, Vol. 57, No. 1, pp.72–82. Biographical notes: Manel Gherari received her PhD degree in Computer Science from the University of Tebessa, Algeria. She received her master degree in Software Engineering from the University of Souk-Ahras in 2013. Her research field is mainly focused on software architecture design and evolution, mobile computing, and cloud computing. Abdelkrim Amirat received his PhD degree in Computer Science from the University of Nantes, France, and his Habilitation in 2010. Currently he is a Professor of Computer Science at the University of Souk-Ahras, Algeria. He is the director of Mathematics and Computer Science

MC-Sim: a mobile cloud simulation toolkit based on CloudSim · 2019-08-21 · 2010; Campbell et al., 2009) provides a testbed heterogeneous distributed DC for systems, applications

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MC-Sim: a mobile cloud simulation toolkit based on CloudSim · 2019-08-21 · 2010; Campbell et al., 2009) provides a testbed heterogeneous distributed DC for systems, applications

72 Int. J. Computer Applications in Technology, Vol. 57, No. 1, 2018

Copyright © 2018 Inderscience Enterprises Ltd.

MC-Sim: a mobile cloud simulation toolkit based on CloudSim

Manel Gherari* LAMIS Laboratory, Department of Computer Science, University of Tebessa, Tebessa 12000, Algeria Email: [email protected] *Corresponding author

Abdelkrim Amirat LIM Laboratory, Department of Computer Science, University of Souk-Ahras, Souk-Ahras 41000, Algeria Email: [email protected]

Mohamed Ridda Laouar LAMIS Laboratory, Department of Computer Science, University of Tebessa, Tebessa 12000, Algeria Email: [email protected]

Mourad Oussalah LINA Laboratory, Department of Computer Science, University of Nantes, Nantes 44322, France Email: [email protected]

Abstract: Mobile Cloud Computing (MCC) has gained a significant attention these past years. MCC consists of migrating mobile applications from the constrained mobile devices to the cloud. This task is highly complicated and demanding, therefore several novel methods, tools, and approaches are introduced to tackle this complexity. At this point, we argue that a simulation of the deployment mechanisms for accessing cloud services and testing mobile cloud applications in the cloud environment is a mandatory phase prior to real deployment in a real environment. A simulation will offer the developer a controllable and cost-free environment to test and evaluate applications’ performance according to different predefined scenarios. As MCC lacks tools of simulation of its aspects, to fill this gap we propose Mobile Cloud Simulation (MC-Sim) toolkits based on CloudSim.

Keywords: CloudSim; mobile cloud computing; cloud simulation; mobile cloud simulation; mobile cloud computing modelling.

Reference to this paper should be made as follows: Gherari, M., Amirat, A., Laouar, M.R. and Oussalah, M. (2018) ‘MC-Sim: a mobile cloud simulation toolkit based on CloudSim’, Int. J. Computer Applications in Technology, Vol. 57, No. 1, pp.72–82.

Biographical notes: Manel Gherari received her PhD degree in Computer Science from the University of Tebessa, Algeria. She received her master degree in Software Engineering from the University of Souk-Ahras in 2013. Her research field is mainly focused on software architecture design and evolution, mobile computing, and cloud computing.

Abdelkrim Amirat received his PhD degree in Computer Science from the University of Nantes, France, and his Habilitation in 2010. Currently he is a Professor of Computer Science at the University of Souk-Ahras, Algeria. He is the director of Mathematics and Computer Science

Page 2: MC-Sim: a mobile cloud simulation toolkit based on CloudSim · 2019-08-21 · 2010; Campbell et al., 2009) provides a testbed heterogeneous distributed DC for systems, applications

MC-Sim: a mobile cloud simulation toolkit based on CloudSim 73

Laboratory and the chief of the software engineering team. His main research concerns software architectures and their evolution, modelling and meta-modelling. He worked on several national projects in software engineering. He has published several refereed journal and conference papers in the fields of software architecture, component-based, and object-oriented modelling. He has served on program committees of several international journals, conferences and workshops.

Mohamed Ridda Laouar is a Professor of Computer Science at Tebessa University, Tebessa, Algeria. He received his PhD degree in Industrial and Human-Computer Science from the University of Valenciennes, France, in 2005. His areas of research include information systems (IS), decision support systems (DSS), e-library systems and other related topics. He has contributed to such journals as Hi-Tech Library and Human Systems Management. He is the editor of the IJIST journal and the proceedings of several conferences such as ICIST and ICSENT.

Mourad Ousslah is a full Professor of Computer Science at the University of Nantes and the chief of the software architecture modelling team. His research concerns software architecture, object architecture and their evolution. He worked on several European projects. He was the leader of national project (France Telecom, Bouygues Telecom, Aker-Yard-STX, etc.). He earned a BS degree in Mathematics in 1983, and habilitation thesis from the University of Montpellier in 1992. His researches lie in the field of software engineering.

This paper is a revised and expanded version of a paper entitled ‘Mc-sim mobile cloud simulation toolkit based on cloud sim’ presented at the ‘Conférence d’architecture logiciel 2016’, Besançon, France, July 2016.

1 Introduction

Cloud Computing (CC) offers cloud services at different levels (infrastructure as service, platform as service, and software as services) to consumers that already have established a Service Level Agreement contract based on certain negotiations with the service providers. The provisioning of cloud services is done following a payment model (pay as you go). Some well-known clouds are Amazon EC2, Google App engine, Aneka, Microsoft Azure.

By migrating to the cloud, IT companies are no longer concerned by tasks such as setting up basic hardware and software infrastructure, so they can focus on innovation and creation of business values for their applications (Armbrust et al., 2010). It should be noted that cloud based applications differ from each other in term of composition, configuration, deployment requirements. Thus testing this kind of applications’ performance, in terms of provisioning policies (scheduling, allocation), is a highly demanding task due to challenges posed by the cloud like the fact the users have heterogynous, dynamic, ever changing QoS requirements.

Using real cloud infrastructure like Amazon EC2 or Microsoft Azure for benchmarking application performance under variable conditions is mainly constrained by the rigidity of real cloud infrastructure (Calheiros et al., 2011).

Motivated by this limitation, a simulated, controllable, and cost free environment is a necessity to any developer before heading to real deployment of its application in real cloud environment. To give researchers a testbed and platform to assist their research and validate their idea, several cloud simulators have been proposed, and many simulation tools dedicated for cloud based applications have been proposed (Calheiros et al., 2011; Buss, 2002; Buyya and Murshed, 2002; Varga, 2001).

Mobile Cloud Computing (MCC) has been introduced in order to enhance the performance of mobile devices that have invaded every personal life these days. Thus, mobile users are

seeking PC-like functionalities provided by Smartphone and to answer these issues, MCC outsource the processing and the storage of data from the constrained mobile devices to the elastic cloud infrastructure. As a paradigm still in its infancy, MCC unlike CC lacks tools for modelling and simulation it aspects. To fill this gap we propose Mobile Cloud Simulation toolkits based on CloudSim (Calheiros et al., 2011) (MC-Sim).

MC-Sim is an extension of CloudSim that adds more packages dedicated to simulate mobile entities such as mobile devices, mobile applications, and other sub-entities needed during the simulation. The main difference from CloudSim, is that MC-SIM is designed in a manner that separates the modelling phase from the simulation phase. First the mobile cloud application architecture is described via MC-ADL (Gherari et al., 2014a). Mobile cloud application architecture ensures the production of applications of quality and has a major impact on its cost (Dhaya and Zayaraz, 2016; Huang et al., 2016). Based on the latter, simulation entities are dynamically generated. The next step consists of executing the simulation by either defining new allocation/scheduling policies, or using the already predefined ones. MC-Sim ensures a high performance of tests that are open to scalability since they are predefined in well-specified order to be executed dynamically.

The remainder of this paper is organised as follows: Related work presenting cloud simulators will be given in Section 2. Section 3 will introduce MC-SIM. A case study is given in Section 4. Finally, we conclude this paper in Section 5.

2 Related work

In this section, we will summarise some cloud computing simulators.

Page 3: MC-Sim: a mobile cloud simulation toolkit based on CloudSim · 2019-08-21 · 2010; Campbell et al., 2009) provides a testbed heterogeneous distributed DC for systems, applications

74 M. Gherari et al.

2.1 CloudSim

CloudSim (Calheiros et al., 2011) is a new generalised and extensible simulation framework that is characterised by modelling and simulating of large scale infrastructure including data centres (DCs) that host several Virtual machines (Vms). Vms are allocated according to different (Space/Time) share allocation policies, with the possibility to customise policies according to the user’s requirements.

The first layer SimJava is a discrete event simulation engine that implements core functionalities, like queuing and processing of events, and creation of systems components (Service, host, DCs, broker and Vms). Next layer is Gridsim that regroups libraries supporting modelling multiple grid

infrastructure, including networks, association traffics, resources data sets, workload traces, and information services. As an extension to GridSim, CloudSim allows modelling and simulation of virtualised cloud based DCs’ environment, such as dedicated management interfaces for Vms, memory, storage, and bandwidth. As a third layer, CloudSim is dedicated for the instantiation and execution of core entities (Vms, hosts, and DCs). The final layer is the user core that consists of the configuration of related functionalities hosts such as the number of tasks and the user requirements.

Several works have been proposed to extend and improve CloudSim, by focusing on reducing and eliminating failures that occur during job submission (Belalem et al., 2010). Another extension of CloudSim as shown in Figure 2 is Cloud Analyst (Wickremasinghe et al., 2010; Wickremasinghe, 2009); this toolkit is designed to study the behaviour of large scale internet applications in cloud environment while offering the possibilities to perform different simulation experiments, by

simply changing parameters. Garg and Buyya (2011) proposed NetworkCloudSim

extension of CloudSim which supports modelling real time DCs and generalised applications like e-commerce. The architecture of NetworkCloudSim is presented in Figure 3.

2.2 SPECI

Motivated by the need to predict the performance and the behaviour of future DCs, Sriram (2009) proposed SPECI (Simulation Program for Elastic Cloud Infrastructure). SPECI is simulation toolkit based in SimKit (Buss, 2002) that allows exploration of aspects of scaling as well as performance proprieties of future DCs, by offering two main packages: one representing DCs, layout and topologies, and the other encompassing the components for experiments execution and measuring.

Figure 1 CloudSim architecture

Figure 2 CloudAnalyst architecture

Page 4: MC-Sim: a mobile cloud simulation toolkit based on CloudSim · 2019-08-21 · 2010; Campbell et al., 2009) provides a testbed heterogeneous distributed DC for systems, applications

MC-Sim: a mobile cloud simulation toolkit based on CloudSim 75

Figure 3 NetworkCloudSim architetcure

2.3 iCanCloud

iCanCloud (Núñez et al., 2012) is a simulator for cloud infrastructure that promises different features such as flexibility, scalability, performance and usability. iCanCloud is designed targeting the following objectives:

Aims to conduct large scale experiments

Provides flexible and fully customised global hypervisor for integrating any cloud broking policy

Recreates instance type provided by cloud infrastructure

Offers GUI interface for configuration and launching simulation.

Distinguished from other simulation toolkits, iCanCloud offers a GUI interface, and also tackles the deficiency of performing a paralleled simulation across multiple machines.

As presented in Figure 4, the first layer of the iCanCloud architecture is hardware layer that contains

models, which are in charge of modelling the hardware part (e.g., disc drive, CPU, etc.). In order to guarantee a certain degree of compatibility, API is used to create an application that enters the simulation with iCanCloud. Next layer is Vm repository that contains a collection of Vms that have been defined by users. Cloud Hypervisor consists of models responsible for managing all jobs instance of Vms, and cost policies. Cloud System Module encompasses the definition of the entire cloud system by defining hypervisor and Vms.

2.4 GreenCloud

Based on NS2 (https://www.isi.edu/nsnam/ns/), GreenCloud (Kliazovich et al., 2012; Liu et al., 2009) is packet level cloud simulator that mainly focuses on evaluating the energy cost of DCs, operation. The GreenCloud architecture is presented in Figure 5.

Figure 4 iCanCloud architecture

Page 5: MC-Sim: a mobile cloud simulation toolkit based on CloudSim · 2019-08-21 · 2010; Campbell et al., 2009) provides a testbed heterogeneous distributed DC for systems, applications

76 M. Gherari et al.

Figure 5 GreenCloud architecture

2.5 Open Cirrus

Established by Yahoo and HP, Open Cirrus (Avetisyan et al., 2010; Campbell et al., 2009) provides a testbed heterogeneous distributed DC for systems, applications and services. Open Cirrus aims to foster system level research in cloud computing, encouraging new cloud application research by offering a platform for real world application, and providing a collection of experimental data in order to support researchers with their high quality experiments.

Other than cloud computing, network computing also has its share of simulation tools that are interested in network details, network protocol, and path discovery like: DaSSF (Liu and Nicol, 2001), OMNeT++ (Varga, 2001; Varga and Hornig, 2008), OPNet (Chen, 2004; Chang, 1999) and NS2 (https://www.isi.edu/nsnam/ns/).

3 Proposed approach

Mobile cloud computing has gained the interest of researchers this past few years, as mobile devices have invaded our lives by being a necessity and no longer a luxury. So in order to provide PC-like functionalities to mobile users, merging the cloud and the mobile computing was the important step to brighter future in mobile applications’ industry.

We argued in previous work (Gherari et al., 2014a) that mobile cloud applications need an architecture representation as any other system. In this paper and following the development cycle of mobile cloud applications we believe that a simulation of an behaviour of the application in cloud environment is indispensable before heading to real deployment. At this phase, the developer can test repeatedly the application in a simulated, controllable and cost-free environment, and ensure a pane/bug free application smoothly deployed in real mobile cloud environment.

After studying several simulations tools, we have come to choose CloudSim to extend as the more adequate and highly corresponding toolkit to our vision. We mainly implemented our work in Java language and the simulation in our case is based on mobile cloud architecture model described by MC-ADL (Gherari et al., 2014a) Eclipse plug-in.

CloudSim does not offers classes to simulate mobile entities since it is not developed for mobile cloud applications simulations. Addressing this limit, we have added new simulating packages to CloudSim dedicated to mobile cloud application simulation. These latter regroup classes that are defined in the same logic of CloudSim entities by abstracting the mobile cloud elements and their behaviours. Figure 6 shows the MC-Sim layered architecture based on CloudSim. MC-App Cloudlet encapsulates all the relations between the application task and the provided cloud service. Mobile Device encapsulates the information concerning the mobile device starting from its operating systems to its intrinsic and external contextual information.

It should be noted that we are interested in taking advantage of contextual information provided by the cloud and the mobile environments. This kind of information is presented in the architecture model and will be mapped later in the simulation process. Concerning the cloud, its contextual information encompasses type cloud model, type of cloud service, cloud provider, availability, QoS, payment model, etc.

Mobile contextual information is divided into two classes:

Intrinsic: regroups the permanent information as the characteristic of the mobile device (e.g. OS, memory, storage capacity, processing power).

External: encompasses environment information like

location, time, neighbour devices, and network connection.

Page 6: MC-Sim: a mobile cloud simulation toolkit based on CloudSim · 2019-08-21 · 2010; Campbell et al., 2009) provides a testbed heterogeneous distributed DC for systems, applications

MC-Sim: a mobile cloud simulation toolkit based on CloudSim 77

Figure 6 MC-Sim architecture

Based on the architecture model (see Figure 7) representing the Mobile Cloud Application (MC-App) a simulator class is a Java program that will exploit the information in the MC-App model, more specifically its xml representation, to create extended entities corresponding the mobile and cloud elements that answer the characteristics specification defined by the developer during the design phase. Some entities like cloud broker, allocation policies, and scheduling are created dynamically since they are predefined entities, but they can be customised later according to the developer’s requirements.

As presented in the activity diagram (see Figure 8), after generating the object representing the xml version of the architecture model, the latter will be an input to the second activity that takes it as parameter to create the two objects representing cloud entities and mobile entities. The developer

can change the specification of the simulated entities according to requirements.

To foster the concept of dynamic architecture evolution, we manipulate the execution of the simulation dynamically by running several simulation scenarios that add or delete some cloud entities, which will provoke an evolution at the architecture level.

During the simulation phase an important question must be asked is: Which mobile application task needs to be offloaded to the cloud and which one needs to be executed locally? Many researchers (Flores and Srirama, 2013; Kumar and Lu, 2010), have tried to answer this question. Thus, in our proposed framework we have not implemented an offloading decision algorithm, assuming that every task of the mobile cloud application will be delegated/offloaded to the cloud according to predefined or customised allocation policies in CloudSim.

Figure 7 Mobile cloud application architecture model

Page 7: MC-Sim: a mobile cloud simulation toolkit based on CloudSim · 2019-08-21 · 2010; Campbell et al., 2009) provides a testbed heterogeneous distributed DC for systems, applications

78 M. Gherari et al.

Figure 8 Simulation execution workflow

4 Case study

To evaluate the operating mechanism of contextual information, which we propose via Smart Cloud Gate (Gherari et al., 2014b), we present in this section a case study to investigate the behaviour of MC-App according to defined changes in the cloud context.

4.1 Shopping Assistant: smart mobile cloud application

Shopping Assistant is an application that allows the user to view the stores and visit them virtually using the mobile device without actually entering the store. This application offers the possibility to have a list of all the stores in the area, paths to follow to visit them, and keep favourite items to check later.

The architecture of Shopping Assistant defined by MC-ADL in Figure 9 shows that the application is deployed in a smartphone Samsung galaxy Edge 7 device, the internal memory capacity of the mobile device is 32GB, RAM of 4GB (intrinsic contextual information of the mobile device). The application offers several features, that are executed in the cloud using Vms allocated in data centre 1. Note that the service used is provided in a public cloud platform.

MC-ADL aims to provide a comprehensive perspective on the application and its cloud and mobile environment. We note that in the proposed architecture, Cloud’s details are defined at Data Centre Characteristics context, but details on the application and Cloud will be given during the simulation, as

some concepts are not taken into consideration when designing the application to build generic reusable entities. Therefore, separation of the architecture from the implementation details is needed.

The implementation of Shopping Assistant is done as a Java prototype to test its behaviour with CloudSim. The proposed code can be deployed in the Android environment easily. Functionalities of Shopping Assistant are described as Java classes presented in Table 1.

4.2 Analysing Shopping Assistant behaviour in cloud environment

One of the biggest downfalls of many mobile applications is their real or perceived response time. The importance of optimising the experience is to give the user the data they want as fast as possible or somehow distract them to retain their attention longer. Mobile users these days expect results in seconds. The expected response time of an application should not exceed one second, thus the response time of a Cloud based application not only depends on the application, but also on error rates and latency of the Cloud service.

One of the main objectives of the intertwining of Mobile Computing with Cloud Computing paradigm was to respond to performance issues for mobile applications. Therefore, with each proposed solution several questions arise. For example, the delegation of mobile functionality to the Cloud will improve application performance in terms of energy, but will infect the response time as explained above.

Page 8: MC-Sim: a mobile cloud simulation toolkit based on CloudSim · 2019-08-21 · 2010; Campbell et al., 2009) provides a testbed heterogeneous distributed DC for systems, applications

MC-Sim: a mobile cloud simulation toolkit based on CloudSim 79

Figure 9 Shopping assistant architecture

Table 1 Shopping assistant’s Java classes functionalities

Classes Functionalities

User-Account To collect, organise user’s information (Id, name, email address, etc.), and save it in CSV file

Check-In To identify users and access data, it also saves users preferences to use it later in recommendation class

Stores Represents stores and save their information (i.d. name, address, location)

Article Define the articles available in the stores: URL, ID, Image, Description Price

Wish-List A class that organises the articles selected by the user and the information stores that offer it

Up-Date-Data A class that provides the basic update given based on rental change and the addition of new stores

Main-Class The main class that implements the store search, the location and path display, and also the display of items available

The purpose of this case study is to prove that our hypothesis:

“Cloud must be intelligently exploited to improve the performance of mobile applications without having a negative effect and open the door to other concerns.”

We will study the performance of the application using a predefined cloud service and study its behaviour by stimulating its context awareness by introducing a change in the context Cloud. The second case aims to study how the application will take advantage of this change to optimise its response time.

Table 2 MC-AppCloudLet functionalities

MC-AppCloudLet Role

C1 Save stores’ data

C2 Save the user data

C3 Save data items

C4 Classify items according to price

C5 Classify according stores closest to farthest from the user in its current position.

C6 Update databases

C7 Search for the nearest shops

C8 Establish the preference list

C9 Post the nearest shops and the way forward to visit

Application as presented in its architecture (see Figure 9) shows its initial state where it uses a single service Cloud “Data Center1” to which it delegates all of its tasks. Representation of the internal structure of the Data Centre as described by CloudSim is given in Figure 10.

Figure 10 Data centre structure

Page 9: MC-Sim: a mobile cloud simulation toolkit based on CloudSim · 2019-08-21 · 2010; Campbell et al., 2009) provides a testbed heterogeneous distributed DC for systems, applications

80 M. Gherari et al.

The Data Centre used consists of a single host running three virtual machines to which are assigned three MC-AppCloudLet. The characteristics of the data centre (see listing 1) are saved in Cloud Information Service (CIS).

Listing 1 Data centre characterstic

CloudBroker assigns each MC-AppCloudLet the available virtual machines, after checking some constraints assignment. Each MC-AppClouLet is responsible for performing a function of Shopping Assistant as explained in Table 1.

In the contract associated with the application there is a term indicating the distributed execution on multiple services (data centres) if they exist. So running scenario ‘1’ follows the dynamic addition of a new DataCenter ‘2’ (see Figure 11), which causes the activation of the class “StartArcitecturalEvolution” in the package “Smart Cloud Gate”.

The “Smart Cloud Gate” package contains Java classes that establish a relationship between the simulation level and the architectural level. The order of execution and the role of each class are shown and explained as following.

Figure 11 Simulation scenario

Figure 12 Shopping assistant new version architecture

Page 10: MC-Sim: a mobile cloud simulation toolkit based on CloudSim · 2019-08-21 · 2010; Campbell et al., 2009) provides a testbed heterogeneous distributed DC for systems, applications

MC-Sim: a mobile cloud simulation toolkit based on CloudSim 81

The Contract-Reader class parses the XML file representing the contract to extract contextual information. The result of this function is a set of parameters that will be sent to the Evol-Param class to set the parameter model that comes as a second model in execution. The parameter model is a smaller version of the contract model that includes the necessary information to the architectural evolution. Finally, the Architecture-Evolution class executes the evolution policy that corresponds to the addition of a service. In this case, the service is provided by the same supplier in the same platform (see Figure 12).

4.3 Results discussion

A term in the MC-App Contract indicates the use of services available to share the execution of application components. The objective to define this term is to optimise response time to improve the performance of Shopping Assistant. We have verified that the scenario ‘1’ promotes the allocation of VMs by following “TimeSharedAllocationPlolicies” where the time allocated to each MC-App Cloudlet is based on number of instruction (each instruction is estimated to take only one millisecond to be executes), but the order of execution is organised sequentially. Adding a new Data Centre will set new allocation parameter that will allow the execution of some Cloudlet simultaneously to save time.

The initial state 0 of the application corresponds to the sequential execution of Cloudlet taking 673 ms as total execution time (i.e. response time). As for the state 1 in which the MC-Cloudlets (C1-C7, …) are running simultaneously, has caused a remarkable decrease of the response time, to 265 ms.

We see from the results in Figure 13 that the addition of a new service has improved the application performance significantly. The intelligent use of cloud based contract model was beneficial. Without the contract model, which models a kind of consciousness in the cloud, the application will continue to use the same service, ignoring the opportunity to exploit the novelty that can occur in the cloud.

Figure 13 Analytic study of response time MC-App CloudLets

5 Conclusion

We have presented in this paper a brief state of the art of cloud computing simulation tools, highlighting the lack of simulators for mobile cloud computing. We argue that the simulation offers means to test mobile applications according to different scenarios that can predict the application evolution during it life cycle (Cherait and Bounour, 2016). Motivated by this limit we have proposed Mobile Cloud Simulation toolkit based on CloudSim (MC-Sim). During the design of MC-Sim, we have settled the following objectives:

Exploit the generic, independent mobile cloud architecture model described via MC-ADL (Gherari et al., 2014a), to dynamically create simulation entities.

Foster a highly efficient simulation process by defining several simulation scenarios that run dynamically in certain order to fulfil any test requirements.

Simulating mobile cloud environment changes in terms of adding, modifying, or deleting cloud resources or mobile resources to foster a certain degree of adaptability of mobile cloud application.

In this first prototype of MC-SIM, the mobile cloud application task is directly assigned to be executed by a cloud service; we plan as future work to implement a decision algorithm to decide when and how to offload/delegate certain mobile cloud application tasks to the cloud.

References

Armbrust, M., Fox, A., Griffith, R., Joseph, A.D., Katz, R., Konwinski, A. et al. (2010) ‘A view of cloud computing’, Communications of the ACM, Vol. 53, No. 4, pp.50–58.

Avetisyan, A.I., Campbell, R., Gupta, I., Heath, M.T., Ko, S.Y., Ganger, G.R. et al. (2010) ‘Open cirrus: a global cloud computing testbed’, Computer, No. 4, pp.35–43.

Belalem, G., Tayeb, F.Z. and Zaoui, W. (2010) ‘Approaches to improve the resources management in the simulator CloudSim’, Information Computing and Applications. Springer, pp.189–196.

Buss, A. (2002) ‘Simkit: component based simulation modeling with Simkit’, Proceedings of the 34th Conference on Winter Simulation: Exploring New Frontiers.

Buyya, R. and Murshed, M. (2002) ‘Gridsim: a toolkit for the modeling and simulation of distributed resource management and scheduling for grid computing’, Concurrency and Computation: Practice and Experience, Vol. 14, Nos. 13–15, pp.1175–1220.

Calheiros, R.N., Ranjan, R., Beloglazov, A., De Rose, C.A.F. and Buyya, R. (2011) ‘CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms’, Software: Practice and Experience, Vol. 41, No. 1, pp.23–50.

Campbell, R., Gupta, I., Heath, M., Ko, S.Y., Kozuch, M., Kunze, M. et al. (2009) ‘Open CirrusTM cloud computing testbed: federated data centers for open source systems and services research’, Proceedings of the 2009 Conference on Hot Topics in Cloud Computing, USENIX Association.

Chang, X. (1999) ‘Network simulations with OPNET’, Proceedings of the 31st Conference on Winter Simulation: Simulation - A Bridge to the Future, Vol. 1, ACM.

Page 11: MC-Sim: a mobile cloud simulation toolkit based on CloudSim · 2019-08-21 · 2010; Campbell et al., 2009) provides a testbed heterogeneous distributed DC for systems, applications

82 M. Gherari et al.

Chen, M. (2004) OPNET Network Simulation, Press of Tsinghua University.

Cherait, H. and Bounour, N. (2016) ‘Rewriting rule-based model for aspect-oriented software evolution’, International Journal of Computer Applications in Technology, Vol. 54, No. 4, pp.266–278.

Dhaya, C. and Zayaraz, G. (2016) ‘Combined architectural framework for the selection of architectures using ATAM, FAHP and CBAM’, International Journal of Computer Applications in Technology, Vol. 54, No. 4, pp.350–361.

Flores, H. and Srirama, S. (2013) ‘Adaptive code offloading for mobile cloud applications: exploiting fuzzy sets and evidence-based learning’, Proceeding of the 4th ACM Workshop on Mobile Cloud Computing and Services, ACM.

Garg, S.K. and Buyya, R. (2011) ‘Networkcloudsim: modelling parallel applications in cloud simulations’, Utility and Cloud Computing (UCC), 4th IEEE International Conference on, IEEE.

Gherari, M., Abdelkrim, A. and Oussalah, M. (2014a) ‘Describing ubiquitous mobile cloud systems’, 1st International Conference on Information Technology for Organization Development (IT4OD), Tebessa, Algeria.

Gherari, M., Abdelkrim, A., Oussalah, M. and Laouar, R. (2014b) ‘Towards a smart cloud gate for smart devices’, 3rd IEEE International Colloquium in Information Science and Technology (CIST).

Huang, K., Kong, X. and Sandrasegaran, K. (2016) ‘Modelling software corrective maintenance productivity using an analytical economic model and simulation’, International Journal of Computer Applications in Technology, Vol. 54, No. 2, pp.77–88.

Kliazovich, D., Bouvry, P. and Khan, S.U. (2012) ‘GreenCloud: a packet-level simulator of energy-aware cloud computing data centers’, The Journal of Supercomputing, Vol. 62, No. 3, pp.1263–1283.

Kumar, K. and Lu, Y-H. (2010) ‘Cloud computing for mobile users: can offloading computation save energy?’ Computer, Vol. 4, pp.51–56.

Liu, J. and Nicol, D.M. (2001) DaSSF3.1 User’s Manual, Dartmouth College.

Liu, L., Wang, H., Liu, X., Jin, X., He, W.B., Wang, Q.B. and Chen, Y. (2009) ‘GreenCloud: a new architecture for green data center’, Proceedings of the 6th International Conference Industry Session on Autonomic Computing and Communications Industry Session, ACM.

Núñez, A., Vázquez-Poletti, J.L., Caminero, A.C., Castañé, G.G., Carretero, J. and Llorente, I.M. (2012) ‘iCanCloud: a flexible and scalable cloud infrastructure simulator’, Journal of Grid Computing, Vol. 10, No. 1, pp.185–209.

Sriram, I. (2009) ‘SPECI: a simulation tool exploring cloud-scale data centres’, Cloud Computing, Springer, pp.381–392.

Varga, A. (2001) ‘The OMNeT++ discrete event simulation system’, Proceedings of the European Simulation Multiconference (ESM’2001).

Varga, A. and Hornig, R. (2008) ‘An overview of the OMNeT++ simulation environment’, Proceedings of the 1st International Conference on Simulation Tools and Techniques for Communications, Networks and Systems & Workshops, ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering).

Wickremasinghe, B. (2009) ‘Cloudanalyst: a CloudSim-based tool for modelling and analysis of large scale cloud computing environments’, MEDC Project Report, Vol. 22, No. 6, pp.433–659.

Wickremasinghe, B., Calheiros, R.N. and Buyya, R. (2010) ‘Cloudanalyst: a CloudSim-based visual modeller for analysing cloud computing environments and applications’, Advanced Information Networking and Applications (AINA), 24th IEEE International Conference on, IEEE.