A PROTOTYPE IMPLEMENTATION AND EXPERIMENT RESULTS


Load Balancing with Mobile Agent

An experiment was carried out to demonstrate how mobile agent realizes load balancing in a distributed e-learning environment. Figure 6 shows the network configuration used to simulate a typical Faded Information Field.

click to expand
Figure 6: Network Configuration

Response Time Evaluations

Figure 7 shows a model of a mobile agent network which depicts both the network architecture and the mobile agent behavior. In the network architecture, the processing part is represented as a set of nodes, such as "Server1", and they were capable of hosting and providing resources to the mobile agent to make it execute its task. The network communication is represented by arrows that connect the nodes and support mobile agent migration and communication with the user by sending result messages.

click to expand
Figure 7: Mobile Agent Traversal

The user interacts with the mobile agent network by initiating a mobile agent at the user machine. The agent then carries the user's search criteria to request required web documents at remote servers. The user's request and creation of the agent were random events; the agent migrates with a userdefined itinerary to the destination node to perform the data retrieval task, which is also a stochastic process. So, the mobile agent can be considered as a network communication packet in the network queuing system that should be served at the server.

Response time is a typical parameter for measuring the performance of a queuing system. It is defined as the time interval between when a request is sent and when a response is returned. Response time is commonly used to evaluate parallel and distributed processing in telecommunications. We also adopted this method for our work with a mobile agent network.

With a higher level of abstraction, the response time for a mobile agent network is expressed as:

  • T: mobile agent response time

  • t process : time taken to perform tasks at nodes

  • t migration : time taken to migrate within the network

Depending on the situation, t process will change. The factors that affect t process include the size of the mobile agent, the query size and complexity, and the size of the records inside the database. T migration is determined by the agent size and by the network bandwidth between agent hosts .

With these factors taken into consideration, Equation 2 is expanded as:

With reference to the generic mobile agent network model in Figure 7 (the agent hosts were numbered from 1 to N), the parameters in Equation 3 are expressed below:

  • T: Mobile agent response time

  • t agent : Time taken to create a mobile agent and migrate it to the first host

  • t process (i): Duration of the mobile agent execution at i th server

  • t agent (i, i+1): Time taken by the mobile agent to travel from node i to node i+1

  • t N+1 : Time taken by the mobile agent to travel back from the last host and destroy itself

The mobile agent-based searching was tested with a network configuration consisting of three agent hosts, as shown in Figure 6. The arrival and departure time at each host was recorded in the tables below to calculate the response time T.

Experiment results for the course metadata table with 10 records:

The parameters we used for Table 1 were:

  • Record Size: the number of records in database table to which the mobile search agent perform query

  • t agent : the time at which search agent was created

  • t 1 : the time at which search agent arrived at host one

  • t 2 : the time at which search agent arrived at host two

  • t 3 : the time at which search agent arrived at host three

  • t 4 : the time at which search agent completed task and destroyed itself

With reference to t agent and t 4 in Table 1, the response time T was calculated approximately with the following equation:

Table 1: Experiment Result (10 Metadata Records)

Runs

t agent

t 1

t 2

t 3

t 4

T

1

1

2

4

5

5

2

1

2

2

3

3

3

1

2

2

3

3

4

1

2

2

3

3

Average

1

2

2.5

3.5

3.5

Table 1 shows that, for the first run of mobile agent searching, the response time is around five seconds. For subsequent runs, the response time drops to three seconds. The database query process takes a substantial percentage of the response time.

Querying the database for the first time differs from subsequent queries since the first query involves the additional overhead of loading the JDBC driver and establishing the communication channel. The subsequent queries already have some necessary program cached in computer memory from previous runs, so they take less time. For each query by mobile agent, a sufficient number of runs were carried out. The average response time for the specific data table was calculated according to Equation 5.

Another significant factor that we considered in our experiments was the size of the records in the database table and the size of query result. They directly affect the response time in two ways: in the time spent for the query to execute, and in the time required to transport the result to user machine.

The same experiment was performed to calculate the average response time for mobile agent-based search, with the database table records varying from 50 to 100 to 200.

Experiment results for the course metadata table with 50 records:

Table 2: Experiment Result (50 Metadata Records)

Runs

t agent

t 1

t 2

t 3

t 4

T

1

1

3

5

6

6

2

1

2

3

3

3

3

1

2

3

3

3

4

1

2

3

3

3

Average

1

2.25

3.5

3.75

3.75

Experiment results for the course metadata table with 100 records:

Table 3: Experiment Result (100 Metadata Records)

Runs

t agent

t 1

t 2

t 3

t 4

T

1

1

3

5

6

6

2

1

2

3

3

3

3

1

2

2

2

3

4

1

2

3

3

3

Average

1

2.25

3.5

3.75

3.75

Experiment results for the course metadata table with 200 records:

Table 4: Experiment Result (200 Metadata Records)

Runs

t agent

t 1

t 2

t 3

t 4

T

1

1

3

5

6

6

2

1

2

2

3

3

3

1

2

2

3

3

4

1

2

2

3

3

Average

1

2.25

2.75

3.75

3.75

Experiment results for the course metadata table with 1000 records:

Table 5: Experiment Result (1000 Metadata Records)

Runs

t agent

t 1

t 2

t 3

t 4

T

1

1

3

5

7

7

