12. Scheduling en general
Varios objetivos simultáneos
– Priorizar mejores páginas
– Utilizar bien la red
– Mantener la colección fresca
– No sobrecargar servidores
12
16. Scheduling de corto plazo
Sean P(i) tamaños de página
B ancho de banda disponible
B(i) ancho de banda usado para sitios
– B(i) = P(i) / T*
T* tiempo óptimo
– T* = suma(P(i)) / B
16
18. El óp timo no es posible
Debemos evitar sobrecargar sitios
– Tiempo de espera w aprox. 30seg.
En general B(i) << B
– Alta variabilidad de B(i)
Alta tasa de fallas (20-30%)
Ocurren ineficiencias, el tiempo óptimo T* no es
logrado
18
22. Web Oculta
O web profunda
– Bases de datos
– Un porcentaje alto de lo indexable
– Requieren interacción con formularios
Software
– Agente específico
– Base de datos con palabras del dominio
22
23. Problemas Servidores
Uso de ancho de banda
Control de acceso al servidor
– /robots.txt
Control de acceso a los recursos
– Meta name=robots
Se puede identificar un crawler
23
24. Problemas Crawler (1)
Red
– Costo del ancho de banda
– Variable QoS
– Tiempos de espera, la latencia arruina la política de
corto plazo
– Connect exitoso, write no exitoso (firewall)
DNS es cuello de botella
– Crash de DNS locales
– Fallas temporales DNS, en sitios chicos
– Records malos (bad.net misma IP que good.net, luego
uno indexa y en los resultados muestra bad.net)
24
25. Problemas Crawler (2)
Implementación de HTTP
– No cumplen encabezado accept
– Errores de rango cuando se pide un fragmento
e.g.: bytes 0-100k de un archivo de 20k
●
– Respuesta sin encabezados
– 'Found' cuando quiere decir 'Error'
Redirect a página de error
●
– Fechas
Particularmente al pedir if-modified-since
●
25
26. Problemas Crawler (3)
Codificación HTML
– Elementos o atributos muy largos
– Uso de comillas simples y dobles mezcladas
– Tags vacíos, no vacíos, balanceados, no balanceados
URLs
– Sessionids
– Componentes repetidos
Contenido
– Muchos blogs y forums
– Mucho contenido duplicado
26
32. Frescura y Edad
Frescura, F(página)
– 0 si la copia es DISTINTA del original
– 1 si la copia es IGUAL
Edad, E(página)
– 0 si la copia es igual al original
– x si han pasado x segundos desde que el original
cambió
32
35. Cooperation issues
Objective: keep collection fresh
Problems
– Spamming: can't trust the web servers
Can't rely on quality assertions about pages.
●
– Privacy: can't trust the search engines
Can't give them full access to everything.
●
Technologies
– Compression, Differences of content, Fingerprints
– HTTP extensions, Web Services
35
36. Cooperation schemes (1 of
2)
Src
Serve metadata/ Web
h
Svr
Notify changes Eng
Src
Serve differences/ Web
h
Svr
Send differences Eng
Src
Web
Serve ifmodified/ h
Svr
Send pages Eng
Src
Web
Pipelining server/ h
Svr
Send batches Eng
36
37. Cooperation schemes (2 of
2)
Web service waiting Web Search
for crawlers: Server Engine
FILTERING INTERFACE sync
Small program running Web Search
at the server: Server Engine
REMOTE AGENT sync
37
38. Costbenefit (polling)
Network Processing Benefit
Serve metadata Normal
Serve Normal
differences
Serve only Normal
ifmodified
Serve batches Normal
of pages
Filtering High
38 interface
39. Costbenefit (interrupt)
Network Processing Benefit
Send metadata Normal
Send differences Normal
Send changed Normal
pages
Send batch Normal
update
Remote High
39 agent
40. Will websites cooperate ?
Large websites
– Will cooperate is there is a benefit for them
– Web service for crawlers and e.g. e-commerce
brokers
Websites that are customers of a search engine
– Websites that pay to be indexed more often and
provide co-branded searches
General websites
– We can use to some extent the HTTP features such as
pipelining or other future extensions
40
41. Conclusiones
Varios problemas relacionados con la naturaleza
de la Web:
– Enorme
– Calidad variable
– Co-existencia de distintas implementaciones
Problemas aplicables en otros contextos
– Sincronizar una copia local
– Descubrir elementos importantes basándose en
evidencia insuficiente
41