Ranking Components using FTCloud for Fault- Tolerant Cloud Applications

advertisement
International Journal of Engineering Trends and Technology (IJETT) – Volume 9 Number 5 - Mar 2014
Ranking Components using FTCloud for FaultTolerant Cloud Applications
Ms. V. Asha Judi#1, Mr. C. Sathish*2
#
Student,*Assistant Professor
Department of Computer Science and Engineering
Regional Centre of Anna University
Tirunelveli (T.N) India
Abstract— Building highly reliable cloud applications is a
challenging and critical research problem.FTCloud framework is
introduced to solve this issue in cloud environment.FTCloud is a
component ranking based framework for building fault-tolerant
cloud applications.It consists of two algorithms.FTCloud1 uses
component invocation structures and invocation frequencies for
finding significant components.FTCloud2 fuses the system
structure information as well as component characteristics to
identify the significant components in a cloud application.This
paper proposes VM Restart technique, an fault tolerant strategy
based on cloud features which increases the reliability of cloud
application Experimental results shows that the effectiveness of
FTCloud by tolerating faults of a small part of the most
significant components, the reliability of cloud application can be
greatly improved.
Keywords— Component Ranking,Significant Component,Fault
Tolerance,VM Restart,Cloud Applications,Reliability.
I. INTRODUCTION
Cloud computing is a technology that uses the internet and
central remote servers to maintain data and applications.
Cloud computing allows consumers and businesses to use
applications without installation and access their personal files
at any computer with internet access. It is the adoptable
technology as it provides integration of software and resources
which are dynamically scalable.
Unfortunately, the reliability of the cloud
applications is still far from perfect in reality. Nowadays, the
demand for highly reliable cloud applications is becoming
unprecedentedly strong. Building highly reliable clouds
becomes a critical, challenging, and urgently required research
problem. In traditional software reliability engineering, there
are four main approaches to build reliable software systems,
i.e., fault prevention, fault removal, fault tolerance, and fault
forecasting. Fault Tolerance is one of the key issues of cloud
computing. Fault Tolerance is concerned with all the
techniques necessary to enable a system to tolerate software
faults. These software faults may or may not manifest
themselves during systems operations, but when they do,
software fault tolerant techniques should provide the
necessary mechanisms of the software system to prevent
system failure occurrences. Fault tolerance techniques are
employed during the procurement, or development, of the
ISSN: 2231-5381
software. When a fault occurs, these techniques provide
mechanisms to the software system to prevent system failure
from occurring.Fault Tolerance policies can typically be listed
into two sets: reactive fault tolerance policies and proactive
fault tolerance policies. While reactive fault tolerance policies
reduces the effect of failures on application execution when
the failure effectively occurs; proactive fault tolerance policies
keeps applications alive by avoiding failures through
preventative measures. The principle of proactive action is to
avoid clouds from faults, errors and failures by predicting
them and proactively replace the suspected components by
other correctly working components providing the same
function. In this paper, we propose a component ranking
framework, named FTCloud, for building fault-tolerant cloud
applications.
A. Component Ranking
Ranking cloud components is an important topic in cloud
environment.This ranking outcomes the most significant
software components. Significant components in complex
cloud applications are identified and a ranking based
framework is used to build fault-tolerant cloud applications. A
component ranking algorithm identifies the critical and noncritical components. The system designer provides the initial
architecture design of a cloud application. A component graph
is built for the cloud application based on the component
invocation relationships.Significance values of cloud
components are calculated by employing component ranking
algorithms. Based on the significance values, the components
can be ranked.The most significant components in the cloud
application are identified based on the ranking results. There
are a number of fault-tolerance strategies. The designer may
not be an expert on software fault tolerance. It is a challenging
task for the application designer to find out the optimal faulttolerance strategies for the significant cloud components.
FTCloud is proposed to improve the reliability of newly
developed cloud applications, which identifies the most
significant components depending on the structure
information
and
expert
knowledge
of
critical
components.Fault tolerance strategies such as Recovery
Block,Non-version Programming(NVP),Parallel and VM
Restart strategies are used. Features of this paper as follows,
http://www.ijettjournal.org
Page 213
International Journal of Engineering Trends and Technology (IJETT) – Volume 9 Number 5 - Mar 2014




