Markovian workload modeling for Enterprise Application Servers

2 downloads 3484 Views 964KB Size Report
Performance analysis of Enterprise Application Servers (EAS) plays a critical role in ... tures which significantly reduce the cost of development and integration of ...
Markovian Workload Modeling for Enterprise Application Servers Nima Sharifimehr

Samira Sadaoui

Department of Computer Science University of Regina Regina, SK S4S 0A2 Canada

Department of Computer Science University of Regina Regina, SK S4S 0A2 Canada

[email protected]

[email protected]

ABSTRACT

of several components [30] (i.e. composable but independently deployable modules) and a set of common services [13] (e.g. transaction processing, concurrency control, security management, etc).

Performance analysis of Enterprise Application Servers (EAS) plays a critical role in all e-business enterprises. Workload modeling is considered as a powerful performance analysis tool. In this paper we employ our Dynamic Semi-Markov Model (DSMM) to efficiently model the incoming workload toward EAS. Firstly we offer a similarity operator to prevent the redundancy in a repository of workload models. Secondly we propose a generic modeling component to facilitate workload modeling for any EAS based on DSMM. Afterwards we present evaluation results to show the applicability of the proposed solution on these complex EAS systems.

EAS offer secure access to system-level environmental features which significantly reduce the cost of development and integration of enterprise systems [31, 6]. The development of these system-level features, such as database interaction, concurrency control and memory management, is an error prone task for developers [31, 19]. Therefore using EAS as middleware is a necessity to integrate software applications existing in an e-business enterprise [11]. The main responsibility of any middleware is to make communication and collaboration possible between software applications with minimum dependency and maximum level of transparency [3]. However, satisfying minimum dependency and maximum transparency in EAS comes along with performance degradation. The low performance of an application server significantly affects the performance of all the integrated applications [6][10]. Thus the performance analysis of EAS is a very critical task which must be done in all e-business enterprise systems. Unfortunately performance analysis is an expensive process and the results are only usable for the specific analyzed system [24].

Categories and Subject Descriptors D.2.10 [Software Engineering]: Design

General Terms Algorithms

Keywords Enterprise Application Servers, Semi and Dynamic Markov Models, Workload Modeling, JOnAS J2EE

1.

We can take advantage of workload modeling methods which offer reusability of the performance analysis [24]. An effort is needed to find efficient workload modeling specifically for EAS. In this paper we use our Dynamic SemiMarkov Model (DSMM ) [23] to build workload models for EAS by observing the incoming workload. We view workload modeling as the process of analyzing the sequence of incoming requests and finding patterns across method invocations on hosted applications and components. In other words, a DSMM finds patterns across incoming requests and also statistical models of requests intervals and process times. The existing workload modeling approaches only focus on extracting sequential patterns of workload [5, 7]. They do not include solutions for capturing patterns of intervals between incoming requests and their required process times.

INTRODUCTION

All major organizations need to elaborate an efficient strategy to build a responsive, flexible and scalable e-business infrastructure [15]. This latter provides for them facilities to integrate their software applications into enterprise systems with a minimum cost and effort. The core of this infrastructure for an e-business enterprise is an Enterprise Application Server (EAS) [15]. The most common referred EAS implement a component-based architecture [13] which provides an infrastructure for incorporating applications made

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. C3S2E-09 2009, May 19-21, Montreal [QC, CANADA] Editor: B. C. Desai Copyright 2009 ACM 978-1-60558-401-0/09/05 ...$5.00.

We would like to note that DSMM can be potentially useful for other applications, such as intrusion detection systems [14, 21] (i.e. detecting anomalies in network traffic) or advertisement placement on web pages [8] (i.e. finding appropriate advertisement for different web pages according to

161

user’s behavior). In this paper, our contributions on workload modeling for EAS are as follows: • Proposing an operator to measure the similarity between two DSMM. This operator is based on three algorithms: random walk on a DSMM, tracing sample data on a DSMM and similarity calculation between two DSMM. Thanks to the similarity operator, we can effectively avoid redundancies in a repository of DSMM. Indeed when analyzing workload of EAS, we will end up building numerous models. So before saving any model in a secondary storage, we must assure that an equivalent model do not exist already.

