Master Thesis Proposal
 
 

Load Balancing Agent: A tool for controlling congestion in computer networks
 
 

Indira Semwal
 
 

1. Committee members and Signatures:
 
 

Approved by Date
 

__________________________________________ _______________

Advisor: Dr. Edward Chow
 
 

__________________________________________ ________________

Committee member : Dr. Marijke Augusteijn
 
 

__________________________________________ ________________

Committee member : Dr. Robert Sebesta
 
 

2. Introduction

 

 
 
 
 
 
 
 
 
 

The main goal in this thesis is to design and develop a load balancing software system that will help users efficiently access services over the Internet. Databases and network services available over the Internet(WWW) are often replicated in order to serve a large number of clients more efficiently. The need to replicate is additionally driven by heavy server access requests and the geographic distribution of the accesses.

Whenever such a choice is available to a client, it needs to determine which of the replicated servers will provide a "better" service. The performance of a service is a function of a) its load relative to the server capacity and b) the characteristics of the path between the server and the client[2].

This thesis will explore the idea of allocating a server to a client so that the client’s response time could be minimized. For example, given the network configuration in Figure[1], let A be the original server and B be the "mirror" server. Let C, D, E, F, G be the clients. Let the routers be represented by circular nodes.

For node G ( the client), the servers A and B are both three hops away. However, at any given moment, the response time for G in accessing A or B might differ greatly. This depends upon i) the processing capacities of A and B, ii) the amount of load already queued in A and B, and iii) the available and bottleneck bandwidth on path G-D-E-A versus that on G-D-C-B. If G could dynamically access the information about the server load at A and B, and the path characteristics, it could send a request to the server with the best expected response time.

2.1 Related work

Schemes for static server selection mainly use the geographical location of the client and server or the distance measured using network hops .

Much research on dynamic server selection has been done, for example the scalable HTTP server[1], the selection techniques in [2], and the dynamic server selection in [3].

In [1], the server is selected based on a round robin mechanism. This leads to load sharing rather than load balancing. The server load, is not taken into account. The technique in [1] works best when all the servers are located in the same subnet.

In [3], the authors developed bandwidth probing tools, to dynamically select the best server. This work is a major improvement to the static server selection methods and their experiments improved the selection process by 50%. However, it does not take into account the server load . The criteria in [3] for server selection is based only on the bandwidth along the given path and the congestion.

In [2], the server selection is based upon the load condition as well as the path characteristics. The technique in [2] provides an accurate picture of the server and path performance. However, to measure the roundtrip delay along a path, the clients must send periodic queries or probes to servers. Even with less frequent probes, the load on the network and servers increases to a certain extent. If the probe frequency is too low, the path information will not be as accurate. Secondly, to gather information about the server load, the server monitors its performance and must periodically push this information to the resolvers, when changes are observed. Therefore the implementation in [2] requires the servers to be modified.

2.2 Proposed method for load balancing

The proposed method in this thesis is much simpler and provides accurate server load and path information. Compared with the dynamic server selection method in [2], we will explore better server reporting and more accurate bandwidth measurement. In the dynamic server selection method they measure the response time of web requests, in our proposed method we will use ICMP echo message request probing . Server load information will be accessed from the web server. In comparison with [1] this thesis proposal is geared towards accessing a replicated server which is assumed to be located anywhere over the global Internet.

3. Thesis Plan

The method will be to make the server load and path performance information available, dynamically to a client , through a Load balancing Agent (LBA).

The two main tasks are: i) obtain the characteristics of the paths from a client to each of the replicated servers and ii) provide the server load for each replicated server at any given moment .

Path characteristics are determined by using ICMP echo message request probing. It will be done periodically, just like in [2]. Server load information will be accessed from the web server. We know that web servers maintain a log file on the status of the server. The web server code can be modified to provide us a more meaningful report, i.e. the web server load. This again would not impose an overhead as web servers collect this information .

The operation of the Load Balancing Agent (LBA) is described below:

3. Tasks:

3.1 Already complete- done during Spring ’99 to present

3.2  In progress - expected to finish date December 15, ’99 3.3 Deliverables 4. References
 
  1. E.D. Katz et al." A scalable HTTP server: The NCSA prototype". Computer networks, Vol. 27(2) (1994) pp 155-164.
  2. Zongming Fei et. al." A novel server selection technique for improving the response time of a replicated service". IEEE Infocom ‘97- 16th conference on Computer communication
  3. Carter R. L and Crovella M. "Dynamic Server selection using bandwidth probing in wide-area networks". Tech. Rep. BU-CS-96-007, Computer science Department, Boston University, Boston, MA, 1996.
  4. Albitz P. and Liu C. DNS and BIND. O’Reilly & Assoc. 1997
  5. Laurie B. and Laurie P. Apache: The Definitive Guide. O’Reilly & Assoc. 1997.
  6. Wright G.R and Stevens W.R. TCP/IP Illustrated, Vol. 2. Addison Wesley Professional computing series. 1998
  7. Packeteer: http://www.packeteer.com
  8. Resonate: http://www.ResonateInc.com
  9. Hydraweb: http://www.hydraweb.com
  10. Bright Tiger: http://www.brighttiger.com
  11. Holon Tech: http://www.holontech.com
  12. RADware: http://www.rad.com
  13. http://www.linux.org/ns_main.c
  14. http://www.apache.org/http_log.c