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