Figure 1: An example of DSMM. the evolution speed for transitions from S0 which evolves the system to S1 is P DFT (S0 , 1, t). This P DF states the probability of taking t units of time to evolve the system from S0 to S1 . When the system reaches its new state, there will be an idle time before the observation of the next token. This idle time is also a probability distribution function attached to each available state in the system. For instance, the idle times for S0 is P DFS (S0 , t) which shows the probability of being idle in S0 for t units of time.

• Introducing a Generic Modeling Component (GMC) to facilitate workload modeling of any EAS based on the powerful model DSMM. GMC is responsible for building DSMM and storing them in a repository. GMC stores the generated models in a well-formated repository using the similarity operator. We also discuss how to integrate GMC into EAS. This is an important issue which can affect the result of workload modeling.

The notable fact about the evolution speeds and idle times is that both are discrete distribution functions [12] and not continuous [25]. No continuous distribution function is able to capture the behavioral patterns of idle times and evolution speeds accurately, because idle times and evolution speeds do not have a specific shape in all edges and states of DSMM. Even if a continuous function has this capability, we still need to find its parameters separately for each idle time and evolution speed function attached to each state and edge. Finding these parameters is a very time consuming process [27] and in our application it should happen frequently. To avoid these time consuming process of finding parameters which even does not give us the required accuracy, we take advantage of discrete distribution functions.

The rest of this paper is structured as follows. Section 2 provides a brief overview on the dynamic-semi Markov model and its dynamic building algorithm. Section 3 presents in detail our similarity operator. Section 4 describes the Generic Modeling Component and shows how to incorporate it into any EAS. Section 5 is an experimentation which investigates the applicability and efficiency of DSMM for EAS. This experimentation uses the J2EE Application Server JOnAS [1] as our specific EAS and RUBiS [2] as our evaluation benchmark. Section 6 concludes the paper with some future directions.

2.

DYNAMIC SEMI-MARKOV MODEL

DSMM [23], which an extension of the Kripkle structure [26], not only captures the probabilistic transition model of a system but also extracts the probabilistic idle time and evolution speed of the system in each of its possible state. In DSMM, the probability distributions attached to a transition describe the speed of evolution from one state to another and also the probability of the occurrence of that transition in terms of discrete distribution functions. The probability distribution attached to a state is also a discrete distribution function describing the idle time spent when a transition evolves the system to a new state. Below we present an example of DSMM.

The algorithm given in [23] for dynamically building DSMM is based on the dynamic modeling approach used in Dynamic Markov Compression (DMC)[4] by Gordon Cormack and Nigel Horspool, though it is heavily modified to be applicable on the semi-Markov model. An example of applying our dynamic algorithm on a DSMM is depicted in Figure 2. Transitions in bold in each model show transitions which cause the cloning.

3.

MEASURING THE SIMILARITY BETWEEN TWO DSMM

The similarity operator is a tool to find how close two DSMM are. It accepts two models, DSM MX and DSM MY , and returns a value R which is a number between 0 and 1. R = 0 means DSM MX has captured behavioral features from the modeling system which none of them has been captured by DSM MY (cf. Figure 3). R = 1 shows that the two models have extracted exactly the same features of the modeling system (cf. Figure 4). Any return value between 0 and 1 describes the amount of behavioral features captured by both models.

Example 1. Figure 1 shows an example of DSMM which contains two states of S0 and S1 and the tokens of the analyzing data belongs to the finite set of {0, 1}. As shown in Figure 1, when the system is in S0 the probability (denoted by P()) of seeing ‘0’ or ‘1’ as the next token equals to 0.5. The observation of ‘0’ as the next token when the system is in S0 evolves the system back to the current state and the observation of ‘1’ evolves the system to S1 . In both cases the system leaves the current state and it takes a probabilistic amount of time to come back to the current state or move to a new state. This probabilistic amount of time which is attached to each transition describes the evolution speed through that specific transition. For example,

As shown in Figure 5, the similarity operator is composed of three components: sample data generator, sample data tracer and similarity calculator. The first component cre-

162

Figure 2: Building dynamically a DSMM. ates sample data using DSM MX and sends them to the second component. It also produces some meta-data about the sample data and passes them to the similarity calculator. The second component traces the sample data on DSM MY and returns some meta-data which are sent to the similarity calculator. When all the required meta-data are received, the calculator computes the similarity level between the two models.

