The main responsibilities of a web server are to listen from the communication channel and to prepare replies to requests. Additional responsibilities include adapting processing activities, for example, through scheduling or request filtering, so as to satisfy Quality of Service (QoS) requirements. Typical QoS-related concerns address behavioural constraints (e.g. response time bounds, satisfiable by scheduling the most urgent requests first) and resource monitoring, for optimal use. Although such concerns are spread across several web server components, they should be handled separately from communication-related ones, for the sake of modularity. For this purpose, we advocate recourse to aspect-oriented programming and illustrate it by showing how a QoS-related layer can be smoothly superimposed on top of a well-known, unmodified, web server Jigsaw. As part of the provided support, requests are assessed and partitioned into those that can be appropriately handled by using local resources and those needing further resources. For the latter requests, cloud-based resources are gathered. Aspect-orientation enables new QoS-related code to be separated from web server modules so as to keep existing code unaltered, while runtime behaviour is modified with the measures needed to handle QoS concerns.

Providing QoS strategies and cloud-integration to web servers by means of aspects

MESSINA, FABRIZIO;PAPPALARDO, Giuseppe;TRAMONTANA, EMILIANO ALESSIO
2015-01-01

Abstract

The main responsibilities of a web server are to listen from the communication channel and to prepare replies to requests. Additional responsibilities include adapting processing activities, for example, through scheduling or request filtering, so as to satisfy Quality of Service (QoS) requirements. Typical QoS-related concerns address behavioural constraints (e.g. response time bounds, satisfiable by scheduling the most urgent requests first) and resource monitoring, for optimal use. Although such concerns are spread across several web server components, they should be handled separately from communication-related ones, for the sake of modularity. For this purpose, we advocate recourse to aspect-oriented programming and illustrate it by showing how a QoS-related layer can be smoothly superimposed on top of a well-known, unmodified, web server Jigsaw. As part of the provided support, requests are assessed and partitioned into those that can be appropriately handled by using local resources and those needing further resources. For the latter requests, cloud-based resources are gathered. Aspect-orientation enables new QoS-related code to be separated from web server modules so as to keep existing code unaltered, while runtime behaviour is modified with the measures needed to handle QoS concerns.
2015
software architectures; quality of service; aspect-oriented programming; resource manage- ment; performance; cloud
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.11769/16389
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 24
  • ???jsp.display-item.citation.isi??? 11
social impact