Sei sulla pagina 1di 4

International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)

Web Site: www.ijettcs.org Email: editor@ijettcs.org, editorijettcs@gmail.com Volume 2, Issue 2, March April 2013 ISSN 2278-6856

JavaWebSim for Cluster based web server systems


Kamani Gautam J.1, Dr. N. N. Jani2 and Dr. Y. R. Ghodasara3
1

Assistant Professor, College of Agricultural Information Technology, Anand Agricultural University, Anand, Gujarat - 388110, India
2

Dean Faculty of Computer Science, Kadi Sarva Viswavidyalaya (University), Gandhinagar, Gujarat, India
3

Associate Professor, College of Agricultural Information Technology, Anand Agricultural University, Anand, Gujarat - 388110, India

Abstract: We developed a simulation model JavaWebSim,


specifically designed for the performance evaluation of cluster-based Web server systems. JavaWebSim can work as central dispatcher in cluster web systems. Its modularity permits incoming request management algorithms and request assignment algorithms. It is also provide the cluster availability and scalability modularity. We present case studies to show how JavaWebSim can be used for dispatching algorithms and measure the performance.

Keywords: Cluster-based Web systems, Dispatcher, Dispatching algorithms

1. INTRODUCTION
Continue growth in web usage is causing a number of performance problems including slow response time, network congestion and availability of web services. There are number of approaches to resolving these problems but a complementary approach is to make the web server more powerful through the use of cluster based web architecture [1],[2]. This architecture offers many benefits such as more servers means more capacity to manage the web requests, reliability and availability are improved the services and design should be more easily scalable. This architecture has central dispatching component that distribute the incoming web request traffic among available web server system node [2][4]. A central component may be hardware or software [1]. Here we are developed a software dispatcher simulation model (JavaWebSim) that allow the combination of broad variety of technical features, such as the adoption of different request dispatching algorithms, availability and scalability of the web server systems and also display the data report of request execution by available server system nodes.

Figure 1 Cluster-based Web Systems Architecture [1]

2. JAVAWEBSIM: SIMULATION TOOL

WEB

CLUSTER

In this paper we present applications of a simulation tool conceived for the performance evaluation of cluster-based Web architectures. JavaWebSim is a discrete-event simulator developed using the Java language. Java is platform independent programming language so JavaWebSim can run on any operating systems. It is biggest advantage of this simulation tool. JavaWebSim is user friendly and easy to operate because it provides Graphical User Interface (GUI) that designed using Java Swing. The Swing toolkit includes a rich set of components for building GUIs and adding interactivity to Java applications [6]. Java NIO (New Input Output) package used to network socket programming for request transmission process in web cluster. Java NIO provides multiplexed, non-blocking Input Output facility for writing a scalable server [5]. Using java NIO we can handle the multiple web requests with creating a single thread.

Volume 2, Issue 2 March April 2013

Page 327

International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)


Web Site: www.ijettcs.org Email: editor@ijettcs.org, editorijettcs@gmail.com Volume 2, Issue 2, March April 2013 ISSN 2278-6856
counter variable that count the incoming request then it divided by the number of server nodes and find the remainder. Task assign to the remainder value server node. Least Connection Algorithm[7],[9]: in this algorithm, select a least active connections server node for the task assignment. For that count an active connection for all available servers. When web request is come then select a least connection server node and increase a one value in that counter. When task is completed by the server then decrease a one value from that counter variable. Execution Time Load (ETL) Algorithm[12]: it is a dynamic and fully load balancing algorithm. This algorithm consider the approximate file execution time and server system load information for the sever selection process. That information is periodically updated so balancing the load in web cluster systems. When web request is come then select a least loaded file execution web server node and increase a require file execution time in selected server node. When task is completed by the server then decrease a file execution load time value from counter variable. Service partitioning algorithm [7]: the requested URL can be used to statically partition the servers according to the service type they handle. The goal is to employ specialized servers for certain type of requests. Client Affinity algorithm[7][9]: it is a task management algorithm. It is important for the session management and secure data transmission (SSL data transmission). When client affinity is on in software dispatcher then it is execute. Cookie insertion method is used for implementation of client affinity algorithm. At the time of HTTP request parsing check for gjkipaddress cookie variable is exist or not? This variable has a previously assign server name and port number information. If it is exist then request assign to the gjkipadddress variable server else execute the task assignment algorithm for best server selection. Cacheable request management Algorithm[11]: it is newly design task management algorithm that manage a cacheable request at dispatcher level. JavaWebSim has only modified files list with modified date information. First check incoming request is cacheable web request or non cacheable request using if-Modified-Since and ifNone-Match HTTP request header variable [10]. If request is cacheable then check it is available in dispatcher file list then compare the value of If-ModifiedSince variable with modified date. If values are not matched then task assignment algorithm is run and request assign to the server for execution. But if file does not exist in dispatcher file list or If-Modified-Since value is same as modified file date then dispatcher directly give the response to client with HTTP/1.1 304 Not Modified. This algorithm is improve the performance of web cluster because cache validated request directly reply at dispatcher level instead of assign to any server node so it reduce the server load and network traffic. Page 328

