Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Facultad : Ingeniera
FICHA RESUMEN
$12000.000
$12000.000
Descriptores / Palabras Claves: Servidor proxy, cach Web, configuracin de servidores Proxy,
arquitectura de cach distribuido
Resumen: El uso de un servidor proxy en una red LAN disminuye la latencia experimentada por los
usuarios al tener copias cercanas de objetos que han sido usados recientemente. Por lo regular, la
configuracin de un cach requiere decidir los valores que se deben usar en diferentes variables. Se
deben elegir: el tipo de cach, el tamao del cach, las polticas de reemplazo, cmo se van a resolver
las fallas cuando se busca algo en el cach y no est. Si se tienen diferentes posibilidades en cada una
de las variables, el nmero de opciones o combinaciones empieza a ser importante. Pero si se trata de
un conjunto de cachs que trabajan cooperativamente el nmero de posibilidades crece
dramticamente, lo que hace que la configuracin de un servidor proxy no sea un problema trivial.
TITULO:
Minera de datos
FACULTAD:
Ingeniera
Hora/Semana
Firma Director
Programa
10
10
Firma
Cdula
7.560.430
14.896.480
18.397.507
Semestre
Estudiante1
Ingeniera de
Computacin
Sistemas
Estudiante2
Ingeniera de
Computacin
Sistemas
elemento es accedido, existe una alta probabilidad de ser accedido de nuevo en el futuro
[1]. En el caso de la localidad espacial, si un elemento es accedido, existe una alta
probabilidad de acceder los elementos cercanos en el futuro [1]. El aprovechamiento del
principio de localidad hace que el cach aumente el desempeo del sistema.
Extendiendo el concepto de cach de disco, los sistemas distribuidos mejoran notablemente
su rendimiento si se puede guardar una copia local de datos que se requieren con frecuencia
y cuya fuente original es remota. El beneficio real del cach depende de la calidad de los
enlaces entre los diferentes sitios del sistema distribuido.
Para medir el rendimiento de un cach, se contabilizan los aciertos y fallos en la bsqueda
de los objetos que tenga almacenados. Un acierto (hit) se cuenta cada vez que un objeto
solicitado est en el cach. Por el contrario, un fallo (miss) se acumula si el objeto
solicitado no se encuentra en el cach. La efectividad del cach es juzgada por su hit rate,
es decir, el nmero de aciertos (hits) dividido entre el nmero de intentos (aciertos+fallos)
[8]. Cuando se trata de objetos que tienen tamao homogneo, el hit rate es una medida
adecuada, pero si el tamao de los objetos es variable, el byte hit rate es una mejor medida
de desempeo. El byte hit rate se define como el nmero de bytes recuperados del cach,
con respecto al total de bytes de los objetos solicitados [11].
Buscando mejorar an ms el desempeo de muchos sistemas de cach, se utilizan tcnicas
de cach inteligente, donde se trata de predecir los datos que sern accedidos en el futuro
para almacenarlos en el cach. Las estrategias para determinar cules datos deben estar en
el cach constituyen un problema muy interesante en las ciencias de la computacin [13].
Caractersticas
Un cach se puede distinguir por sus componentes los cuales determinan el
comportamiento e influyen directamente en su rendimiento [3]. Estos componentes
corresponde a la gestin de cach, la poltica de reemplazo y la estrategia de resolucin.
La gestin de cach se encarga del direccionamiento de los elementos que se almacenan en
el cach. Tambin maneja la bsqueda cuando se necesita extraer algn elemento del cach.
La poltica de reemplazo elige los elementos que sern desalojados del cach cuando no
hay suficiente espacio para insertar un nuevo elemento. La estrategia de resolucin
determina la accin a seguir cuando hay errores de cach producido por objetos que han
sido desalojados [3].
Gestin de cach
La gestin de cach se encarga de las polticas de ubicacin o direccionamiento de los
elementos que se almacenan en el cach, es decir, especifica la forma de acceder a los
datos. Adems, establece las polticas de escritura y de bsqueda [3].
Las polticas de escritura determinan la forma como se maneja la escritura de objetos que
actualmente estn almacenados en cach con respecto a la fuente original. Existen dos
polticas principales:
funcin al objeto para determinar donde encontrarlo. Los objetos son distribuidos
estadsticamente lo que permite cierto balance de carga [6].
CRISP - Caching and Replication for Internet Service Performance. Es un proxy cach
escalable desarrollado bajo el liderazgo de AT&T Labs Research (www.research.att.com).
Los cachs CRISP estn estructurados como una coleccin de servidores proxy autnomos
que comparten su contenido de cach a travs de un servicio de mapeo en un directorio
centralizado. CRISP permite que un grupo de cachs compartan un directorio comn que
lista los documentos almacenados en cach en todo el grupo. CRISP administra el
directorio de forma centralizada. En caso de fallo al buscar un objeto, CRISP revisa el
directorio comn. Si un compaero lo tiene, le traspasan la solicitud, sino se consulta al
servidor original [7].
Si el objeto solicitado est almacenado en el cach del cliente, el objeto es entregado sin
acceder su fuente original. Para probar el cach distribuido, el proxy reenva el URL
solicitado a un servidor de mapeo. El servicio de mapeo mantiene un directorio de todo el
cach. Los proxies notifican al servicio de mapeo en cualquier tiempo que ellos adicionan o
remueven un objeto del cach. Las actualizaciones y las pruebas son hechas intercambiando
mensajes unicast. Si el mapeo en el servidor central indica que un objeto solicitado est en
un peer, el proxy solicitante recupera el objeto directamente del peer y lo retorna al cliente
[9].
Cache Digest: Utiliza una tcnica basada en catlogo. Cada cach maneja un catlogo con
el contenido de los cachs hermanos. Los catlogos son sincronizados peridicamente. La
sincronizacin de los catlogos implica el envo de mensajes en la red y el procesamiento
de esos mensajes. El proceso de sincronizacin es costoso, por lo tanto en ciertos casos es
preferible tener algunas inconsistencias en el catlogo y no actualizar. Cuando ocurre un
error, el cach busca en su catlogo para saber los cachs hermanos donde est
posiblemente el objeto y enviarles un mensaje de consulta. La primera respuesta obtenida
se procesa y el resto se ignoran. Si de acuerdo con el catlogo no hay ningn cach que
tenga los datos o si la respuesta de los hermanos es null, los padres o las fuentes originales
son contactadas. El cache Digest es relevante solo si las modificaciones se hacen raramente
[3].
Cada cach proporciona un resumen (digest) del contenido de su cach a los proxies
participantes en su grupo. El digest es utilizado para identificar algn cach cercano que
probablemente pueda tener un objeto solicitado. Cache Digests emplea dos protocolos, uno
para construir e interpretar un digest y otro para intercambiar digests entre los diferentes
cachs.
CACH DISTRIBUIDO
El trabajo cooperativo entre cachs es una importante mejora en el desempeo con respecto
a los cachs que trabajan de forma aislada, porque la cantidad de clientes que se conectan a
un nico cach es pequea comparada con la creciente cantidad de informacin disponible
en la Web. El hit rate puede ser incrementado significativamente, a travs de informacin
compartida por usuarios que tengan intereses similares [10].
10
12
consiste en crear un servidor Web distribuido llamado Swala, en el cual se utiliza un cach
cooperativo para almacenar los resultados de solicitudes CGI. [4].
Swala es un servidor Web multithread que corre sobre un cluster de estaciones de trabajo,
las cuales comparten informacin de los datos almacenados en cach e intercambian
informacin sobre el contenido del cach de cada nodo. El servidor guarda los resultados de
la ejecucin de programas CGI e informacin (metadatos) acerca de los datos almacenados
en el directorio de cach. Cada nodo tiene dos componentes, un mdulo http y un mdulo
de cach [11].
El mdulo de cach mantiene el directorio local de cach, el cual contiene informacin
acerca de las entradas de los cachs de cada nodo. Tiene tres threads, uno pendiente de
actualizar el directorio local, un segundo thread escuchando solicitudes de los otros nodos,
y un tercer thread encargado de eliminar las entradas que estn vencidas [4].
Cach adaptativo
El cach adaptativo est formado por grupos dinmicos de cachs. La arquitectura general
se compone de mltiples servidores de cach que se auto-organizan formando mallas en
grupos multicast traslapados que se adaptan automticamente a medida que las condiciones
van cambiando. Estas mallas forman una jerarqua implcita que puede ser usada para
difundir contenido popular de acuerdo a la demanda [11].
El cach adaptativo usa dos protocolos Cache Group Management Protocol (CGMP) que
especifica la formacin de mallas y el Content Routing Protocol (CRP) utilizado para
localizar contenido almacenado en cach dentro de las mallas existentes [11].
Ventajas y desventajas del cach distribuido
Utilizar el cach distribuido tiene ventajas y desventajas que deben ser tenidas en cuenta
antes de ponerlo en operacin.
Las principales ventajas son: la reduccin de la latencia experimentada por los usuarios a la
espera de un objeto; la reduccin del trfico de la red y por lo tanto el consumo de ancho de
banda; se aumenta la robustez del sistema gracias a la posibilidad de tener datos replicados;
es un mecanismo que puede ayudar en la escalabilidad de un sistema distribuido y ayuda a
reducir cuellos de botella en servidores que son accedidos con mucha frecuencia al evitar
puntos nicos de fallo [11].
En el cach distribuido no slo existen aspectos positivos. Entre los aspectos negativos o
desventajas significativas se tienen: la falta de actualizacin de algunos objetos
almacenados en cach lo que puede conducir a la propagacin de copias obsoletas; el
aumento de la latencia cuando se presenta un fallo de cach (cache miss), por el trabajo
adicional que se debe realizar; y la falta de precisin en las estadsticas de acceso de los
servidores de origen porque la distribucin de los objetos almacenados en cach no son
contabilizados.
13
14
h. Justificacin:
El desarrollo de este proyecto le permitir a un administrador de redes encontrar los
parmetros de configuracin de un servidor proxy, debido a que en la actualidad la
configuracin se hace apoyada en la experiencia y por lo regular cuando se presenta alguna
inconformidad se intenta realizar cambios el establecimiento de los parmetros de
configuracin.
Al terminar la investigacin, debern quedar documentados diferentes casos de estudio que
podrn ser tenidos en cuenta por los administradores de redes para aprovechar los
resultados obtenidos y as realizar una configuracin de un servidor proxy cach con una
idea clara del desempeo que muy probablemente van a obtener una vez sea puesto en
operacin.
Por otra parte, es importante la realizacin de este proyecto para dar un primer paso en
investigacin en el rea de redes y sistemas distribuidos en la Universidad del Quindo, la
cual es el rea de estudios de Magister del investigador principal de este proyecto y
compromiso explcito en una de las clusulas del contrato de comisin de estudios firmado
por el Rector de la Universidad del Quindo y Carlos Eduardo Gmez Montoya,
investigador principal de este proyecto, en marzo de 2005.
i. Metodologa:
Este trabajo se desarrollar iniciando con un estudio terico y un levantamiento del estado
del general del tema en el que se analicen trabajos relacionados con el objeto de estudio, la
forma como estos trabajos han sido abordados y los resultados obtenidos.
La configuracin de un proxy cach es un procedimiento complejo con un nmero
importante de variables que deben ser consideradas. Los resultados que arrojan las mtricas
dependen del uso que le dan los usuarios a su servicio de Internet. Por lo tanto, usuarios
diferentes en tiempos diferentes pueden arrojar mtricas diferentes a la misma
configuracin.
Para las realizacin de las pruebas ser necesario construir aplicaciones que permitan
inyectar trfico de manera controlada, de tal manera que adems, un escenario de prueba
debe ser posible aplicarlo a otras configuraciones para hacer posible la medicin de los
resultados y su posterior comparacin y anlisis.
Se tiene previsto crear un laboratorio virtual que en un computador puedan ejecutarse
varias mquinas virtuales que ejecuten programas clientes http y uno o varios servidores
proxy cach y las aplicaciones que generarn las peticiones para medir el desempeo de las
diversas configuraciones del cach.
j. Resultados esperados directos e indirectos:
Teniendo en cuenta que la configuracin de un servidor proxy cach usualmente se hace
con base en la experiencia y que no es posible tener a disposicin herramientas que
permitan comparar el desempeo de una configuracin particular, se espera que al concluir
15
[9]
M.S. Raunak. Web caching reviews. Disponible en:
http://lass.cs.umass.edu/~shenoy/courses/spring00/791u/web1.html.
16
[14]
[15] D. Wessels y K. Claffy. Request for Comments: 2186. Internet Cache Protocol
(ICP), version 2. September 1997.
17
Cronograma de actividades:
ACTIVIDADES
12 MESES
01-02
03-04
05-06
07-08
09-10
11-12
1. Revisin bibliogrfica.
XXXX
XX--
----
----
----
----
--XX
----
----
----
----
----
----
XX--
----
----
----
----
----
--XX
XX--
----
----
----
5. Seleccionar o implementar un
generador de solicitudes Web
para cada uno de los diferentes
casos de estudio en los ambientes
apropiados.
----
----
XXXX
XX--
----
----
6. Seleccionar o implementar un
analizador de archivos log del
servidor proxy para obtener las
mtricas establecidas.
----
----
--XX
XX--
----
----
----
----
----
--XX
XX--
----
----
XXXX
XXXX
XXXX
XXXX
XXXX
----
----
----
----
----
--XX
18
n. Presupuesto:
PRESUPUESTO GENERAL
Descripcin del Presupuesto y Cronograma de Desembolsos
PRESUPUESTO GENERAL
RUBROS
VALORES
Efectivo Especie / Recurrente
PERSONAL
EQUIPOS
2.000
COMPRA
3.000
ARRIENDO
0
USO
0
SOFTWARE
0
MATERIALES E INSUMOS
1.000
SERVICIOS TCNICOS
3.000
BIBLIOGRAFA SUSCRIPCIONES
0
LIBROS
1.000
VIAJES
2.000
SALIDAS DE CAMPO
0
OTROS (DISCRIMINAR)
0
TOTAL 12.000
24.440
0
0
0
0
0
0
0
0
0
0
0
24.440
VALORES
I Semestre II Semestre
Personal
Equipos
Materiales e Insumos
Bibliografa
Servicios tcnicos
Viajes
TOTALES SEMESTRALES
TOTAL
1.000
3.000
1.000
1.000
3.000
2.000
11.000
1.000
0
0
0
0
0
1.000
12.000
19
Cdula de
Ciudadana
Funcin en el
Proyecto
Ttulo
Formacin
bsica
Dedicacin
No. De
Horas/
Valor Total
Meses
Semana
Postgrados
Investigador
principal
7.560.430
Universitaria
14.896.480 Universitaria
Magister
Especialista
10
12
13.000
10
12
11.440
10
1.000
10
1.000
TOTAL:
26.440
TOTAL RECURRENTE:
24.440
Coinvestigador
Estudiante de Ingeniera de
Sistemas y Computacin
(Elegido por Convocatoria)
Auxiliar de
Estudiante de Ingeniera de
Sistemas y Computacin
(Elegido por Convocatoria)
Auxiliar de
investigacin
investigacin
Valor
Unitario
3.000
Cantidad
1
Valor Total
3.000
3.000
Valor
Unitario
TOTAL
1.000
1.000
20
200
100
200
100
100
200
100
1.000
Justificacin
Visita a
experto en
Bogot
Servidores de
Infraestructura
Visita a
experto en
Bogot
Squid Proxy
Server
Costo Pasaje
por Persona
Costo Estada
por persona
No. De Das
Valor
Total
400
600
1.000
400
600
1.000
2.000
TOTAL
1.500
1.500
Bogot
1.500
1.500
Total 3.000
21
HOJA DE VIDA
2008
DATOS PERSONALES:
NOMBRE:
FECHA DE NACIMIENTO:
Enero 10 de 1970
LUGAR DE NACIMIENTO:
DIRECCIN:
DIRECCIN PARTICULAR:
E-MAIL:
carloseg@uniquindio.edu.co
DOCUMENTO DE IDENTIDAD:
7.560.430
OTROS IDIOMAS:
EDUCACIN:
FECHA
TTULO, INSTITUCIN
Septiembre de
2007
Mayo de 1999
Diciembre de
1990
22
EXPERIENCIA PROFESIONAL:
Docencia/enseanza
Universidad del Quindo Docente de plata Tiempo Completo Categora Asociado
Disciplinas Dictadas
Redes de Computadores, Seguridad Informtica y de Redes, Estructuras de Datos,
Programacin de computadores
Investigacin
Tesis de Magister en Ingeniera de Sistemas y Computacin Universidad de Los Andes.
Bogot, 2006-2007.
PARTICIPACIN EN CONGRESOS Y EVENTOS CIENTFICOS:
Congreso de Ingeniera de Sistemas Octubre de 2002. Conferencista.
PUBLICACIONES:
TRABAJOS COMPLETOS:
Tesis de magister: DHTCach: Herramienta de apoyo a la toma de decisiones para la
configuracin de un sistema de cach en aplicaciones DHT. Universidad de Los Andes.
Bogot, D.C., 2007.
Trabajo de Ascenso en el escalafn docente de la Universidad del Quindo: Curso
Interactivo de Estructuras de Datos. Universidad del Quindo. Armenia, diciembre de
2004.
SOFTWARE
Herramienta de desarrollo orientada a objetos para implementar aplicaciones para Redes de
Computadoras.
Herramienta de desarrollo orientada a objetos para implementar aplicaciones con
Estructuras de Datos.
Libros
Fundamentos de programacin Web: Html, JavaScript y VBScript
ISBN: 958 - 33 - 6276 - X, Junio 2004
23
24
DATOS COMPLEMENTARIOS:
JURADO/COMISIONES EVALUADORAS DE TRABAJO DE GRADO
Trabajo de grado Sistema de Examenes
Trabajo de grado Laboratorio virtual de redes LAN
25
HOJA DE VIDA
2008
DATOS PERSONALES:
NOMBRE:
FECHA DE NACIMIENTO:
Mayo 31 de 1973
LUGAR DE NACIMIENTO:
DIRECCIN:
DIRECCIN PARTICULAR:
E-MAIL:
jugutier@uniquindio.edu.co
DOCUMENTO DE IDENTIDAD:
14.896.480
OTROS IDIOMAS:
EDUCACIN:
FECHA
Septiembre de
2003
Diciembre de
1999
TTULO, INSTITUCIN
Especialista en Informtica Educativa, Universidad Cooperativa de Colombia
Ingeniero de Sistemas, Universidad del Valle
EXPERIENCIA PROFESIONAL:
Docencia/enseanza
Universidad del Quindo Docente de plata Tiempo Completo Categora Asistente.
Disciplinas Dictadas
Computacin Grfica, (Redes Neuronales), Electiva (Software Educativo), Estructuras de
datos, Fundamentos de Algoritmia, Lenguaje de programacin (C++), Lenguaje de
programacin (Java), Paradigma Orientado a Objetos, Sistemas Operativos I, Sistemas
Operativos II (Sistemas Distribuidos), Teora de Grafos, Procesadores y ensamblador,
Electiva (Software Educativo).
26
Investigacin
Participacin en el proyecto de investigacin 195 Reconocimiento de voz en tiempo real
por medio de la transformada wavelet y procesadores digitales de seales, en calidad de
coinvestigador. Aprobado por el Comit Central de Investigaciones en su sesin del 9 de
febrero de 2001, segn acta No. 3.
PARTICIPACIN EN CONGRESOS Y EVENTOS CIENTFICOS:
Congreso de Ingeniera de Sistemas Octubre de 2002. Conferencista.
PUBLICACIONES:
TRABAJOS COMPLETOS:
Trabajo de grado de Especialista en Informtica Educativa: Entorno de desarrollo de
ambientes problmicos EDAP. Universidad Cooperativa de Colombia. Pereira, Risaralda,
2003.
Trabajo de grado de Ingeniero de Sistemas: Diseo y construccin de un Sistema
Operativo con fines educativos. Universidad del Valle. Cali, diciembre de 1999.
SOFTWARE
Herramienta de desarrollo orientada a objetos para implementar aplicaciones con Redes
Neuronales.
Herramienta de desarrollo orientada a objetos para implementar aplicaciones con
Estructuras de Datos.
Herramienta de desarrollo orientada a objetos para implementar aplicaciones para Redes de
Computadoras.
GUAS DE CLASE
Paradigma Orientado a Objetos
Software educativo
Lenguaje de programacin en Java
27
Libros
Probabilidad y Estadstica: Para Ingeniera de Sistemas
ISBN: 958 - 33 - 8533 - 6, Noviembre 2005
28
29
HOJA DE VIDA
2008
DATOS PERSONALES:
NOMBRE:
FECHA DE NACIMIENTO:
Septiembre 28 de 1977
LUGAR DE NACIMIENTO:
DIRECCIN:
DIRECCIN PARTICULAR:
E-MAIL:
luixip@gmail.com
DOCUMENTO DE IDENTIDAD:
18.397.507
OTROS IDIOMAS:
EDUCACIN:
FECHA
Abril de 2004
TTULO, INSTITUCION
Ingeniero de Sistemas y Computacin, Universidad del Quindo
EDUCACIN Complementaria
FECHA
Diciembre de
2005
Junio 23 de
2005
TTULO, INSTITUCIN
Diplomado en Redes Inalmbricas, Universidad del Quindo (IT Corporation)
Diplomado en Docencia Universitaria, Universidad del Quindo
30
EXPERIENCIA PROFESIONAL:
Docencia/enseanza
Universidad del Quindo Docente catedrtico.
Disciplinas Dictadas
Electiva (Docente Fundamentos y administracin de sistemas Linux/Unix), Redes de
Computadores, Fundamentos de Algoritmia, Programacin de computadores, Sistemas
Operativos I.
31