Keywords web services, mobile agents, performance, response time In recent years, Web service technology is considered as an effective means for building distributed information sys-tems
Trang 1Towards Scalable Agent-based Web Service Systems:
Performance Evaluation
Department of Software Engineering University of Engineering and Technology Vietnam National University, Hanoi
144 Xuan Thuy Road, Cau Giay District, Hanoi, Vietnam
{dungvq, binhpb.mi10, hieuvd, hanv}@vnu.edu.vn ABSTRACT
Web service technology is widely applied in building
dis-tributed information systems in order to provide flexibility
and extensibility As in the traditional web services, when
the number of clients increases, the traffic problems of
net-work may happen and the services may become overloaded
Distributed mobile agent platforms in Web service have
be-come more mature in recent years, and may help reducing
the load from Web servers as well as reduce the traffic for
overall network We have proposed an agent-based
frame-work for Web services that is scalable and reliable The
framework uses mobile agents to solve the traffic problem
on traditional Web service systems In this paper, we study
the performance of our proposed approach with the focus
on response time We simulate our framework by
mathe-matical models on a network simulator tool The simulation
results showed that our proposed framework has ability to
improve performance in comparison with traditional Web
service systems
Keywords
web services, mobile agents, performance, response time
In recent years, Web service technology is considered as
an effective means for building distributed information
sys-tems Based on a set of standards (XML, SOAP, WSDL,
etc.), Web service technology provides systems with
flexi-bility and extensiflexi-bility However, to exploit the benefits of
this technology, many issues must be solved including the
performance of services With the aim of increasing
perfor-mance of systems based on Web services, several researches
have been carried out The idea of using distributed servers
with replicated resources is proposed in [2, 4, 1] An
infras-tructure for the design and the development of mobile agent
∗Corresponding author
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, or
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee.
iiWAS2011, 5-7 December, 2011, Ho Chi Minh City, Vietnam.
Copyright 2011 ACM 978-1-4503-0784-0/11/12 $10.00.
based distributed applications on the Internet is described
in [7] Another approach is using mobile agents as Internet content transcoders is presented in [5]
In our approach with similar target, we have proposed
a framework for Web services based on mobile agents [6] Using our framework may reduce load for Web servers as well as overall network traffic The key idea is to use mobile agents to deliver services to client sides
This paper presents a performance model and experiments for proving the scalability of our proposed framework Our experiments are based on network simulators and only focus
on response time The remainder of the paper is organized
as follows In Section 2, we review our proposed framework Section 3 presents our performance mathematical model for mobile agent-based Web services systems An experimental case of system performance based on network simulator to-gether with results and discussion are presented in Section 4 And the last section - Section 5 are the conclusions and our future work
In this section, we give an overview of our proposed frame-work for reducing load and increasing performance for Web service systems A mobile agent is a software component that has the ability to move from one host to another while preserving its state It has been utilized for adaptation to various environments, typically mobile computing environ-ments [3, 8]
In our framework [6], there are three main layers: web servers, proxy servers, and clients Each group of clients in the same network area is coupled with a proxy server These clients and the proxy servers can be very far away from the web servers Both web servers and proxy servers have mobile agent platform installed When clients in a group (i.e use the same proxy server) make the same requests, the proxy server determines whether to forward the request directly
to the web servers or to request the web servers to send a mobile agent to carry out service at the proxy server With this mechanism, the response times of services are decreased because clients only need to connect to proxy servers instead
of connecting to web servers It also will prevent the prob-lems of bottle-neck and overload at the server sides The overview of framework can be seen in Figure 1
The core of the framework is i) a service is composed by a number of agents, and ii) the use of the mobility of agents to carry the reallocated service to the proxy server and to exe-cute it there Among to proposed framework, a proxy could
Trang 2Figure 1: Overview of our proposed framework.
investigate itself in possibility of containing agent, and
pro-vide the mechanism to communicate with other agents It
can improve a performance and reliability of systems The
problem remains that, there is not enough experiments in
proving the realizing of proposed framework And to achieve
scalability as shown in proposed approach, we need to prove
the performance of our proposed framework
In this section, we propose a model for evaluating a
perfor-mance of scalable mobile agent based web service systems
The mathematical model is based on software architecture
of network systems using mobile agents It models the
trans-ferred agents among request and response time The model
will realize a performance of systems by finding the response
time value on each transaction agent
Firstly, we describe our model of response time in mobile
agent based web service systems, where mobile agent
plat-form is installed in proxy server and web server sides The
overall system is shown in Figure 2 We calculate the
re-sponse time in this system when proxy carries agent The
performance is critical and should be affected by reducing
the load of requests from clients and reducing the response
time to get result from client side
In order to measure the overall performance of our proposed
systems, we adopt some definitions of request and response
to the client side These definitions will effect the response
time of web service systems We define the mathematical
model as below
Suppose that the number of requests and the number of
responses are defined as rreq and rresp, respectively We
define tagas response time of agent based web services, t1, t2
are request and response time of agent, and allocated time
Figure 2: Response time model
to get agent from server is ts Also, a time of completed the first request is treq0, and a time of competed the first response is tresp 0from a client to proxy and server We have
a following conditions:
tag≥ t1+ t0
tag≥ t2+ t0
Thus, we have
t1' treq0.rreq+ x0
t2' (tresp0− ts).rresp+ tresp0+ y0
where x0, y0 are the time related with a received data unit, and dependent to server’s speed, memory and transmission systems
We will have a formula of overall agent transaction from server to client as follows
tag= t1(ε + 1) + t2(ε + 1) + t0
with ε ∈ [0, 1] is a value of delayed network on request pro-cessing The response time is shown in Figure 3, in which, the response time is a monotonic function In comparison with traditional web service systems, the response time of mobile agent systems will always be smaller
With increasing the number of requests, i.e increasing number of clients, the systems need to be designed as scal-able proxy servers We propose a scalscal-able model that will control distributed agents and responses on the success trans-ferred The process is shown in the Figure 4 In that figure, each proxy server has a connection to one client as a local network, which can be quickly response to requests of client
A connection between proxy servers and web servers is the Internet Thus, the total response time of systems includes all the response time of each agent in the network
We define set of relation values in order to verify a exist-ing proxy server which carries agent and return to client’s requests
Trang 3Figure 3: Mathematical graph of response time.
Figure 4: Scalable model
Def 1 Response value d ∈ [0,1], that is defined as follows:
d =
1 proxy server carries agent
0 proxy server locates to web server for agent
Def 2 Response function sijcould be formulated as follows:
sij=
i response from proxy server carried agent
0 response from web server located agent
Def 3 Response condition uij will be as sum of response
function and its priority of request
uij=X
j
wj.sij
where wj∈ [0, 1] is priority of request j In scalable system,
one request will be processed at one time, thus priority value
is happened to define it When w = 1 means that the request
of one client is processed, otherwise if w = 0 - system is
looking for priority value on overall network
Total time is shown as:
T =X
j
tagj.uij
In combination of two subsections 3.1 and 3.2, the total
re-sponse time can be formulated as following:
Tresp=X(treq+ tresp) + tagj+ ∇τ where
∇τ =
wc.scost+ wt.stime+ wa.savail with agent
with wc, wt, waare the priority values of request which turn
of cost, time and available of services And scost is cost
of service, stime is response time and savail is available of service
Through scalable systems, our proposed platform depends
on the available carried agent in proxy, and it could connect
or reallocate to web server in order to get response agent to the requested client
Our experiment bases on network simulator tool with the focus on simulation of web service systems using mobile agents In the tests, we establish two levels of load manage-ment The first one is simulated as a local network including clients and proxy servers The second one is simulated as the Internet with one web server We assigned for first level a DNS address, and each client is given an IP address of proxy server based on locally The second level of load balancing is via proxy server which dynamically distributes transactions among a group of proxy servers In local network, each client can connect to a proxy server It gives faster response time and reduces unnecessary traffic in the networks The test system examines all agents that are moved between the web server and proxy servers Specific functions of proxy servers are to: (a) inspect all agents in both directions between web server and proxy servers; (b) look for needed agents existing inside proxy server; (c) if no agents found in proxy server, locate them to web server; (d) receive agent from web server; (e) response to clients; and (f) watch for next request and agents
We performed 5 clients sending approximately 3000 re-quests to proxy servers within 100 ms based on 10Mbps speed of local network We made a random of thousand times of sending a set of requests to a server with by 10 ms for each The requests were sent continuously with number
of requests increasingly The Internet connection in use had speed of 128Kbps An experimental example is shown in Table 1 with some testing values In the table, the first col-umn is the number of sending requests, the second colcol-umn is the interval of sending request, and the next 2 columns are the response time of our proposed framework and traditional web services In the table, when the number of requests is increased to a sufficient value, the response time is always smaller in comparison with traditional web service systems
In experiment, we compare our systems with traditional web service systems The comparison is shown in Figure 5
In that figure, the vertical axis is the response time values that measures in ms The horizontal axis is the number of requests The dot line is the response time of mobile agent based web services, and the other line is response time of traditional web services The first request is sent to web server to allocate agent, and on the next time if the agent
is in proxy, then proxy server will send response back to requested client without allocating to web server and so on Thus it reduces the time of receiving response to client side
Trang 4Table 1: Experimental result
Number of Request Resp time Resp time
request interval web service agent based
(ms) (ms) (ms)
21 10 0.208 0.018
25 10 0.204 0.024
93 20 0.505 0.028
97 20 0.505 0.028
252 30 0.514 0.030
257 30 0.505 0.034
373 40 0.609 0.032
378 40 0.705 0.042
647 50 0.809 0.052
648 50 0.909 0.054
961 60 0.909 0.062
964 60 1.013 0.063
1455 70 1.129 0.071
1461 70 1.304 0.081
1480 80 1.309 0.087
1483 80 1.409 0.096
1845 90 1.613 0.112
1846 90 1.845 0.224
2727 100 2.606 0.291
2750 100 2.132 0.403
As seen in the graph, the response time for next request
is lower than a previous request, and that process improves
the performance of systems and avoids the traffic in network
transaction In the comparison graph, the response time of
our model is smaller than in the traditional system
In experiments, we have shown that our proposed system
has high performance in comparison with traditional web
services with more effective, high scalability, availability, and
reliability
In this paper, we have shown mathematical models which
evaluate the performance of our proposed systems We have
simulated our models by using network simulator tool with
the focus on response time The results have shown that
our system is scalable and reliable The proposed system
can solve the bottle-neck and overload problems which
usu-ally happened in traditional web service systems Our
sys-tem has higher performance in comparison with traditional
web service systems In the future, we will develop more
complex web service systems with using mobile agent with
regard to composite web services Also, we are continuing to
implement an application based on our proposed framework
which will realize a transaction of mobile agents for overall
network
This work is partly supported by the research project No
102.02-2010.06 granted by NAFOSTED Vietnam The
au-thors also thank TRIG project at VNU for providing the
research environment
Figure 5: Response time comparison graphs
[1] G Cabri, L Leonardi, and F Zambonelli A proxy-based framework to support synchronous cooperation on the web Softw Pract Exper., 29(14):1241 ˝U–1263, 1999
[2] J Cao, Y Sun, X Wang, and S K Das Scalable load balancing on distributed web servers using mobile agents Journal of Parallel and Distributed Computing, 63(10):996–1005, 2003
[3] G Chen, J Lu, J Huang, and Z Wu Saaas - the mobile agent based service for cloud computing in internet environment In Proc Sixth Int Natural Computation (ICNC) Conf, volume 6, pages 2935–2939, 2010
[4] L Cherkasova Flex: load balancing and management strategy for scalable web hosting service In In Proceedings of the Fifth International Symposium on Computers and Communications, 2000
[5] J L Hsiao, H P Hung, and M S Chen Versatile transcoding proxy for internet content adaptation IEEE Transaction on Multimedia, 10(4):646–658, 2008 [6] V.-H Nguyen, T D Bui, Q.-D Vu, and N T T Hien Towards scalable agent based web service systems In Proc 4th Int New Trends in Information Science and Service Science (NISS) Conf, pages 210–213, 2010 [7] A Omicini and F Zambonelli Coordination for internet application development Journal of Autonomous Agents and Multi-Agent Systems, 2(3):251 ˝U–269, 1999
[8] Z Zhu, J.-Y Wang, Z Yang, and F Lei Internet information retrieval system based on mobile agent In Proc Int Machine Learning and Cybernetics Conf, volume 1, pages 62–66, 2005