3.1

Modeling System

DSMMx Similarity R = 0 Operator

Sample Data Generation

Sample data generation of a given DSMM is similar to random walking on a graph [18]. A random walk on a DSMM with the purpose of sample data generation can be done by following the steps given below (let us assume that n is the number of demanded 3-tuples in the sample data and AP is the finite set of tokens seen when analyzing data):

F1

F2

F3

F4

Behavioral Features

DSMMy

Figure 3: Models capturing totally different behavioral features.

163

Modeling System

F1

F2

MAR ← P (SC , AR )

DSMMx

F3

(e) Generate a random evolution time ER ∈ T based on the evolution speed discrete distribution function P DFT (SC , AR , t) of the current state and AR is observed as the next token:

Similarity R = 1 Operator

F4

ER ← RandomGen(T, P DFT (SC , AR , t)) (f) Find the occurrence probability of the randomly generated evolution time ER where the current state is SC and AR is observed as the next token. Then store it in MER which is a metadata for ER :

DSMMy

Behavioral Features

Figure 4: Models capturing same behavioral features. DSMMx

MER ← P DFT (SC , AR , ER ) (g) Build a 3-tuple (IR , AR , ER ) and add it to LS which keeps all randomly generated 3-tuples orderly:

DSMMy

AddtoList(LS , (IR , AR , ER )) Sample Data Sample Data Generator

(h) Build a 3-tuple (MIR , MAR , MER ) and add it to LG M which keeps the metadata for all randomly generated 3-tuples orderly:

Sample Data Tracer Trace Metadata

Sample Data Metadata

AddtoList(LG M , (MIR , MAR , MER )) (i) Move to the next state using the randomly generated token AR :

Similarity Calculator

SC ← M OV E[SC ][AR ]

R

5. Send LS to the sample data tracer and LG M to the similarity calculator.

Figure 5: The similarity operator. Algorithm 1

To implement the function RandomGen() in Algorithm 1, we can use techniques that generate random numbers with a given distribution. For instance, the alias method proposed by Walker [29] has initialization time complexity of O(N ∗ log(N )) - where N is the length of the domain of generated random numbers - and generation time complexity of O(1). There is also a variation of Walker’s original model by Vose [28] whose initialization time complexity is linear O(N ) and generation time is O(1). We employ this last version to generate a random sample data, which contains T of 3-tuples, requires O(T ∗ N + T ) time.

(Random Walk on DSMM).

1. Set the current state to the starting state of the given DSMM : SC ← S0 2. Define LS as a list which stores the generated sample data. 3. Define LG M as a list which stores the meta-data of the generated sample data. 4. Repeat the following steps n times: (a) Generate a random idle time IR from the domain T = [tmin ..tmax ] using the idle time discrete distribution function P DFS (SC , t), t ∈ T of the current state:

Example 2. In Figure 1, we consider that every P DFS and P DFT is a uniform distribution [17] and all time units are in the range of 1 to 5 (i.e. t ∈ [tmin = 1, tmax = 5]). Using Algorithm 1, the random walk on the DSMM of Figure 1 when n = 5 will produce the following sample data and their meta-data:

IR ← RandomGen(T, P DFS (SC , t)) (b) Find the occurrence probability of the randomly generated idle time IR where the current state is SC and store it in MIR which is a metadata for IR :

LS = [1, 0, 2], [2, 1, 3, ], [4, 1, 5], [3, 0, 4], [2, 1, 5] LG M = [0.2, 0.5, 0.2], [0.2, 0.5, 0.2], [0.2, 0.25, 0.2], [0.2, 0.75, 0.2], [0.2, 0.5, 0.5]

MIR ← P DFS (SC , IR )

3.2

(c) Generate a random token AR ∈ AP considering the probability distribution of tokens P (SC , a), a ∈ AP in the current state:

Sample Data Tracing

To trace sample data on a given DSMM, we simply begin from its initial state and move to new states based on the tokens in the sample data (let us assume that LS is the given sample data and its length is n):

AR ← RandomGen(AP, P (SC , a)) (d) Find the occurrence probability of the randomly generated token AR where the current state is SC and store it in MAR which is a metadata for AR :