Figure 2 Block diagram of JavaWebSim JavaWebSim has a modular software structure. It contains main four modules such as request classifier, request handler, Request Management and server selection; that perform the different operation for the web request assignment and management. Request Classifier: it performs the dispatcher service that run on port number 80. It receives all incoming requests from the client and classified the request it is manageable or normal using task management variable values. Request Handler: it performs the HTTP parsing process and fetch require information from request. Send a request to Server Selection for best server node then request assign to the server and give response to the client. Request Management: it performs the task management algorithms. If request is cacheable then execute the cacheable request management algorithm and if client affinity request then request assign to the previously assign server node. We can easily modified or add the new task assignment algorithms in this module. At present only cache management and client affinity algorithms are provided. Server Selection: it performs the task assignment algorithms for best server selection such as round robin, random, least connection, execution time load and content based distribution. In this module we can modified or add the new server selection algorithms.

3. DISPATCHING ALGORITHMS
JavaWebSim facilitate some dispatching algorithms that are classified in two categories: task management and task assignment. Task management algorithms perform by the request management module and task assignment algorithms performed by request handler module of JavaWebSim. At present JavaWebSim provides five task assignment and two task management algorithms those are give below: Random Algorithm [1],[7]: A randomly server is selected from web farm. Java Random object use for generate a random number and assign a task (request) to that server node. Round Robin Algorithm[1][7][9]: in this algorithm, server selection process uses the circular pattern. Take a Volume 2, Issue 2 March April 2013

International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)


Web Site: www.ijettcs.org Email: editor@ijettcs.org, editorijettcs@gmail.com Volume 2, Issue 2, March April 2013 ISSN 2278-6856 4 JAVAWEBSIM FUNCTIONALITY USER INTERFACE
AND

The JavaWebSim provide the easy and attractive user interface for end user because it is developed using Java swing components. JavaWebSim provides the web cluster scalability and availability, selection of dispatching algorithms and total executed web request by available servers and start and stop service options. Some screen shots are given below

Figure 5 is a dispatching algorithm selection interface. It contains five algorithms for task assignments, we can select any one out of them and set require parameter information for that algorithm.

5 EXPERIMENTAL SETUP AND RESULT GRAPH


Our experiments are based on the system that consists of three duplicated web servers with different configuration and one system with JavaWebSim simulator that act as a request dispatcher. One system that acts as load generator it has Apache JMeter that generate realistic load on JavaWebSim node. We have performed our tests on a 1 Gbps LAN network. All systems are connected Cisco 24 port unmanageable switch via UTP cat-6 cable and our LAN is isolated from other networks.

Figure 3 Service Start/Stop and Current setting information Above screen display the service menu and other options. It is also display the current setting information that available in report menu.

Figure 4 Server node scalability and availability Above screen display the setting menu option and interface of server scalability and availability information. We can easily add/delete server using above interface and JavaWeb Sim provide the facility to faulty server automatically move on fault server list and incoming request does not assign to faulty server. We run request generator program with different content such as static, dynamic and mix content for Round Robin, Random, least Connection and ETL task assignment algorithms and get the result data from JavaWebSim and finally generate the result graph.

6 CONCLUSION
Figure 5 Selection of dispatching algorithms This paper presents develop and implementation of a JavaWebSim modular simulation conceived for cluster based Web servers. The JavaWebSim can be configured to represent a broad variety of cluster-based Web Page 329

Volume 2, Issue 2 March April 2013

International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)


