Component Recommendation for Cloud Applications Zibin Zheng

Michael R. Lyu

The Chinese University of Hong Kong Hong Kong, China

The Chinese University of Hong Kong Hong Kong, China

[email protected]

[email protected]

ABSTRACT Cloud computing is becoming popular nowadays. Building highly reliable cloud applications is a great challenge since the cloud applications are usually large-scale, complex, and include a lot of distributed components. In this paper, we propose a significant component recommendation framework for the cloud applications to attack this challenge. Our approach employs the component invocation relationship to compute significant values of components. The most significant components can be identified efficiently and effectively by our approach.

1. INTRODUCTION Cloud computing is a style of computing, in which resources (e.g. infrastructure, software, applications, etc) are sharing among the cloud service consumers, cloud partners, and cloud vendors in the cloud value chain. Cloud computing is increasingly popular these recently years. The leading industry companies (e.g., Microsoft, Google, IBM, Amazon, etc.) strongly promote this new computing paradigm. Applications running on such cloud environment are taken as cloud applications. Cloud applications, which usually involve a number of distributed components, are becoming ever larger and more complex. The demand for highly reliable cloud applications is becoming stronger. Before enterprises transfer their critical systems to the cloud environment, one question they ask is: Can clouds become as reliable as the power grid achieving 99.999% uptime? In the current stage, the reliability and availability of cloud applications are still far from perfect. Designing approaches to build highly reliable and robust clouds is a critical, challenging, and urgently-required research problem. Reconfigurability is a main feature of cloud computing. When designing or reconfiguring a cloud application, recommendation algorithms for significant components can help the designers and developers to better cope with the hug amount of component information in a cloud and to discover the most important components efficiently and effec-

tively. By identifying the significant components from the large number of distributed components of a cloud application, the designers can employ various reliability enhancement techniques to make sure that the important components are reliable. The reliability of the whole system can thus be improved within the budget. In this paper, we propose a component recommendation framework for cloud applications by employing the component invocation relationships. In our approach, the components which are invoked frequently by other important components are considered to be more important. This is because their failures will have a great impact to the whole system. In the following of this paper, Section 2 presents the significant component recommendation approach, Section 3 shows related work and discussion, and Section 4 concludes the paper.

2.

RECOMMENDATION FRAMEWORK

The target of our recommendation framework is to measure the importance of components in cloud applications based on the application structures and the component invocation frequencies. As shown in Figure 1, firstly, a component graph is built for a cloud application. Then, a component ranking algorithm is run to measure the importance of the components. Finally, the most significant components of the cloud application are recommended to the application designer. The details of these three phases are introduced in Section 2.1 to Section 2.3, respectively.

2.1

Component Graph Building

A cloud application can be modeled as a weighted directed graph G, where a node ci in the graph represents a component and a directed edge eij from node ci to node cj represents a component invocation relationship (ci invokes cj ). Each node ci in the graph G has a nonnegative significant value SV (ci ), which is between 0 and 1. Each edge eij in the graph also has a nonnegative weight W (eij ), which is also between 0 and 1. For each node ci , the sum of weights of the outgoing edges is equal to 1: ∑ W (eij ) = 1, (1) j∈M (ci )

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. RSSE ’10, May 2-8 2010, Cape Town, South Africa Copyright 2010 ACM 978-1-60558-974-9/10/05 ...$10.00.

where M (ci ) is a set of nodes that ci invokes. W (eij ) = 0 if there is no edge from ci to cj (ci does not invoke cj ).

2.2

Component Ranking

In a cloud application, some components are invoked more often than others. These components are considered to be more important, since the failure of these components will

Cloud Application

Component Graph Building Legend

Input/output of phases Input/output data

Significant Component Recommendation

Component Ranking

Graph

Significant Components

Significant Values

Figure 1: Recommendation Framework for Significant Components influence a lot of other components and thus have greater impact to the whole system. Intuitively, these components (named as significant components) are the ones that have many invocation links coming in from other frequently invoked components. To measure the significant values of different components in a cloud application, we propose an algorithm as follows: 1. Assign initial numerical scores between 0 and 1 to the components in the graph. 2. Calculate weights of the edges by the following equation: fij W (eij ) = ∑n , (2) j=1 fij where fij is the invocation frequency of component cj by component ci and n is the number of components. In this way, the component which is invoked more frequently contains larger weights. By Eq. (2), an n × n transition probability matrix P can be obtained for a component graph, where each entry pij in the matrix is the value of W (eij ). 3. Employ the following equation to compute the significant value for a component ci : ∑ 1−d SV (ci ) = +d (SV (ck )W (eki )), (3) n k∈N (ci )

