Projecto de Colaboração entre o Observatório das Ciências e Tecnologias eo Departamento de Informática da Universidade do Minho Para obtenção de Estatísticas do WWW em Portugal Relatório de Abril de 2002 Índice ÍNDICE ......................................................................................................................... 1 LISTA DE FIGURAS .................................................................................................. 2 LISTA DE TABELAS ................................................................................................. 3 INTRODUÇÃO ............................................................................................................ 4 WEB MEDIDA............................................................................................................. 5 O SISTEMA NETCENSUS ....................................................................................... 7 EXPLICAÇÃO DAS ESTATÍSTICAS.................................................................... 10 ESTATÍSTICAS DA 1ª RECOLHA. ....................................................................... 14 PÁGINAS HTML ....................................................................................................... 19 ESTATÍSTICAS DA 2ª RECOLHA ........................................................................ 21 PÁGINAS HTML ....................................................................................................... 26 ANÁLISE DAS RECOLHAS ................................................................................... 27 ALGUMAS REFERÊNCIAS EXTERNAS. ............................................................ 30 CONCLUSÃO ............................................................................................................ 32 EQUIPA DO NETCENSUS ...................................................................................... 35 REFERÊNCIAS ......................................................................................................... 36 GLOSSÁRIO E ACRÓNIMOS ................................................................................ 38 1 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática Lista de figuras FIGURA 1: Classificação do web de acordo com o dinamismo e dificuldade dos robots 5 FIGURA 2: Fluxo de trabalho do NetCensus 7 FIGURA 3: Descarga de recursos web para disco local 8 FIGURA 4: Distribuição dos hostnames por servidor na primeira recolha 15 FIGURA 5: Quantidade e volumes relativos dos recursos por tipo na primeira recolha 16 FIGURA 6: Volume relativo dos dados por tipo e data de última modificação 18 FIGURA 7: Número relativo de recursos por tipo MIME e data de última modificação (1ª recolha) 19 FIGURA 8: Ocorrências nas páginas HTML da primeira recolha 20 FIGURA 9: Quantidade e volumes relativos dos recursos por tipo na segunda recolha 23 FIGURA 10: Número relativo de recursos por tipo MIME e data de última modificação (2ª Recolha) 25 FIGURA 11: Volume relativo dos recursos por tipo MIME e data de última modificação (2ª Recolha) 25 FIGURA 12: Ocorrências nas páginas HTML da segunda recolha 26 FIGURA 13: Erros durante a 1º Recolha 29 FIGURA 14: Distribuição do software servidor 31 2 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática Lista de tabelas TABELA 1:Dados gerais da primeira recolha 14 TABELA 2: Rácios gerais da primeira recolha 14 TABELA 3: Recursos web colectados por tipo MIME na primeira recolha 15 TABELA 4: Tamanho médio por tipo na primeira recolha 16 TABELA 5: Número de recursos por tipo MIME e data de última modificação (1ª Recolha) 17 TABELA 6: Volume dos recursos por tipo MIME e data de última modificação em GB (1ª Recolha) 17 TABELA 7: Dados gerais da segunda recolha 21 TABELA 8: Rácios gerais da segunda recolha 21 TABELA 9: Recursos colectados, por tipo MIME, na segunda recolha 22 TABELA 10: Variações percentuais no número de recursos recolhidos por tipo MIME 22 TABELA 11: Tamanho médio por tipo na segunda recolha e variação percentual 23 TABELA 12: Número de recursos por tipo MIME e data de última modificação (2ª Recolha) 24 TABELA 13: Volume dos recursos por tipo MIME e data de última modificação em GB (1ª Recolha) 24 TABELA 14: Dados do estudo à intersecção de ambas as amostras 27 3 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática Introdução O objectivo deste projecto é a concepção e concretização dum sistema automático (hardware, software e comunicações) para obtenção de indicadores estatísticos para caracterização da Web em Portugal e a respectiva evolução. Como se verá mais adiante, esta caracterização é um processo bastante complexo devido ao volume e diversidade da informação disponibilizada. Devido a esta complexidade, o sistema construído limita-se para já a percorrer parte da porção estática e do Web e uma pequena parte do Web dinâmico. Percorrer todo o espaço Web e analisá-lo automaticamente é ainda um objectivo a médio prazo. Desde o início do projecto estudou-se exaustivamente o problema a resolver, foi realizada a concepção e concretização de componentes importantes do sistema e realizaram-se duas recolhas. Cada recolha tentou ser o mais exaustiva possível e o número de recursos colectados e urls visitados foi bastante elevado. Por esse facto as duas amostras são estatisticamente representativas. Devido à escalas envolvidas a análise deste dados não é trivial. O facto de não existirem dados sobre o tamanho real do universo em estudo leva a que seja difícil avaliar as recolhas e extrapolá-las correctamente. Por este facto, em muitos casos não é possível tirar grandes conclusões a respeito dos dados apresentados, valendo estes por si só. Comparando as duas recolhas , observa-se que se tratam de amostras distintas do Web portuguesa. A par do dinamismo do Web, e as modificações ocorridas durante o período entre as duas recolhas as diferenças só podem ser explicadas pela existência de falhas e pelo facto das duas recolhas terem visitado apenas um fracção do Web em Portugal. Mesmo sem certezas sobre o que realmente se está a passar com o processo, os dados obtidos preenchem já uma base de dados de tamanho considerável e antevêem um sistema poderoso para o estudo da web Portuguesa, estudo esse que pode ir muito além da obtenção de dados sobre o conteúdo, mas que também pode abranger a própria estrutura da rede e sua evolução. 4 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática Web Medida O robot usado na obtenção das medidas seguidamente apresentadas tem algumas limitações e por esse facto o percurso realizado inclui apenas uma parte do espaço Web. Tal deve-se ao tipo de dinamismo existente na Web e pela forma como os robots o conseguem manipular. Tipo de Conteúdo Dinâmico Estático Mecanismo de geração Baseado no cliente Temporal Ficheiros Armazenados Formulário Não Aplicável Web Personalizado Programas no Servidor Código embebido (executado no servidor) Web Escondido Não Aplicável Código embebido (executado no cliente) Figura 1: Classificação do Web de acordo com o dinamismo e dificuldade dos robots (retirada de [4]) Na figura 1 é identificada a porção do Web que pode ser percorrida actualmente pelo Robot. Trata-se apenas da porção estática do Web, que corresponde à descarga pura e simples dos ficheiros armazenados, e à parte dinâmica que depende apenas do tempo. Esta parte dinâmica é, normalmente, acedida através de urls que invocam programas presentes no servidor. Estes são os responsáveis pela informação disponibilizada através desses urls. Mesmo esta parte da web não foi totalmente 5 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática percorrida, na realidade evitou-se percorrê-la sempre que possível pois a forma de caracterizar este tipo de web ainda não é muito clara. Assim na primeira recolha não se percorrem urls dinâmicos que contenham parâmetros (identificáveis pela presença de ‘?’ no url), os urls dinâmicos sem parâmetros são difíceis de distinguir, ou mesmo impossíveis, dos urls estáticos. Durante a segunda recolha percorreram-se alguns urls dinâmicos, o objectivo era testar o modelo actual neste tipo de web, mas como se verá existem várias razões para que a recolha destes urls seja evitável, pois torna a análise dos dados finais bastante mais complexa. Do Web dinâmico não é descarregada a parte cujo dinamismo é provocado pelo código embebido no cliente, como aliás acontece com todos os robots (a vermelho). Para além disso, e nesta fase não é colectada uma parte do Web Personalizado e o Web escondido, que exige alguma supervisão dum operador. Como exemplo de partes correspondentes ao Web Personalizado apresenta-se subespaços web a que normalmente temos acesso apresentando credenciais e do Web escondido aquela que só temos acesso preenchendo formulários como é o caso de páginas mantidas em BDs. De acordo com artigos da literatura a maior parte do Web é dinâmico ( 80% segundo Laurence and Giles, 1997) e a tendência é aumentar, com a existência de ferramentas cada vez mais sofisticadas. Por este facto, os dados a seguir apresentados e que correspondem apenas à parte estática do Web português têm que ser considerados com cautela. O Google [6], por exemplo, já percorre uma parte do Web escondido e personalizado em modo supervisionado. Trata-se de tecnologia que é necessário analisar se pretender-se uma contagem mais precisa do Web Português. Uma outra parte do Web que não é para já percorrida é a acessível usando o HTTPS, protocolo que por enquanto não faz parte da máquina protocolar utilizada. Há que acrescentar para a parte em falta os servidores web em Portugal registados em domínios como .com .org e .net , etc isto é servidores fora da sub-árvore .pt. Para resolver este último caso basta arranjar heurísticas que permitam navegar nesses subdomínios. O percurso do web seguro, tem como requisitos a inclusão do protocolo https na máquina protocolar e necessita de estudo adicional. Resta apenas referir que não foram visitados o conjunto de URLs protegidos pelo ficheiro de exclusão de robots. 6 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática O sistema NetCensus O sistema NetCensus ainda é uma plataforma em desenvolvimento, que na sua fase final têm o objectivo de percorrer grande parte da web Portuguesa e obter diversos indicadores estatísticos. Site Web Aprendizagem supervisionada para Web escondido e personalizado Imagem Domínio Robot WWW Utilizador Operador Site Web com estatísticas Navegação Disco Local Interrogação Gerador de Relatórios URL sementes Robot DNS Carregador da BD Relacional Gerador de sementes BD Relacional com co Estatísticas Figura 2: Fluxo de trabalho no NetCensus Na figura 2 é apresentado o fluxo de trabalho a realizar pela plataforma NetCensus. Os componentes com um fundo acinzentado ainda não foram concretizados. Na secção em que se apresentou uma classificação do Web quanto ao seu dinamismo, já se explicou o que é o Web escondido e personalizado. A BD relacional está em fase de carregamento. O NetCensus na sua versão final vai consistir num sistema que precisa de ser assistido por um operador para ajudar o Robot a percorrer uma parte do Web dinâmico [10]. 7 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática Estão neste instante concretizados os componentes que permitem contar as páginas estáticas ou com dinamismo dependente do tempo em sub-domínios de PT. Um gerador de sementes que usa informação disponível no Serviço de Resolução de Nomes( DNS) e que também pode usar, após a primeira recolha, informação da BD de estatísticas [9] com URLs ou endereços IP visitados em recolhas anteriores. O gerador de sementes pode ainda obter informação usando ligações com sistemas intermediários (routers) onde estejam disponíveis endereços de rede da maior parte dos ISPs em Portugal. Essa informação pode ser usada para, percorrendo exaustiva ou aleatoriamente a parte do endereço correspondente ao host, realizar correspondências reversas no Serviço de Resolução de Nomes (DNS) para obtenção de nomes de máquinas que são posteriormente verificadas para a presença de servidores Web. Essa estratégia permite obter sites em sub-domínios fora da subárvore de pt. Usando as várias estratégias apresentadas anteriormente consegue-se Web Site Imagem 1 Imagem 2 Imagem 3 Disco Local Figura 3: Descarga de Recursos Web para disco local obter um bom conjunto de sementes. Com base nas sementes, são realizados percursos que usam essas sementes como ponto de partida. Todas as páginas desse percurso que cumprirem um determinado conjunto de restrições (em que a principal é a estarem no sub-domínio pt) são descarregadas para disco local. Cada página é processada para extracção de referências e da informação considerada relevante para efeito das estatísticas. Essas 8 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática referências são colocadas em filas de espera para posterior processamento. Mantémse uma estrutura de dados com a assinatura dos URLs já descarregados para evitar que o objecto por ele referenciado seja descarregado mais que uma vez. Como o mesmo objecto pode ser referenciado por mais que um URL, mantém-se também uma estrutura de dados com assinatura dos conteúdos já processados, para não processar várias vezes o mesmo conteúdo [1,6]. Esta última informação pode dar indicações a respeito do nível de replicação dos conteúdos entre os sites Web em Portugal. Para se saber se determinado conteúdo é uma réplica nacional dum original estrangeiro, podem ser usadas algumas heurísticas. O processo de descarga carrega suavemente cada servidor, estabelecendo a sequência de pedidos de forma delicada (um pedido de cada vez e com intervalo de tempo entre pedidos parametrizável). O método utilizado é colocar todos os URLs correspondentes ao mesmo host na mesma fila de espera, que é tratada sequencialmente por um mesmo fio de execução, sendo parametrizável o tempo mínimo entre dois pedidos ao mesmo servidor. O objectivo da descarga é armazenar em disco local uma imagem do espaço Web a analisar. Se forem feitas descargas periódicas é possível dispor de várias imagens do espaço em análise em instantes de tempo diferente, podendo obter informação sobre a sua variação ao longo do tempo (ver figura 3). A informação a respeito das várias transações realizadas pelo Robot é igualmente armazenada porque permite obter dados de acessibilidade para cada recurso (tempo médio de acesso), organização e ISP, entre outras informações. Guardam-se todas as transações, quer sejam bem sucedidas ou não. 9 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática Explicação das estatísticas Embora a informação recolhida seja vasta, as análises feitas até agora tentam classificar, de uma forma geral, o que existe na web. O objectivo final da recolha são os recursos existentes na web percorrida. Estes recursos são obtidos durante a recolha e correspondem a páginas HTML, imagens, programas ou qualquer outro recurso existente na web e portanto são os objectos que se estudam mais profundamente. Os locais donde provém esses recursos, também podem ser estudados, embora sejam para já só contabilizados. A localização de um recurso pode ser realizada directamente pelo url ou então recorrendo a informação mais técnica obtida durante as recolhas, como os endereços IP dos servidores visitados. As análises são gerais e dizem respeito a todo o universo percorrido. Análises restritas (por domínio, endereço IP, etc) podem ser calculadas da informação recolhida a pedido (o universo é demasiado extenso para se calcularem todas elas). Para eliminar ambiguidades, é definida a seguir a terminologia utilizada: Host ou máquina– Qualquer máquina ligada à rede. Estas podem ser simples clientes da rede (computadores pessoais usados para navegar), máquinas que prestam algum tipo de serviço (servidores) ou um misto destes dois tipos. Todos os hosts são identificados univocamente por um ou mais endereços de rede (endereço IP). As nossas análises exploram as máquinas com servidores http, nada sabem sobre máquinas que não corram http ou as simples clientes. Endereço IP – Endereço numérico de rede atribuído a uma interface IP (placa de rede) de uma máquina. Este endereços são únicos para cada interface e é através deles que o encaminhamento da informação entre máquinas é realizado. É possível, e até bastante comum, que uma mesma máquina tenha mais de um endereço IP, no entanto tal não é frequente em servidores http, pelo que podemos dizer quantas máquinas, com serviço de http, visitámos olhando para a quantidade de endereços IP visitados. Servidor – Toda a máquina ligada à rede que presta algum tipo de serviço (HTTP, FTP, GOPHER, etc). Os servidores em estudo são servidores HTTP. Cada servidor é identificado pelo endereço IP, sendo o serviço específico identificado por uma porta (no caso do HTTP usase normalmente a porta 80). DNS e hostnames – É o Serviço de resolução de nomes que torna humanamente mais simples a identificação das máquinas ao mapear os 10 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática endereços IP (conjunto de números) numa estrutura baseada em nomes (ex: www.sapo.pt). Este mapeamento é realizado numa árvore em que os nodos se denominam domínios, e as folhas hostnames. Um domínio não têm uma máquina específica associada, servindo para estruturar o nome (ex: sapo.pt), sendo o hostname (ex: www.sapo.pt) um nome atribuído a uma determinada máquina. De notar que a uma mesma máquina podem estar atribuídos vários hostnames. A nossa análise nada diz, por agora sobre os domínios, estudando porém o número de hostnames visitados. Website – Espaço de web alojado sobre um determinado hostname. Recurso – Uma entidade independente que é disponibilizada pelos servidores. Estes podem ser páginas HTML, ficheiros de áudio ou vídeo, aplicações binárias ou qualquer outro tipo de informação armazenada num formato digital. URL (Uniform Resource Locator) – Endereço que identifica univocamente um determinado recurso de rede. Este é subdividido em partes que identificam o tipo de serviço que disponibiliza o recurso (HTTP, FTP, etc..), o hostname do host em que este se encontra, a porta IP do serviço e um caminho para chegar a esse recurso nesse host. URL estático – Neste tipo de urls o recurso é identificado pelo caminho para o ficheiro que o armazena. Ou seja um url estático aponta directamente para um ficheiro presente no sistema de ficheiros de um determinado servidor. De notar que, infelizmente, existem certos urls dinâmicos (ver seguinte) que não conseguimos, tecnicamente, classificar como tal, logo estes urls dinâmicos são, por nós, considerados estáticos. Url dinâmico – Estes não apontam directamente para um ficheiro que armazena um recurso, mas sim para um programa que quando invocado retorna um determinado recurso. Normalmente estes urls, além de identificarem o programa que disponibiliza os recursos, também contém parâmetros que permitem ao programa saber que recurso disponibilizar. Infelizmente não conseguimos classificar este tipo de urls quando eles não têm parâmetros, pois o seu formato é semelhante ao de um url estático, assim os urls dinâmicos sem parâmetros são classificados como estáticos. Fingerprint (Sumário digital) – Certos algoritmos (ver [17]) permitem obter um sumário digital de um ficheiro (ex: um texto), garantindo que dois ficheiros com conteúdo distinto têm, necessariamente, sumários 11 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática digitais distintos. Utilizando algoritmos deste tipo é possível identificar os recursos únicos existentes na web. Recurso único – É comum encontrar na web réplicas de recursos, ou seja urls que apontam para a mesma informação. Estas podem representar o mesmo recurso físico, armazenado num determinado lugar, ou representar cópias distintas dum mesmo recurso. Define-se recurso único como a informação que gera um determinado fingerprint, independentemente de esta ser fisicamente a mesma ou não. Web estática – Conjunto dos urls estáticos e recursos por eles apontados. Tal como já foi dito, devido à escala do universo analisado, as análises são gerais e em grande parte baseiam-se em contagens de objectos, por exemplo o número de servidores visitados. Os recursos recolhidos também são de especial interesse, nestes contabilizam-se os seus volumes (tamanho em bytes) e realiza-se uma classificação dos mesmos por tipo e data de última alteração. A classificação por tipo de recurso é realizada recorrendo-se ao seu tipo MIME associado. Todos os recursos descarregados pelo robot têm associado um tipo MIME. Este classifica o tipo de média presente no recurso e permite saber como interpretá-lo. Um tipo mime têm a forma de “tipo/subtipo”, o tipo é bastante genérico e permite fazer uma classificação simples do recurso. Diz-se simples pois o conteúdo real do recurso não pode ser facilmente deduzido do tipo MIME, por exemplo um documento postscript ou um arquivo zip são ambos classificados como sendo do tipo aplicação (application/postscript e application/zip), pois são recursos que têm de ser processados por aplicações próprias. Os tipos usados na classificação são definidos em [16]. Texto – Contém todo o tipo de informação textual. Directivas, que quando processadas por uma aplicação, enriquecem o aspecto final do texto podem estar presentes no documento, mas tal aplicação não é necessária para se ter uma ideia geral do conteúdo. As páginas HTML são classificadas como texto. Imagem – Este tipo necessita de um dispositivo visual para ser visualizado (monitor, impressora, etc). Grande parte dos formatos de imagens existentes (jpeg, gif, bmp) são classificados neste tipo. Áudio – Necessita de um dispositivo sonoro para ser reproduzido. Grande parte dos formatos sonoros existentes são classificados neste tipo. Vídeo – Requer a capacidade de mostrar imagens em movimento, normalmente usando software e hardware especializados. Grande parte dos formatos de vídeo (avi, mpeg) é classificado neste tipo. 12 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática Aplicação – Outro tipo de informação, normalmente binária ou para ser processada por uma aplicação. Este tipo é muito abrangente, desde documentos codificados num formato próprio (postscript, pdf, winword) até aplicações reais ou ficheiros comprimidos. Outros - Todos os outros tipos. A data de última alteração de um recurso indica quando o ficheiro (presente no disco rígido do servidor) que armazena o recurso foi alterado. Embora este dado não indique quando um recurso apareceu na web, tenta-se usá-lo como uma estimativa para tal. Pela sua importância, as páginas HTML tiveram tratamento especial e foram obtidos alguns dados específicos. 13 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática Estatísticas da 1ª recolha. A primeira recolha decorreu entre Julho e Agosto de 2001, durando 45 dias. A taxa de descarregamento foi bastante elevada. Como se vê na tabela 1 esta recolha visitou quase seis mil máquinas distintas (endereços IP), que albergavam perto de vinte e dois mil websites (hostnames). Nestes websites foram vistos perto de onze milhões de urls que referenciavam quase sete milhões de recursos únicos. Na tabela 2 apresentam-se alguns rácios directamente resultantes destes dados. Dados gerais (1ª recolha) Quantidade IP 5.757 Hostnames 21.742 Urls 11.055.167 Urls Estáticos 11.055.167 Recursos únicos 6.797.616 Tabela 1: Dados gerais da primeira recolha Não existe muito a dizer sobre estes rácios, excepto que a distribuição concreta dos hostnames por máquina mostra-se no gráfico apresentado na figura 4. Neste podeverificar-se que 43 máquinas (ou os respectivos endereços IP) hospedam, cada uma, mais que 50 Rácios gerais(1ª recolha) nomes de servidores. Em particular, existem três Rácio hosts com mais de mil hostnames distintos, 30 Hostnames por máquinas que hospedam entre 100 e 1000 sites e máquina 3,78 10 que hospedam entre 100 e 50 sites. Existem para Urls estáticos por além disso 161 máquinas que suportam entre 10 e máquina 1.920,30 50 sites, 191 com entre 10 e 5, ficando as restantes Urls estáticos por com entre 2 e 5 nomes e 4305 com um único nome. website 508,47 Os dados relativos a endereços IP por cada nome Urls estáticos por (máquinas duplicadas para tolerância a faltas ou Recursos únicos 1,63 distribuição de carga) apontam para poucos sites com duas máquinas. As máquinas com mais que 50 Tabela 2: Racios gerais da primeira recolha sites pertencem na sua maior parte a máquinas de fornecedores de serviço, as com uma dezena de sites pertencem a grandes organizações e as com 2 nomes correspondem na sua maior parte a duas designações para uma mesma máquina (um deles começa quase sempre por www) 14 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática Hostnames por servidor (1ª recolha) 43 161 191 1057 >50 10-50 5-10 2-5 1 4305 Figura 4: Distribuição dos hostnames por servidor na primeira recolha Os recursos únicos recolhidos, o objecto principal em estudo, têm as suas estatísticas de número, volume e tipo coligidas na tabela 3 Recursos web colectados por tipo MIME (1ª recolha) Número de recursos Tipo % Recursos Volume dos recursos (Gigabytes) % Volume Texto 4227571 62,19% 139,03 27,52% Imagem 2079138 30,59% 35,848 7,10% Aplicação 422933 6,22% 281,343 55,69% Audio 63383 0,93% 40,848 8,09% Video 2797 0,04% 7,756 1,54% Outros 1794 0,03% 0,351 0,07% 6797616 100% 505,175 100,00% Total Tabela 3: Recursos web colectados por tipo MIME na primeira recolha 15 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática Podemos ver que grande parte dos dados recolhidos (62%) é constituída por recursos de texto. É nesta percentagem que se encontram as páginas HTML visitadas pelo robot, logo o valor seria o esperável de um robot que usa a mesmas páginas como fundamento do seu percurso (é destas que provém os novos urls visitados). As imagens também aparecem em grande número, mostrando o quanto são usadas nas mesmas páginas. Embora não esteja calculado o número destas imagens que está, realmente, embebida em alguma página (fazendo parte da mesma quando um browser compõe a página que vemos), é de esperar que só uma pequena percentagem não o esteja. Tamanho médio por tipo em KB (1ª recolha) Imagem Aplicação Audio Video Outros 17 665 644 2.773 196 Texto 33 Global 74 Tabela 4: Tamanho médio por tipo na primeira recolha Quantidade relativa dos recursos por tipo (1ª recolha) Volume relativo dos recursos por tipo (1ª recolha) 2% 1% Texto 6% 8% Imagem Texto Imagem 28% Aplicação 31% Aplicação Audio 62% Audio Video Outros 55% 7% Video Outros Figura 5: Quantidade e volumes relativos dos recursos por tipo na primeira recolha A análise da proveniência da pequena percentagem de recursos do tipo aplicação (6%) difícil. Tratam-se de repositórios de software (mirrors, ftp, etc) ou de referências distribuídas pelas páginas percorridas. No entanto 6% traduz-se num recurso do tipo aplicação por cada 10 páginas HTML. Isso significa que os recursos do tipo aplicação não são tão incomuns como a percentagem sugere. Esta situação acontece exactamente em repositórios de software, onde numa única página se encontram muitas referências para recursos do tipo aplicação, contribuindo para o aumento do rácio, pelo que tudo aponta para que grande parte destes recursos provenham de repositórios de software. Tal acontecimento contribuiria em muito para o aumento do rácio pelo que tudo aponta para que grande parte destes recursos do tipo aplicação provenha destes repositórios de software. 16 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática O número de recursos vídeo, áudio e de outros tipos é muito pequeno, indicando que não é muito provável encontrar este tipo de recursos na web estática. O cenário muda bastante quando analisamos o volume correspondente. Verifica-se que a maior parte (56%) corresponde à pequena percentagem de recursos do tipo aplicação, sendo a parte produzida pelo grande número de recursos de tipo texto bastante menor (28%). A ínfima percentagem de recursos áudio também produz um volume considerável de dados (8%), superior ao produzido pelos recursos do tipo imagem(7%). O volume produzido pelos recursos vídeo deixa também de ser insignificante(2%). Estes valores não são de todo inesperados, pois dependem largamente do volume médio por tipo de recurso, apresentados na tabela 4. As figura 5 mostra as distribuições, de número e volume, dos recursos por tipo. Número de recursos por tipo MIME e data de última modificação (1ª recolha) TIPO até 1997 1997 1998 1999 2000 2001 sem data TOTAL Texto 62.905 62.879 292.900 309.950 514.731 954.160 2.030.046 4.227.571 Imagem 36.785 70.036 166.452 337.336 691.739 771.939 4.851 2.079.138 Aplicação 32.403 17.759 34.637 70.829 114.546 147.274 5.485 422.933 Audio 480 3.253 4.639 10.980 17.964 22.022 4.045 63.383 Video 121 24 131 427 941 1.093 60 2.797 Outros 935 178 170 152 149 192 18 1.794 TOTAL 133.629 154.129 498.929 729.674 1.340.070 1.896.680 2.044.505 6.797.616 Tabela 5: Número de recursos por tipo MIME e data de +ultima modificação (1ª recolha) Volume dos recursos por tipo MIME e data de última modificação em GB (1ª recolha) TIPO até 1997 1997 1998 1999 2000 2001 sem data TOTAL Texto 3,048 2,146 4,475 8,404 34,951 84,837 1,169 139,03 Imagem 0,633 1,12 2,985 6,326 11,919 12,764 0,1 35,848 Aplicação 6,684 8,778 17,28 44,33 88,691 109,802 5,778 281,343 Audio 0,071 0,934 1,634 5,549 10,121 22,539 0 40,848 Video 0,168 0,084 1,052 0,989 2,801 2,662 0 7,756 Outros 0,075 0,008 0,005 0,022 0,021 0,221 0 0,351 Total 10,679 13,07 27,431 65,62 148,504 232,825 7,047 505,176 Tabela 6: Volume dos recursos por tipo MIME e data de última modificação em GB (1ª recolha) Numa tentativa de estimar a idade dos documentos recolhidos, construíram-se tabelas baseadas na data da última modificação fornecida pelo servidor HTTP. Esta data torna-se, no entanto, bastante imprecisa devido à natureza da web. Nesta existem várias cópias de certos recursos, levando a que não se possa associar uma data precisa 17 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática ao recurso único. A data que o robot associa a um determinado recurso depende de onde este estava hospedado quando foi visto pela primeira vez. Esta informação é ainda menos esclarecedora pelo facto de haver um grande número de documentos, do tipo texto mais uma vez, que não exibem qualquer data. Pela inspecção feita a alguns URLs, trata-se em grande parte, de páginas geradas dinamicamente, para as quais só o tipo MIME é disponibilizado. Os dados apresentam-se nas tabelas 5 e 6. Volume relativo dos dados por tipo e data de última modificação (1ª recolha) 25% 20% Texto Imagem 15% Aplicação Audio 10% Video Outros 5% 0% até 1997 1997 1998 1999 2000 2001 Figura 6: Volume relativo dos dados por tipo e data de última modificação Nos gráficos 6 e 7, os recursos sem data não são representados para aumentar a clareza. As percentagens representadas dizem respeito ao total de recursos com data (4.753.111) e respectivo volume(498,129 GB). 18 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática Recursos por tipo MIME e data de última modificação (1ª recolha) 25% 20% Texto Imagem 15% Aplicação Audio 10% Video Outros 5% 0% até 1997 1997 1998 1999 2000 2001 Figura 7: Número relativo de Recursos por timo MIME e data de última modificação (1ª recolha) Páginas HTML Um subconjunto das páginas Web existentes são as escritas em HTML. As medidas apresentadas foram obtidas analisando o conteúdo desse subconjunto de páginas. Interessa caracterizar as páginas HTML existentes em termos dos elementos que as compõem. Nesse sentido seleccionaram-se alguns dados considerados importantes incluídos no gráfico apresentado. Parte dessas estatísticas dão conta do cuidado com que se criam as páginas nomeadamente se incluem o título, autor, descrição, software gerador e a versão HTML. As outras componentes dão conta das páginas que contêm tabelas, imagens e frames permitindo ter uma ideia do formato das páginas. Por fim, indicam-se páginas com scripts e applets dando uma medida do seu dinamismo. Os formulários são uma medida indicativa de pontos de entrada para partes de web que possam dar acesso a motores de busca, bases de dados e web personalizado. Como se pode observar foram vistas perto de quatro milhões de páginas, nestas as imagens e tabelas são usadas muito frequentemente (em aproximadamente 80% das páginas). As frames são raramente usadas. Pouco menos de um terço das páginas têm indicação da versão HTML e do software gerador, enquanto apenas 14,2 % aparecem com descrição e 8,5% preenchem o campo autor. 19 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática Os pontos de entrada para partes mais dinâmicas do Web representam 41% do total de páginas. Quase 30% apresentam formulários permitindo de alguma forma uma personalização dos conteúdos a visualizar ou mesmo acesso a BDs. Relativamente às páginas colectadas aproximadamente 73% não têm a versão HTML especificada, enquanto quase 21% indicam a versão 4.0 e à volta de 6% a versão 3.2. Só 23,5% das páginas preenchem o campo autor. 3.258.630 Com Imagens 539.706 Com Frames (83,4%) (13,8 %) 3.189.413 (81,6%) Com Tabelas Com Scripts 2.337.216 32.525 Com Applets (59,8%) (0,8%) 1.210.506 Com formulários 1.170.695 Com versão HTML Com Software gerador 894.770 712.182 Com Descrição 916.959 Com Autor (31,0%) (30,0%) (22,9%) (18,2%) (23,5%)) 3.616.682 (92,6%) Com Título Total de Páginas 3.906.228 0 500000 1000000 1500000 2000000 2500000 3000000 3500000 4000000 N º de oc or r ê nc ia s Figura 8: Ocorrências nas páginas HTML da primeira recolha 20 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática 4500000 Estatísticas da 2ª recolha Devido a algumas queixas relativas ao tráfego gerado pelo robot nos servidores visitados durante a primeira recolha, abrandou-se ritmo de recolha deste. Assim a segunda recolha durou bastante mais tempo, tendo decorrido entre Novembro de 2001 e Fevereiro de 2002 (90 dias). Numa Dados gerais (2ª recolha) tentativa de ver o web dinâmico, decidiu-se 2ª recolha percorrer também os urls dinâmicos unicamente IP 6.156 dependentes do tempo, aqueles que invocam Hostnames 28.133 programas no cliente e, no nosso caso específico, Urls 15.830.609 os que contém parâmetros (de notar que urls que Urls Estáticos 12.300.542 invoquem programas sem parâmetros são Urls dinâmicos 3.530.067 considerados estáticos). Recursos únicos 9.047.502 Tabela 7: Dados gerais da segunda recolha Verificou-se posteriormente que a recolha destes urls dinâmicos não deveria ser feita usando a metodologia usada para os estáticos pela sobrecarga adicional resultante da execução de programas nos servidores. Esta situação foi ainda piorada com a existência de vários nomes para a mesma máquina em sites dinâmicos e o facto da política de delicadeza ser concretizada com base nos nomes. Por todas estas razões, a recolha destes urls dinâmicos foi suspensa e o assunto registrado para estudo posterior. Como se vê na tabela 7, esta recolha percorreu um pouco mais de seis mil servidores que serviam perto de vinte e oito mil websites. Nestes colectaram-se perto de dezasseis milhões de urls, dos quais uma parte significativa (três milhões e meio) eram dinâmicos. De todos estes urls foram obtidos um pouco mais de nove milhões de recursos únicos. A tabela 8 mostra os rácios resultantes destes valores. Rácios gerais (2ª recolha) Rácio Hostnames por máquina 4,57 Urls estáticos por máquina 1.998,14 Urls estáticos por domínio 437,23 Urls estáticos por Recursos únicos 1,36 Tabela 8: Rácios gerais da primeira recolha Os dados gerais correspondentes aos recursos visitados na segunda recolha estão coligidos na tabela 9. 21 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática Recursos web colectados (2ª recolha) Tipo Texto Imagem Aplicação Audio Video Outros Total Volume dos recursos % Volume (Gigabytes) 66,674% 181,238 35,962% 27,896% 46,196 9,167% 4,505% 210,131 41,695% 0,859% 61,797 12,262% 0,045% 4,445 0,882% 0,022% 0,163 0,032% 100,000% 503,969 100,000% Número de recursos % Recursos 6.032.314 2.523.852 407.571 77.709 4.075 1.981 9.047.502 Tabela 9: Recursos colectados, por tipo MIME, na segunda recolha Numa primeira análise pode-se verificar que o número total de recursos únicos vistos na segunda colecta é significativamente superior ao da primeira (mais 33,10%). Parte desta diferença é justificada pelos urls dinâmicos visitados na segunda recolha. Sabe-se que esta incursão no espaço dinâmico recolheu perto de dois milhões e meio de recursos únicos, dos quais a maior parte são texto e quase todos sem data da última modificação. Este conjunto de recursos, representam aproximadamente 76 Gbytes. Curiosamente, as diferenças Variações percentuais no número de recursos recolhidos observadas no número de recursos não tem correspondência no volume Número de Número de Aumento recursos (1ª recursos (2ª dos mesmos. Verifica-se até um Tipo percentual recolha) recolha) muito ligeiro abaixamento no número total de Gigabytes Texto 4227571 6032314 42,69% descarregados na segunda colecta Imagem 2079138 2523852 21,39% (de 505 GB para 503 GB). Esta 422933 407571 -3,63% constatação pode ser explicada com Aplicação 63383 77709 22,60% base na disparidade existente entre Audio 2797 4075 45,69% tamanhos médios por tipo de Video Outros 1794 1981 10,42% recurso. Recorrendo à tabela 10, que mostra as variações percentuais no Total 6797616 9047502 33,10% número de recursos por tipo Tabela 10: Variações percentuais no número de recursos recolhidos por tipo MIME recolhidos, verifica-se que todos os recursos, exceptuando os de tipo aplicação, aumentaram em quantidade, por vezes significativamente (texto e vídeo). Mais uma vez este facto é estranho, pois embora os recursos do tipo aplicação, que representam um grande volume de dados, tenham diminuído em quantidade, o mesmo não aconteceu com os recursos de vídeo que aumentaram quase em 50% e estes, segundo a primeira recolha, representam, também, um grande volume de dados. 22 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática Vejamos o que aconteceu ao volume médio dos dados para perceber melhor o problema (tabela 11). Nesta verifica-se que os tamanhos médios tanto dos tipos vídeo como aplicação desceram. Tamanho médio por tipo em KB (2ª recolha) Texto Diferença percentual Imagem Aplicação Audio Video Outros 30 18 516 795 1.091 82 -8,64% 6,16% -22,50% 23,39% -60,67% -58,00% Tabela 11: Tamanho médio por tipo na segunda recolha e variação percentual em relação à primeira recolha A inconstância aparente dos tamanhos médios por tipo, pode justificar a descida do volume dos recursos recolhidos na segunda amostra, mas indicia que ou a web que nós tentamos percorrer muda rapidamente ou então as amostras não são tão exaustivas como se julgavam e resultaram de percursos distintos da web. Um estudo no sentido de compreender o que se passou durante as recolhas é apresentado no capítulo seguinte. Número relativo de Recursos por tipo (2ª recolha) Volume relativo dos recursos por tipo (2ª recolha) 1% Texto Imagem 28% Imagem 13% Aplicação 5% Texto 34% 1% Audio Audio 66% Video Aplicação 43% Outros Video 9% Outros Figura 9: Quantidade e volumes relativos dos recursos por tipo na segunda recolha 23 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática Depois de tantas disparidades é notável que as relações dos dados de número e volume relativos se mantenham, como mostram os gráficos de número e volumes relativos (figura 9). Tipo Texto Imagem Aplicação Audio Video Outros Total Número de recursos web, segundo a data de última modificação, por tipo MIME (2ª recolha) Até 1997 1997 1998 1999 2000 2001 2002 Sem data 79.540 62.353 169.468 277.268 404.447 1.112.021 91.982 3.835.235 25.123 68.564 179.751 333.928 597.011 1.283.069 22.358 14.048 18.837 14.207 27.080 49.292 83.342 184.530 24.617 5.666 565 3.358 4.617 9.873 17.178 41.824 250 44 109 27 99 349 1.330 1.967 22 172 494 186 214 202 168 580 60 77 124.668 148.695 381.229 670.912 1.103.476 2.623.991 139.289 Total 6.032.314 2.523.852 407.571 77.709 4.075 1.981 3.855.242 9.047.502 Tabela 12: Número de recursos por tipo MIME e data de última modificação (2ª recolha) Volume dos recursos web, segundo a data de última modificação, por tipo MIME (Gigabytes) (2ª recolha) Tipo Texto Imagem Aplicação Audio Video Outros Total Até 1997 1,965 0,368 4,011 0,079 0,157 0,040 6,621 1997 1,202 1,381 5,703 1,007 0,100 0,011 9,404 1998 1999 2,748 5,019 3,304 6,349 10,738 22,180 1,583 5,034 0,174 0,285 0,007 0,011 18,554 38,879 2000 8,543 10,744 47,883 10,498 1,517 0,021 79,206 2001 36,778 23,580 104,284 43,418 2,147 0,061 210,267 2002 Sem data 15,881 109,103 0,306 0,163 14,965 0,367 0,177 0,000 0,048 0,015 0,002 0,009 31,380 109,658 Total 181,238 46,196 210,131 61,797 4,445 0,163 503,969 Tabela 13: Volume de recursos por tipo MIME e data de última modificação (2ª recolha) Os dados relativos à data de última modificação por tipo, reflectem a subida de número e descida de volume dos recursos (tabelas 12 e 13). Com excepção dos recursos sem data, os relativos a 2001 e claro a 2002 houve diminuição do número e volume dos recursos. As figuras 10 e 11 mostram os gráficos de número e volume relativos provenientes da segunda recolha. Tal como nos da primeira recolha os recursos sem data não são representados. As percentagens presentes nestes gráficos dizem respeito ao total de recursos com data (5.192.260) e correspondente volume(394,311 GB). 24 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática Número relativo de recursos por tipo e data de última modificação (2ª recolha) 30% 25% Texto 20% Imagem Aplicação 15% Audio Video 10% Outros 5% 0% Até 1997 1997 1998 1999 2000 2001 2002 Figura 10: Número relativo de recursos por timo MIME e data de última modificação (2ª recolha) Volume relativo dos dados por tipo e data de última modificação (2ª recolha) 30% 25% Texto 20% Imagem Aplicação 15% Audio Video 10% Outros 5% 0% Até 1997 1997 1998 1999 2000 2001 2002 Figura 11: Volume relativo dos recursos por timo MIME e data de última modificação (2ª recolha) 25 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática Páginas HTML Nesta recolha viram-se 5.616.438 páginas HTML. À semelhança da primeira recolha, caracterizam-se as páginas HTML existentes em termos dos elementos que as compõem. Mais uma vez, observa-se que imagens e tabelas são usadas muito frequentemente (mais de 80% das páginas). As frames são raramente usadas. Menos de terço das páginas têm indicação da versão HTML, software gerador, descrição e autor. Número de ocorrências em páginas HTML 88% com Imagens 16% com Frames 82% com Tabelas 64% com Scripts 2% com Applets 44% com Forms 26% 20% 14% 14% com Versão com Gerador com Descrição com Autor 91% com Titulo 100% Total 0 1.000.000 2.000.000 3.000.000 4.000.000 5.000.000 6.000.000 Figura 12: Ocorrências nas páginas HTML da segunda recolha Devido à parte dinâmica da web visitada, as páginas com scripts e forms sobem em relação à primeira recolha (+54% e +104%). 26 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática Análise das recolhas Numa tentativa de perceber as disparidades e surpresas encontradas na segunda recolha, realizaram-se alguns estudos às amostras. Estes envolveram os cálculos de intersecções e uniões entre vários conjuntos de dados (urls, recursos, hostnames, etc) de ambas as amostras. Devido ao facto de a metodologia utilizada considerar as recolhas como informação independente e desta ser, portanto, armazenada em base de dados diferentes, estes cálculos são extremamente lentos, durando horas ou dias. Uma boa solução para este tipo de problemas seria construir uma base de dados incremental que não considera-se as recolhas como dados independentes, mas sim como a evolução dos mesmos. Vejamos, na tabela 14, os dados de alguns dos conjuntos criados. 1ª recolha IP Hostnames Urls Urls Estáticos Urls dinâmicos Recursos únicos 2ª recolha 5.757 Diferença percentual 6.156 6,93% Intersecção União 4.884 7.029 Diferença Diferença entre 1ª e 2ª entre 2ª e 1ª 873 1.272 21.742 28.133 29,39% 20.558 29.317 1.184 7.575 11.055.167 15.830.609 43,20% 6.009.646 20.876.130 5.045.521 9.820.963 11.055.167 12.300.542 11,27% 6.009.646 17.346.063 5.045.521 6.290.896 0 3.530.067 0 3.530.067 33,10% 2.810.044 13.035.074 3.987.572 6.237.458 0 6.797.616 3.530.067 N/A 9.047.502 Intersecção Intersecção Diferença Diferença da 1ª recolha da 2ª recolha entre 1ª e 2ª entre 2ª e 1ª IP Hostnames Urls Urls Estáticos Recursos únicos 84,84% 79,34% 15,16% 20,66% 94,55% 54,36% 73,07% 5,45% 26,93% 37,96% 45,64% 62,04% 54,36% 48,86% 45,64% 51,14% 41,34% 31,06% 58,66% 68,94% Tabela 14: Dados do estudo à intersecção de ambas as amostras Verifica-se que grande parte dos servidores e hostnames é comum a ambas as amostras. 27 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática A segunda recolha percorreu quase a totalidade de hostnames vistos na primeira (95%) e grande parte dos servidores (85%). Como seria de esperar, devido à primeira recolha ser menor que a segunda, a primeira recolha não viu uma percentagem tão grande de servidores e hostnames vistos na segunda. O mesmo não se verifica, no entanto, nem a nível de urls nem dos recursos por eles recolhidos. A segunda recolha percorreu pouco mais de metade (54%) dos urls e recolheu nem metade dos recursos vistos na primeira (41%). Dado que verificámos ter percorrido grande parte dos hostnames e servidores da primeira recolha, era de esperar que pelo menos os urls vistos nesta fossem também vistos na segunda, principalmente porque se tratam de urls estáticos Acontece que a própria natureza da web pode explicar o que está a acontecer, o facto de esta evoluir a muitos níveis com mudanças de endereços IP, reestruturação de domínios, alterações de domínio e mudanças rápidas nos próprios conteúdos (e respectivos recursos) tornam a comparação de ambas as recolhas, recorrendo unicamente aos seus números totais, bastante difícil. O real problema tanto pode estar nas falhas que surgem no funcionamento do robot, na evolução da web ou na metodologia usada. O mais certo é que uma combinação destes factores tenha conduzido a estes resultados. Sabemos que o robot não insiste durante muito tempo com um url em falha. Vejamos o gráfico que mostra as falhas que houve durante a primeira recolha (figura 13). Neste verificamos que 2,7% dos urls resultaram num erro. Este valor não é de desprezar de forma alguma num processo desta natureza visto que, em hipótese, a não visita de um url pode levar a não ver uma quantidade indeterminada e ilimitada de novos urls. O problema das falhas é relevante e têm de ser resolvido no sentido de tornar os percursos o mais exaustivos possível. Perceber como a evolução da web afecta amostras distintas também é importante. O facto de existirem, mais uma vez, vários factores em jogo não ajuda. São várias as consequências possíveis da evolução da web; urls que mudam aparecem como dois casos distintos nas recolhas, urls cujo conteúdo muda levam a um url comum e dois recursos distintos, urls que desaparecem aparecem somente na primeira recolha e muitos outros casos tornam o uso dos dados numéricos, para compreender o que realmente se passou, num problema delicado. Um dado interessante, é o de que nos conjuntos de urls e recursos comuns, aproximadamente 87% das relações url – recurso se mantém entre recolhas, mostrando que esta parte da web se manteve de facto constante. 28 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática 296388 To tal de Erro s 33395 Exc lus õ e s do Ro bo t (ro bo ts .txt) 2 ,7 % do to tal de de s c argas 5600 Erro no So c ke t 86330 Se m ro ta para o ho st 122482 Co ne xão re c usada Transfe rê nc ia de dado s 48540 inte rro m pida 41 Erro de le itura de dado s 0 50000 100000 1 50000 200000 250000 300000 350000 Figura 13: Erros durante a 1º recolha A própria metodologia usada têm uma falha grave que não permite determinar o que aconteceu aos urls vistos na primeira recolha e não na segunda. Um url não referenciado em nenhuma página nunca surge como um possível url a visitar na segunda recolha. Isto leva a que seja impossível determinar se ele ainda existe ou não. Dado isto existem duas grandes hipóteses, ambas de demonstração complexa, que podem justificar os dados obtidos. Os percursos realizados em ambas as amostras não foram exaustivos, e portanto só viram parte dos sites visitados ou, a outra hipótese, mesmo a parte visitada da web, que supostamente é a mais constante, se altera a um ritmo elevado, levando a que o conjunto de urls e recursos existentes seja distinto em ambas as recolhas. 29 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática Algumas referências externas. No sentido de tentar avaliar a percentagem do espaço visitado e a quantidade de dados recolhidos estudaram-se algumas referências externas. Os dados obtidos destas não são os mais indicados para comparações, pois provém de sistemas com objectivos distintos do nosso. Segundo o RIPE (http://www.ripe.net) existem em Portugal 257.000 máquinas ligadas à Internet. Devido a certas particularidades do protocolo TCP/IP, nem todas as máquinas realmente ligadas à rede aparecem nesta contabilização, pois muitas das máquinas estão ligadas através de técnicas que permitem serem vistas, do exterior da rede local em que se encontram, como uma única máquina. Assim este número contabilizado pelo RIPE, representa de facto o número de endereços IP activos atribuídos a Portugal. Destas 257.000 máquinas o RIPE classifica 9.860 como servidores web. Para obter este valor, o RIPE usa o serviço de nomes (DNS) e obtém todos os hostnames (domínios http) começados por www. A nossa segunda recolha visitou bastante mais do que este valor, contabilizando 23696 hostnames começados por www (cerca de 84% dos domínios http vistos). Este nosso valor é bastante mais elevado que o do RIPE, mas é de notar que o RIPE usa uma metodologia totalmente distinta para obter os dados e também é susceptível a certas falhas, algumas das quais podem provocar erros bastante grandes. Segundo a fccn (http://www.fccn.pt) o número de domínios de topo têm crescido em Portugal e novas hierarquias de domínios surgiram recentemente. Os valores concretos dos dados não é significante para o nosso caso, mas o facto de terem surgido hierarquias pode justificar algumas das disparidades nos valores obtidos, pois uma mudança de domínio implica uma mudança na estrutura do url. No entanto o número de hostnames pertencentes a estes novos domínios contabilizado por nós é bastante baixo (cerca de 200). O netcraft (http://www.netcraft.com) obtém estatísticas muito interessantes sobre os servidores presentes na internet. No entanto a sua simplicidade só nos permitiu obter um dado interessante e comparável a dados nossos, a distribuição de software servidor http por sites na Internet segue uma distribuição aproximada à calculada por nós (figura 14). 30 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática Distribuição do software servidor 1% 3% Apache 21% Microsoft Netscape 75% Outros Figura 14: Distribuição do software servidor Todos os outros sites explorados foram motores de busca, alguns permitemnos obter o número de páginas Portuguesas indexadas. Infelizmente tal não aconteceu com o sapo pois as suas procuras não nos permitiram obter um número só relativo a páginas Portuguesas, este poderia ser o melhor indicador comparativo para o número de páginas vistas. A técnica usada nos motores de busca foi a de limitar os domínios a Portugal (.pt) e procurar páginas que não contivessem uma sequência de caracteres aleatória (e definitivamente não pertencente à linguagem portuguesa e, provavelmente, a qualquer outra). Assim o valor máximo de páginas Portuguesas indexadas foi obtido no altavista (http://www.altavista.com) , 1.741.232, bem menor que o nosso 5.616.438 da segunda recolha. O google (http://www.google.com) apenas indexa 908.000 páginas. 31 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática Conclusão Embora o robot tenha percorrido uma grande quantidade de urls e, consequentemente, recolhido uma quantidade considerável de recursos, fazer qualquer tipo de extrapolação para toda a web Portuguesa é problemático pelo facto de não podermos considerar em rigor as duas recolhas como estatisticamente independentes e também por corresponderem a imagens do web em períodos distintos. No entanto, o tamanho das amostras é sem dúvida suficientemente grande para estas serem consideras amostras representativas da web portuguesa. O facto de as análises estarem a ser realizadas na base de dados temporária não têm facilitado a obtenção de dados, pois todos os cálculos realizados sobre esta são extremamente lentos e de difícil implementação. A utilização da BD temporária é determinada pelo facto de carregamento da BD final não poder, pelo menos para já, ser realizado em tempo útil. Trata-se dum problema cuja resolução está dependente quer da afinação do software como da eventual migração para uma plataforma de software mais adequada. A afinação do desempenho da BD tem como ponto de partida a utilização de uma ferramenta para análise de desempenho da actual plataforma. A base de dados final, bastante mais complexa que a actual mas relacional, vai permitir obter dados mais ricos e específicos. Poder-se-á estudar a evolução de certas partes restritas da web e fazer procuras complexas sobre os recursos encontrados. Em particular poderá ser extraída informação bastante interessante das hiperligações entre as páginas html. O grande volume de dados correspondente às ligações exige períodos longos de carregamento quer na BD temporária como final. Por estimativas realizadas o carregamento da BD final demora algumas semanas. Para já, e face aos recursos disponíveis quer em termos de capacidade de computação e largura de banda quer de software, visitar exaustivamente o Web é um objectivo bastante ambicioso. A utilização duma biblioteca software já existente para o robot que não foi concebida com este tipo de aplicação no horizonte e a inexistência de algumas ferramentas auxiliares, apontam para a necessidade da concepção e concretização dum robot de raiz suportado por um cluster de PCs e maior largura de banda para ligação à Internet. Trata-se alias do tipo de abordagem usada pelos diversos fornecedores de serviço de busca de informação. As especificações quer da plataforma serão baseadas na experiência adquirida mas pode-se dizer para já que será necessário um robot incremental que percorra grande parte do Web escondido e a Base de Dados de 32 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática registo de estatísticas será histórica, isto é usada para as diversas visitas aos mesmos conteúdos. Trata-se duma área de investigação onde é necessário investir recursos para se conseguir a médio prazo um sistema mais fiável de obtenção de estatísticas para o Web em Portugal. Por exemplo, o robot usa um algoritmo comum e funciona bastante bem para uma única recolha. Mas para estudar a evolução da web este mostra-se demasiado simples pois não contempla a informação recolhida anteriormente. De facto, os problemas surgem quanto se tenta relacionar as amostras. Com a metodologia actual é difícil compreender que factores podem ter conduzido a resultados tão dispares. Não há a certeza de que as disparidades provenham essencialmente de falhas durante o processo ou da própria evolução da web, mas é necessário estudo adicional. Uma afirmação que se pode desde já fazer é que, na fase actual de concretização, o robot não permite percorrer exaustivamente o Web estático. Vários são os factores que dificultam este objectivo sendo a escala um dos principais obstáculos. Para além disso, a escala não nos permite descortinar com clareza a razão pela qual alguns dos URLs visitados na primeira recolha ficaram de fora na segunda. Além disso, com as habituais limitações nos recursos de rede, é necessário um período relativamente grande para realizar a colecta (vários meses). Isto leva a que as estatísticas que se produziram neste relatório expressem, no máximo, uma aproximação do que foi a web estática durante o período de recolha. A captura duma estatística referente a um determinado momento é impossível de fazer, pois ocorrem necessariamente mudanças significativas na rede e no espaço de informação a colectar durante a recolha. De facto, este dinamismo leva a que não faça sentido falar em recolhas exaustivas (mesmo na ausência de falhas), pois durante estas já novos urls, referenciados por documentos já vistos, foram criados. Uma boa alternativa a este método é usar uma abordagem incremental. Nesta, toda a informação recolhida é armazenada numa única base de dados, não havendo definição concreta das recolhas, a recolha tanto pode ser ininterrupta (o robot não pára, visitando e revisitando os urls) ou por fases (à semelhança do que agora se faz), o que se garante é que todos os urls conhecidos e ainda válidos estão minimamente actualizados na base de dados, permitindo assim a obtenção de estatísticas o mais actualizadas e exaustivas possível. Se a mesma base de dados for concebida para não perder informação, é possível construir um histórico da web Portuguesa, onde, para além de se calcularem estatísticas referentes ao presente, também é possível determinar quais eram estas num determinado momento passado. A realizar-se, um percurso do web dinâmico deve ser muito bem pensado. A estratégia actual pode não servir de muito para perceber a evolução deste pois, ao contrário do web estático, um recurso apontado por um url pode mudar sempre que é 33 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática invocado, pois a mais pequena alteração do conteúdo realmente apontado pelo url leva a que este seja considerado como um novo recurso (pex, páginas html dinâmicas com a data em que foram geradas). Porém parece claro que é neste web dinâmico que se encontram a maior parte dos recursos existentes, porque apenas um relaxamento (em período limitado) para inclusão de algum tipo de URLs dinâmicos conduziu a um aumento em mais de três milhões de páginas HTML, estando ainda por determinar o número real de recursos que provieram, directa ou indirectamente, dessas páginas. De qualquer forma, o sistema simples desenvolvido até agora já permite a obtenção de dados que, aparentemente, não existem disponíveis noutros sítios. Os dados apresentados são muito genéricos, pois não era possível apresentar dados referentes a universos restritos, como a domínios ou máquinas, pois a escala é tal que tais dados têm de ser calculados a pedido. Assim que a base de dados final esteja carregada muitos outros tipos de análises podem ser realizadas, de facto se existir um site que faça uso desta base de dados dinamicamente pode-se criar um serviço não só de estatísticas actuais e passadas da web, mas também de estudos complexos sobre os recursos que nela existem ou sobre a sua topologia. 34 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática Equipa do NetCensus Este projecto está a ser concebido e desenvolvido por um grupo multidisciplinar integrado por pessoas com experiência em redes de computadores, serviços de informação Internet e bases de dados.. Tratam-se de investigadores do Departamento de Informática, integrada por 3 PhD, 1 MsC e 1 investigador, dos Grupos de Comunicações por Computador (GCOM) e Inteligência Artificial (IA): Alexandre Santos (GCOM), António Costa (GCOM), Joaquim Macedo (GCOM), Orlando Belo (IA) e Leopoldo Silva (GCOM). 35 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática Referências 1. Mercator: A Scalable, Extensible Web Crawler, Technical Report, Compaq Systems Research Center, Palo Alto, CA,USA , 1995 2. On Near-Uniform URL Sampling, Monika Henziger, Allan Heyton, Michel Mitzenmacher and Marc Najork. WWW00 Conference, Amesterdam, Holland, 2000. 3. Measuring Index Quality using Random Walks on the Web, Monika Henziger, Allan Heyton, Michel Mitzenmacher and Marc Najork. WWW99 Conference, Canada, 1999. 4. Crawling the Hidden Web, Sriram Raghavan, Hector Garcia Molina, Technical Report, Stanford University, USA 5. Breadth-first search crawling yields high-quality pages, Marq Najork, Janet L.Wiener, Technical Report, Compaq Systems Research Center, Palo Alto, CA,USA . 6. The anatomy of large scale hipertextual search engine, L.Page and S.Brin, WWW98 Conference, Brisbane, Australia, 1998. 7. Archiving the Internet, B.Kahle, Technical Report, Internet Archive, 1997. 8. Sphinx: a framework for creating personal, site-specific web crawlers, WWW98 Conference, Brisbane, Australia, 1998. 9. ParaSite: Mining the Structural Information on the World-Wide Web, Ellen Spertus, PhD Thesis, MIT, USA, 1998. 10. Machine Learning, Tom Mitchel, Mc-Graw Hill, 1997.Web Characterization Terminology & Definitios Sheet, Brian Lavoie, Henrik Nielsen, W3C Working Draft, Maio de 1999. 12. Web Characterization Metrics, Brian Lavoie, Technical Report, OCLC, Maio 1999. 13. The OCLC Web Characterization Project, Ed O’Neil, Brain Lavoie e Pat MacLain, W3C Web Characterization Group Conference, Maio de 1998. 36 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática 14. Caracterização da Informação WWW na RCCN, Maria João Nicolau, Joaquim Macedo e António Costa, WorkShop de Redes da RCCN, Março de 1997. 15. Measuring the Web, Tim Bray, 5th WWW Conference, Paris, 1996. 16. rfc 2046 - Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types, N. Freed e N. Borenstein, Network Working Group, November 1996 17. rfc 1321 - The MD5 Message-Digest Algorithm, R. Rivest, Network Working Group, April 1992 37 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática Glossário e acrónimos IP (Internet Protocol) – Protocolo de rede usado por todas as máquinas ligadas à Internet. ISP (internet Service Provider) – Fornecedor de Serviço Internet. MIME (Multipurpose Internet Mail Extensions) - trata-se duma norma Internet que especifica como as mensagens devem ser formatadas para serem trocadas entre diferentes sistemas de correio electrónico. Trata-se dum formato bastante flexível que permite que se troca qualquer tipo de ficheiro ou documento através duma mensagem de correio electrónico. Especificamente as mensagens MIME podem conter texto, imagens, áudio, vídeo ou formatos específicos para aplicações. É um formato muito parecido com o usado para trocas de informação entre um servidor e um cliente Web, usando o protocolo HTTP. Para os principais tipos de dados MIME (texto, imagens, áudio, vídeo, aplicação, etc, ) podem ainda ser definidos subtipos. Por exemplo o html é um subtipo do tipo texto e o msword é um subtipo de aplicação. PIX (Portuguese Internet eXchanger) – Serviço de Interligação entre os ISPs em Portugal, gerido pela FCCN. RCTS (Rede Ciência, Tecnologia e Sociedade) – gerida pela FCCN para ligação à Internet de instituições de ensino. A RCTS2 é uma rede mais rápida para ligação de instituições de ensino universitário e laboratórios de investigação. RIPE (Réseaux IP Européens) – é uma organização à escala europeia participada pelos ISPs na Europa para assegurar alguma coordenação administrativa. Para além de manter bases de dados com informação de administração de redes produz algumas estatísticas sobre as redes dos vários países. Rota – Percurso a realizar para chegar a determinado destino. Robot – Programa que percorre o WWW usando um algoritmo recursivo que vai processando cada página e extraindo os URLs referenciados para continuar o seu processamento. O processamento a realizar depende da aplicação. Script – Programas escritos em várias linguagens embebidos ou referenciados em páginas HTML que podem ser executados no cliente ou no servidor. Servidor – Máquina de maior porte onde residem as aplicações que prestam serviços a clientes que normalmente residem em PCs dos utilizadores. Sistema Intermediário (Router) – Equipamentos que são responsáveis pelo encaminhamento dos pacotes originados pelos hosts (Sistemas finais ou hosts) desde a origem até ao destinatário. 38 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática Socket – dispositivo do sistema operativo usado pelas aplicações para comunicação entre processos na mesma máquina e entre máquinas diferentes. URI (Uniform Resource Locator) – nome que identifica univocamente os recursos Web. URL (Uniform Resource Locator) – nome que indica a localização ou endereço dos recursos Web na rede. 39 Observatório das Ciências e das Tecnologias Universidade do Minho - Departamento de Informática