QoS (Quality of Service) support in Web services is an important issue since it ensures service usability and utility for each client and, in addition, improves server utilization. In this paper, we present a QoS-capable Web service architecture, QCWS, by introducing a QoS broker module between service clients and providers (servers). The functions of the QoS broker module include tracking QoS information about servers, making selection decisions for clients, and negotiating with servers to get QoS agreements. We study two resource allocation algorithms (HQ and RQ) used by QoS brokers acting as the front-end of servers. The goals of the algorithms are to maximize the server resource usage while minimizing the QoS instability for each client. The first algorithm, HQ, assigns a homogeneous service level to all clients on the system and adjusts the service level according to the number of active clients. The second algorithm, RQ, assigns different service levels to clients according to t...