SEDA: an architecture for well-conditioned, scalable internet services
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
Architectural styles and the design of network-based software architectures
Architectural styles and the design of network-based software architectures
Capriccio: scalable threads for internet services
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
Expressing and exploiting concurrency in networked applications with aspen
Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programming
Hi-index | 0.00 |
Web 2.0 applications often rely on programming techniques that involve Ajax and mashups to provide rich user experiences and remixing of contents. Such techniques allow browser-based clients to communicate with the server using numerous units of information that are small compared with traditional (Web 1.0) applications for which the communication unit is typically an entire page. As a result, Web 2.0 applications tend to generate a larger number of smaller-sized requests. We describe a technique that aggregates multiple client requests of the same type and that processes them at the same time to accelerate Web 2.0 applications when the server is heavily loaded with a large number of client requests. We used a Representational State Transfer (REST) architecture style because they allow the server to detect the request type by examining a small portion in the Hypertext Transfer Protocol request. Due to this aggregation, the application server can process multiple client requests together. Request-invariant computations need to be done only once for a set of aggregated requests. Our experimental results with a simple application within a framework of WebSphere® sMash demonstrate that our technique can improve the throughput of client requests by more than a factor of 2 when we aggregate up to only four requests at a time.