164

Algorithm 2

then tracing LS on the DSM M of figure 5 (based on Algorithm 2) will result in the following meta-data:

(Tracing Sample Data on DSMM).

1. Set the current state to the starting state of the given DSMM : SC ← S0

LTM = [0.2, 0.75, 0.2], [0.2, 0.75, 0.2], [0.2, 0.25, 0.2], [0.2, 0.75, 0.2], [0.2, 0.75, 0.2]

2. Define LTM as a list which stores the metadata of the tracing process.

3.3

3. Repeat the following steps n times: (a) Extract the next 3-tuple from the given sample data LS to trace:

Algorithm 3

(IC , AC , EC ) ← GetN extT uple(LS ) (b) Find the occurrence probability of the idle time IC where the current state is SC and store it in MIC which is a metadata for IC :

2. Repeat the following steps n times: (a) Extract the next 3-tuple from the metadata LG M received from the sample data generator:

(c) Find the occurrence probability of the token AC where the current state is SC and store it in MAC which is a metadata for AC :

(MIG , MAG , MEG ) ← GetN extT uple(LG M) (b) Extract the next 3-tuple from the metadata LTM received from the sample data tracer:

MAC ← P (SC , AC ) (d) Find the occurrence probability of the evolution time EC where the current state is SC and AC is observed as the next token. Then store it in MEC which is a metadata for EC :

(MIT , MAT , MET ) ← GetN extT uple(LTM ) (c) Calculate the average difference between extracted T 3-tuples of LG M and LM and add it up to the calculated average difference between past extracted 3-tuples:

MEC ← P DFT (SC , AC , EC ) (e) Build a 3-tuple (MIC , MAC , MEC ) and add it to LTM which keeps the metadata for all traced 3tuples orderly:

dif f ← dif f +

AddtoList(LTM , (MIC , MAC , MEC ))

|MI

G

−MI

T

|+|MA

G

−MA |+|ME −ME | T G T 3

T 3. The similarity between LG M and LM is equal to the complement of the average difference between all of their 3-tuples, so we have:

(f) Move to the next state using the observed token AC in the given sample data: SC ← M OV E[SC ][AC ] 4. Send

(Similarity Calculation).

1. dif f ← 0

MIC ← P DFS (SC , IC )

LTM

Similarity Calculation

Similarity calculator analyzes the meta-data received from the sample data generator and sample data tracer (i.e. LG M and LTM respectively) and returns the similarity level based on the following algorithm:

similarity ← 1 −

dif f n

to the similarity calculator.

Example 4. Let us assume that we have the following meta-data received from the sample data generator and sample data tracer which are respectively produced from the two DSM M of Figures 1 and 6: LG M = [0.2, 0.5, 0.2], [0.2, 0.5, 0.2], [0.2, 0.25, 0.2], [0.2, 0.75, 0.2], [0.2, 0.5, 0.5] LTM = [0.2, 0.75, 0.2], [0.2, 0.75, 0.2], [0.2, 0.25, 0.2], [0.2, 0.75, 0.2], [0.2, 0.75, 0.2] Then based on Algorithm 3, the average difference and similarity level between the two models shown in Figures 1 and 6 are: Figure 6: Another example of DSMM. dif f = (0.25/3 + 0.25/3 + 0 + 0 + 0.25/3)/5 = 0.05 Similarity = 1 − 0.05 = 0.95 Example 3. In Figure 6, we assume that every P DFS and P DFT is a uniform distribution [17] and all time units are in the range of 1 to 5 (i.e. t ∈ [tmin = 1, tmax = 5]). If the sample data is as follows:

4.

INTEGRATING GMC INTO EAS

In this section we introduce the Generic Modeling Component (GMC) which can be used for any EAS. GMC is responsible for:

LS = [1, 0, 2], [2, 1, 3, ], [4, 1, 5], [3, 0, 4], [2, 1, 5]

165

