Journal of Information & Computational Science 7: 3 (2010) 759 765 Available at http://www.joics.com A Scheme for Implementing Load Balancing of Web Server Jianwu Wu School of Politics and Law and Public Administration, Hubei University, Wuhan 430062, China Abstract This paper analyzes the existing shortcomings of the current load balancing scheme of web serveran improved scheme of load balancing is proposed and putted into practice, the new scheme uses Javabased mobile agent systems to implement the load balancing of web server. The performance of this load balancing scheme is evaluated from two points of view: the whole response time and the file size. The results show that the scheme is an effective method to reduce the load or solve the problems caused by the continuously increasing load of web server. Keywords: Monitor System; Mobile Agent System; Load Balancing; Web Server 1 Introduction With the rapid development of internet and the rapid increase in the number of internet users, online information on various sites and information servers also emerge in endlessly. The throughput of many popular sites and important sites are increasing and the number of concurrent users are continuously increasing, the load of web server is more and more serious and lead to overload operation. This situation has accumulated to a certain extent, which will seriously affects the overall performance of web sites and can not provide users with timely, stable and accurate web services [1]. Therefore, it is very important to ensure that the load balancing of each web server. Load monitoring is an effective way to achieve load balancing. Load monitoring system examines operating condition of web server systems, when a web server is overload, the system optimization is urgently started [2]. On the one hand, it restricts the number of users accessing web server and the data traffic of entering web server; on the another hand, it diverts the overload part of the web server into the other web server of the system to restore the load balancing of web server. This paper presents a load monitoring system based Java mobile agents for web server. The system solves the the existing shortcomings of the current load monitoring system based client/server mode, it is more effective for load monitoring of web server. Corresponding author. Email address: wujianwu@hubu.edu.cn (Jianwu Wu). 1548 7741/ Copyright c 2010 Binary Information Press March 2010
760 J. Wu /Journal of Information & Computational Science 7: 3 (2010) 759 765 2 Load Balancing Scheme Based on Client/Server Model The client/server model is a centralized load monitoring model.using this model, load monitoring service program must be installed on each web server[3], the program is used to measure the load on each web server, load monitoring client program must be installed on a separate host. After the client program sends a request to the load monitoring service program on each web server, the service program returns the load information to the load monitor client. Throughout the process of communication, the client and the server must remain network connections. The load monitoring system based on client/server model has the following shortcomings: (1) The implementation codes described the load monitoring service on the server is statically bounded with the codes described the process of requesting load monitoring service in the client-side[4]. Once the monitoring strategy itself needs to be improved, it would be a laborious work for web system to replace all the code, that is, the client/server model can not dynamically change the monitoring strategies. (2) The message exchange between the server and the client occupies a large number of network bandwidth, when the network load is heavy, the operation of load monitoring would increase the busy level of the network[5]. At the same time, the server and the client must remain the network connections, which makes that the web server can not respond flexibly to the change in the environment. 3 Load Balancing Scheme Based on Mobile Agent Model Mobile agent is a new type of distributed computing model. In this mode, data can also be processed when the network connection is not reliable, this is the advantages which the traditional distributed mechanism does not have, the model has also the advantages of better robustness of the network and equipment, great flexibility and good upgrade-ability and extensibility[6]. 3.1 Mobile Agent System Based on Java Java-based mobile agent systems () is a software entity which can migrate freely between each node in the network[7]. Fig. 1 shows the structural model of. When migrates from the source node to the destination node, it transfers itself status information and code to the destination node. Here, state information refers to the property values of the task that will soon be implemented, the code refers to the Java class code which the requires. It may implement the data resource sharing by a communication model between. After the task ends, can return the node where created it, can also self-destruct at the current node where the task ends. Distinguish from the client/server model of section 2, it is not necessary for to send a request to the other systems beforehand and then wait for a response.through migrating freely between the nodes in the network, it collects data and uses resources, thus, the execution efficiency is greatly improved. Only when the need to migrate between nodes is a network connection established. The use of has the following advantages :
J. Wu /Journal of Information & Computational Science 7: 3 (2010) 759 765 761 host A host B mobile agent server mobile agent server security layer Java virtual machine security layer Java virtual machine network Fig. 1: Structural model of (1) Reducing the network load: A large number of interaction between the various systems increases network traffic in a distributed system environment, while only small amounts of data is needed to transfer by using mobile agent technology. (2) Encapsulating protocol: When the data are exchanged in a distributed system, each host has its own network protocol, the protocol will encode outgoing data and explain incoming data[8]. In order to meet the requirement of the efficiency and safety, the protocol is often needed to improve, but upgrading the code which implement the protocol is almost impossible or very difficult, so it will have a legacy protocol. The mobile agent can directly move to the remote host to establish a data transmission channel based on private procedures. (3) Reducing the network delay time: There is more or less delay time for the cross-network real-time processing system[9], while the mobile agent can directly implement the task that manager requirements by migrating itself. 3.2 The System Diagram Fig. 2 shows the block diagram of whole load monitoring system. It can be seen that the whole system is composed of the web server being monitored and load monitoring server. Each server contains a mobile agent server(). is the important component of load monitoring systemand it is available execution environment on the host as well as the important management functions of the mobile agent system. The mobile agent in the system is divided into two kinds: master mobile agents (MA) and slave mobile agent(). The MA runs on the load monitoring server, which periodically creates and migrates it to the web server being monitored. The migrates to the first web server, analyzes its log file of system operation, system load conditions and then sends the load information to the MA, and then it migrates to the next web server to complete the same task. The MA provides
762 J. Wu /Journal of Information & Computational Science 7: 3 (2010) 759 765 users with graphical user interface (GUI) and collects the load information of various web server to display to the user. web server 1 log file load monitoring server send load information web server 2 log file MA web server n -- create master mobile agent -- create slave mobile agent -- collect load information -- provide GUI log file --receive slave mobile agent --server load monitoring --return load information --migrate slave mobile agent Fig. 2: Web server s block diagram of load monitoring system based on 3.3 The Java Class Used in the System The whole load monitoring system achieves the following three Java classes: (1) View class: The MA provides the GUI function to users by view class and displays the web server s load information collected from to the user. (2) Migration routes class : The migration routes class contains the address of web server being monitored. Once the MA created the, then the migrates to the next web server according to the address provided by migration routes class. When the target web server breaks down, the migration routes class also provides the function of the migrating to other web server. (3) Monitoring class: After the migrates to a web server, the current user number, the current data transfer rate, the current error number, the average number of current processing task, the usage rates of currently available storage area, the currently usable capacity of a disk and remaining available capacity can be measured by monitoring class. The monitoring information are then sent to the MA. Fig.3 describes the role of the various Java classes in the whole load monitoring system.
J. Wu /Journal of Information & Computational Science 7: 3 (2010) 759 765 763 M A create p eriodicly m igra tion rou tes address information migra tion m onito rin g c lass load m onitorin g sen d load info rma tion disp lay lo ad information view class Fig. 3: The application of Java classes in the load monitoring system 4 The System Performance Evaluation We first introduce the parameters of reflecting the load monitoring system before introducing the performance standard of it. The load generally refers to the number of the tasks which have not yet completed or the usage rate of resource assigned to an object in a moment[10], it can be determined by the following parameters: (1) the number of tasks running in the queue, that is, the number of the load on a node; (2) the time percentage of CPU idle time; (3) theratio of available memory; (4) the average load within recently time t; (5) the average transmission rate of network communication. In order to more accurately reflect the load, it often needed to collect more parameters, however, this method is often invalid for performance improvement because of increased overhead. For example, we perform boolean operation AND or OR for the two of six parameters, the average response time is longer than using a single parameter. 4.1 Total Response Time Evaluation One of the important standard measuring the performance of load monitoring system of web server is the total system response time. The total response time of the load monitoring system depends primarily on the following aspects: load monitoring server and web server s CPU speed and memory capacity, network bandwidth and message type of web system, etc. The total response time of the load monitoring system presented in this paper can be approximately expressed as: K τ = t m + t a + t d. In which t m is the execution time of the load monitoring operation on the load monitoring server, t a is the time consumed by the completing the specific monitoring task in a web server, t d is the network delay time. Fig. 4(a) shows the time consumed by the traditional client/server model implementing load monitoring system, Fig. 4(b) shows the time consumed by the implementing load monitoring system. In which t m1 is the delay time of load monitoring server to the web server, t 1m is the delay time of the web server 1 to the load monitoring server. As the monitoring information which the
764 J. Wu /Journal of Information & Computational Science 7: 3 (2010) 759 765 sends to MA only increase very little network traffic (comparing to the network traffic which the itself increase during migration), therefore, the part of the delay time may be ignored in the response time evaluation. t m1 t 1m t m1 t 12 web server 1 web server 1 load monitoring server t m2 web server 2 load monitoring server web server 2 t nm1 t 2m t mn1 t nm1 web server N web server N (a) (b) Fig. 4: The required time for implementing the load monitoring system in two ways For the web system containing N web servers, using client/server model to implement load monitoring is needed to create N times request, however, using the model to implement load monitoring is only needed to create a time request, so the time consumed by the load monitoring server itself is respectively: T mc = N t m. T mj = t m. In addition, assuming that the delay time of data transmission between each node is the same (namely, assuming t m1 =t m2 =t mn = =t 12 =t 23 = =t ), then the total network delay time of using of client/server model is T d = 2N t, however, the total network delay time of model is (N + 1) t, then T τ in two situations is respectively: T τc = 2N t + N t m + N t a. T τj = (N + 1) t + t m + N t a. It can be seen, when the number of web sites being monitored is increased, the total response time of web server s load monitoring system using model is significantly lower than using the traditional client/server model. 4.2 The Monitoring File Size The file size of running on each web server is as follows: the s file size is 5.5KB, the migration routes class s code size is 3.4KB, the monitor class s code size is 6.2KB, the total file size is about 15.1KB. In other words, after the migrates to a web serverthe class s code size which
J. Wu /Journal of Information & Computational Science 7: 3 (2010) 759 765 765 the whole load monitoring process only loads is 15.1KB; after the monitoring mission is finished, it just destroys the class code whose size is 15.1KB. Therefore, the efficient of the web server s load monitoring system based on is far more higher than the load monitoring system of client/server model. When the migrates to the first web server, it is needed to load all the code whose size is 15.1KB. Every time the migrates, it simply transfers the program whose size is 5.5KB, thus, the network traffic is greatly reduced. 5 Conclusion Load balancing is the key part of the load monitoring system of web server, the use of process migration mechanisms can improve the dynamics of load balancing and the throughput. The web server s load monitoring system based on Java has solved the defects in the load monitoring system of client/server model. Through the use of, the flexibility and reconfigurability of load monitoring is improved and it has better environment adaptability and practical and research value. Next, we will make further research on the safety of the whole load monitoring systemwhich mainly deals with the authentication of mobile agent s legitimacy, protecting the data carried by the mobile agent, anonymous signature issues, preventing certain malicious attack and illegal modifying of the and so on. References [1] X. Zhang, Research on load balancing of the web server, Journal of University of Electronic Science and Technology of China, May 2005 [2] Y. Cheng, The study and realization of server monitor system, Journal of Huazhong University of Science and Technology, November 2005 [3] Z. Q. Li, A load monitoring system of PC cluster, Microcomputer and Its Applications, August 2003 [4] R. Y. Fei, Monitoring system of enterprise ethernet based on C/S, Journal of Beijing University of Technology, June 2004 [5] X. Qin, Load balancing support for I/O-intensive parallel jobs in a cluster of workstations[c], Proceedings of IEEE International Conference on Cluster Computing, Hong Kong, 2006, pp. 100-107 [6] C. C. Hui, Improved strategies for dynamic load balancing[j], IEEE Concurrency, 2004, pp. 58-67 [7] H. Y. Huang, Solution to problem of malicious agents of Java based mobile agent systems, Computer Engineering and Design, March 2004 [8] T. Hu, Research and design on security architecture of mobile agent system based on Java, Journal of Najing University of Posts and Telecommunications, March 2005 [9] Z. Y. LiuHu, Effective dynamic load balancing method, Journal of Software, December 2005, pp. 564-569 [10] Roabert D. Woolley, Web performance measurement and capactity planningbriefing paper[z],state Information Architect, January 2006