Quality of Service (QoS)
Differential QoS Support in Web Services Management
One service implementation - many levels of service
By: Abhishek Malay Chatterjee; Anshuk Pal Chaudhari; Akash Saurav Das; Terance Dias; Abdelkarim Erradi
Sep. 13, 2005 09:00 AM
Web services are gaining acceptance as the prime technology used to interconnect disparate applications and ease interoperability between heterogeneous and autonomous systems both for internal and external integration. The variation of contexts in which shared Web services could be used and the resulting variation in functional and Quality of Service (QoS) requirements motivate extending Web services management platforms with more sophisticated control mechanisms to cater to differentiated service offerings.
However, most Web services platforms are based on a best-effort model, which treats all requests uniformly, without any type of service differentiation or prioritization. This article explores the typical generic requirements for differential QoS support in Web services management. We then evaluate various emerging management frameworks to assess the degree to which they meet the identified requirements. Finally we present the typical architecture for priority-based differentiated QoS for Web services.
Web Services Management
Differential QoS Requirements in Web Services: One Service Implementation - Many Levels of Service
However, current Web services management platforms do not address differentiated services requirements comprehensively, and requests are often processed according to their order of arrival. Figure 1 summarizes the typical architectural requirements for differential QoS.
Generic service-level offerings - The first requirement to achieve differentiated QoS is the ability to encode QoS assurances in machine-readable format. An expressive language is required to specify the various service levels offered by the service provider. For example, services can be offered using an Olympic classification such as gold, silver and bronze.
Individualized service-level offerings - Besides the support for defining generic service levels, sometimes it is useful to be able to define custom service levels (SLAs) per service consumer.
Matching and negotiation of service levels - Particularly for custom SLAs, sometimes it is useful to be able to dynamically negotiate service levels depending on the requester's requirements, the service provider's capabilities, and the dynamic runtime conditions such as service load.
Admission control - Admission control regulates the "intake" and manages the acceptance of new requests while taking into account current service policies and system load. In case of overload, a request may be either rejected or have its QoS level downgraded (through negotiation), so that it can be accepted at a lower service class.
Request classification - Request classification is responsible for receiving incoming requests and assigning a service class to requests to enable prioritization according to a predefined classification schema. The request is then placed on the appropriate priority queue according to its assigned service class.
Requests policing - Requests policing is required to make sure that the number of requests per customer is within a predefined limit. Requests exceeding the maximum throughput limit are assigned a low priority class.
Differential QoS dispatcher - Dispatcher uses scheduling algorithms such as weighted round-robin scheme to dispatch requests for processing, while ensuring that the number of dispatched requests to each service does not exceed its capacity.
QoS measurement and monitoring - A QoS metrics engine is required to gather QoS metrics, monitor the workload, and readjust the class-of-service weights for request queues. This allows the Service provider to ensure that the promised performance is being delivered, and to take appropriate actions to rectify noncompliance with an SLA such as reprioritization and reallocation of resources.
Policy manager - For implementing differentiated services, there is typically a set of rules or policies that control the QoS variations. From an architectural point of view, this requires a separate policy management layer to allow separating out the policy aspects from service implementation.
Automated resource management - The most important and challenging requirement for differential QoS management is still QoS delivery through automated resource management, particularly arbitration in allocating resources to client requests (e.g., providing more resources to process higher priority requests) and mapping QoS requirements onto the configuration of underlying QoS provision technologies across all abstraction layers.
Reader Feedback: Page 1 of 1
SOA World Latest Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
SYS-CON Featured Whitepapers
Most Read This Week