where n is the number of components, d is a parameter with value between 0 and 1, and N (ci ) is a set of components that invoke component ci . Consequently, a component ci has larger significant value if it is invoked by a lot of significant components (large SV (ck ) values) frequently (large W (eki ) values). In vector form, we can write Eq (3) as:       SV (c1 ) (1 − d)/n SV (c1 )      .. .. .. t  =  + dP   , (4) . . . SV (cn ) (1 − d)/n SV (cn ) where P t is the transposed matrix of the transition probability matrix P . 4. Solve the above problem by computing the eigenvector with eigenvalue 1 or by repeating the computation until all significant values become stable. With the above approach, the significant value of a component ci is determined by the number of components that invoke ci , the significant weights of these components, and how often ci is invoked by these components.

2.3 Significant Component Recommendation Based on the significant values of the components in the cloud application, the components can be ranked and the top k (1 ≤ k ≤ n) most significant components will be recommended to the designer of the cloud application. In this way, the application designer can identify significant components early at the architecture design time and can employ various techniques to guarantee the reliability and performance of these significant components.

3.

RELATED WORK AND DISCUSSIONS

The recommendation approach of this paper is based on intuition that the significant components of cloud applications can be effectively identified by using a similar approach as Google PageRank [1] (a ranking algorithm for Web page searching) or SPARS-J [2] (software product archieing and retrieving system for Java). Different from the PageRank model and the SPARS-J model where the weights of different outgoing links are identical, invocation frequencies of the invocation links are explored when calculating the weights of edges in our model. Moreover, instead of Web page searching (PageRank) or component searching (SPARS-J), the target of our approach is identifying significant components for the cloud applications. By employing an approach proposed in our work [3], component reliability can be predicted early at design time. In this work, instead of component reliability prediction, we focus on component ranking employing the component invocation structure as well as the invocation frequency.

4.

CONCLUSION AND FUTURE WORK

This paper proposes a significant component recommendation framework for cloud applications. In our approach, whether a component ci is a significant component or not is determined by the number of components that invoke ci , the significant weights of these components, and how often ci is invoked by these components. Currently, the weights of edges are calculated only by the invocation frequencies. In our future work, more factors will be considered for computing the weights. Our ongoing research also includes real-world experiments to verify our approach and the involvement of component quality information for better component recommendation.

Acknowledgement The work described in this paper was fully supported by a grant (Project No. CUHK4154/09E) from the Research Grants Council of Hong Kong, China.

5.

REFERENCES

[1] S. Brin and L. Page. The anatomy of a large-scale hypertextual web search engine. In Proc. 7th Int’l Conf. World Wide Web (WWW’98), 1998. [2] K. Inoue, R. Yokomori, T. Yamamoto, M. Matsushita, and S. Kusumoto. Ranking significance of software components based on use relations. IEEE Trans. Software Engineering, 31:213–225, 2005. [3] Z. Zheng and M. R. Lyu. Collaborative reliability prediction for service-oriented systems. In Proc. 32th Int’l Conf. Software Eng. (ICSE’10), 2010.

Component Recommendation for Cloud Applications - Semantic Scholar

with eigenvalue 1 or by repeating the computation until all significant values become stable. With the above approach, the significant value of a component ci is ...

74KB Sizes 7 Downloads 328 Views

Recommend Documents

Component Recommendation for Cloud Applications
Cloud computing is a style of computing, in which re- sources (e.g. infrastructure, software, applications, etc) are sharing among the cloud service consumers, ...

Context-Aware Query Recommendation by ... - Semantic Scholar
Oct 28, 2011 - JOURNAL OF THE ROYAL STATISTICAL SOCIETY,. SERIES B, 39(1):1–38, 1977. [5] B. M. Fonseca, P. B. Golgher, E. S. de Moura, and. N. Ziviani. Using association rules to discover search engines related queries. In Proceedings of the First

Online Video Recommendation Based on ... - Semantic Scholar
Department of Computer Science and Technology, Tsinghua University, Beijing 100084, P. R. ... precedented level, video recommendation has become a very.

