1 Sistema predictivopara la reducci´ondel tiempo de descarga de p´aginas Web y de la carga del servidor Josep Dom` enech, Jos´ e A. Gil, Julio Sahuquillo, Ana Pont Department of Computer Engineering (DISCA) Universitat Polit` ecnica de Val` encia. Cam´ ı de Vera, s/n. 46022 Val` encia (Spain) jdomenech@ai2.upv.es; {jagil,jsahuqui,apont}@disca.upv.es Abstract — Las t´ ecnicas de web caching reducen la latencia percibida por el usuario gracias a que sirven los objetos m´ as populares de una memoria interme- dia. Para asegurar que los objetos reusados siguen siendo todav´ ıa v´ alidos, se env´ ıan peticiones condi- cionales al servidor original. Muchas de las respuestas a estas peticiones son mensajes cortos del tipo ”304 Not Modified”, que no incluyen el contenido del ob- jeto. El uso de estas peticiones hacen que el usuario se ahorre la parte de latencia correspondiente a la transferencia del objeto, pero no el tiempo de RTT relacionado con cada par petici´on respuesta. Nuestro sistema persigue reducir la necesidad de utilizar peti- ciones condicionales para validar un objeto. Esto se consigue mediante el uso de algoritmos de predicci´on que incluyen junto con la URL de cada objeto predi- cho, la fecha de ´ ultima modificaci´on o E-Tag de cada objeto. Esta t´ ecnica tiene un buen potencial de mejora de prestaciones ya que el an´ alisis de la distribuci´on de respuestas del servidor nos muestra que entre el 35% y el 71% de todas las respuestas de los servidores m´ as utilizados son ”304 Not Modified”. Este potencial ha sido confirmado mediante simulaci´on, ya que se han alcanzado reducciones de hasta el 58% en la latencia percibida por el usuario y del 68% la carga de peti- ciones del servidor. I. Introducci´ on Desde la aparici´ on de la Web se han realizado nu- merosos esfuerzos para reducir el tiempo de descarga de las p´ aginas Web. La Web funciona siguiendo la filosof´ ıa tradicional de cliente-servidor por medio del protocolo HTTP. La figura 1 muestra un ejem- plo de c´ omo se realiza la comunicaci´ on entre ambas partes. En este ejemplo, un cliente solicita al servidor www.myserver.com la p´ agina A.html. Generalmente las p´ aginas suelen estar compuestas de varios obje- tos como im´ agenes, etc. En el ejemplo, la p´ agina A.html contiene la imagen img1.gif, que se solicita al servidor tras haber recibido el documento princi- pal (A.html ). La latencia percibida por el usuario (tiempo de descarga de la p´ agina) viene dado princi- palmente por el tama˜ no de los objetos solicitados, el ancho de banda disponible entre el cliente y el servi- dor, el tiempo de procesamiento de cada petici´ on por el servidor y el tiempo que tarda la se˜ nal en propa- garse desde el cliente al servidor. Las principales t´ ecnicas desarrolladas hasta ahora para la reducci´ on de latencia son las Redes de Dis- tribuci´ on de Contenido (CDN, por sus siglas en ingl´ es) y el Web Caching. La primera consiste en Fig. 1. Funcionamiento basico de la comunicacion cliente- servidor en HTTP hacer copias del servidor y situar cada una de es- tas copias cerca de un grupo de usuarios finales, de tal forma que se reduce el tiempo que tarda la se˜ nal en propagarse desde el cliente al servidor y, por lo tanto, la latencia percibida por el usuario [1], [2]. Existe una amplia implantaci´on de esta t´ ecnica en el mercado, donde destacan empresas con un gran volumen de negocio como Akamai, Amazon S3, Bit- Gravity, etc. El Web Caching se fundamenta en el hecho de que los usuarios suelen acceder a p´aginas que hab´ ıan ac- cedido previamente [3], [4]. En esta t´ ecnica, el cliente copia en su disco duro de forma autom´atica copias las p´ aginas accedidas para poderlas utilizar en el fu- turo. La reducci´ on de la latencia se consigue por medio de servir el contenido del objeto solicitado de forma local, que es significativamente m´as r´apidoque pedirlo al servidor. El Web Caching se utiliza en pr´ acticamente todos los navegadores Web que ex- isten en la actualidad, adem´as de ser utilizado de forma m´ as global en la mayor´ ıa de organizaciones por medio de los servidores proxy. Estos servidores