• Constructing DSMM for workload model of any EAS using the dynamic building algorithm given in [23]. • Storing created DSMM in a repository for future applications. To prevent any redundancy in the repository, GMC employs the similarity operator introduced in Section 3. GMC is also responsible for updating, retrieving and deleting existing DSMM. We may also note that it is important to save the created models in a format which can be easily interpreted by other applications. For this purpose, GMC employs GraphXML, a graph description language based on XML which is used by many applications. A significant advantage of using GraphXML lies in its potential capability for information visualization. Indeed we can employ utilities such as the Graph Visualization Framework [16] to visualize DSMM and also manipulate their structure manually.

Figure 8: Modeling the incoming workload to an EAS as a whole.

5.

EXPERIMENTATION WITH JONAS

In order to assess DSMM-based workload modeling, we use JOnAS [1] as our specific enterprise application server and RUBiS [2] as our evaluation benchmark (as shown in Figure 9). For the experimentation, we employ a machine equipped with PIV 2.80 GHz CPU, 1 GB of RAM. We also use MSSQL Server 2000 as the backend DBMS running on MS Windows Server 2003 Service Pack 1. JOnAS is an example of component-based EAS. It is a popular open source J2EE 1.4 application server and is used by many projects around the world. To validate our work, we employ the commonly used RUBiS application benchmark which models an auction web site after the eBay.com. RUBiS is used to assess the performance scalability of application servers. Firstly we deploy the RUBiS server-side on JOnAS. RUBiS is our synthetic workload generator which produces workload models with high randomness simulating the worst case scenarios. These generated workload models are designed according to the standards introduced in TPC-W [9] (see clauses 5.3.1.1. and 6.2.1.2 of the TPC-W v1.6 specification [22]). Secondly we integrate GMC into JOnAS. So in this example, GMC analyzes the workloads generated by RUBiS client module and then builds DSMM for them. However we need to implement a converter module which captures the requests coming toward the JOnAS application server and converts them to the format accepted by GMC (i.e. a sequence of 3-tuples (PI0 , PA0 , PE0 ) → ... → (PIi , PAi , PEi ) → ... → (PIn , PAn , PEn )).

Figure 7: Overall view of workload flows in EAS. To integrate GMC instances into an EAS, we should decide which instance is going to analyze what part of the incoming workload into the EAS. So the main idea is to classify the incoming workload and then assign an instance of GMC to each class. One way to classify the incoming workload is to parse the network traffic coming into the EAS. However, in the real world it is easier to use the facilities offered by EAS to achieve this goal. Usually EAS introduces workload monitoring points in its architecture which can be used as integration points for instances of GMC. The overall view of workload flows in an EAS is shown in Figure 7. Different workload sources send their requests to the EAS, and the dispatcher inside the EAS distributes requests to appropriate applications. Afterwards dispatchers inside applications distribute requests to their components.

Table. 1 illustrates the similarity between built DSMM and real workloads Wi . Here M AXs denotes the number of states of Wi . To carry out this experimentation, first we use GMC to build DSMM for workloads generated by RUBiS according to a specific workload model. Second, we generate another sequence of workloads based on the same specific workload model. Third we use the similarity operator defined in Section 3 to measure the similarity between the real workloads produced by RUBiS and DSMM built by GMC. Table. 1 also shows the relationship between the size of DSMM and their measured similarity for different workloads. Interestingly, increasing the size of a DSMM in-

According to the workload flows shown in Figure 8, we classify all the incoming workload as a single class. In other words, we create only one instance of GMC and send all the incoming workload to it. In this approach the resulting DSMM contain the general workload model of the workloads of the EAS.

166

Table 1: Similarity of built DSMM and real workloads. Workload W0 W1 W2 W3 W4 W5 W6 W7 W8 W9

M AXS = 10 0.36 0.37 0.37 0.34 0.36 0.34 0.36 0.37 0.37 0.35

M AXS = 50 0.45 0.41 0.44 0.43 0.44 0.42 0.41 0.43 0.42 0.45

M AXS = 100 0.45 0.45 0.45 0.46 0.46 0.47 0.45 0.46 0.42 0.45

Table 2: Required workload repetitions to achieve stabilized DSMM Repetition times W0:05 W0:10 W0:15 W0:20 W0:25 W0:30 W1:05 W1:10 W1:15 W1:20 W1:25 W1:30

M AXS = 500 0.49 0.49 0.49 0.50 0.49 0.48 0.49 0.49 0.49 0.49

