Toward stress-resilient internet services

The past decade has seen exponential growth of Internet services as being used as platforms to deliver information to remote clients. Therefore, it is important to ensure their availability and quality of service (QoS), especially when they are under stress. To this end, we present eQoS framework to build stress-resilient Internet services. The framework monitors and controls the QoS of stressed Internet services. It monitors the performance of secured as well as unsecured Internet services non-intrusively while existing work are limited to unsecured services. Furthermore, it controls page-view QoS while existing work focus on server-side latency and processing time of one object only. Within eQoS framework, we propose sMonitor for performance measuring and characterizing. It passively collects live packet traces from server sites. It then uses a size-analysis method on HTTP requests to infer characteristics of client accesses and measure client-perceived page-view QoS in real time. To control the QoS, we also propose a queueing-theoretical approach, an integrated approach based on queueing theory and feedback control theory, and an adaptive fuzzy control approach to allocate server resources. We have designed and implemented a prototype of eQoS in Linux and Apache and evaluated it in simulators and production environments. The experiments conducted in production Internet services demonstrate that the measurement error is less than 8%. In addition, using sMonitor, we have characterized session-related performance of secured Internet services with respect to Web page retrievals non-intrusively for the first time. They also demonstrated that the queueing-theoretical approach can control QoS on average. The integrated approach further delivered predictable QoS at a fine-grained level. The adaptive fuzzy controller was shown to be able to control the QoS so that the deviation is within 20% of the target. Complement to the work on Web servers, we also proposed a priority-based packet scheduling algorithm in network routers to maintain queueing-delay ratios between traffic classes. Simulation results demonstrated that, while the performance of existing approaches was poor in short timescales, our approach could control QoS consistently in various timescales and workload conditions.