Web Query Recommendation via Sequential ... - Semantic Scholar
wise approaches on large-scale search logs extracted from a commercial search engine. Results show that the sequence-wise approaches significantly outperform the conventional pair-wise ones in terms of prediction accuracy. In particular, our MVMM app

Web Query Recommendation via Sequential ... - Semantic Scholar
Abstract—Web query recommendation has long been con- sidered a key feature of search engines. Building a good Web query recommendation system, however, is very difficult due to the fundamental challenge of predicting users' search intent, especiall

Context-Aware Query Recommendation by ... - Semantic Scholar
28 Oct 2011 - ABSTRACT. Query recommendation has been widely used in modern search engines. Recently, several context-aware methods have been proposed to improve the accuracy of recommen- dation by mining query sequence patterns from query ses- sions

RFC 6472 - Recommendation for Not Using ... - Semantic Scholar
semantics of the originator of a route more clear. This will also simplify the design, implementation, and deployment of ongoing work in the Secure Inter-Domain Routing Working Group. Status of This Memo. This memo documents an Internet Best Current

Using Tag Co-occurrence for Recommendation - Semantic Scholar
cluster in the composed list is proportional to the number of assignments of tags form .... Profiling for Social Media Recommendation,” in Workshop on Intelligent ...

RFC 6472 - Recommendation for Not Using ... - Semantic Scholar
semantics of the originator of a route more clear. This will also simplify the design, implementation, and deployment of ongoing work in the Secure Inter-Domain Routing Working Group. Status of This Memo. This memo documents an Internet Best Current

Context-aware applications - Semantic Scholar
Oct 22, 2004 - All providers of context information registered with Context Weaver ... correspond to Conference Room A, and that Conference Room A is ..... active source, the adapter is also responsible for calling a particular method ...

Smelling a Single Component of Male Sweat ... - Semantic Scholar
and 3Department of Neurobiology, Weizmann Institute of Science, Rehovot 76100, Israel ... These subjects also participated in a third unrelated session that was .... that were timed and cued by computer-generated digitized voice instruc-.

A Method for Integration of Web Applications ... - Semantic Scholar
Keywords: Web application integration, information ex- traction, Web service, mashup, end-user programming. 1 Introduction. With the development of the ...

Anesthesia for ECT - Semantic Scholar
Nov 8, 2001 - Successful electroconvulsive therapy (ECT) requires close collaboration between the psychiatrist and the anaes- thetist. During the past decades, anaesthetic techniques have evolved to improve the comfort and safety of administration of

Host Load Prediction in a Google Compute Cloud ... - Semantic Scholar
Nov 10, 2012 - interactive, including (instant) keyword, image, or email search. In fact, by ..... pervised learning classifier used in data mining [23]. Bayesian ...

Clearing the 'Cloud' Hanging Over the Adoption of ... - Semantic Scholar
Dec 11, 2016 - improper document management systems within SMEs make it more ...... International Rfid Adoption Study," Supply Chain Management: An ...

Considerations for Airway Management for ... - Semantic Scholar
Characteristics. 1. Cervical and upper thoracic fusion, typically of three or more levels. 2 ..... The clinical practice of airway management in patients with cervical.

Host Load Prediction in a Google Compute Cloud ... - Semantic Scholar
Nov 10, 2012 - Large Scale Distributed Systems and Middleware Workshop. (LADIS'11), 2011. [15] J. O. Berger, Statistical Decision Theory and Bayesian Anal ...

Transfer Factor and It's Clinical Applications - Semantic Scholar
Reprinted with Permission from the International Journal of Integrative Medicine. The immune .... Administration of transfer factor improved cellular immunity. No adverse effects .... Cent Eur J Public Health 4(1):16-20, February. 1996. 18. Heo Y ...

Transfer Factor and It's Clinical Applications - Semantic Scholar
A TH1-dominated picture would include the following medical states: 1. Diabetes type 1. 2. .... Administration of transfer factor improved cellular immunity. ... effect of transfer factor on the course of multiple sclerosis showed that it retarded th

applications of clone circuits to issues in physical ... - Semantic Scholar
be representative of the typical input to the program. For this we currently have .... IEEE Design Automation Conference (DAC),” 1982, pp. 175-181. [8] C. Alpert ...

Efficient Distributed Random Walks with Applications - Semantic Scholar
Jul 28, 2010 - cations that use random walks as a subroutine. We present two main applications. First, we give a fast distributed algo- rithm for computing a random spanning tree (RST) in an ar- ... tractive to self-organizing dynamic networks such a