proposed ontology framework for dynamic resource provisioning on public cloud
TRANSCRIPT
http://www.iaeme.com/IJARET/index.asp 118 [email protected]
International Journal of Advanced Research in Engineering and Technology
(IJARET) Volume 7, Issue 2, March-April 2016, pp. 118–131, Article ID: IJARET_07_02_012
Available online at
http://www.iaeme.com/IJARET/issues.asp?JType=IJARET&VType=7&IType=2
Journal Impact Factor (2016): 8.8297 (Calculated by GISI) www.jifactor.com
ISSN Print: 0976-6480 and ISSN Online: 0976-6499
© IAEME Publication
___________________________________________________________________________
PROPOSED ONTOLOGY FRAMEWORK
FOR DYNAMIC RESOURCE
PROVISIONING ON PUBLIC CLOUD
Lata Gadhavi
Research Scholar, Department of Computer Science and Engineering,
Institute of Technology, Nirma University, Ahmedabad
Vishakha Modi
Student, Department of Computer Science and Engineering, SPBPEC,
Saffrony Institute of Technolopgy, Mehsana, Gujarat
Madhuri Bhavsar
Professor, Department of Computer Science and Engineering,
Institute of Technology, Nirma University, Ahmedabad
ABSTRACT
Cloud computing is an essential ingredient of today’s modern information
technology. Cloud computing is totally based on internet. With the use of
cloud computing resources can be shared from anywhere and anytime. In
cloud computing there are multiple users simultaneously requests for the
number of services and its important to provision all resources to user in
efficient manner to satisfy their requirements. To come out this problem in this
paper we had reviwed the different types of resource allocation strategies and
proposed an ontology based resource management framwork for dynamic
resource allocation. Ontology Framework contain four sections, each section
equipped with functionality to collect information regarding all resources
available in actual cloud deployment based on signed SLA agreement, and
then replies to the user with appropriate allocation.
Key words: Cloud Computing, Resource Allocation, Resource Management,
Ontology
Cite this Article: Lata Gadhavi, Vishakha Modi and Madhuri Bhavsar.
Proposed Ontology Framework for Dynamic Resource Provisioning on Public
Cloud. International Journal of Advanced Research in Engineering and
Technology, 7(2), 2016, pp. 118–131.
http://www.iaeme.com/IJARET/issues.asp?JType=IJARET&VType=7&IType=2
Proposed Ontology Framework for Dynamic Resource Provisioning on Public Cloud
http://www.iaeme.com/IJARET/index.asp 119 [email protected]
1. INTRODUCTION
Cloud computing is the common buzzword in today’s internet world. The National
Institute for Standards and Technology has defined “It is a model which enables
ubiquitous, convenient, on-demand network access to a shared pool of configurable
computing resources like networks, servers, applications and services that can be
rapidly provisioned and it released with minimal management effort or service
provider interaction”. This cloud model has five characteristics are On-demand self-
service, broad network access, resource pooling, rapid elasticity and measured
Service. As shown in figure1, there are three service models including IaaS, PaaS and
SaaS. SaaS is a software as a service delivered the software over browser and there is
no need to install and run applications on the customer’s computers. PaaS is a
platform as a service provider on which build, run, test and develop applications using
languages, libraries, services and tools supported by the provider [1]. IaaS is
infrastructure as a service providing the fundamental building block of cloud
resources as a service. It virtualized the resource like memory, processor, network,
CPU etc. There are four deployment models in cloud computing are private cloud,
public cloud, hybrid cloud and community cloud.
Figure1 Cloud Computing Infrastructure
Cloud computing is a model of service delivery and access where dynamically
scalable and virtualized resources are provided as a service over the Internet. The goal
of cloud computing is to provide on-demand computing services with high reliability,
scalability, and availability. One of the important requirements in cloud computing is
improve the performance of QoS parameters like response time, latency, throughput
etc.. All the QoS constraints, like throughput, response time and latency are dependent
on the mechanism of efficient resource allocation. In this paper we proposed an
ontology based resource management framework for the efficient dynamic resource
allocation in cloud computing. There are seven components which perform the job
Lata Gadhavi, Vishakha Modi and Madhuri Bhavsar
http://www.iaeme.com/IJARET/index.asp 120 [email protected]
allocation task in ontology based resource management system in cloud computing.
These components are job queue, job scheduling module, cloud ontology, VM
allocation module, VM monitoring module, fault tolerant module and accounting
module.
We discussed essentials of cloud computing in section II as Domain Analysis, in
Section III as Related Work, in Section IV as proposed architecture, in section V we
described ontology framework and in section VI concluded with future directions.
2. DOMAIN ANALYSIS
Resource allocation is one of the biggest challenge in cloud computing. In resource
management the main task is to allocate the appropriate resources to user according to
service level agreement which is initial agreement between cloud service provider and
cloud users. Resource allocation can be done by statically and dynamically on the
basis of the requirements of the user. Static resource allocation and dynamic resource
allocation of resources make use of the resources without violating SLA and it
satisfies the QOS parameters.
Resource allocation process can be divided in two levels. At the first level when
any application is come in the cloud, the load balancer who manages the load of the
system take this request and assign it to the physical machine. In second level when
any application receives multiple incoming requests, these requests should be assign
to a specific requested application .Example of Amazon EC2 is the example of same
process which uses elastic load balancing technique so it can scale up and scale down
resources on the basis of the requirements of customer. The main advantage of cloud
computing is no need to install any software and hardware to access the application,
to develop the any application and to host the application over the Internet in cloud
computing. In cloud compouting there are so many chances for hacking and phishing
attack on client data when we used public cloud.
In efficient resource allocation following types of situation needs to avoid [2]:
Resource Contention: This situation is created when there are two application wants
to access the same resources at the same time.
Resource Fragmentation: This situation is created when there are two or more
resources are isolated means there are so many resources available but lack of
adaptivness, they do not meet their requirements.
Scarcity of resources: This type of situation is created when there are limited
resources are available.
Over-Provisioning: This type of situation is created when the application gets more
resources than the demands.
Under-Provisioning: This type of situation is created when the application do not get
the requested resources because of fewer numbers of resources available.
TYPES OF RESOURCE ALLOCATION [2]
Resource provisioning can be classified in two type as below:
Static Provisioning: Applications which have unchanging requirements, on that time
static provisioning is used. In static provisioning the cloud service user make
contracts with cloud service provider, and on the basis of this contract cloud service
provider prepares the resources in advance before the service start. In static
provisioning cloud service user has to pay on monthly basis.
Proposed Ontology Framework for Dynamic Resource Provisioning on Public Cloud
http://www.iaeme.com/IJARET/index.asp 121 [email protected]
Dynamic Provisioning: Applications which have changing requirements ,on that
time dynamic provisioning techniques is used in which virtual machines can be
migrated to new compute nodes within the cloud. In dynamic provisioning ,if any
user need more than one resources it can be provided by service provider and if any
user do not need any resource it can be removed by service provider means in
dynamic provisioning customer is billed on a pay per use basis..
3. RELATED WORK
Resource provisioning techniques are used for efficient use of the cloud resources.
There are so many resource provisioning techniques are available. The resource
provisioning techniques are used for improve the performance of QOS parameters
(response time, throughput, availability, reliability etc), minimize the cost for cloud
user and maximize the resource utilization for cloud service provider, reduce the
power consumption and reduce the SLA violation. In this paper we had reviewed
various papers for dynamic resource allocation techniques in cloud computing and
these all are listed below.
Aman Kumar et al. in [3], presented the SLA aware an efficient Agent based
framework for resource allocation on SaaS level in cloud computing. This mechanism
contains five different agents and each agent performs the task to collect the
information about the all resources which are available in cloud based on Service
Level Agreement and then it replies to cloud user on basis of their requirements. In
this paper author had done resource computation and scheduling by using the vector
space model which retrieves the information. This model computes the similarity
coefficient based on two dimensional input set where one is set by cloud provider and
second is set by cloud user .In this paper author had work on SaaS level for reducing
the cost of building infrastructure through virtualization of resources.
Philipp Hoenisch et al. in [9], proposed an approach for automatically lease and
release the cloud resources based on knowledge of the current and future
requirements. In this paper author had proposed ViePEP called the Vienna Platform
For Elastic Process, for the self adaptive resource allocation for elastic process
execution. This ViePEP has been extended by proposing a prediction and reasoning
algorithm for elastic process execution. The reasoner is responsible for schedule the
services and allocates cloud resources to users on basis of their requirements in a cost
efficient way. Author had only proposed this method to scale in a horizontal way by
adding more virtual machines to the system.
Zhijia Chen et al. in[8], presented the self-adaptive prediction method using
ensemble model and subtractive-fuzzy clustering based fuzzy neural network for
dynamic and efficient resources allocation. Accurate resource demands prediction is
very important for efficient and dynamic resource allocation. For this purpose author
had analyzed the characters of users requirements and on basis of it prediction model
is constructed. They had adopt some predictors to compose the ensemble model and
the structure and learning algorithm for fuzzy neural network is researched. This
paper proposed the fuzzy c-means which is combined with the subtractive clustering
algorithm which is the subtractive-fuzzy clustering. In this paper results shows that
the method is effective for predicting the resources which demanded by user.
Weiwei Lina et al. in [11], proposed the dynamic resource allocation at the
application level, instead of studying how to map the physical resources to virtual
resources for better resource utilization in cloud computing. Author proposed a
threshold based dynamic resource allocation in which resources are dynamically
Lata Gadhavi, Vishakha Modi and Madhuri Bhavsar
http://www.iaeme.com/IJARET/index.asp 122 [email protected]
allocates the virtual resources among the application based on their requirements. To
come out this problem author had proposed Threhold based approach. Threshold
based dynamic resource allocation scheme is implemented by using Cloud Sim in this
paper. The experimental results of this paper show that the proposed method improve
the performance and also reduces the user cost.
Michael R. Head et al. in [10], proposed Virtual Hypervisor which allows the
solution managers to take improved decision for resource allocation regarding their
virtual machines. Cloud manger work as ultimate physical resource manager. This
paper introduced the novel resource allocation algorithm which represents how the
virtual hypervisor abstraction can be fully awared by the global cloud manager.
Author had proposed simulations to achieve fairer resource sharing and isolation
across different Virtual Hypervisor.
Rustem Dautov et al. in [6], proposed an ontology-driven approach to create a self
managing cloud platform. This ontology-driven approach is build on IBM’s MAPE-K
refrence model. MAPE-K model is used for designing closed adaption loops. In this
paper Author had introduced the basic concept of autonomic computing and ontology.
This paper presents how ontology and rules can be utilized to represent self –
reflective knowledge and define adaption policies.
Rui Han et al. in [7], proposed an elastic scaling approach which can be used for
detecting the cost aware criteria and also analyze the bottlenecks within multitier
cloud based application. In this paper, an adaptive scaling algorithm is used that
allows the cloud user to scale their application only at bottleneck tiers and represents
an intelligent platform that can automates the scaling process and because of that
reduces the costs for users of cloud infrastructure services .This approach is generic
for a wide class of multi-tier applications and had demonstrated its effectiveness
against other approaches.
Dr. Abeer Tariq AL_Obaidy et al. in [4] proposed cloud computing infrastructure
for the implementation of multi-agent based application. This multi agent based
applications make cloud adaptive means it becomes more flexible, autonomous. In
this paper author had used ontology by which agents can take wise decision. With the
use of multi agent system if any type of changes occurred in cloud computing
environment it can be easily handled by them. Information transferred between
different agents as java object and their no need to parse the string every time because
of that it reduce the response time and so many users can request for services.
4. PROPOSED ARCHITECTURE
When any cloud user wants to process any job, cloud service provider constructs
virtual machines called resources and these virtual machines provided to cloud user as
a service. These all virtual machines have characteristics which related to QoS. In this
mechanism the first step is the creation of SLA between the cloud user and cloud
service provider. This SLA agreement represents the properties of cloud resources and
the requirements of a cloud user and guarantees the quality of service to the cloud
user. The cloud service provider dynamically allocates a job to a specific virtual
machine based on SLA. To realize resource management in this paper we present an
architecture using ontology for cloud computing as shown in figure 2.
Proposed Ontology Framework for Dynamic Resource Provisioning on Public Cloud
http://www.iaeme.com/IJARET/index.asp 123 [email protected]
Figure 2 Ontology based resource management in cloud computing
In the above figure 2, cloud users sends requests for the resources to the cloud
system and to evalute the resources ontology based job allocation algorithm is
applied. The cloud service provider called administrator uses the web portal to create
a user account and register the QoS parameters and SLA. This all configuration are
save in system database and. In this mechanism resource controller or agent
continuously monitors the infrastructure and it collects the information which is
stored in ontology model. In this work we used optimization algorithm which analyze
the data and decide user’s requirements on basis of it is reconfigure if necessary to
distribute resources based on service level agreement.
5. ONTOLOGY FRAMEWORK
We proposed ontology framework which deals with information that is related to
cloud computing. The ontology word represents the meaning like the study of being
or existence [8]. The use of ontology defines the relationships and classifications of
concepts within a specified domain of knowledge. The use of ontology fall into an
infinite loop during the process of inference. In cloud computing the requirements of
cloud users are continuosly changed. To satisfies the requiremnts of users and to
improve the performance of QoS parameters, we proposed an ontology model which
deals with the dynamic resource allocation in cloud computing. In resource allocation
process it is very important to consider which type of resources is required and from
where these request are came.
Different phases we described as per below:
Service requirements: In this phase the number of resources needed by the users are
must be known by training datasets. All the requirements of users first recorded in
this database
Lata Gadhavi, Vishakha Modi and Madhuri Bhavsar
http://www.iaeme.com/IJARET/index.asp 124 [email protected]
Figure 3 Ontology Framework
Service discovery: It finds the resources which recorded in database in service
requirement phase.
Service composition: In this phase different resources provided by semantic cloud are
combined and delivered to the users application.
Service consumption: After the allocation of resources to the application, user
consumed resources as per their need and if it is not required then free it.
5.1 Job Allocation Process in the Ontology
As shown in the figure 4, interaction of various components are described using
sequence diagaram. To present the flow of resource managemnet various components
like job queue, job scheduling module, cloud ontology, VM allocation module, VM
monitoring module, fault tolerant module and accounting module are included in the
figure 4.
The job queue component stores the request which is coming from cloud users in
consecutive order. The task of job scheduling module to create a schedule in order to
assign jobs to VMs. Cloud ontology defines concepts underlying the proposed system
for cloud computing and describe their relations. The VM allocation module performs
the task of allocating VMs to physical resources after the job are scheduled and
assigned to each VM. The VM monitoring component monitors the state of virtual
machines and their resource information. This information is transmitted to cloud
ontology which performs job scheduling. If any failure is shown, the VM monitoring
module informs to the fault tolerance module .The task of fault tolerance modul to
find an alternative resource and transmits the feed back to the VM monitoring
module. The accounting module checks the users requirements based on SLA and
bills costs of cloud service usage. Virtual machines are composed of resources from
physical machines and performes dynamic resource allocation.
Proposed Ontology Framework for Dynamic Resource Provisioning on Public Cloud
http://www.iaeme.com/IJARET/index.asp 125 [email protected]
Figure 4 Job Allocation Process in ontology
5.2 System Algorithm
Ri User request;
Vm Virtual machines;
Tr threshold value;
Or Resource ontology;
Intialize job schedular
Init();
Vm has no of virtual machines={Vm1,Vm2,.........Vmn};
Tr[ ]=threshold value of {Vm1,Vm2,......Vmn};
Ri[ ]= no of user request ;
Or[ ]= resource prediction via ontology;
Check predicted resources & relations and match with current infrastructure(check the
no of Vm in particular regions or cluster)
if No of requests > no of available Vm then
Scale up Vm
Else
Scale down Vm
In scale down process check current usage
If current CPU utilization ==0 then
scale down the server
else
refresh no of Vm
For Monitoring Current infrastructure
Vm has no of virtual machines Vm1,vm2,.....Vmn;
Vector [ ] thershold valueof {Vm1,Vm2.....Vmn}
Lata Gadhavi, Vishakha Modi and Madhuri Bhavsar
http://www.iaeme.com/IJARET/index.asp 126 [email protected]
For i=0 to n virtual machines Vm
If no of virtual machines Vm > threshold value th
Scale up Vm
Else if no of virtual machines Vm < threshold value th
Allocate virtual machines to User request Ri
Else refresh and wait for next requests
End if
6. THE SETUP
To implement and validate the proposed framework functionality initially, we code
this framework in ECLIPSE MARS.2 and used public cloud called Amazon web
service Amazon EC2. The machine which hosts the public cloud is having
configuration, a minimum of 500GB disk space and 8GB RAM to deploy the Amazon
Web Service public cloud with windows 8 operating system. The current
implementation block view is shown in below figure 6.
Figure 6 Block diagram of the setup
This Activity block diagram applied for the efficient dynamic resource allocation
using ontology and displayed following results.
Figure 7 Values for QoS parameters
Proposed Ontology Framework for Dynamic Resource Provisioning on Public Cloud
http://www.iaeme.com/IJARET/index.asp 127 [email protected]
Above figure 7 represents, efficient dynamic resource allocation on public cloud
(Amazon web services). Here we considered the evalution parameters like response
time, network latency and throughput. It checks the total CPU utilization to scale up
and scaledown instances. It shows CPU utilization 0% and based on it instance is
scaled down.
As shown in figure 8 ,one instance is being stopped after scale down and only one
instance is in running state.
Figure 8 Scale down instance
The figure 9 shows output for QOS parameters values which repeat after fix time
span. Here CPU utilization is still 0%, so again scale down one instance. There is only
one instance is in running state, so no need to scale down the instance .
Figure 9 Value of QoS parameters repeat after fix time span
Lata Gadhavi, Vishakha Modi and Madhuri Bhavsar
http://www.iaeme.com/IJARET/index.asp 128 [email protected]
As shown in below figure 10 and 11 there are no of requests coming from
different regions and count how many requests are coming from different regions.
These all requests are stored in database
.
Figure 10 No of Request from different regions
Proposed Ontology Framework for Dynamic Resource Provisioning on Public Cloud
http://www.iaeme.com/IJARET/index.asp 129 [email protected]
Figure 11 No of Request from different regions
The below figure 13, represents howmany percentage CPU utilization is done in
last one hour after every 5 minute..
Figure 13 CPU utilization (percentage) Figure 14 Network in (Bytes)
The Figure 14 and Figure 15 represents the how many bytes are come in and goes
out of network for last one hour after every 5 minutes gape.
Lata Gadhavi, Vishakha Modi and Madhuri Bhavsar
http://www.iaeme.com/IJARET/index.asp 130 [email protected]
Figure 15 Network out (Bytes)
7. CONCLUSION AND FUTURE WORK
In this paper, we had presented two types of efficient resource provisioning
techniques, one of them is Static resource provisioning and second one is dynamic
resource provisioning techniques. We introduced an idea of how ontologies and rules
could be utilized in order to represent the internal knowledge of the platform to
provide reasoning over prior knowledge. With the use of ontologies, we can provide
benefits like automation, reliability and separation of concerns. To improve the
performance of public cloud, we implemented ontology method which considered
QoS parameters for specific application and manipulated comparison between
conventional and dynamic cloud enviornment. Proposed ontology algorithm will be
implemented on cloud environment for dynamic resources provisioning to the specific
applications.
REFERENCES
[1] B.Rajasekar, S.K.Manigandan, An Efficient Resource Allocation Strategies In
Cloud Computing, International Journal of Innovative Research in Computer and
Communication Engineering, February-2015, pp 1239-1241.
[2] V.Vinothina, Dr. R. Sridaran, Dr. Padmavathi Ganapathi, A Survey on
Resource Allocation Strategies in Cloud Computing, International Journal
Advanced computer Science and Applicatsions, 2012, page 97-98.
[3] Aman Kumar, Emmanuel S. Pilli and R. C. Joshi, An Efficient Framework
for Resource Allocation in Cloud Computing, 4th International Conference on
Computing Communication and Networking Technologies, July-2013, page
1-6 .
[4] Abeer Tariq AL Obaidy, and MayadaM.Shihab Al Doori, The Future for
Adaptive Software Development in Cloud Computing Environment Using
Multi Agent System, Eng &Tech. Journal, 2015. pp 25-36.
[5] Thomas C.J, Just What Is an Ontology, Anyway?, IEEE society,
September/October 2009. Pp 22-27.
Proposed Ontology Framework for Dynamic Resource Provisioning on Public Cloud
http://www.iaeme.com/IJARET/index.asp 131 [email protected]
[6] Rustem Dautov , Iraklis Paraskakis, Dimitrios Kourtesis, An Ontology-driven
Approach to Self-management in Cloud Application Platforms, South-East
European Research Centre (SEERC), 2012, pp 1-12.
[7] Rui Han, Moustafa M. Ghanem, Li Guo, Yike Guo, Michelle Osmond,
Enabling cost-aware and adaptive elasticity of multi-tier cloud applications”
Future Generation computer Systems , 2012.pp 1–17.
[8] Zhijia Chen, Yuanchang Zhu, Yanqiang Di, and Shaochong Feng, Self–
Adaptive Prediction of Cloud Resource Demands Using Ensemble Model and
Subtractive-Fuzzy Clustering Based Fuzzy Neural Network, Computational
Intelligence and Neuroscience, volume 2015, page 1-14.
[9] Philipp Hoenisch, Stefan Schulte, Schahram Dustdar, Srikumar Venugopal,
Self-Adaptive Resource Allocation for Elastic Process Execution ,6th
International conference on cloud computing, 2013, page 220-227.
[10] Michael R. Head, Andrzej Kochut, Charles Schulz and Hidayatullah Shaikh,
Virtual Hypervisor Enabling Fair and Economical Resource Partitioning in
Cloud Environments, Network operation and managemnet symposium ,
IEEE-2010, pp 104-111.
[11] Shobha B. Patil, S.K. Shirgave. Enriching Search Results Using Ontology.
International Journal of Computer Engineering and Technology, 4(3), 2013,
pp. 500–507.
[12] N. A. Joshi. Dynamic Load Balancing In Cloud Computing Environments.
International Journal of Advanced Research in Engineering and Technology,
5(10), 2014, pp. 201–205.
[13] Sujay Pawar and Prof. Mrs. U. M. Patil. A Survey on Secured Data
Outsourcing In Cloud Computing. International Journal of Computer
Engineering and Technology, 4(3), 2013, pp. 70–76.
[14] Weiwei Lina, James Z. Wangb, Chen Liangc, Deyu Qia, A Threshold-based
Dynamic Resource Allocation Scheme for Cloud Computing, sciverse
science direct, procedia engineering,2011,page 695-703
[15] https:// aws.amazon.com /documentation/ec2, Amazon web service EC2
overview.