creases the similarity only for a while. In other words, the accuracy of a DSMM becomes stable after a specific size and does not increase anymore. These results show that DSMM-based workload modeling can reach the accuracy of approximately 50% in the most chaotic situations where the incoming workload has high randomness.

M AXS = 10 0.28 0.35 0.35 0.34 0.36 0.34 0.25 0.36 0.35 0.35 0.36 0.34

M AXS = 50 0.27 0.39 0.40 0.45 0.42 0.45 0.27 0.40 0.39 0.41 0.42 0.41

M AXS = 100 0.27 0.43 0.45 0.44 0.42 0.45 0.31 0.42 0.45 0.44 0.44 0.43

M AXS = 500 0.35 0.45 0.49 0.48 0.49 0.49 0.37 0.47 0.49 0.48 0.48 0.49

load modeling in the context of EAS. We also conducted an experimentation employing the JOnAS application server and the workload generator RUBiS. The integration of GMC into EAS is an important issue which can affect the results of workload modeling. The focus of future work is to investigate and evaluate other possible integration approaches of GMC into EAS. We would also like to improve the accuracy of the process which extracts workload models. The combination of the dynamic semiMarkov model DSMM with other machine learning methods [20] can be an effective way to achieve this goal.

7.

[1] T. Abdellatif. Enhancing the management of a j2ee application server using a component-based architecture. In EUROMICRO ’05: Proceedings of the 31st EUROMICRO Conference on Software Engineering and Advanced Applications, pages 70–79, Washington, DC, USA, 2005. IEEE Computer Society. [2] E. Cecchet, J. Marguerite, and W. Zwaenepoel. Performance and scalability of ejb applications. SIGPLAN Not., 37(11):246–261, 2002. [3] A. Colman, L. D. Pham, J. Han, and J.-G. Schneider. Adaptive application-specific middleware. In MW4SOC ’06: Proceedings of the 1st workshop on Middleware for Service Oriented Computing (MW4SOC 2006), pages 6–11, New York, NY, USA, 2006. ACM. [4] G. V. Cormack and R. N. S. Horspool. Data compression using dynamic markov modelling. Comput. J., 30(6):541–550, 1987. [5] D. Dhyani, S. S. Bhowmick, and W.-K. Ng. Modelling and predicting web page accesses using markov processes. In DEXA ’03: Proceedings of the 14th International Workshop on Database and Expert Systems Applications, page 332, Washington, DC, USA, 2003. IEEE Computer Society. [6] D. Dinker and H. Schwetman. Using java method traces to automatically characterize and model j2ee server applications. In WSC ’06: Proceedings of the

Figure 9: Integrating an instance of GMC into JOnAS hosting RUBiS application. To evaluate the required learning time for different workload models, we generate workloads based on same workload models for repeated times and measure the similarity of built DSMM with real workload after each repetition. The result of this experiment for two workload models is shown in Table. 2. With respect to acquired results, it can be seen that the accuracy of DSMM in most of the test cases gets stabilized after ten repetitions.

6.

REFERENCES

CONCLUSION AND FUTURE WORK

In this paper, we introduced a similarity operator along with its detailed algorithms to figure out how close two DSMM -based workload models are. This operator is used to avoid the redundancy in a repository of DSMM. Subsequently, we discussed the applicability of DSMM on work-

167

[7]

[8]

[9] [10]

[11]

[12]

[13]

[14]

[15]

[16]

[17]

[18]

[19]

[20]

