Escolar Documentos
Profissional Documentos
Cultura Documentos
www.cin.ufpe.br/~posgraduacao
Recife, Agosto/2013
Recife, Agosto/2013
Agradecimentos
iv
Resumo
Abstract
The "digital universe"grows exponentially and is expected in 2015 will reach almost
8 zettabytes. It is becoming more complex to process, store, manage, ensure safety and
provide this information. The cloud storage is pointed as the best solution to deal with
these problems and many systems have been developed for this purpose. Most of these
systems take advantage of the peer-to-peer (p2p) architecture to avoid bottlenecks, single
points of failure and and to scale easily. Most cloud storage systems existing does not
allow the user to make more complex searches, eg, taking into account the contents of
the files or information on metadata. Hence this research aims to propose an approach to
extract and index the contents of files, such the system allows full-text searches based
on the content of files in cloud storage systems based on peer-to-peer architecture. In
addition, this research also aims to investigate an efficient way to store the search index
within the P2P architecture, so that it is possible to replicate the information with ease,
allowing elasticity, ensures availability and thereby allow the searches bring as many
relevant results possible. In addition, this research also aims to investigate an efficient
way to store search index within the P2P architecture, such it is possible to replicate the
information with ease, allowing elasticity, ensures availability and, thus, allow searches
to find as many relevant results possible.
Keywords: Information Retrieval, Cloud Computing, Cloud Storage
vi
Sumrio
Lista de Figuras
ix
Lista de Tabelas
xi
1
2
3
3
4
5
Introduo
1.1 Motivao . . . . . . . .
1.2 Definio do Problema .
1.3 Soluo Proposta . . . .
1.4 Fora do Escopo . . . . .
1.5 Estrutura da Dissertao
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6
6
7
7
7
8
8
9
11
13
14
16
17
17
17
19
20
20
20
21
21
23
23
23
23
24
26
26
vii
3.3.2.4
3.4
3.5
4
Experimento
4.1 Coleo de Dados . . . . . . . . . . . .
4.2 Consultas . . . . . . . . . . . . . . . .
4.3 Conjunto de Julgamentos de Relevncia
4.4 Ambiente de Teste . . . . . . . . . . .
4.5 Metodologia de Avaliao . . . . . . .
4.5.1 Cenrios para Avaliao . . . .
4.6 Resultados . . . . . . . . . . . . . . . .
4.6.1 Resultados no Cenrio I . . . .
4.6.2 Resultados no Cenrio II . . . .
4.6.3 Resultados no Cenrio III . . .
4.6.4 Resultados no Cenrio IV . . .
4.7 Discusso e Consideraes Finais . . .
4.7.1 Discusso dos Resultados . . .
4.7.2 Problemas Encontrados . . . . .
4.7.3 Possveis Ameaas Validade .
4.8 Sumrio do Captulo . . . . . . . . . .
27
28
30
31
31
32
32
35
35
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
37
37
38
38
38
39
41
41
42
45
47
50
51
51
52
53
53
54
54
55
Referncias Bibliogrficas
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
56
viii
Lista de Figuras
1.1
2.1
2.2
2.3
2.4
3.1
3.2
3.3
4.6
4.7
18
19
24
25
27
29
30
31
32
33
35
36
38
42
43
44
45
46
47
ix
4.8
48
48
49
50
51
Lista de Tabelas
2.1
3.1
3.2
22
26
4.1
4.2
4.3
4.4
4.5
4.6
39
40
42
44
46
49
. . .
. . .
. .
. . .
. . .
. . .
.
.
.
.
.
.
xi
Introduo
A cada dia se produz mais informao e, geralmente, estas informaes so armazenadas em meios digitais. O tamanho desse universo digital cresce de forma exponencial.
Segundo relatrio publicado pela EMC Corporation1 [Gantz and Reinsel, 2011], em 2005,
o volume de dados chegou a 130 exabytes2 ; em 2010, superou 1 zettabyte e a previso
que em 2015 chegue a quase 8 zettabytes3 , conforme mostrado na Figura 1.1.
Figura 1.1 Expectativa de crescimento da quantidade de dados gerados [Gantz and Reinsel,
2011].
Este universo digital citado em [Gantz and Reinsel, 2011] expande e se torna
cada vez mais complexo para processar, armazenar, gerenciar, garantir a segurana e
disponibilizar estas informaes. Somente a demanda por armazenamento cresceu mais
1 http://www.emc.com
1.1. MOTIVAO
de 50% nos ltimos anos [Kaplan et al., 2008]. Para lidar com essas demandas, segundo
[Gantz and Reinsel, 2011], sero necessrias habilidades, experincia e recursos, como
capacidade de armazenamento, processamento, que rapidamente se tornaro escassos,
alm de uma nova infraestrutura de Tecnologia da Informao escalvel e flexvel. Uma
opo que atende a estes requisitos a computao em nuvens.
A utilizao da computao em nuvens permite que os usurio possam alocar recursos dinamicamente, de acordo com sua necessidade. Entre esses recursos est o
de armazenamento, o qual prov recursos e servios de armazenamento baseados em
servidores remotos que utilizam os princpios da computao em nuvem. A utilizao da
computao em nuvens para armazenamento permite que servios de armazenamento
sejam disponibilizados a um baixo custo [Zeng et al., 2009].
Diversos sistemas de armazenamento em nuvem dividem os arquivos em pedaos
menores, chamados chunks, antes de armazen-los. Esta estratgia permite que seja
efetuada uma replicao de dados mais eficiente e menos custosa, pois somente sero
enviados pequenas partes do arquivo e no o arquivo completo. Alm disto, como
os arquivos so armazenados apenas de forma particionada, isto garante uma maior
segurana dos dados [Rabin, 1989].
Quando preciso lidar com um grande conjunto de dados, podemos utilizar tcnicas de
recuperao de informao para facilitar o processo de localizao de algum documento.
Para isto, necessrio que os documentos sejam indexados e um ndice de busca seja
gerado. A partir da, um sistema de recuperao de informao (RI) poder localizar os
arquivos que so mais relevantes para a necessidade do usurio [Manning et al., 2008].
A necessidade de informao do usurio representada atravs de sua expresso de
busca, que pode ser especificada em linguagem natural (mesmos termos usados pelo
autor do documento) ou atravs de uma linguagem artificial (termos determinados pelos
desenvolvedores do sistema de RI), e deve resultar na recuperao de um nmero de
documentos que possibilite a verificao de cada um deles a fim de selecionar os que so
teis. A principal dificuldade do usurio est em predizer, por meio de uma expresso
de busca, as palavras ou expresses que foram usadas para representar os documentos
e que satisfaro sua necessidade. Com o aumento da capacidade de armazenamento
dos computadores, muitos sistemas de RI conseguem disponibilizar o texto integral dos
documentos. Esta abordagem muito utilizada em grandes engenhos de busca, como:
Google4 , Yahoo5 , Microsoft Bing6 , entre outros, e tem como objetivo permitir que o
usurio possa localizar informaes existentes no contedo dos documentos, alm de
permitir a utilizao de linguagem natural na expresso de busca.
1.1
Motivao
Acessado em 21/08/2013
Acessado em 21/08/2013
6 http://www.bing.com Acessado em 21/08/2013
5 http://www.yahoo.com
algum arquivo pelo ttulo do arquivo armazenado. Conforme discutido em [Kostoff, 2010]
e [Berrios, 2000] a utilizao de consultas full-text baseadas no contedo do arquivo
podem aumentar a quantidade de resultados relevantes retornados em relao consultas
baseadas no ttulo e palavras-chave. Alm disso, pelo fato de ser possvel consultar o
contedo integral do arquivo, as consultas podem ser realizadas utilizando linguagem
natural. Por exemplo, caso o usurio esteja escrevendo um artigo sobre o banco de dados
Cassandra7 e no consiga se lembrar do nome que usou para salvar o arquivo, mas sabe
que o texto escrito possui a frase O Cassandra um banco de dados NoSQL. Utilizando
consultas full-text baseadas no contedo, ser possvel utilizar esta frase para localizar o
arquivo salvo, e no somente o nome do arquivo.
Para que seja possvel realizar consultas full-text baseada em contedo necessrio
que o contedo do arquivo seja extrado e, juntamente com os metadados, indexado para
formar o ndice de busca. Esta operao de indexao pode ser muito custosa caso seja
realizada aps a concluso do armazenamento, j que muitos sistemas de armazenamento
em nuvem armazenam somente os chunks dos arquivos, sendo necessrio, assim, uma
abordagem que possibilite que o contedo dos arquivos seja extrado e indexado no
momento do backup.
Tomando isto como base, este trabalho prope uma abordagem para permitir indexao e consultas full-text baseadas no contedo dos arquivos indexados. A abordagem
ser desenvolvida de forma que seja possvel ser implantada em um sistema de armazenamento, no qual os arquivos sejam armazenados em chunks. Esta abordagem ser
implantada em um sistema real de armazenamento de dados em nuvem, o qual funciona
sobre uma arquitetura peer-to-peer.
1.2
Definio do Problema
1.3
Soluo Proposta
Esta dissertao tem como objetivo geral propor uma abordagem para realizar indexao e consultas full-text baseadas no contedo dos arquivos para sistemas de armazena7 http://cassandra.apache.org/
Acessado em 21/08/2013
mento em nuvem.
Para o desenvolvimento desta pesquisa, os seguintes itens so considerados como
objetivos especficos:
Identificar as propostas adotadas hoje pelo sistemas de armazenamento em
nuvem para analisar quais informaes so armazenadas em forma de metadados
e quais as opes de consultas disponibilizadas.
Realizar um levantamento de requisitos para as funcionalidades da abordagem proposta de forma a tornar a abordagem vivel para ser utilizada em um
sistema real de armazenamento em nuvem.
Definir a estrutura dos metadados que sero utilizados na abordagem proposta.
Definir e implementar como os arquivos armazenados sero indexados, de
forma que seja possvel implementar a abordagem em um sistema real de armazenamento em nuvem, onde este armazena somente os chunks dos arquivos.
Definir e implementar como sero realizadas as consultas, levando em considerao a arquitetura na qual o sistema de armazenamento em nuvem foi implementado.
Realizar um estudo experimental para avaliar a abordagem desenvolvida e o
impacto de sua implementao e utilizao.
1.4
Fora do Escopo
1.5
Estrutura da Dissertao
Contextualizao e Trabalhos
Relacionados
Neste captulo sero apresentados os conceitos de recuperao de informao e
computao em nuvens, conceitos-chave desta dissertao, bem como alguns trabalhos
relacionados com recuperao de informao em sistemas de armazenamento em nuvem.
2.1
Recuperao de Informao
Um sistema de recuperao de informao (RI) tem o objetivo de localizar a informao que relevante para a consulta do usurio. Um sistema de RI tipicamente realiza
consultas em colees de dados no estruturados ou semi-estruturados (por exemplo,
pginas web, documentos, imagens, vdeos, etc.). A necessidade de um sistema de RI
ocorre quando um conjunto de dados atinge um tamanho que as tcnicas tradicionais de
catalogao j no permitem que os documentos sejam encontrados facilmente. Para que
isto seja possvel, necessrio que os documentos sejam indexados e um ndice de busca
seja gerado [Manning et al., 2008].
Os sistemas de RI devem representar o contedo dos documentos e apresent-los ao
usurio de uma maneira que lhe permita uma rpida seleo dos itens que satisfazem total
ou parcialmente sua necessidade de informao, formalizada atravs da uma expresso
de busca. O processo de representao busca descrever ou identificar cada documento
atravs de seu contedo. Tal representao geralmente realizada atravs do processo de
indexao. Durante a indexao so extrados conceitos do documento atravs da anlise
de seu contedo e traduzidos em termos de uma linguagem de indexao, gerando um
ndice onde sero realizadas as consultas [Hiemstra, 2009; Lu, 2007].
Um sistema de RI geralmente desenvolvido com o objetivo de melhorar a eficincia
e eficcia da tarefa de recuperao. A eficincia normalmente calculada em termos
computacionais (desempenho, tempo de CPU, etc) e a eficcia dada, principalmente,
pela taxa de preciso e recall [Baeza-Yates and Ribeiro-Neto, 1999]. Essas medidas so
usadas para avaliar o desempenho de um modelo de RI e para fazer a comparao de
performance entre diferentes modelos, os quais sero descritos na prxima Seo.
2.1.1
Modelo Booleano
O modelo Booleano um dos mais antigo e simples modelo para RI. Ele se baseia
na teoria dos conjuntos e na lgebra booleana [Baeza-Yates and Ribeiro-Neto, 1999].
As consultas so descritas por meio de expresses booleanas usando conectores lgicos:
AND, OR e NOT e cada documento representado por um conjunto de termos indexados, os quais simplesmente so palavras ou frases. Os documentos recuperados so
aqueles que satisfazem completamente a consulta do usurios. Aqueles que satisfazem
parcialmente a consulta no so retornados. Como o resultado da recuperao de um
documento um valor binrio, esse modelo no oferece um mecanismo de ordenao.
A principal vantagem do modelo booleano se refere ao formalismo e simplicidade. A
principal desvantagem a comparao exata entre consulta e documento, que pode levar
recuperao de poucos ou muitos documentos [Baeza-Yates and Ribeiro-Neto, 1999;
Hiemstra, 2009].
2.1.1.2
vantagens deste modelo so a possibilidade de retornar documentos que satisfazem parcialmente consulta e a possibilidade de ordenar os resultados. A principal desvantagem
que os termos de indexao so mutualmente independentes; ento este modelo no
captura a semntica da consulta ou do documento [Manning et al., 2008].
2.1.1.3
Modelo Probabilstico
O modelo probabilstico tenta recuperar a informao atravs de clculos probabilsticos, usando para tal a teoria da probabilidade. A ideia bsica a de recuperar os
documentos de acordo com a probabilidade de o documento ser relevante [Baeza-Yates
and Ribeiro-Neto, 1999]. Existem diversas propostas baseadas no modelo probabilstica
como: [Rijsbergen, 1979], [Robertson, 1977], [Sparck Jones et al., 2000] e [Robertson
and Zaragoza, 2009]
O modelo probabilstico no faz parte da proposta apresentada nesta dissertao.
Portanto, as propostas relacionadas acima no sero detalhadas.
2.1.2
Tabela 2.1 Tabela com diferenas entre recuperao de dados e recuperao de informao.
Adaptada de [Rijsbergen, 1979]
Correspondncia
Inferncia
Modelo
Linguagem da Consulta
Especificao da Consulta
Itens Desejados
Sensibilidade a Erros
Recuperao de Dados
Exata
Deduo
Determinstico
Artificial
Completa
Correspondentes
Sensvel
Recuperao de Informao
Parcialmente, melhor possvel
Induo
Probabilstico
Natural
Incompleta
Relevantes
No-Sensvel
2.2
Computao em Nuvem
de enormes recursos computacionais como: capacidade de processamento, armazenamento e conectividade. Tomando armazenamento como um exemplo, quando o usurio
usa um servio de armazenamento em computao em nuvem, ele somente paga a parte
que foi efetivamente consumida sem comprar nenhum disco rgido ou at mesmo sem
nem conhecer a localizao dos seus dados armazenados. O exemplo mais conhecido
de IaaS o Amazon Web Services (Amazon AWS)1 , principalemente, atravs do Amazon
Elastic Compute Cloud (Amazon EC2)2 .
Do ponto de vista do hardware, computao em nuvem trs trs novos aspectos
[Vogels, 2008]:
1. A iluso de recursos computacionais infinitos disponveis sob demanda, eliminando
assim a necessidade dos usurios planejarem muito frente para provisionamento
de recursos.
2. A eliminao de um compromisso antecipado por parte dos usurios da nuvem,
permitindo que as empresas comecem pequeno e aumente os recursos de hardware
apenas quando h um aumento de suas necessidades.
3. A capacidade de pagar somente pelo que foi usado dos recursos computacionais
(por exemplo, os processadores por hora e armazenamento por dia), e liberar
recursos contratados facilmente quando no so mais necessrios.
Plataforma como um servio (Platform-as-a-Service - PaaS) geralmente abstrai a
infraestrutura e d suporte a um conjunto de interfaces de programao para aplicaes em
nuvem. o meio entre o hardware e as aplicaes. Devido a importncia da plataforma,
muitas grandes empresas querem aproveitar a oportunidade para tentar dominar essa rea
como a Microsoft fez na poca do computador pessoal. Exemplo bem conhecidos so o
Google App Engine3 , a plataforma de servios do Microsoft Azure4 , o RackSpace5 .
Software como um servio (Software-as-a-Service - SaaS) tem como objetivo substituir as aplicaes que rodam nos computadores. No h a necessidade de instalar ou
rodar softwares especiais no computador para rodar um SaaS. Ao invs de comprar o
software por um preo relativamente alto, o usurio paga pelo que usado do SaaS, o que
pode reduzir o preo total. O conceito de SaaS atrativo e alguns softwares executam
bem na nuvem, mas o atraso na rede fatal para algumas aplicaes, como sistemas de
tempo real. Exemplos muito conhecidos de SaaS so o SalesForce 6 , o Google Docs 7 e o
Dropbox 8 .
Como discutido em Armbrust et al. [2009], computao em nuvem refere-se tanto aos
aplicativos entregues como servios atravs da internet como ao hardware e software nos
1 http://aws.amazon.com/
10
2.2.1
11
Diversos sistemas uniram os conceitos peer-to-peer com os conceitos de armazenamento em nuvem e passaram a oferecer solues de armazenamento em nuvem baseadas
em uma arquitetura peer-to-peer, como Wuala, BitTorrent Sync, Symform, Freenet,
AeroFS.
Neste tipo de sistema, os ns que fazem parte da rede cooperam uns com os outros,
atravs do compartilhamento de uma quota de espao no disco rgido, e cada n , ao
mesmo tempo, um consumir e produtor de dados. Como mostrado na Figura 2.3, cada n
composto por um processo que responsvel pelo envio dos dados locais para outros
ns da rede e por receber os dados de outros peers.
12
A arquitetura peer-to-peer permite que a rede formada tenha uma composio dinmica, ou seja, peer podem entrar e sair da rede com facilidade e, para evitar que os dados
armazenados em um peer sejam perdidos, comum utilizar tcnicas de armazenamento
redundante [Datta et al., 2010]. Um efeito comum do armazenamento redundante de
dados a disperso dos dados de forma geogrfica (assumindo que a prpria rede est
distribuda geograficamente).
A redundncia pode ser alcanada simplesmente atravs da replicao de arquivos
para um nmero de peers, mas esta tcnica muito custosa, devido necessidade da
cpia integral do arquivo em cada peers escolhido e ao aumento do trfego de rede para
efetuar as cpias. Outra tcnica muito utilizada a erasure code, a qual utilizada como
tcnica de correo de erros para compensar os erros ocorridos durante a transmisso
de dados. Como representado na Figura 2.4, os dados originais so quebrados em
pedaos menores e so criados fragmentos redundantes dos mesmos. Estes fragmentos
so enviados para serem armazenados nos outros peers. Caso algum dos fragmentos
armazenados seja perdido, o dados original ainda poder ser re-montado partir dos
fragmentos restantes [Peterson and Weldon, 1972].
2.3
Trabalhos Relacionados
13
2.3.1
14
15
2.4
Sumrio do Captulo
Neste captulo foi apresentada uma reviso dos conceitos de recuperao de informao e computao em nuvem. Alm disso, foi detalhado o funcionamento de sistemas
de armazenamento em nuvem, os conceitos envolvidos no armazenamento e alguns
trabalhos relacionados baseados em sistemas de armazenamento em nuvem disponveis
no mercado.
Conforme apresentado na Tabela ??, a maioria os sistemas de armazenamento hoje
desenvolvidos oferecem opes simples para indexao e realizao de consultas, normalmente somente baseadas no ttulo dos arquivos armazenados. Alguns outros sistemas
(como o Amazon S3) permite que as buscas sejam realizadas baseadas nos metadados
armazenados, entretanto estes no armazenam nenhum atributo relacionado com o contedo armazenado. A Amazon props recentemente o Amazon Cloud Search (ainda em
beta), que permite que buscas mais avanadas sejam realizadas no Amazon S3, entre elas
a busca full-text. Entretanto, como discutido anteriormente, esta soluo exclusiva para
ser utilizada com os servios da Amazon (Amazon S3, DinamoDB, etc). Portanto, ela
no adequada para ser utilizada em sistemas de armazenamento em nuvem utilizando,
por exemplo, o erasure code, para particionar e replicar os arquivos antes de armazenar,
e o armazenamento distribudo, possibilitado pela utilizao de uma arquitetura P2P.
Ainda h o problema da falta de detalhamento de algumas propostas. Por exemplo, o Box
apresenta uma soluo para buscas full-text baseadas em contedo, entretanto, por ser um
sistema proprietrio, no h informaes detalhadas do seu funcionamento.
Desta forma, a quantidade de trabalhos relacionados com recuperao de informao
em sistemas de armazenamento em nuvem pequena. Mas possvel dizer que falta
uma proposta para indexao e consultas full-text baseadas no contedo dos arquivos
armazenados para este tipo de sistema e isto nos motivou a desenvolver este trabalho.
No prximo captulo ser apresentada a abordagem proposta por esta dissertao,
bem como os requisitos atendidos e a arquitetura da mesma.
16
3.1
Ustore
3.1.1
Arquitetura do Ustore
17
3.1. USTORE
Cada peer JXTA cria uma rede sobreposta virtual, permitindo a interao com outros
pares normalmente inacessveis, como os protegidos por dispositivos reguladores de
trfego (como firewalls) ou que utilizem outro tipo de transporte de rede. Estes peers
tambm podem ser organizados em grupos de uma forma descentralizada [Barolli and
Xhafa, 2011]. Alm disso, os recursos de rede possuem uma identificao nica e
constante, de forma a poder mudar seu endereo de localizao livremente sem perder
a identificao e ele define um protocolo para as operaes principais de uma rede P2P,
como descobrimento de servios, mensagens e organizao de grupos. Alm disto,
o JXTA permite que cada peer, independente da plataforma de software e hardware
utilizada, possa se conectar em uma rede P2P [Gong and Others, 2001].
A Figura 3.2 mostra os tipos de peers do Ustore [Silva et al., 2012b]:
1 http://java.net/projects/jxta,
18
3.1. USTORE
3.1.1.1
Cliente Ustore
19
3.2. REQUISITOS
3.1.1.2
Servidor Ustore
Os peers servidores so aqueles que oferecem um conjunto (ou subconjunto) de servios existentes. A definio de peers com funcionalidades especificas na rede opem-se a
algumas propostas para sistemas P2P, onde cada peer deveria ser capaz de desempenhar
todos os papis no sistema, promovendo a ideia de uma DHT (Distributed Hash Table)
completa [Oliveira, 2007; Loest et al., 2009]. No entanto, a implementao utilizando
uma DHT em sua essncia bastante custosa e de difcil escalabilidade. Sendo assim, a
proposta adotada no Ustore a criao de nveis hierrquicos que implementam servios
bem definidos e que podem crescer horizontalmente. Dentre os servios disponibilizados
pelos servidores, pode-se citar:
Autenticao: usado para que cada cliente se autentique;
Disponibilidade: permite checar a disponibilidade de cada peer;
Gerncia de Diretrios: utilizado para armazenamento e recuperao de diretrios
inteiros;
Gerencia de Arquivos: utilizado para armazenamento e recuperao de arquivos;
Busca por Dados: procura por um conjunto de peers que obedeam ao acordo de
nvel de servio;
3.1.1.3
Super peer
3.2
Requisitos
Os requisitos (funcionais e no-funcionais) propostos para o engenho de busca fulltext so baseadas nos problemas enfrentados por outros engenhos de busca analisados
no Captulo 2. Alm disto, os requisitos tambm so derivados da rea de computao
em nuvens e discusses no grupo ASSERT2 . Neste contexto, um conjunto de requisitos
funcionais e no-funcionais so apresentados nas sees seguintes.
2 http://www.assertlab.com
20
3.2. REQUISITOS
3.2.1
Requisitos Funcionais
Indexar no lado do cliente - Muitos sistemas de armazenamento adotam a estratgia de no armazenar o arquivo inteiro e, sim, dividido em pedaes menores,
chamados de chunks. Devido a isto, o processo de indexao deve acontecer no
cliente que est efetuando o backup, j que este ser o nico cliente com acesso ao
arquivo inteiro.
Indexar vrios formatos de arquivos - A indexao deve ser feita em diversos
tipos de arquivos, incluindo: arquivos de todos o pacote Office, arquivos de todo o
pacote OpenOffice, arquivos com extenso pdf, arquivos de imagem, arquivos de
vdeo.
Extrair e indexar contedo dos arquivos de texto - Para os arquivos de texto
(por exemplo, arquivos com extenso: pdf, doc, xls, txt), o sistema deve extrair e
indexar tambm o contedo dos mesmos.
Realizar consultas full-text - O sistema deve permitir que o usurio realize consultas do tipo full-text, ou seja, levando em considerao todo o contedo do arquivo.
O sistema deve retornar uma quantidade estipulada inicialmente de resultados,
organizando-os pelo nmero de ocorrncias dos termos escolhidos pelo usurio.
Realizar a indexao global-local - O sistema deve realizar a indexao dos
metadados em um ndice global e em um local. O ndice local permitir que o
cliente realize consultas somente entre seus prprios arquivos e tambm poder
responder a consultas de outros clientes. O ndice global dever ficar no Servidor
de Busca e agregar o ndice de todos os arquivos do sistema.
Realizar consultas locais e globais - O sistema deve permitir que consultas fulltext sejam realizadas no ndice local do cliente e de outros clientes e no ndice
global.
Apresentar resultados da consulta para o usurio - O resultado da consulta
deve ser apresentado para o usurio classificados de acordo com o nmero de
ocorrncias dos termos utilizados. Alm disso, o usurio dever ter a opo de
solicitar o download do arquivo a partir do resultado apresentado.
3.2.2
Requisitos No-Funcionais
21
3.2. REQUISITOS
Requisito
Indexar no lado do cliente
Indexar vrios formatos de arquivos
Extrair e indexar contedo dos arquivos de texto
Realizar consultas full-text
Realizar a indexao global-local
Realizar consultas locais e globais
Apresentar resultados da busca para o usurio
Extensibilidade
Elasticidade
Replicao
Usabilidade
Desempenho
Alta preciso e recall
Situao
Alcanado
Alcanado
Alcanado
Alcanado
Alcanado
Alcanado
Alcanado
Parcialmente Alcanado
Parcialmente Alcanado
Parcialmente Alcanado
Alcanado
Alcanado
Parcialmente Alcanado
22
3.3
Na Seo anterior foram apresentados os requisitos que sero desenvolvido por esta
abordagem, cujo objetivo permitir que consultas full-text baseadas em contedo sejam
realizadas no Ustore. Nesta Seo ser mostrado como a abordagem proposta extrai e
indexa o contedo de cada arquivo e, aps isso, ser mostrado as estratgias de busca
adotadas no Ustore. Cada estratgia se refere um tipo de busca diferente: local, atravs
da rede e no Servidor de Busca.
3.3.1
Arquitetura
Viso de Componentes
3.3.2
Indexao Full-Text
Conforme mostrado na Figura 3.3 cada cliente e Servidor de Buscas do Ustore possui
um componente responsvel pela indexao. A Figura 3.4 mostra o diagrama de sequncia
do processo de indexao que se inicia quando o cliente informa ao servidor que um
backup ser iniciado.
A primeira mensagem enviada para o servidor faz com que algumas informaes
sobre o backup sejam registradas e, atravs do algoritmo de disponibilidade de peers,
descubra quais so os melhores clientes para os quais o cliente dever enviar os chunks
do arquivo. Aps isto, o cliente divide o arquivo em chunks com tamanho pr-definido, o
qual configurado em arquivo de propriedades. Paralelamente ao envio dos chunks para
os outros clientes, o componente de indexao acionado e, primeiramente, identifica
qual o tipo do arquivo que est sendo salvo. Isto permite que seja escolhido um parser
23
Metadados
24
25
Atributo
FILE_NAME
FILE_NAME_LOWER
SIZE
PATH
PATH_LOWER
FILE_ID
CONTENT
LANGUANGE
CATEGORY
USER_INTEREST
AUTHENTICATION
DATE_CREATED
DATE_MODIFIED
DATE_INDEXED
Descrio
Nome do arquivo
Nome do arquivos (minsculas)
Tamanho do arquivo (Kbytes)
Caminho completo do arquivo
Caminho completo do arquivo (minsculas)
ID do arquivo no banco de dados
Contedo do arquivo
Linguagem do arquivo
Categoria do arquivo
reas de interesse do usurio
Nmero de autenticao do usurio
Data de criao do arquivo
Data de modificao do arquivo
Data de indexao do arquivo
somente este possui o arquivo inteiro. Alm disto, o componente de indexao tambm
tem a responsabilidade de criar um ndice local, como ser descrito adiante.
3.3.2.2
Indexao Local
A indexao dos metadados localmente acontece no prprio cliente que est efetuando
o backup e acontece paralelamente finalizao do mesmo, conforme apresentado na
Figura 3.4. Esta indexao tem a vantagem de funcionar independente de problemas na
rede, entretanto, permite que o cliente consulte unicamente o ndice existente no cliente.
Estas consultas acontecem atravs de mensagens sncronas, pois o cliente tem acesso
direto ao ndice gerado. Outra desvantagem que o ndice existe unicamente neste cliente,
o que significa que caso o cliente apresente algum problema que ocasione a perde deste
ndice, no ser possvel recuper-lo, ser necessrio executar uma rotina para realizar o
download de todos os arquivos e index-los novamente.
3.3.2.3
O envio dos metadados para serem indexados no Servidor de Busca ocorre de forma
paralela finalizao do backup, da mesma forma que a indexao local. Uma mensagem
JXTA assncrona enviada atravs da rede para o Servidor de Busca. Quando esta chega
ao servidor, os metadados que ela contm so indexados no ndice global. A utilizao de
um ndice global permite que o usurio faa uma consulta levando em considerao todos
os arquivos pblicos indexados pelo Ustore, mas o servidor pode se tornar um gargalo
no sistema e se transformar em um ponto de falha. Por isto, foi adotada uma soluo
para garantir a escalabilidade dos servidores e a replicao de dados entre eles, que ser
descrita na prxima Seo.
26
3.3.2.4
27
3.3.3
28
29
Consulta Local
A consulta local permite que o cliente do Ustore faa uma consulta de forma sncrona
ao seu prprio ndice. Esta consulta sempre ir funcionar, independente da existncia
algum problema de conexo na rede. Porm, como no h consulta aos ndices em
outros clientes ou servidores, os resultados ficam restritos apenas aos arquivos indexados
naquele cliente e que sejam pblicos (em caso de arquivos pertencentes a outros usurios
do sistema, mas indexados no mesmo cliente).
30
3.3.3.2
O Ustore tambm permite que o usurio opte pela consulta atravs da rede; caso
isto ocorra, o Ustore utilizar o recurso de auto-descobrimento do JXTA para descobrir
quais clientes conectados na rede possuem o servio de busca associado e encaminhar
a consulta para eles. Para isto o Ustore utiliza mensagens JXTA assncronas e, uma
vez que a consulta chegue at um cliente, este realizar a consulta no seu ndice local
e retornar os resultados para o cliente que lhe encaminhou a consulta. Utilizando esta
estratgia possvel analisar mais ndices procura de arquivos pblicos que satisfaam
aos termos informados pelo usurios. Apesar disto, uma consulta implicar em enviar
uma mensagem assncrona para todos os clientes conectados naquele momento. Quanto
maior a quantidade clientes conectados, maior ser a quantidade de mensagens enviada, o
que poder ocasionar uma degradao do desempenho da rede, este problema conhecido
como query flooding. H diversas propostas para evitar que este problema acontea,
entretanto no faz parte do escopo deste trabalho analis-las.
3.3.3.3
31
3.4
Detalhes da Implementao
3.4.1
Apache Lucene
O Apache Lucene3 uma biblioteca de cdigo aberto para contulas full-text feita em
Java e tem como objetivo adicionar a funcionalidade de busca de forma fcil para uma
aplicao ou site. A biblioteca composta por 2 mdulos principais: indexao e busca.
A indexao processa os dados originais gerando uma estrutura de dados inter-relacionada
eficiente para a pesquisa baseada em palavras-chave. A busca, por sua vez, consulta o
ndice pelas palavras digitadas em uma consulta e organiza os resultados pela similaridade
do texto com a consulta.
O Lucene oferece um bom nvel de abstrao para um conjunto poderoso de tcnicas
baseadas no modelo Vetorial e Booleano. Isto permite que o desenvolvedor crie um
engenho de busca sem necessariamente conhecer as rotinas e algoritmos de indexao,
nem de busca, sendo necessrio apenas utilizar a API disponibilizada.
3 http://lucene.apache.org/
Acessado em 26/06/2013
32
O Lucene utiliza em seu ndice a estrutura de dados chamada de ndice invertido, onde
cada termo adicionado possui uma referncia para o documento que o contm, como
mostrado na Figura 3.10. Os ndices invertidos so estruturas compostas por duas partes:
o vocabulrio e as ocorrncias. O vocabulrio incorpora o conjunto de todas as palavras
distintas existentes no documento. Para cada palavra do vocabulrio so construdas listas
que contm as exatas posies nas quais aparecem dentro do texto. O conjunto de todas
as listas denominado de ocorrncias. Em uma coleo de documentos, para cada palavra
existente armazenado tambm o nmero do documento no qual ocorre. A busca num
arquivo invertido se d atravs da verificao das entradas do arquivo e a recuperao de
todos os documentos que citam o termo usado [Baeza-Yates and Ribeiro-Neto, 1999].
Figura 3.10 ndice Invertido no Apache Lucene [Hatcher and Gospodnetic, 2004].
Para cada documento presente no resultado de uma busca atribudo uma pontuao
que representa a similaridade de tal documento com a consulta. O clculo dessa pontuao
feito baseando-se no modelo de recuperao de informao escolhido. No caso do
Lucene, ele suporta h alguns modelos plugveis, incluindo:
Modelo Espao Vetorial;
Modelo Probabilstico, como Okapi BM25 e DFR;
Modelo baseado em Linguagem Natural;
A busca padro no Lucene ocorre atravs da combinao de duas tcnicas de Recuperao de Informao: Modelo Espao Vetorial e modelo Booleano. Em geral, o modelo
Booleano utilizado primeiro para encontrar os documentos para os quais ser calculado
a pontuao de similaridade.
Este valor calculado por meio da frmula:
33
onde,
Fator
coord(q,d)
queryNorm(q)
tf(t in d)
idf(t)
t.getBoost()
norm(t,d)
Significado
Quantos termos da consulta q aparecem no documento d
Utilizado para fazer comparaes entre consultas. No afeta o
ranqueamento
Frequncia do termo t no documento d
Nmero de documentos que contm o termo t.
Peso atribudo ao termo t no momento da consulta
Encapsula alguns outros pesos no momento da indexao, como
fatores ligados ao documento, atributos de indexao e fatores
ligados a similaridade
34
3.4.2
Apache Tika
3.5
Sumrio do Captulo
Este captulo apresentou uma abordagem para indexao e consultas full-text baseada
em contedo para sistemas de armazenamento em nuvem. Alm disso, foram apresentados os requisitos que foram desenvolvidos nesta abordagem, sua arquitetura e detalhes
da implementao realizada. A abordagem proposta foi implementada no Ustore, um
sistema real de armazenamento em nuvem, no qual a indexao dos arquivos acontece
somente no clientes. Esta indexao extrai os metadados correspondentes e o contedo
5 http://poi.apache.org/
Acessado em 23/05/2013
Acessado em 23/05/2013
6 http://pdfbox.apache.org/
35
dos arquivos. Estes metadados so indexao no prprio cliente e enviados para serem
indexados nos Servidores de Busca. Com isso, o Ustore permite que as consultas full-text
sejam realizadas nos Servidores, atravs da rede P2P ou apenas localmente
No prximo captulo ser apresentado um experimento e seus resultados, o qual foi
realizado no Ustore com o objetivo de medir o desempenho da abordagem proposta.
36
Experimento
4.1
Coleo de Dados
37
4.2. CONSULTAS
4.2
Consultas
Como descrito na Seo anterior, o termo de busca escolhido para realizar as consultas
foi a palavra-chave cloud computing, por ser uma das palavras-chave deste trabalho.
4.3
Para a realizao dos testes necessrio que os arquivos tenham uma classificao
que indique quais so os mais relevantes para cada consulta que ser realizada. Para
fazer essa classificao no nosso conjunto de dados utilizamos a quantidade de citaes
aos artigos como critrio de qualidade, ou seja, quanto mais citaes o artigo teve, mais
relevante ele para nossa consulta.
4.4
Ambiente de Teste
Os testes foram realizados utilizando 4 mquinas virtuais interligadas por uma rede
Ethernet de 10/100 MBit/s, 2 delas (Win7.1 e Win7.2) executando Windows 7 com 1Gb
de memria RAM e processador de 2.4 Ghz e 1 executando Linux Debian 5.0 com 1Gb
de memria RAM e processador de 2.4 Ghz e 1 executando Linux CentOS com 1Gb
de memria RAM e processador de 2.4 Ghz. O Servidor Ustore e o Super Peer foram
hospedados na mquina CentOS. A mquina Debian hospedou 1 Servidor de Busca.
Tanto a mquina Win7.1 quanto a Win7.2 receberam dois Clientes Ustore cada, conforme
representado na Figura 4.1.
38
4.5
Metodologia de Avaliao
Mtricas
M1 : Preciso
M2 : Recall
M3 : F-Measure
M4 : Tempo para realizao de
consultas
M5 : Tempo para indexao
Descrio
Proporo entre o nmero de documentos relevantes retornados e o nmero total de documentos recuperados
Proporo entre o nmero de documentos relevantes recuperados e o nmero total de documentos relevantes na base
Mdia harmnica ponderada da preciso e recall.
Tempo gasto para realizar uma consulta
Tempo gasto para realizar a indexao de um arquivo
1. Preciso: A preciso representa a frao dos resultados retornados que so relevantes para a consulta. dada atravs da proporo entre o nmero de documentos
relevantes retornados e o nmero total de documentos recuperados e representada
pela frmula [Baeza-Yates and Ribeiro-Neto, 1999]:
precisao =
4.1
recall =
4.2
39
(1 + ) precisao recall
(( precisao) + recall
4.3
Fatores
Estratgia de indexao
Nveis
Baseada no ttulo dos arquivos e baseada no contedo arquivos
Estratgia de busca
Local, distribuda e Servidor de Buscas
Quantidade de resultados re- 5, 10 e 15
tornados
40
4.6. RESULTADOS
O desempenho de um sistema afetado por vrios parmetros, que podem ser divididos em variveis ou no-variveis. Os parmetros que podem ser variados so chamados
de fatores e os seus valores so chamados de nveis. Os fatores e nveis deste estudo
esto listados na Tabela 4.2.
4.5.1
4.6
Resultados
O experimento foi executados nos quatro cenrio de avaliao e a seguir so apresentados os resultados obtidos.
41
4.6. RESULTADOS
4.6.1
Resultados no Cenrio I
No primeiro cenrio utilizamos os quatro clientes Ustore (U1, U2, U3 e U4) para
fazer backup de todos os arquivos, os quais foram distribudos aleatoriamente entre os
clientes de forma que todos ficassem com o mesmo nmero de arquivos (25 arquivos
para cada um). Neste cenrio realizamos a indexao e busca locais, ou seja, foi gerado
apenas ndices em cada cliente que efetuou backup e utilizamos somente estes ndices
para responder s consultas.
Tabela 4.3 Tabela com tamanho dos ndices gerados em cada cliente Ustore.
Estratgia de Indexao
Ttulo
Contedo
U1
20.5 Kb
2 Mb
U2
20.7 Kb
2 Mb
U3
21.5 Kb
2.6 Mb
U4
21.8 Kb
2 Mb
A Tabela 4.3 mostra o tamanho dos ndices gerados em cada cliente Ustore. Nota-se
que o ndice gerado com a indexao baseada em contedo maior do que o ndice gerado
com a indexao baseada em ttulo. Isso se deve pela grande quantidade de informao
armazenada no atributo CONTENT dos metadados de cada arquivos, descrito na Seo
3.3.2 do Captulo 3.
Figura 4.2 Grfico comparando a preciso entre quatro clientes do Ustore variando a quantidade
de retornos e o tipo de indexao.
A Figura 4.2 mostra a preciso alcanada utilizando os quatro clientes Ustore utilizando indexao por contedo e por ttulo dos arquivos e variando a quantidade de
retornos (5, 10 e 15) e utilizando para consultas apenas o ndice local em cada cliente.
Pelo grfico percebemos que a maior parte dos arquivos relevantes ficaram nos clientes U2
42
4.6. RESULTADOS
e U3, pois estes foram os que obtiveram as maiores taxa de preciso. Como percebemos
pelo grfico, na maior parte dos testes realizados, as taxas de preciso quando utilizamos
a indexao baseada em contedo so mais altas do que quando utilizamos a indexao
baseada em ttulo, por exemplo, quando consideramos apenas o cliente U2 temos taxas
de preciso de 0.8, 0.5 e 0.45 para buscas baseadas em contedo e 0.6, 0.4 e 0.53 para
buscas baseadas em ttulo, com nmero de retornos de 5, 10 e 15, respectivamente. Com
isso, temos que, para 2 das 3 buscas realizadas, as taxas de preciso so superiores para o
primeiro caso. Devido distribuio aleatria dos arquivos, alguns clientes indexaram
poucos arquivos relevantes e, por isso, possuem taxas de preciso baixas. Se considerarmos a mdia aritmtica das taxas de preciso alcanadas para um retorno de 5 resultados,
conseguimos alcanar uma taxa satisfatria de 0.45. J, ao considerarmos as outras
taxas de retornos, as mdias obtidas mostram que precisamos melhorar a qualidade dos
resultados, j que essas no alcanaram o valor de referncia obtidos por outros autores.
Figura 4.3 Grfico comparando o recall entre quatro clientes do Ustore variando a quantidade de
retornos e o tipo de indexao.
A Figura 4.3 mostra as taxas de recall alcanadas com os quatro clientes do Ustore
utilizando indexao por contedo e por ttulo dos arquivos e variando a quantidade de
retornos (5, 10 e 15). Assim como na preciso, as taxas obtidas com o recall quando
utilizamos a indexao por contedo so superiores s taxas obtidas quando utilizamos
a indexao por ttulo. A anlise do grfico gerado permite observar que quando consideramos apenas os 5 (cinco) primeiros resultados, o cliente U1 possui uma taxa de
recall significante (0.5) para a busca baseada no contedo. Considerando os 15 (quinze)
primeiros resultados, o cliente U2 possui as taxas mais altas de recall: 0.35 e 0.34,
respectivamente para buscas baseada em contedo e ttulo. Analisando o grfico de forma
geral, percebe-se que as taxas de recall no so significativamente altas, ou seja, muitos
resultados relevantes no foram recuperados na consulta As mdias aritmticas relativas
43
4.6. RESULTADOS
Retornos
5
10
15
U1
Contedo
0.29
0.10
0.17
Ttulo
0.00
0.13
0.17
U2
Contedo
0.32
0.29
0.39
Ttulo
0.24
0.31
0.41
U3
Contedo
0.24
0.20
0.17
Ttulo
0.24
0.20
0.18
U4
Contedo
0.20
0.13
0.17
Figura 4.4 Grfico comparando o tempo de consulta local do Ustore variando a quantidade de
retornos e o tipo de indexao.
A Figura 4.4 mostra a medio de tempo para realizar 30 consultas locais no Ustore
utilizando indexao baseada em ttulo e em contedo. Nela podemos perceber que,
devido maior quantidade de informao gerada pela indexao baseada em contedo,
as consultas realizadas neste ndice so mais demoradas do que aquelas realizadas no
ndice com indexao baseada apenas no ttulo. Foi realizada uma anlise estatstica dos
resultados obtidos e ela mostra que em 95% dos casos uma consulta no ndice gerado
com o contedo dos arquivos demora entre 60ms e 180ms; j uma consulta no ndice
gerado apenas com o ttulo dos arquivos demora entre 25ms e 42ms. Como descrito
44
Ttulo
0.08
0.10
0.12
4.6. RESULTADOS
4.6.2
Resultados no Cenrio II
Figura 4.5 Grfico comparando a preciso entre quatro clientes do Ustore variando a quantidade
de retornos e o tipo de indexao e fazendo consulta aos outros clientes.
A Figura 4.5 mostra a preciso alcanada utilizando os quatro clientes Ustore utilizando indexao por contedo e por ttulo dos arquivos e variando a quantidade de
retornos (5, 10 e 15). A anlise do grfico gerado permite dizer que os clientes U1, U2
e U4 conseguem taxas satisfatrias de preciso, 0.5 e 0.4 e 0.4, respectivamente, com
taxas de retornos variveis. Considerando todo os clientes, temos que as taxas de preciso
so semelhantes quando comparamos as buscas realizadas baseadas no contedo e ttulo.
A anlise das mdias aritmticas para cada variao da quantidade de retornos mostra
que melhorias precisam ser aplicadas para aumentar a preciso do Ustore nas consultas
atravs da rede, pois a mdia mais alta que obtemos foi de 0.37, enquanto a mdia de
referncia de 0.45.
A Figura 4.6 mostra a taxa de recall dos clientes Ustore. O grfico mostra que
os clientes Ustore conseguem taxas de recall semelhantes, independente da estratgia
de indexao utilizada (contedo ou ttulo). Para este cenrio, foram alcanadas taxas
45
4.6. RESULTADOS
Figura 4.6 Grfico comparando o recall de quatro clientes do Ustore variando a quantidade de
retornos e o tipo de indexao e fazendo consulta aos outros clientes.
de recall muito baixas, assim como no Cenrio I. Em alguns casos, como no cliente
U2, as taxas alcanam uma mdia de apenas 0.1. As mdias aritmticas obtidas para
cada variao da quantidade de retornos mostram que melhoria urgentes precisam ser
realizadas para aumentar a qualidade do recall das consultas atravs da rede. A mdia
mais alta alcanada neste cenrio foi de 0.22.
Com as taxas de preciso e recall definidas podemos calcular a mdia F para cada
cliente Ustore. Os resultados esto na Tabela 4.5.
Tabela 4.5 Tabela com os valores da F-Measure.
Retornos
5
10
15
U1
Contedo
0.16
0.33
0.29
Ttulo
0.24
0.27
0.34
U2
Contedo
0.08
0.13
0.17
Ttulo
0.08
0.13
0.17
U3
Contedo
0.16
0.20
0.29
Ttulo
0.08
0.27
0.29
U4
Contedo
0.16
0.27
0.29
46
Ttulo
0.16
0.20
0.29
4.6. RESULTADOS
Figura 4.7 Grfico comparando o tempo de consulta aos outros clientes do Ustore variando a
quantidade de retornos e o tipo de indexao.
4.6.3
47
4.6. RESULTADOS
Figura 4.8 Grfico comparando a preciso do Ustore variando a quantidade de retornos e o tipo
de indexao.
Figura 4.9 Grfico comparando o recall do Ustore variando a quantidade de retornos e o tipo de
indexao.
48
4.6. RESULTADOS
A Figura 4.9 mostra a taxa de recall alcanada. Nele notamos que a taxa de recall
cresce quando aumentamos a quantidade de retornos para uma busca baseada em contedo.
J para uma busca baseada no ttulo, esta taxa se manteve constante para 10 e 15 resultados.
Neste cenrio tambm obtivemos taxa consideravelmente baixas, o que indica que muito
arquivos relevantes no foram retornados nas consultas.
Figura 4.10 Grfico comparando as taxas de preciso e recall do Ustore variando a quantidade
de retornos e o tipo de indexao.
Qnt. Retornos
Ttulo
Contedo
5
10
15
0.08
0.13
0.17
0.16
0.27
0.41
Como mostrado anteriormente, a F-measure tem valores baixos para a razo entre
preciso e recall devido, principalmente, s baixas taxas de recall. Entretanto, se considerarmos somente a taxa de F-measure alcanada quando utilizamos a consulta baseada
49
4.6. RESULTADOS
em contedo e com uma taxa de retorno de 15 resultados temos um valor de 0.41, muito
prximo ao valor inicialmente estabelecido de 0.42.
Figura 4.11 Grfico comparando o tempo gasto para realizar consultas no Ustore utilizando
indexao baseada em ttulo e contedo.
Na Figura 4.11 temos o tempo gasto para realizar 30 consultas pela palavra-chave
cloud computing no Ustore utilizando indexao baseada em ttulo e em contedo. O
tempo gasto para efetuar as consultas no segundo caso superior ao primeiro devido ao
tamanho do ndice que foi gerado, pois, como mostrado anteriomente, este , aproximadamete, 60% maior. Utilizando o teste estatstico do intervalo de confiana, possvel
dizer que em 95% do casos a busca baseada no ttulo demorar entre 47ms e 58ms. J a
busca baseada no contedo demorar entre 461ms e 519ms. Como descrito anteriormente,
consideramos o tempo de 1000ms como satisfatrio para a realizao de uma consulta,
logo os tempos obtidos pelo intervalo de confiana para a consulta baseada em contedo
so satisfatrios.
4.6.4
Resultados no Cenrio IV
50
Figura 4.12 Grfico comparando o tempo gasto realizar backup com e sem a indexao baseada
em contedo gerando um ndice local e outro no servidor.
3922ms. O backup somente com indexao local gastar entre 2989ms e 4087ms. J o
backup com indexao local e no servidor gastar entre 5714ms e 7441ms.
4.7
Nesta Seo ns discutimos os resultados obtidos e sua avaliao, restries e oportunidades. Ns tambm discutimos possvel ameaas validade de nosso experimento.
4.7.1
51
tempo de referncia utilizado foi de 1000ms, temos que o Ustore continua respondendo
as consultas em um tempo consideravelmente baixo.
A anlise do impacto da implantao da funcionalidade de indexao baseada em
contedo no Ustore no Cenrio IV mostra que a utilizao somente da indexao local
tem um impacto pequeno de aproximadamente 300ms para a indexao mais rpida e
160ms para a indexao mais demorada. J com a utilizao da indexao local e no
servidor, o impacto maior: cerca de 2700ms para a indexao mais rpida e 3300ms
para a indexao mais demorada. Este aumento se d pela necessidade de enviar uma
mensagem assncrona para o servidor com os metadados para serem indexados.
Os experimentos tambm mostram que apesar do aumento significativo no tamanho
do ndice gerado, no tempo de resposta da consulta e no tempo de indexao, a preciso,
recall e F-measure do sistema melhoraram utilizando a abordagem proposta. Entretanto,
importante ressaltar que os valores obtidos nestas mtricas alcanaram os valores
de referncias inicialmente estabelecidos apenas em poucos casos, o que mostra que
melhorias so necessrias.
A utilizao de um ndice centralizado no Servidor de Buscas permite que o usurio
tenha acesso ao ndice completo gerado no Ustore e, com isso, permite que a consulta
leve em considerao todos os arquivos pblicos de todos os usurios. Entretanto, como
j discutido, este modelo tem diversas desvantagens como: ponto nico de falha na rede,
possibilidade de sobrecarga, entre outros. Com a utilizao da abordagem proposta para
armazenamento do ndice no Servidor de Buscas e tambm localmente juntamente com a
indexao baseada no contedo do arquivos, possvel minimizar estes problemas e, em
caso de falha do servidor, possvel obter resultados satisfatrios, como mostrado pelo
experimento executado, utilizando a busca atravs da rede ou at mesmo somente a busca
local. Isto permite que o usurio obtenha retorno para suas consultas independente de
problemas que possam acontecer com o Servidor.
4.7.2
Problemas Encontrados
52
4.7.3
4.8
Sumrio do Captulo
2 http://trec.nist.gov/
Acessado em 12/08/2013
53
5.1
Contribuies
As principais contribuies deste trabalho foram: (a) uma abordagem para permitir
indexao e consultas full-text baseadas em contedo, (b) a implementao da abordagem
no Ustore e (c) um estudo experimental para medir o desempenho da abordagem. Estas
contribuies esto detalhadas abaixo.
Uma abordagem para permitir indexao e consultas full-text baseadas em
contedo para sistemas de armazenamento em nuvem foi desenvolvida. Seus
requisitos, arquitetura, implementao foram apresentados ao longo desta dissertao.
A implementao da abordagem no Ustore, o que permitiu avaliar e demonstrar
sua efetividade em um sistema real de armazenamento em nuvem.
54
5.2
Trabalhos Futuros
Devido a restries de tempo, esta dissertao aborda alguns problemas, mas alguns
outros ainda esto abertos. Alm disso, ainda possvel melhorar alguns pontos nesta
dissertao e evoluir a proposta apresentada. Estes so alguns pontos que podem ser
investigados como trabalhos futuros:
Estender o experimento executado: O experimento pode ser estendido de forma
que seja validada toda a abordagem proposta. Esta extenso inclui:
Testar a eficincia da replicao do ndice.
Utilizar um conjunto maior de dados para indexar ou uma base da dados
conhecida como o TREC1 .
Realizar testes com uma base dados real do Ustore e com seus usurios.
Expanso do termos da consulta: A abordagem pode ser evoluda para permitir
a expanso dos termos da consulta. Esta expanso poder, por exemplo, melhorar
as taxas de preciso e recall obtidas.
Arquivos versionados: O Ustore tem a capacidade de manter todas as verses dos
arquivos modificados. Na abordagem proposta, n ao levamos isso em considerao.
Ento, necessrio estender a abordagem para que sejam mantidas todas as verses
do contedo dos arquivos modificados.
Evitar flooding na rede: Como discutido anteriormente, a busca na rede pode
causar flooding se a quantidade de mensagens necessria para consultar todos os
clientes Ustore for muito grande. H na literatura diversas propostas para evitar este
tipo de problema [Li and Wu, 2006], como: include iterative deepening [Yang and
Garcia-Molina, 2002], k-walker random walk [Lv et al., 2002], two-level k-walker
random walk [Jawhar and Wu, 2004], intelligent search [Kalogeraki et al., 2002].
Definir critrios para escolha dos clientes Servidores de Busca para serem
consultados: Todas as buscas foram realizadas tendo como base a escolha aleatria
de clientes e Servidores de Busca. Alguns critrios podem ser adotados para definir
quais seriam os melhores clientes e Servidores para responder a consulta, como:
quantidade de informao indexada, tempo de resposta, histrico de respostas
relevantes, etc.
1 http://trec.nist.gov/
55
Recomendao de arquivos baseado no contedo: Atravs dos metadados definidos possvel montar uma proposta para recomendao de informao baseada,
por exemplo, no contedo dos arquivos, a categoria dos mesmo, as reas de interesse do usurio.
Segurana dos arquivos indexados: A abordagem proposta no abrange atributos relacionados com a segurana das informaes armazenadas e como realizar
consultas seguras neste ambiente. H propostas relacionadas com esta rea que
podem ser adotadas como: [Wang et al., 2010; Cao et al., 2011; Wang et al., 2012].
56
Referncias Bibliogrficas
Armbrust, M., Fox, A., Griffith, R., Joseph, A. D., Katz, R., Konwinski, A., Lee, G.,
Patterson, D., Rabkin, A., Stoica, I., and Zaharia, M. (2009). Above the Clouds : A
Berkeley View of Cloud Computing Cloud Computing : An Old Idea Whose Time Has
( Finally ) Come. Computing, pages 713.
Assad, R. E., Machado, M. A. S., Soares, P. F. A., Silva, A. F., Silva, T. J. e., Garcia,
V. C., Trinta, F., and Meira, S. (2012). Desafios em cloud computing: Armazenamento,
banco de dados e big data. In Tpicos em Multimdia, Hipermdia e Web, pages 76111.
Sociedade Brasileira de Computao.
Baeza-Yates, R. A. and Ribeiro-Neto, B. (1999). Modern Information Retrieval. AddisonWesley Longman Publishing Co., Inc., Boston, MA, USA.
Barolli, L. and Xhafa, F. (2011). Jxta-overlay: A p2p platform for distributed, collaborative, and ubiquitous computing.
Berrios, D. C. (2000). Automated indexing for full text information retrieval. In Proceedings of the AMIA Symposium, page 71. American Medical Informatics Association.
Cao, N., Wang, C., Li, M., Ren, K., and Lou, W. (2011). Privacy-preserving multikeyword ranked search over encrypted cloud data. In INFOCOM, 2011 Proceedings
IEEE, pages 829837. IEEE.
Datta, A., Wu, D., Xin, L., and Wierzbicki, A. (2010). Handbook of Research on P2P
and Grid Systems for Service-Oriented Computing. IGI Global.
Deng, J., Hu, J., Liu, A. C. M., and Wu, J. (2010). Research and Application of Cloud
Storage. 2010 2nd International Workshop on Intelligent Systems and Applications,
pages 15.
Duarte, M. (2010). Um algoritmo de disponibilidade em sistemas de backup distribudo
seguro usando a plataforma peer-to-peer. Masters thesis, Centro de Informtica/UFPE.
Duro, F., Almeida, E., and Lemos Meira, S. (2008). Applying a semantic layer in a
source code retrieval tool. Masters thesis, Centro de Informtica/UFPE.
Duro, F., Assad, R., Fonseca, A., Fernando, J., Garcia, V., and Trinta, F. (2013). Usto.re:
A private cloud storage software system. In Daniel, F., Dolog, P., and Li, Q., editors,
Web Engineering, volume 7977 of Lecture Notes in Computer Science, pages 452466.
Springer Berlin Heidelberg.
Gantz, J. and Reinsel, D. (2011). Extracting Value from Chaos State of the Universe : An
Executive Summary. (June):112.
57
REFERNCIAS BIBLIOGRFICAS
Garcia, V., Lucrdio, D., Duro, F., Santos, E., Almeida, E., Mattos Fortes, R., and Lemos Meira, S. (2006). From specification to experimentation: A software component
search engine architecture. In Gorton, I., Heineman, G., Crnkovic, I., Schmidt, H.,
Stafford, J., Szyperski, C., and Wallnau, K., editors, Component-Based Software Engineering, volume 4063 of Lecture Notes in Computer Science, pages 8297. Springer
Berlin Heidelberg.
Gong, L. and Others (2001). Project JXTA: A technology overview. Technical report,
Technical report, SUN Microsystems, April 2001. http://www. jxta. org/project/www/docs/TechOverview. pdf.
Hatcher, E. and Gospodnetic, O. (2004). Lucene in Action (In Action series). Manning
Publications Co., Greenwich, CT, USA.
Heiss, J. J. (2005). Jxta technology brings the internet back to its origin. Technical report,
Oracle.
Hiemstra, D. (2009). Information Retrieval Models. John Wiley and Sons, Ltd.
Hupfeld, F., Cortes, T., Focht, E., Hess, M., Malo, J., Marti, J., Cesario, E., Kolbeck,
B., and Stender, J. (2008). The XtreemFS architecture a case for object-based file
systems. Concurrency and computation: Practice and experience, 20(17):20492060.
Hupfeld, F., Cortes, T., Kolbeck, B., Stender, J., Focht, E., Hess, M., Malo, J., Marti,
J., and Cesario, E. (2007). XtreemFS: a case for object-based storage in Grid data
management. In 3rd VLDB Workshop on Data Management in Grids, co-located with
VLDB, volume 2007, pages 110.
Jain, R. (1991). The Art of Computer Systems Performance Analysis: techniques for
experimental design, measurement, simulation, and modeling. Wiley.
Jawhar, I. and Wu, J. (2004). A two-level random walk search protocol for peer-to-peer
networks. In Proc. of the 8th World Multi-Conference on Systemics, Cybernetics and
Informatics, pages 15.
Kalogeraki, V., Gunopulos, D., and Zeinalipour-Yazti, D. (2002). A local search mechanism for peer-to-peer networks. Proceedings of the eleventh international conference
on Information and knowledge management - CIKM 02, page 300.
Kaplan, J., Roy, R., and Srinivasaraghavan, R. (2008). Meeting the demand for data
storage. Technical report, The McKinsey Quarterly.
Kostoff, R. N. (2010). Expanded information retrieval using full-text searching. Journal
of Information Science, 36(1):104113.
Lenk, A., Klems, M., Nimis, J., Tai, S., Sandholm, T., and Alto, P. (2009). What s
Inside the Cloud ? An Architectural Map of the Cloud Landscape. Management, pages
2331.
58
REFERNCIAS BIBLIOGRFICAS
59
REFERNCIAS BIBLIOGRFICAS
60
REFERNCIAS BIBLIOGRFICAS
Yang, Y., Dunlap, R., Rexroad, M., and Cooper, B. F. (2006). Performance of Full
Text Search in Structured and Unstructured Peer-to-Peer Systems. Proceedings IEEE
INFOCOM 2006. 25TH IEEE International Conference on Computer Communications,
pages 112.
Zeng, W., Zhao, Y., and Ou, K. (2009). Research on cloud storage architecture and key
technologies. Technology, Culture and Human, pages 48.
61