It identifies the problem of ranking the significant
components and proposes a FTCloud framework to
address the problem.FTCloud represents the fault tolerant
framework by ranking the cloud components.
It uses the information of component invocation
structures,invocation frequencies and the component
characteristics i.e whether critical or non-critical
components.
It provides many fault tolerant strategies like Recovery
Block,NVP,Parallel and VM Restart.
The optimal FT selection is based on the user constraints
such as time and cost.
II. RELATED WORK
A. Ranking and Fault Tolerance for improving Reliability
Since this work explores the issue of building highly reliable
cloud applications.
A novel graph-representation model [2] of a software
component library (repository), called component rank model.
This is based on analyzing actual usage relations of the
components and propagating the significance through the
usage relations. Using the component rank model, we have
developed a Java class retrieval system named SPARS-J and
applied SPARS-J to various collections of Java files. The
result shows that SPARS-J gives a higher rank to components
that are used more frequently.As a result, software engineers
looking for a component have a better chance of finding it
quickly
Selection Framework for Fault Tolerant Web Services [3]
Web services are becoming popular. Reliability of the serviceoriented applications becomes difficult to be guaranteed.
Remote Web services may contain faults.It may become
unavailable.The Internet environment is unpredictable.
The Methodology of N-Version Programming [5] an Nversion software (NVS) unit is a fault tolerant software unit
that depends on a generic decision algorithm to determine a
consensus result from the results delivered by two or more
member versions of the NVS unit. The process by which the
NVS versions are produced is called N-version programming
(NVP). The major objectives of the NVP process are to
maximize the independence of version development and to
employ design diversity in order to minimize the probability
that two or more member versions will produce similar
erroneous results that coincide in time for a decision
(consensus) action.
A QoS Aware Fault Tolerant Middleware for Dependable
Service Composition [6] a systematic framework of fault
tolerant Web services.User-collaborative QoS model of Web
services. Various commonly-used fault tolerance strategies for
Web services are Web service QoS composition model.
Optimal fault tolerance strategy selection algorithms for
stateless and stateful Web services.
ISSN: 2231-5381
Recovery Block [7] approach attempts to prevent residual
software faults from impacting on the system environment,
and it is aimed at providing fault-tolerant functional
components which may be nested within a sequential
program.
Byzantine Fault-Tolerant Web Services [9] achieving
Byzantine Fault Tolerance (BFT) requires a higher degree of
replication since failures may be caused by malicious attacks
and arbitrary software or hardware errors. Recent research has
yielded practical algorithms for Byzantine fault tolerant
execution of passive services.
VM Fault Tolerance [10] proposes failures of VM failures is
detected and it is organised as follows: (1) the customer level
requests the cloud to free the failed VM; (2) it allocates a new
VM; (3) it deploys and starts the servers that were running on
the failed VM; and (4) it restores the state of these servers in
case of statefull servers.
Scenario-Based Reliability Analysis (SBRA) [11] proposes a
probabilistic model named Component-Dependency Graph
(CDG). Based on CDG, a reliability analysis algorithm is
developed to analyze the reliability of the system as a function
of reliabilities of its architectural constituents. These can be
categorized as: 1) System-level reliability estimation and 2)
Component-based reliability estimation.The application
reliability is estimated using the reliability of the individual
components and their interconnection mechanisms
Configurable Composition and Adaptive Provisioning of Web
Services(CCAP) [12] a system that provides tools for adaptive
service composition and provisioning. a composition model
where service context and exceptions are configurable to
accommodate needs of different users. This allows for
reusability of a service in different contexts and achieves a
level of adaptiveness and contextualization without recoding
and recompiling of the overall composed services.The
execution semantics of the adaptive composite service is
provided by an event-driven model. This execution model is
based on Linda Tuple Spaces and supports real-time and
asynchronous communication between services.
III. PROPOSED SYSTEM
Reliability is a very important factor in the cloud environment
for fault tolerant applications.This factor is improved better by
introducing the VM restart technique in this paper.This paper
mainly focus on improving the reliability for fault tolerant
cloud applications.VM Restart is a fault tolerant technique
which is similar to the RB strategy.It requires no extra
resources.It can tolerate non-transient hardware crash faults
such as disk failures but it can also increases the response time.
The Component Graph is built based on the component
invocation relationships.The Significant values are calculated
by ranking algorithms. The component ranking results and the
selected fault-tolerance strategies for the significant
components are returned to the system designer for building a
reliable cloud application.
http://www.ijettjournal.org
Page 214
International Journal of Engineering Trends and Technology (IJETT) – Volume 9 Number 5 - Mar 2014
FTCloud2.The Significant values generated by FTCloud1 is
based on the component invocations links of the component
graph.Since it is named as Structure-Based Component
Ranking.It is calculated as,
V(cᵢ)=
+
∑
( ᵢ)
( )
(
ᵢ )(2)
where n is the number of components and N(ci) is the set of
components that invoke component ci.d is the parameter is to
adjust the significance values derived from other
components(0≤d≤1).
The Significant values generated by FTCloud2 is based on the
characteristics of components i.e whether critical or noncritical as well as the system structure.If a component is
critical component,it is calculated as,
V(cᵢ)= (1 − ) | | + ∑
( ᵢ)
(
) (
ᵢ)(3)
If a component is non-critical component,it is calculated as,
V(cᵢ)=(1 − ) |
Fig.1 System Architecture of FTCloud
A. VM Restart Technique
In the existing system, Fault Tolerance is achieved by three
strategies.The Optimal Strategy is selected by the user
constraints such as time and cost.FTCloud2 achieve better
ranking than FTCloud1 using significance values of
component which is shown in the figure 8. To improve the
reliability of fault tolerant cloud applications, this paper
proposed VM Restart technique.
1) Component Graph Building:
The component graph is built from the extracted components
of cloud applications.It is modelled as a weighted directed
graph where nodes in the graph represents a component and a
directed edge from a node to another node represents a
component invocation relationship.The weight value of an
edge eij can be calculated by,
W(eij)=∑
(1)
where frqij is the invocation frequency of component cj by
component ci, n is the number of components and frqij=0 if
component ci does not cj.
2) Significant Value Calculation:
The significant values can be calculated by the ranking
algorithms.The two ranking algorithms are FTCloud1 and
ISSN: 2231-5381
|
+ ∑
( ᵢ)
(
)
(
ᵢ)(4)
where |C| and |NC| are the numbers of critical and non-critical
components,β is employed to determine how much the hybrid
approach relies on the critical and non-critical components.
3) Fault-Tolerance Strategies:
The Fault-Tolerance is adopted to increase the overall system
reliability.The fault tolerance is achieved by calculating the
failure probability of the components.The probability that an
invocation to a component will fail is considered as the failure
probability.
Recovery Block: Failure probability incase of Recovery Block
strategy is calculated by,
f=∏
(5)
where n is the number of redundant components and fi is the
failure probability of the ith component.
NVP: The failure probability f of an NVP module can be
computed by,
f=∑
/
( )(6)
where n is the number of functionally equivalent
components(n is odd) and F(i) is the probability that i
alternative components from all the n components fail.
Parallel: The failure probability f of a parallel strategy can be
computed by,
http://www.ijettjournal.org
Page 215
International Journal of Engineering Trends and Technology (IJETT) – Volume 9 Number 5 - Mar 2014
f=∏
(7)
where n is the number of redundant components and fi is the
failure probability of the ith component.
VM Restart: The failure probability f of this strategy can be
computed by,
f=∏
(8)
VM Restart is similar to RB but does not require extra
resources.It introduces overhead(OH) to initialize the virtual
machines.
4) Optimal FT Strategy Selection
The Optimal FT Strategy Selection Algorithm is achieved
with the satisfaction of user constraints.Two user constraints
such as time and cost are considered.
Fig. 3 Significant Value Generation
IV. SIMULATION AND RESULTS
The Component Graph is built from the extracted cloud
components.The Ranking is done by the calculated significant
values.Fault Tolerance strategies are used for FTCloud
applications.Parallel Strategy recovers all failure components
than RB and NVP strategies.VM Restart improves the
reliability of cloud applications.
Fig. 4 Component Ranking
Fig. 2 Component Graph
Fig. 5 Recovery Block
ISSN: 2231-5381
http://www.ijettjournal.org
Page 216
International Journal of Engineering Trends and Technology (IJETT) – Volume 9 Number 5 - Mar 2014
V. CONCLUSIONS
In this paper, the components are ranked by the significant
component values.FTCloud2 has much lower failure
probability as compared to FTCloud1 which is shown in
figure 8.The Fault Tolerance strategies are applied based the
user constraints such as time and cost.VM Strategy results
improvement in the reliability so that the fault tolerant cloud
applications are developed.
REFERENCES
[1]
[2]
[3]
Fig. 6 NVP and Parallel
[4]
[5]
[6]
[7]
[8]
[9]
[10]
Fig. 7 Optimal FT Strategy Selection
The Ranking is done
by the Significant Values
generated.The Failure Probability of FTCloud2 is decreases
when compared to FTCloud1.
[11]
[12]
Z. Zheng, C. Zhou, M. R. Lyu, and I. King, “Component Ranking for
Fault-Tolerant Cloud Applications,” IEEE Trans. Service Computing,
vol. 5, no. 4, pp. 540-550,Oct-Dec. 2012.
K. Inoue, R. Yokomori, T. Yamamoto, M. Matsushita, and
S.Kusumoto, “Ranking Significance of Software Components Based
on Use Relations,” IEEE Trans. Software Eng., vol. 31, no. 3, pp. 213225, Mar. 2005.
Z. Zheng and M.R. Lyu, “A Distributed Replication Strategy
Evaluation and Selection Framework for Fault Tolerant Web Services,”
Proc. Sixth Int’l Conf. Web Services, pp. 145-152, 2008.
G.-W. Sheu, Y.-S. Chang, D. Liang, S.-M. Yuan, and W. Lo, “A FaultTolerant Object Service on Corba,” Proc. 17th Int’l Conf. Distributed
Computing Systems (ICDCS ’97), pp. 393-400, 1997.
A.
Avizienis,
“The
Methodology
of
N-Version
Programming,”Software Fault Tolerance, M.R. Lyu, ed., pp. 23-46,
Wiley, 1995.
L. Zeng, B. Benatallah, A.H. Ngu, M. Dumas, J. Kalagnanam, and H.
Chang, “QoS-Aware Middleware for Web Services Composition,”
IEEE Trans. Software Eng., vol. 30, no. 5, pp. 311-327, May 2004.
B. Randell and J. Xu, “The Evolution of the Recovery Block Concept,”
Software Fault Tolerance, M.R. Lyu, ed., pp. 1-21, Wiley, 1995.
T. Yu, Y. Zhang, and K.-J. Lin, “Efficient Algorithms for Web
Services Selection with End-to-End QoS Constraints,” ACM
Trans.Web, vol. 1, no. 1, pp. 1-26, 2007.
S.L. Pallemulle, H.D. Thorvaldsson, and K.J. Goldman, “Byzantine
Fault-Tolerant Web Services for N-Tier and Service Oriented
Architectures,” Proc. 28th Int’l Conf. Distributed Computing Systems
(ICDCS ’08), pp. 260-268, 2008.
Alain Tchana, Laurent Broto, Daniel Hagimont,”Fault Tolerant
Approaches in Cloud Computing Infrastructures”, The Eighth
International Conference on Autonomic and Autonomous Systems,
ICAS 2012 .
S.M. Yacoub, B. Cukic, and H.H. Ammar, “Scenario-Based Reliability
Analysis of Component-Based Software,” Proc. Int’l Symp. Software
Reliability Eng. (ISSRE ’99), pp. 22-31, 1999.
Q.Z. Sheng, B. Benatallah, Z. Maamar, and A.H. Ngu, “Configurable
Composition and Adaptive Provisioning of Web Services,” IEEE Trans.
Services Computing, vol. 2, no. 1, pp. 34-49, Jan.-Mar. 2009.
Fig. 8 Failure Probability of FTCloud1 vs FTCloud2
ISSN: 2231-5381
http://www.ijettjournal.org
Page 217
Download