38th conference on Winter simulation, pages 1187–1194. Winter Simulation Conference, 2006. M. Eirinaki, M. Vazirgiannis, and D. Kapogiannis. Web path recommendations based on page ranking and markov models. In WIDM ’05: Proceedings of the 7th annual ACM international workshop on Web information and data management, pages 2–9, New York, NY, USA, 2005. ACM. A. Freund and J. S. Naor. Approximating the advertisement placement problem. J. of Scheduling, 7(5):365–374, 2004. D. F. Garc´ıa and J. Garc´ıa. Tpc-w e-commerce benchmark evaluation. Computer, 36(2):42–48, 2003. J. Grundy, S. Newby, T. Whitmore, and P. Grundeman. Extending a persistent object framework to enhance enterprise application server performance. In ADC ’02: Proceedings of the 13th Australasian database conference, pages 57–64, Darlinghurst, Australia, Australia, 2002. Australian Computer Society, Inc. F. J. Hauck, R. Kapitza, H. P. Reiser, and A. I. Schmied. A flexible and extensible object middleware: Corba and beyond. In SEM ’05: Proceedings of the 5th international workshop on Software engineering and middleware, pages 69–75, New York, NY, USA, 2005. ACM. M. Kearns, Y. Mansour, D. Ron, R. Rubinfeld, R. E. Schapire, and L. Sellie. On the learnability of discrete distributions. In STOC ’94: Proceedings of the twenty-sixth annual ACM symposium on Theory of computing, pages 273–282, New York, NY, USA, 1994. ACM. T. Korson. Using components, patterns and frameworks to realize architecture. In TOOLS ’99: Proceedings of the Technology of Object-Oriented Languages and Systems, page 415, Washington, DC, USA, 1999. IEEE Computer Society. W. Lee and S. J. Stolfo. A framework for constructing features and models for intrusion detection systems. ACM Trans. Inf. Syst. Secur., 3(4):227–261, 2000. M. Mariucci. Enterprise application server development environments. Technical report, University of Stuttgart, 2000. M. S. Marshall, I. Herman, and G. Melancon. An object-oriented design for graph visualization. Technical report, Amsterdam, The Netherlands, The Netherlands, 2000. W. Mendenhall. Introduction to probability and statistics (7th ed.). Duxbury Press, Boston, MA, USA, 1986. M. Mosbah and N. Saheb. A syntactic approach to random walks on graphs. In WG ’97: Proceedings of the 23rd International Workshop on Graph-Theoretic Concepts in Computer Science, pages 258–272, London, UK, 1997. Springer-Verlag. M. Nally. Application servers: virtualizing location, resources, memory, users and threads for business applications and web applications. In VEE ’05: Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments, pages 110–110, New York, NY, USA, 2005. ACM. S. Parsons. Introduction to machine learning. Knowl.

Eng. Rev., 20(4):432–433, 2005. [21] A. Patcha and J.-M. Park. Network anomaly detection with incomplete audit data. Comput. Netw., 51(13):3935–3955, 2007. [22] J.-L. Seng, S. B. Yao, and A. R. Hevner. Requirements-driven database systems benchmark method. Decis. Support Syst., 38(4):629–648, 2005. [23] N. Sharifimehr and S. Sadaoui. Dynamic semi-markovian workload modeling. In ICEIS (1), pages 125–130, 2008. [24] S. Sicard, N. De Palma, and D. Hagimont. J2ee server scalability through ejb replication. In SAC ’06: Proceedings of the 2006 ACM symposium on Applied computing, pages 778–785, New York, NY, USA, 2006. ACM. [25] M. Ten´ orio, S. Nassar, P. Freitas, and C. Magno. Recognition of continuous probability models. In WSC ’05: Proceedings of the 37th conference on Winter simulation, pages 2524–2531. Winter Simulation Conference, 2005. [26] W. van der Hoek, W. Jamroga, and M. Wooldridge. A logic for strategic reasoning. In AAMAS ’05: Proceedings of the fourth international joint conference on Autonomous agents and multiagent systems, pages 157–164, New York, NY, USA, 2005. ACM. [27] F. Vatan. Distribution functions of probabilistic automata. In STOC ’01: Proceedings of the thirty-third annual ACM symposium on Theory of computing, pages 684–693, New York, NY, USA, 2001. ACM. [28] M. D. Vose. A linear algorithm for generating random numbers with a given distribution. IEEE Trans. Softw. Eng., 17(9):972–975, 1991. [29] H. Westlund and G. Meyer. A brdf database employing the beard-maxwell reflection model. In Graphics Interface 2002, pages 189–201, 2002. [30] E. J. Weyuker. Component-Based Software Engineering: Putting the Pieces Together. Addison-Wesley Professional, 2001. [31] J. Zhang, J.-Y. Chung, and C. K. Chang. Towards increasing web application productivity. In SAC ’04: Proceedings of the 2004 ACM symposium on Applied computing, pages 1677–1681, New York, NY, USA, 2004. ACM.

168