2

1

2

2

3

3

3

1

2

2

3

3

4

1

2

2

3

3

Average

1

2.25

2.75

4

4

The counterpart of mobile agent-based search is client-server search paradigm. Compared with our mobile agent system, the equivalent clientserver system is shown in Figure 8.

click to expand
Figure 8: Client-Server Architecture

Since the client-server paradigm is not synchronous, the user has to perform the search by himself, key in the search criteria, and wait for the request to be sent back from the server. If the user wants to search the three data servers one by one for required documents, he has to perform the same search operations three times. Those operations include opening the E-learning application, entering the search criteria, clicking the "start" button, etc.

The client-server network configuration is shown in Figure 8. Its response time is expressed as follows in Equation 6:

  • T: Client-server response time

  • t query (i): Time taken for the server i to perform the query on its database

  • t transmission (i, 0): Time taken for server i to send query results to the user machine

  • t user (i): Duration user performs operations during each search session

The client-server-based search was tested with the network configuration consisting of three servers (as shown in Figure 8), and the response time for each server was recorded in the table below. Since t user is subject to the user's typing speed and reaction ability, we took t user as 10 seconds for the average time a user takes to perform a search session. These values were summed up to get the response time to calculate the response time T.

The database used in testing was the same as the one used to test the mobile agent system. The query and query results were also the same. Thus, we performed a response time comparison between the two systems with the equivalent hardware and software components .

Experiment results for the course metadata table with 10 records:

Table 6: Experiment Result (10 Metadata Records) ” Client-Server

Runs

t 1

t 2

t 3

t user

T

1

1

1

3

10

35

2

1

1

3

10

35

3

1

1

3

10

35

4

1

1

3

10

35

Average

1

1

3

10

35

The parameters we have taken records in Table 6 were:

  • Record Size: the number of records in the database table to which the mobile search agent performed the query

  • t 1 : the time at which the search agent arrived at host one

  • t 2 : the time at which the search agent arrived at host two

  • t 3 : the time at which the search agent arrived at host three

  • t user : user's response

  • T: the response time for the client-server system

With reference to t 1 , t 2 , t 3 and t user in Table 6, the response time T was calculated approximately using the following equation:

To get a more accurate result for the response time, a sufficient number of runs were carried out to query the client-server system. Then, the average response time for the specific data table was calculated according to Equation 8.

Experiment results for the course metadata table with 50 records:

Table 7: Experiment Result (50 Metadata Records) ” Client-Server

Runs

t 1

t 2

t 3

t user

T

1

1

1

4

10

36

2

1

1

3

10

35

3

1

1

3

10

35

4

1

1

3

10

35

Average

1

1

3.25

10

35.25

Experiment results for the course metadata table with 100 records:

Table 8: Experiment Result (100 Metadata Records) ” Client-Server

Runs

t 1

t 2

t 3

t user

T

1

2

2

5

10

39

2

1

1

5

10

37

3

1

1

4

10

36

4

1

1

4

10

36

Average

1.25

1.25

4.5

10

37

Experiment results for the course metadata table with 200 records:

Table 9: Experiment Result (200 Metadata Records) ” Client-Server

Runs

t 1

t 2

t 3

t user

T

1

2

2

6

10

40

2

2

2

5

10

39

3

1

1

5

10

37

4

1

1

4

10

36

Average

1.5

1.5

5

10

38

Experiment results for the course metadata table with 1000 records:

Table 10: Experiment Result (1000 Metadata Records) ” Client-Server

Runs

t 1

t 2

t 3

t user

T

1

3

3

9

10

45

2

2

2

9

10

43

3

2

2

9

10

43

4

2

2

8

10

42

Average

2.25

2.25

8.75

10

43.25

From the data collected, it was shown that, as the records in the database increase in size, the response time for both the mobile agent and the clientserver systems increased. However, the response time of the client-server system was more sensitive to the database record size. Figure 9 shows the response time versus record size comparison for the two systems.

click to expand
Figure 9: Response Time Comparison

Figure 9 shows that the response time of the mobile agent-based search is much faster than that of the client-server search. This is mainly due to the asynchronous and autonomous nature of mobile agent. Mobile agent performs information searching tasks alone once a user creates it, and completes the task autonomously, without interaction or communication with the user. The user doesn't need to monitor the agent during its work, which brings the user tremendous time savings and reduces communication costs.

From our experiment data, mobile agent saved an average of 30 seconds compared to completing the same task with client-server system. The efficiency in performance can be attributed to the following reasons:

  1. Mobile agent is not a stand-alone process. It is a thread that needs to work together with other programs in the agent host to complete the task. Hence, it is flexible and small in size. In our system, the search agent is only around 10K with small variation depending on user query size. Hence, the amount of time taken to transport mobile agent is small.

  2. The mobile agent moves query computations to the data server, the repetitive request/response handshaking involved in the client-server system is eliminated. The mobile agent performs data selection at the remote server; only the selected documents are sent to user. In the clientserver system, intermediate results and information need to be passed through the network between server and client. Hence, mobile agent reduces network traffic and improves performance in terms of response time.




(ed.) Intelligent Agents for Data Mining and Information Retrieval
(ed.) Intelligent Agents for Data Mining and Information Retrieval
ISBN: N/A
EAN: N/A
Year: 2004
Pages: 171

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net