Web Site: www.ijettcs.org Email: editor@ijettcs.org, editorijettcs@gmail.com Volume 2, Issue 2, March April 2013 ISSN 2278-6856
architectures such as availability and scalability. It is also support the request dispatching algorithms, we can customized or add new dispatching algorithm easily. We can measure the performance of dispatching algorithms. JavaWebSim is written in Java language and it is based on the Java NIO package for internal network transmission and swing package for GUI development. Java is platform independent so JavaWebSim run on any operating systems. dynamically updated weights, an implementation approach [14] Saeed Sharifian, Seyed A. Motamedi, Mohammad K. Akbari, An approximation-based load-balancing lgorithm with admission control for cluster web servers with dynamic workloads, Springer Science+Business Media, LLC, 2009. [15] Wei Zhang, Huan Wang, Binbin Yu, Wei Xu, Mingfa Zhu, Limin Xiao, Li Ruan A Request Distribution Algorithm for Web Server Cluster, Journal Of Networks, Vol. 6, No. 12, 2011. [16] Harikesh Singh, Dr. Shishir Kumar, Dispatcher Based Dynamic Load Balancing on Web Server System, International Journal of Grid and Distributed Computing, Vol. 4, No. 3, 2011. [17] Tony Bourke, Server Load Balancing, Sebastopol, CA, O'REILLY, pp. 13-22, 2001. [18] Hossien Bidgoli, The Internet Encyclopedia, Vol. 2,John Wiley & Sons, Hoboken, New Jersey, pp. 499511, 2004. [19] Willy Tarreau (2006). Making application scalable with load balancing. [Online] available: http://1wt.eu/articles/2006_lb/ [accessed: Jan. 20,2010] AUTHORS
Gautam J Kamani is working as a Assistant Professor in the College of Agricultural Information Technology, Anand Agricultural University, Anand. He completed his MSc.(IT & CA) in 2002 from Saurashtra University and M. Phil.(computer science) in 2007 from Madurai Kamraj University. He is pursuing research work in the area of Distributed Web Server Systems. Dr. N. N. Jani is working as a Dean Faculty of Computer Science, Kadi Sarva Vishwavidyalaya and Director, S.K. Patel Institute of Management & Computer Studies, Gandhinagar. He has rich experience of 36 years teaching in computer science and Applications. He is a research guide in Saurashtra University since 1999. He is also the external guide to Ph.D. programme of North Gujarat University, Patan. Twenty Three students have completed their Ph.D. under his supervision. He has written 17 books in the field of Computer Science and Applications, one of his books on MEMS (Micro Electro Mechanical System) has been appreciated by Ex-honorable president Dr. A.P.J. Abdul Kalam. He has organized 19 workshops, 8 National and 1 International seminar on Emerging Technology and Application.

References
[1] Valeria Cardellini, Emiliano Casalicchio, Michele Colajani, Philip S Yu, The State of the Art in Locally Distributed Web-server Systems, IBM Research Report, pp. 10-12, 26-41, 2001. [2] M. Andreolini, E. Casalicchio. "A cluster-based web system providing differentiated and guaranteed services", Cluster Computing, vol.7, No.1, pp7-19, 2004. [3] E. Choi. "Performance test and analysis for an adaptive load balancing mechanism on distributed server cluster systems", Future Generation Computer Systems, No.20, pp 237-247, 2004. [4] Valeria Cardellini, Michele Colajani, Philip S Yu. Dynamic Load Balancing on Web-Server System, IEEE Internet computing, Vol. 3, pp. 10-15, 1999. [5] Alan Williamson Better Scaling with New I/O (the end of thread/socket marriage) [Online] available: http://www2.sys-con.com/itsg/virtualcd/ java/archives/ 0705/schreiber /index.html [accessed: Jan. 20,2012] [6] John Zukowski, The Definitive Guide to Java Swing , Apress (ISBN 1-59059-447-9), 2005 [7] Michele Colajani, Philip S Yu, D. M. Dias, Analysis of Task assignment polices in scalable distributed web systems, IEEE Transactions on Parallel and Distributed Systems, Vol. 9, pp. 7-13, 1998. [8] Emiliano Casalicchio, Valeria Cardellini, Michele Colajanni, Content-Aware Dispatching Algorithms for Cluster-Based Web Servers, Cluster Computing Vol 5, pp. 6574, 2002. [9] Schroeder T, Goddard S, Ramamurthy B, Scalable web server clustering technologies, IEEE Networking, pp. 3845, 2000. [10] Athena Vakali, Evolutionary Techniques for Web Caching, Distributed and Parallel Databases, Vol 11, pp. 93116, 2002. [11] Kamani gautam, Dr N.N. Jani, Dr. Y.R. Ghodasara Cacheable Web Request Management at Dispatcher level in Cluster Web Server Systems IJET-AE ( ISSN: 2250-2459 ) ,Volume 2, pp. 27-30, 2012. [12] Kamani gautam, Dr N.N. Jani, Dr P.V. Virparia Development of Software Dispatcher Based Load Balancing Algorithms for Heterogeneous Cluster Based Web Systems NJSIT (ISSN: 0974-3308), 2012. [13] A. Karakos, D. Patsas, A. Bornea and S. Kontogiannis, Balancing HTTP traffic using Volume 2, Issue 2 March April 2013

Dr Y. R. Ghodasara received the B.Sc., Master of computer Application and Ph.D. (computer science) from Saurashtra University in 1997, 2001 and 2009, respectively. He has rich experience of 12 years teaching in computer science and Applications. He is a research guide in R.K. University. His research work in the area of Distributed Computing.

Page 330

Potrebbero piacerti anche