Ricardo Batista Rodrigues

Tamanho: px
Começar a partir da página:

Download "Ricardo Batista Rodrigues"

Transcrição

1 Ricardo Batista Rodrigues RECCLOUD: UM MODELO DE RECOMENDAÇÃO DE ARQUIVOS PARA SISTEMAS DE ARMAZENAMENTO EM NUVEM Dissertação de Mestrado Universidade Federal de Pernambuco RECIFE 2014

2 Universidade Federal de Pernambuco Centro de Informática Pós-graduação em Ciência da Computação Ricardo Batista Rodrigues RECCLOUD: UM MODELO DE RECOMENDAÇÃO DE ARQUIVOS PARA SISTEMAS DE ARMAZENAMENTO EM NUVEM Trabalho apresentado ao Programa de Pós-graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco como requisito parcial para obtenção do grau de Mestre em Ciência da Computação. Orientador: Vinicius Cardoso Garcia Co-Orientador: Frederico Araujo Durão RECIFE 2014

3 Catalogação na fonte Bibliotecária Joana D Arc L. Salvador, CRB Rodrigues, Ricardo Batista. RecCloud: um modelo de recomendação de arquivos para sistemas de armazenamento em nuvem / Ricardo Batista Rodrigues. Recife: O Autor, f.: fig., tab. Orientador: Vinicius Cardoso Garcia. Dissertação (Mestrado) - Universidade Federal de Pernambuco. CIN. Ciência da Computação, Inclui referências. 1. Engenharia de software. 2. Inteligência artificial. 3. Computação em nuvem. I. Garcia, Vinicius Cardoso (orientador). II. Título (22. ed.) MEI

4 Dissertação de Mestrado apresentada por Ricardo Batista Rodrigues à Pós-Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco, sob o título RecCloud: Um Modelo de Recomendação para Sistemas de Armazenamento em Nuvem orientada pelo Prof. Vinicius Cardoso Garcia e aprovada pela Banca Examinadora formada pelos professores: Profa. Bernadette Farias Lóscio Centro de Informática / UFPE Prof. Rodrigo Elia Assad Departamento de Estatística e Informática / UFRPE Prof. Vinicius Cardoso Garcia Centro de Informática / UFPE Visto e permitida à impressão. Recife, 27 de fevereiro de Profa. Edna Natividade da Silva Barros Coordenadora da Pós-Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco.

5 A meu pai, Jose de Almeida Rodrigues Ferreira, A minha mãe, Boaventura Batista Rodrigues, Aos meus irmãos, Renata Batista e Rodrigo Batista.

6 Agradecimentos Agradeço... Em primeiro lugar a Deus por sua graça e pelas bênçãos derramadas constantemente sobre mim de maneira maravilhosa; A minha família, meus pais e meus irmãos, pelo amor e por fornecer o suporte emocional imprescindível em todos os momentos de minha vida; Aos professores Vinicius Garcia e Frederico Durão pela paciência e dedicação na orientação deste trabalho; A todos os meus amigos e colegas que contribuíram direto e indiretamente para a realização deste sonho; A Fundação de Amparo à Ciência e Tecnologia de Pernambuco (FACEPE) por apoiar, financia e conceder bolsa para o desenvolver desta pesquisa, sob o processo IBPG /11. Muito Obrigado!

7 "Algo só é impossível até que alguém duvide e acabe provando o contrário." EINSTEIN (Albert Einstein, 1929)

8 Resumo O desenvolvimento tecnológico vivenciado nos últimos anos proporcionou o crescimento do universo digital de forma exponencial, e parte desse universo digital encontra-se armazenado em sistemas de armazenamento em nuvem. A cada dia surgem mais destes sistemas, que oferecem o armazenamento de dados de forma distribuída com alta taxa de disponibilidade, o que tem impucionado cada vez mais usuários a migrarem seus dados para a nuvem. No entanto, a grande quantidade de arquivos armazenada nestes sistemas dificulta a filtragem de conteúdo relevante, demandando tempo e trabalho por parte do usuário na busca por arquivos com conteúdo similar as suas preferências. Diante deste cenário, esta pesquisa propõe um modelo de recomendação para sistemas de armazenamento em nuvem, que tem como objetivo utilizar características da nuvem associadas à técnica de recomendação baseada em conteúdo para filtrar e recomendar arquivos com o conteúdo similar as preferências dos usuários, além disso, recomendar arquivos que proporcione a melhor utilização dos recursos do ambiente em nuvem. Palavras-chave: Sistema de recomendação, modelo de recomendação, computação em nuvem, sistema de armazenamento em nuvem.

9 Abstract The technological development in recent years has experienced the exponentially growth of the digital universe, and part of this digital universe lies stored in cloud storage systems. With each day, more of these systems come out, offering data storage in a distributed manner with the proposal to provide high availability rate, what has driven more and more users who have migrated your data to the cloud. However, the large amount of files stored in these systems makes it difficult to filter relevant content, requiring time and labor by the user in searching for files with similar content to your preferences. Face of this scenario, this study proposes a model for recommendation of files in cloud storage systems, which aims to use cloud features associated with the technique of content-based recommendation for filtering and recommending files with similar content preferences of users, furthermore, recommend files that provide the best use of the cloud environment resources. Keywords: Recommendation system, recommendation model, cloud computing, cloud storage.

10 Lista de Figuras 1.1 Expectativa de crescimento da quantidade de dados digitais gerados GANTZ; REINSEL (2011) Arquitetura em camadas para computação em nuvem MACHADO (2013) Modelo do Processo de Recomendação Opiniões dos usuários do site Netshoes sobre um item da loja NETSHOES. DISPONíVEL EM: < (2013) Lista dos livros mais vendidos do site Submarino SUBMARINO. DISPONíVEL EM: < (2013) Exemplo de uso da Amazon.com em que o sistema sugere outros produtos relevantes para o usuário interessado no disco Kind Of Blue SAMPAIO (2006) Recomendação gerada pelo sistema do IMDB a partir do filme As Good As It Gets SAMPAIO (2006) Processo de Recomendação Baseado em Conteúdo Processo de Recomendação RecCloud Arquitetura do JXTA HEISS (2005) Arquitetura do Ustore SILVA A.; MEIRA (2012) Índice invertido no Apache Lucene HATCHER; GOSPODNETIC (2004) Arquitetura do Apache Lucene HATCHER; GOSPODNETIC (2004) Arquitetura do Apache Tika MATTMANN; ZITTING (2011) Processo do Critério Disponibilidade Gráfico comparando a taxa de precisão variando a quantidade de artigos recomendados para cada ranque de recomendação gerado Gráfico comparando a taxa de precisão nos 3 (níveis) de variação na quantidade de artigos recomendados Gráfico comparando a taxa de recall variando a quantidade de artigos recomendados para cada ranque de recomendação gerado Gráfico apresentando a comparação da taxa de recall obtida nos 3 (níveis) de variação na quantidade de artigos recomendados Gráfico comparando a taxa de F-Measure variando a quantidade de artigos recomendados para cada ranque de recomendação gerado Gráfico apresentando a comparação da taxa de F-Measure obtida nos 3 (níveis) de variação na quantidade de artigos recomendados Tempo gasto no download dos arquivos recomendados pelo modelo RecCloud. 62

11 4.8 Tempo gasto no download dos arquivos recomendados pelo modelo baseado em conteúdo Comparação do tempo gasto no download dos arquivos recomendados pelos dois modelos avaliados Média, mínimo e máximo do tempo gasto no download das recomendações... 64

12 Lista de Tabelas 3.1 Pesos dos Critérios Exemplo do Cálculo de Recomendação do Modelo RecCloud Arquivos Recomendados Níveis utilizados para avaliar as métricas definidas

13 Lista de Acrônimos CB Content-based CF Filtragem Colaborativa DTV Televisão Digital IAAS Infrastructure-as-a-Service JDK Java Development Kit SAAS Software-as-a-Service SR Sistemas de Recomendação SRN Sistema de Recomendação em Nuvem

14 Sumário 1 Introdução Contextualização e Motivação Definição do Problema Solução Proposta Estrutura deste Documento Fundamentação teórica e Trabalhos Relacionados Computação em Nuvem Armazenamento de Dados em Nuvem Sistemas de Recomendação Tarefas de um Sistema de Recomendação Técnicas de Sistemas de Recomendação Sistemas de Recomendação por Filtragem Colaborativa Sistemas de Recomendação Baseados em Conteúdo Trabalhos Relacionados Sistemas de Recomendação de Arquivos Sistemas de Recomendação em Nuvem Sistemas de Armazenamento em Nuvem Considerações Finais RecCloud Proposta O Modelo de Recomendação Pesos dos Critérios Cálculo de Recomendação Exemplo do Cálculo de Recomendação O Processo de Recomendação Detalhes da Implementação Ustore Arquitetura do Ustore Sistema de Recomendação do Ustore Implementação dos Critérios Considerações Finais

15 4 Avaliação Testes Coleção de Dados Julgamento de Relevâncias Ambiente de Teste Métricas de Avaliação Cenários de Avaliação Resultados Resultados do Cenário I Resultados do Cenário II Discussão dos Resultados Possíveis Ameaças à Validade Considerações Finais Conclusões e Trabalhos Futuros Contribuições Trabalhos Futuros Referências 70

16 14 1 Introdução Neste capítulo, é apresentada a contextualização sobre a tématica abordada nesta pesquisa, além de descrever os objetivos e as motivações que conduziram esse trabalho. 1.1 Contextualização e Motivação Vivemos em uma era de efervescência informacional, a cada dia se produz mais informação e, geralmente, estas informações são armazenadas em meios digitais. O tamanho do universo digital cresce de forma exponencial. Segundo relatório publicado pela EMC Corporation 1 GANTZ; REINSEL (2011), em 2005, o volume de dados chegou a 130 exabytes 2 ; em 2010, superou 1 zettabyte e a previsão é que em 2015 chegue a quase 8 zettabytes 3 MACHADO (2013), conforme mostrado na Figura 1.1. Figura 1.1: Expectativa de crescimento da quantidade de dados digitais gerados GANTZ; REINSEL (2011). Este universo digital citado em Gantz e Reinsel GANTZ; REINSEL (2011) expande 1 Acessado em: 07/09/ Aproximadamente, GB 3 Aproximadamente, GB

17 CONTEXTUALIZAÇÃO E MOTIVAÇÃO e torna cada vez mais complexa a tarefa de filtragem de conteúdo relevante que atenda às preferências do usuário. De acordo com Lopes a escassez de informação disponível deu lugar a uma imensa massa de dados ao alcance de todos LOPES (2012). Entretanto, esta inversão também acabou gerando um problema: onde e como armazenar essa massa de dados digitais? Uma opção que atende a está demanda é a computação em nuvem. Com o desenvolvimento tecnológico surgiram diversas tecnologias como, a computação em nuvem que, dentre as suas inovações, trouxe os sistemas de armazenamento. Com o crescimento da utilização dos sistemas de armazenamento em nuvem, a massa de dados disponível na base destes sistemas aumenta a cada dia. Este cenário implica na ocultação de informações relevantes aos usuários, que deixam de descobrir novos conteúdos e gastão uma maior quantidade de tempo na filtragem de conteúdo, por não disporem de meios eficientes que os auxiliem na filtragem de conteúdo. Outro problema gerado com a explosão de dados armazenados em nuvem, é como encontrar e extrair informação relevante em tempo hábil no meio desta quantidade de informações? Dentre as técnicas utilizadas na filtragem de conteúdo podemos citar os sistemas de busca que, permitem ao usuário realizar buscas por informações similares as suas preferências SAMPAIO (2006). Nesta pesquisa é proposto como resposta para este questionamento o uso dos sistemas de recomendação. Quando é preciso filtrar um grande conjunto de dados, podemos utilizar técnicas de recomendação para facilitar o processo de filtragem de informações relevantes e similares com as preferências do usuário. Para isto, é necessário informações sobre o indivíduo alvo da recomendação ou sobre o ambiente que influenciará na geração da recomendação. A partir daí, um sistema de recomendação poderá localizar os arquivos que apresentem maior similaridade com as preferências ou características do usuário, ou do seu ambiente. No desenvolvimento de Sistemas de Recomendação (SR) existem variadas técnicas, mas duas delas possuem destaque na literatura: sistemas de recomendação Content-based (CB) e sistemas de recomendação por Filtragem Colaborativa (CF) SU; KHOSHGOFTAAR (2009). Sistemas de recomendação pela técnica CB apóiam-se no princípio de que os usuários tendem a interessar-se por itens similares aos que demonstraram interesse no passado, como, por exemplo, visualização de um item em uma loja virtual. A preocupação deste tipo de sistema é definir a similaridade entre o conteúdo dos itens e uma das suas dificuldade é conseguir representar estes conteúdos. Os sistemas de recomendação por CF foram desenvolvidos para superar as dificuldades da abordagem baseada em conteúdo, uma das principais diferenças entre as técnicas é justamente por não exigir a compreensão dos conteúdos dos itens, baseando apenas nas características do usuário, normalmente disponibilizadas por ele mesmo ao sistema. A natureza desta técnica está na troca de experiência entre os usuários, baseando-se na teoria de que usuários com características semelhantes demostram intresses pelos mesmos itens. O objetivo desta técnica

18 DEFINIÇÃO DO PROBLEMA é definir a proximidade entre os usuários a partir de suas interações com o sistema, como, por exemplo, avaliação de itens. Um dos principais problemas da técnica por filtragem colaborativa é a de existir poucos usuários, informações ou participação no sistema, este problema também é conhecido como esparsidade dos dados HERLOCKER (2000). Este problema foi um dos motivos que levaram está pesquisa a não utilizar a técnica de recomendação baseada em filtragem colaborativa, e sim optar pela técnica baseada em conteúdo para compor o modelo proposto. A esparsidade de dados pode ser considerada frequente em sistemas de armazenamento em nuvem, observando que, no momento em que um novo usuário entra no sistema, este pode disponibilizar poucas ou nenhuma informação a seu respeito ou que represente suas preferências e interesses. Isso torna complexa a atividade de recomendar conteúdo que atenda às expectativas do usuário, sem informações que possibilitem o processo. Tomando este cenário como base, esta pesquisa propõe um modelo para recomendação de arquivos baseado em características da nuvem e em conteúdo. O modelo foi desenvolvido de forma que seja possível ser utilizado em diferentes sistemas de armazenamento em nuvem. 1.2 Definição do Problema A maioria dos sistemas de armazenamento em nuvem, como: Amazon S3 4, Dropbox 5, SugarSync 6, entre outros, não oferecem serviços de recomendação de arquivos ao usuário. A maioria somente permite que o usuário faça consultas por um determinado arquivo a partir de palavras-chave. Isso torna a busca por conteúdo relevante, repetitiva e trabalhosa, demandando certa quantidade de tempo na filtragem de conteúdo, considerando uma grande massa de dados. E nem sempre o arquivo encontrado pelo usuário em uma busca manual, proporciona a melhor utilização dos recursos do sistema em nuvem e de seus recursos computacionais, como, por exemplo, o download deste arquivo, que pode demandar mais tempo do que o disponível pelo usuário e mais recursos computacionais de que os disponíveis para realizar esta tarefa. A utilização de sistemas de recomendação tem como objetivo recomendar ao usuário o conteúdo que melhor se adeque a necessidade, preferência e expectativas do usuário alvo da recomendação. Visto que a utilização de sistemas de armazenamento em nuvem permite que o usuário armazene uma grande quantidade de dados, o problema que esta dissertação se propõe a resolver pode ser definido como: Com a disponibilidade para que usuários armazenem grandes quantidades de arquivos em nuvem, tornou-se complexa a filtragem de conteúdo relevante em meio a essa massa de dados. Demandando maior tempo e utilizando mais recursos computacionais para a realização desta tarefa. 4 Acessado em: 07/09/ Acessado em: 07/09/ pt) Acessado em: 07/09/2013

19 SOLUÇÃO PROPOSTA 1.3 Solução Proposta O estudo apresentado neste trabalho investiga qual a melhor forma de utilizar características de sistemas de armazenamento em nuvem na geração de recomendação de arquivos nestes sistemas. Assim assume-se que ao associar as características do ambiente à técnica de recomendação baseada em conteúdo, podem ser geradas recomendações de arquivos por meio de um modelo que atenda as preferências do usuário e proporcione uma melhor utilização dos recursos disponíveis pelos sistemas de armazenamento em nuvem. Definida a proposta que solucione os problemas de pesquisa, apresentados ao longo desse trabalho, é investigada a aplicabilidade da proposta em um sistema de armazenamento em nuvem Ustore 7. Desta forma, pode-se definir que o objetivo geral deste trabalho é propor e avaliar um modelo de recomendação de arquivos para sistemas de armazenamento em nuvem que utilize características da nuvem no processo de recomendação. Ao final deste trabalho, espera-se propor um modelo de recomendação de arquivos para sistemas de armazenamento em nuvem. Esse modelo permitirá recomendar conteúdo que atenda as preferências do usuário e que proporcionem amenização do tempo gasto na filtragem por conteúdo relevante e no tempo gasto no download desses arquivos, além de recomendar arquivos que apresentem as melhores taxas de disponibilidade. Para alcançar o objetivo principal apresentado nesta seção, os seguintes passos foram definidos: Realizar uma revisão bibliográfica sobre Sistema de Recomendação em Nuvem (SRN), agregando maior entendimento teórico ao tema. A partir desta revisão, pôdese identificar limitações nos trabalhos relacionados. Identificar as propostas adotadas hoje pelos sistemas de armazenamento em nuvem para realizar recomendações e quais técnicas e critérios são utilizados na geração destas recomendações. Realizar um levantamento de características de sistemas de armazenamento em nuvem para que sejam propostos critérios a serem utilizados pelo modelo na geração de recomendações. Definir os critérios que serão utilizados na geração de recomendações. Definir a relevância de cada critério na geração de recomendações. Definir o modelo do cálculo de recomendação para a geração de novas recomendações. Realizar um estudo para avaliar o modelo proposto em um cenário real. 7

20 ESTRUTURA DESTE DOCUMENTO O modelo proposto neste trabalho tem como objetivo possibilitar a recomendação de conteúdo em sistemas de armazenamento em nuvem, e para isto, primeiramente, foi executado a revisão da literatura disponível sobre sistemas de recomendação, sistemas de armazenamento e computação em nuvem, analisando as propostas disponíveis na literatura. Como complementos foram analisados os modelos de filtragem de conteúdo utilizados por sistemas de armazenamento em nuvem, que apresentem em suas características alguma semelhança com a proposta desta pesquisa. Este processo de revisão gerou conteúdo e conhecimento que auxiliaram o desenvolvimento deste projeto. Foi realizada uma revisão detalhada da bibliografia referente ao tema desta pesquisa, os trabalhos relacionados ao trabalho foram encontrados em bibliotecas ou repositórios de publicações. Todos os trabalhos relacionados ao tema da pesquisa foram armazenados como resultados das buscas, bem como catalogadas todas as referências utilizadas na dissertação. Com toda a revisão da literatura já realizada sobre o tema desta pesquisa, em seguida foi modelada a proposta apresentada neste trabalho. Na modelagem da proposta foram realizadas atividades de definição do modelo de recomendação, para isso foram realizadas análises e estudos em trabalhos encontrados na revisão da literatura. Para avaliar a proposta, foi desenvolvido um protótipo de um sistema de recomendação utilizando o modelo RecCloud, com o objetivo de simular a aplicação do modelo em um ambiente real de armazenamento em nuvem, para isso foram utilizadas ferramentas de apoio ao desenvolvimento, tais como Eclipse (THE ECLIPSE FOUNDA- TION - ECLIPSE PROJECTS. DISPONíVEL, 2013), com auxílio do Java Development Kit (JDK) da linguagem de programação Java (JAVA PLATFORM, STANDARD EDITION <TTP:// 2013). O protótipo foi desenvolvido como parte integrante do sistema de recomendação baseado em conteúdo do sistema de armazenamento em nuvem Ustore 8. O desenvolvimento do protótipo possibilitou a coleta de resultados, e para isto alguns dados sobre o cenário de execução foram simulados. 1.4 Estrutura deste Documento Neste capítulo foi apresentada uma breve introdução sobre esta pesquisa, foram mostrados problemas que justificam e motivam a execução de tal pesquisa, bem como apresentado os objetivos da mesma. O resto deste trabalho está dividido nos seguintes capítulos: Capítulo 2 apresenta a Fundamentação Teórica acerca da pesquisa, recursos que contribuíram para este trabalho e os trabalhos relacionados. Capítulo 3 apresenta o modelo RecCloud como desenvolvimento desta pesquisa e os detalhes da implementação. Capítulo 4 apresenta a avaliação do modelo proposto e os resultados obtidos. Capítulo 5 apresenta a conclusão da pesquisa apontando possíveis trabalhos futuros. 8

21 19 2 Fundamentação teórica e Trabalhos Relacionados Neste capítulo serão apresentados os conceitos de computação em nuvem, sistemas de armazenamento em nuvem, sistemas de recomendação e suas principais técnicas, conceitos-chave desta dissertação, bem como alguns trabalhos relacionados ao tema desta pesquisa. 2.1 Computação em Nuvem O National Institute of Standards and Technology (NIST) define computação em nuvem como um modelo que permite que um conjunto de recursos computacionais possam ser fornecidos sob demanda de forma a permitir que os mesmos sejam fornecidos e liberados rapidamente com o mínimo de esforço de gestão ou interação do fornecedor MELL; GRANCE (2009). Vaquero et al.vaquero et al. (2008) define computação em nuvem como um grande conjunto de recursos virtualizados (hardware, plataformas de desenvolvimento e/ou serviços) facilmente usáveis e acessíveis. A arquitetura da computação nas nuvens é comumente representada em camadas: Software como serviço, Plataforma como Serviço e Infraestrutura como serviço. Nesse modelo cada camada está construída sobre os serviços oferecidos pela camada de baixo LENK et al. (2009), conforme apresentado na Figura 2.1. Infrastructure-as-a-Service (IAAS): É o fornecimento de recursos computacionais como: capacidade de processamento, armazenamento e conectividade. Tomando armazenamento como um exemplo, quando o usuário usa um serviço de armazenamento em computação em nuvem, ele somente paga a parte que foi efetivamente consumida sem comprar nenhum disco rígido ou até mesmo sem nem conhecer a localização dos seus dados armazenados. Um exemplo de IaaS é o Amazon Web Services (Amazon AWS) 1, principalmente, através do Amazon Elastic Compute Cloud (Amazon EC2) 2 ; 1 Acessado em: 16/09/ Acessado em: 16/09/2013

22 COMPUTAÇÃO EM NUVEM Figura 2.1: Arquitetura em camadas para computação em nuvem MACHADO (2013) paas! (paas!): Fornece a infraestrutura e dá suporte a um conjunto de interfaces de programação para aplicações em nuvem. É o meio entre o hardware e as aplicações. Um bom exemplo de PaaS é a plataforma de serviços do Microsoft Azure 3 ; Software-as-a-Service (SAAS): Em SaaS o objetivo é substituir as aplicações que rodam nos computadores. Ao invés de comprar o software por um preço relativamente alto, o usuário paga pelo que é usado do SaaS, o que pode gerar economia, observando que o usuário só pagará pelo que usar. Um dos pincipais problemas é a baixa taxa de transmissão de dados na rede em determinadas localidades o que é fatal para algumas aplicações, como sistemas de tempo real. Um exemplo muito conhecido de SaaS é o Dropbox 4 ; A computação em nuvem traz três novos aspectos em Hardware VOGELS (2008): a) A ilusão de recursos computacionais infinitos disponíveis sob demanda, eliminando assim a necessidade dos usuários planejarem muito à frente para provisionamento de recursos; b) A eliminação de um compromisso antecipado por parte dos usuários da nuvem, permitindo que as empresas comecem pequeno e aumentem os recursos de hardware apenas quando há um aumento de suas necessidades; 3 Acessado em: 16/09/ Acessado em: 18/09/2013

23 COMPUTAÇÃO EM NUVEM c) 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 não são mais necessários; A computação em nuvem é composta por Software e Hardware, do ponto de vista de implementação, a computação em nuvem se destaca em 4 (quatro) vertentes: Nuvem Privada: oferece serviços para a própria organização, sendo operada e utilizada apenas pela mesma. Nuvem Comunitária: baseia-se em um ambiente de computação em nuvem compartilhado entre organizações com interesses em comum. Nuvem Pública: é um modelo que disponibiliza ambientes para o público em geral e são normalmente comercializadas por corporações com grande poder de armazenamento e processamento. Nuvem Híbrida: basea-se na composição entre dois ou mais ambientes de estruturas distintas, nuvem privada e nuvem pública, por exemplo, gerando uma única nuvem, porém a conexão entre essas é feita a partir de tecnologias proprietárias. De acordo com Mell e Grance (2009) MELL; GRANCE (2009), computação em nuvem possui algumas características que se destacam, são elas: Serviço sob demanda: o provimento automatizado de funcionalidades computacionais, não necessitando de intervenção humana com o provedor do serviço; Amplo acesso a serviços: permite a disponibilização de recursos através da rede, habilitando o acesso a clientes de diferentes e diversos dispositivos que podem ser computadores, smartphones, dentre outros; Multitenância: permite o provimento de serviços a múltiplos usuários, e tais serviços podem ser alocados dinamicamente de acordo com a demanda; Elasticidade: correspondente à escalabilidade. Oferece ao usuário a sensação de ter os recursos disponíveis de forma ilimitada e a qualquer instante; Tarifação: segue o conceito pay-as-you-go, ou seja, o usuário paga somente pelo que for usado. Dentre os principais desafios da computação em nuvem, destacam-se os desafios de prover segurança e a instável conexão de Internet de lugares geograficamente remotos. A segurança em ambientes em nuvem é constantemente contestada e se torna tema frequente de discursos científicos, questionando sempre sobre a segurança e o sigilo de dados armazenados

24 COMPUTAÇÃO EM NUVEM principalmente em nuvens públicas. Locais geograficamente remotos apresentam baixas taxas de transferências de dados pela Internet, impossibilitando o uso eficiente de serviços em nuvem, em contraste de grandes centros com altas taxas de conexão com a Internet, possibilitando o uso de serviços em nuvem em sua total capacidade Armazenamento de Dados em Nuvem Na Seção anterior, apresentamos que a utilização da computação em nuvens permite que os usuários possam alocar recursos dinamicamente, de acordo com sua necessidade. Entre esses recursos está o de armazenamento, o qual provê recursos e serviços de armazenamento baseados em servidores remotos que utilizam os princípios da computação em nuvem ZENG et al. (2009). Armazenamento em nuvem tem duas características básicas: a primeira trata da infraestrutura da nuvem, a qual baseia-se em clusters de servidores baratos; a segunda tem o objetivo de, através dos clusters de servidores, armazenamento distribuído e redundância de dados, fazer múltiplas cópias dos dados armazenados para alcançar dois requisitos: alta escalabilidade e alta usabilidade. A alta escalabilidade significa que o armazenamento em nuvem pode ser dimensionado para um grande aglomerado com centenas de nós ou peers de processamento. Alta usabilidade significa que o armazenamento em nuvem pode tolerar falhas de nós e que estas falhas não afetam todo o sistema DENG et al. (2010). Com a popularização da computação em nuvem, cresceu o número de sistemas utilizados para armazenamento em nuvem. O serviço oferecido por estes sistemas baseiam-se no software que é executado em um cluster de servidores, os quais armazenam em seus discos rígidos os arquivos dos clientes. Normalmente, cada cliente possui um processo que controla a transferência de arquivos entre a máquina do usuário e os servidores na nuvem. Este processo também tem a função de se certificar que os dados enviados sejam espalhados por outros servidores no cluster e manter a sincronia dos dados na máquina do cliente e os dados armazenados, ou seja, novos dados gerados na máquina do cliente deverão ser salvos na nuvem e, caso os dados locais sejam perdidos, recuperá-los MACHADO (2013). Com a expansão do mercado e das tecnologias em nuvem surgiram diversos sistemas de armazenamento de dados em nuvem, como, por exemplo, DropBox 5, Box 6, Mozy Review 7, JustCloud Review 8 e Ustore 9, estes são alguns dentre os diversos sistemas de armazenamento em nuvem existentes. Os sistemas de armazenamento em nuvem se mostram bastantes atrativos aos usuários, por fornecerem as opções de acesso, recuperação e armazenamento de arquivos de qualquer lugar e a qualquer hora. Desta forma, os usuários desses serviços podem armazenar arquivos em 5 Acessado em: 18/09/ Acessado em: 18/09/ Acessado em: 18/09/ Acessado em: 18/09/ Acessado em: 18/09/2013

25 SISTEMAS DE RECOMENDAÇÃO diversos formatos e tamanhos (.pdf,.doc, HTML, XML, RTF, arquivos compactados, imagens, arquivos de áudio e diversos outros formatos de arquivos), alguns desses serviços limitam o tamanho máximo de um único arquivo que pode ser armazenado, normalmente esta limitação acontece em sistemas públicos. Os sistemas de armazenamento em nuvem, em sua maioria baseiam-se nos princípios de pay-as-you-go, ou seja, o usuário paga pelo espaço que utilizar no sistema. As vantagens e atrativos apresentados por este tipo de sistemas atraem cada vez mais usuários, o que acaba contribuindo para o crescimento da massa de dados na nuvem. O que torna a atividade de filtragem de conteúdo considerado relevante, complexa e trabalhosa, fazendo com que usuários demandem mais tempo na busca por conteúdo de seu interesse. Observando este cenário é possível afirmar que a utilização de mecanismos de recomendação em sistemas de armazenamento em nuvem torna-se imprescindível, devido ao crescimento constante no volume de dados nesses sistemas. O sistema de armazenamento em nuvem Ustore utilizado como ambiente de avaliação da proposta desta pesquisa pode ser classificado como PaaS (Plataforma como um serviço). Por ser um software que oferece ao usuário um serviço para armazenamento e backup de dados em nuvem privada ou pública de forma mais barata por meio da utilização de recursos ociosos já existentes nas estações de trabalho ou servidores SILVA A. MACHADO (2013). 2.2 Sistemas de Recomendação (SR) são softwares e técnicas que fornecem sugestões de itens que podem ser úteis ao usuário. As sugestões apresentadas têm como objetivo apoiar os seus utilizadores em vários processos de tomada de decisão, tais como que produto comprar, qual música ouvir, ou que notícia ler. Sistemas de recomendação provaram ser, meios valiosos para os usuários on-line para lidar com a sobrecarga de informação e tornaram-se uma das ferramentas mais poderosas e populares do comércio eletrônico. Correspondentemente, várias técnicas para a geração de recomendação foram propostas durante a última década RICCI et al. (2011). Os mecanismos de recomendação tentam automatizar a filtragem de dados buscados por um item a partir dos dados desse mesmo usuário ou de outros similares que o sistema já tenha incorporado. Esses dados costumam ser: visitas a determinadas páginas, dados geográficos, sexo, preferências, entre outros. Devido a essa propriedade, mecanismos de recomendação têm sido muito utilizados por empresas para tentar conhecer as preferências de seus consumidores, assim podendo encontrar sempre a melhor sugestão para um determinado cliente ADOMAVICIUS; TUZHILIN (2005) CHAKOO; GUPTA; HIREMATH (2008). Um sistema de recomendação normalmente se concentra em um tipo específico de item e usuário, por exemplo artigos acadêmicos para professores e, consequentemente, a sua técnica de recomendação usada para fazer as recomendações, são todas personalizadas para fornecer informações úteis e eficazes para um tipo específico de item e usuário RICCI et al. (2011).

26 SISTEMAS DE RECOMENDAÇÃO Uma recomendação pode se basear nas preferências de quem a faz e pode ser dirigida a um indivíduo específico, ou para um público maior. Para a pessoa que recebe a recomendação, ela funciona como um filtro ou uma visão particular de um universo de possibilidades geralmente inacessível. Ela pode levar em consideração também a preferência de quem está à procura de sugestões e não apenas de quem a faz. É possível até mesmo fazer recomendação baseada nas opiniões de outras pessoas. Alguém que não é admirador do gênero Rock pode recomendar discos baseado no que seus amigos que apreciem tal estilo costumam ouvir. Ainda, a recomendação pode incluir explicações sobre como ela foi gerada para permitir que o seu recebedor a avalie SAMPAIO (2006). A Figura 2.2 ilustra o modelo geral para o processo de recomendação apresentado por Terveen et al. TERVEEN; HILL (2001). Esta Figura será útil para entendermos o funcionamento e a utilização dos sistemas de recomendação. Figura 2.2: Modelo do Processo de Recomendação. Os elementos envolvidos no processo são: Alvo da recomendação: principal ator do processo e destinatário da recomendação. O usuário pode apenas receber as sugestões ou pode fornecer também suas opiniões sobre os itens da base de informação, gerando conteúdo para novas recomendações; Base de informação: local onde se encontram todas as escolhas e informações de interesse do usuário; Provedor de Recomendação: agente que seleciona e recomenda os itens da base de informação que têm maior similaridade com as preferências do usuário. Para identificar quais são esses itens, o provedor da recomendação pode se basear nas preferências informadas pelo próprio usuário, nas preferências de outras pessoas e/ou no conteúdo dos itens; Provedores de preferência: todo processo de recomendação está baseado em indicadores humanos de preferência. Assim, os provedores de preferência podem ser um

27 SISTEMAS DE RECOMENDAÇÃO conjunto de pessoas ou um único indivíduo cujas opiniões podem ser utilizadas pelo provedor de recomendações para gerar as sugestões; Tarefas de um Sistema de Recomendação É importante entendermos quais são as principais tarefas realizadas por sistemas de recomendação. As tarefas de um SR dizem respeito à sua comunicação com o usuário e a satisfação dos objetivos do usuário ao utilizá-lo SAMPAIO (2006). A seguir descrevemos algumas das principais atividades realizadas por sistemas de recomendações juntamente com exemplos em sistemas reais. Mostrar as opiniões dos usuários do sistema acerca de um item de informação: Sistemas de informação on-line possibilitam que usuários forneçam suas opiniões a respeito de: produtos de consumo, artigos científicos, negociadores de leilão e etc. Essas opiniões tornam-se visíveis a outros usuários do sistema, permitindo-lhes embasar a sua decisão nas opiniões de outras pessoas da comunidade. A indicação de preferência é geralmente feita através de uma nota que o usuário atribui a um item podendo também anexar uma descrição textual de seu ponto de vista SAMPAIO (2006). Na Figura 2.3 é apresentado um exemplo de como a indicação de preferência é feita pelo usuário; Figura 2.3: Opiniões dos usuários do site Netshoes sobre um item da loja NETSHOES. DISPONíVEL EM: < (2013) Mostrar os itens mais comumente acessados da base: Essa é uma das tarefas mais comumente presentes em sistemas de recomendação. É comum em sites de comércio eletrônico haver uma lista de itens mais vendidos ou mais populares. Essa característica apoia-se no fato de que as pessoas frequentemente procuram saber a opinião da maioria no momento de tomar uma decisão SAMPAIO (2006). Na Figura 2.4 apresentamos um exemplo de livros mais vendidos no site Submarino;

28 SISTEMAS DE RECOMENDAÇÃO Figura 2.4: Lista dos livros mais vendidos do site Submarino SUBMARINO. DISPONíVEL EM: < (2013) Mostrar uma lista de itens relevantes para um usuário com base no contexto visualizado por ele em dado momento: Atualmente vários sites de comércio eletrônico como por exemplo, Mercado Livre 10, Amazon 11 e Netshoes 12, são capazes de identificar os itens nos quais o usuário demonstra interesse ao longo de uma sessão de uso do sistema e, com base nisto, selecionar outros itens que podem ser relevantes para ele. Geralmente, os itens que o sistema assume como sendo do interesse do usuário são os que os usuários procuram, visualizam ou compram SAMPAIO (2006). A Figura 2.5 mostra um exemplo em que um sistema fornece recomendações de outros discos, DVDs e livros que podem interessar a um usuário que está procurando por um determinado álbum; Mostrar ao usuário uma lista de itens interessantes levando em consideração o seu perfil: Neste caso, o sistema de recomendação é capaz de manter um perfil contendo os interesses demonstrados pelo usuário no decorrer dos uso que ele fez do sistema. Com essa característica, o sistema é capaz de fornecer um alto grau de personalização nas recomendações feitas, apresentando ao usuário uma visão bastante particular da base de informações. A Figura 2.6 mostra a lista de filmes sugeridos a partir do filme As Good As It Gets; 10 Acesso em 21/01/ Acesso em 21/01/ em 21/01/2014

29 TÉCNICAS DE SISTEMAS DE RECOMENDAÇÃO Figura 2.5: Exemplo de uso da Amazon.com em que o sistema sugere outros produtos relevantes para o usuário interessado no disco Kind Of Blue SAMPAIO (2006) Figura 2.6: Recomendação gerada pelo sistema do IMDB a partir do filme As Good As It Gets SAMPAIO (2006) 2.3 Técnicas de Sistemas de Recomendação O desenvolvimento de sistemas de recomendação é um esforço multidisciplinar, que envolve especialistas de diversas áreas, como a inteligência artificial, interação Humano-Computador, mineração de dados, estatística, sistemas de apoio à decisão e marketing RICCI et al. (2011).

30 TÉCNICAS DE SISTEMAS DE RECOMENDAÇÃO Com o objetivo de implementar a sua função principal, identificando os itens similares aos interesses do usuário, um sistema de recomendação deve prever se vale a pena recomendar um item. O sistema deve ser capaz de prever a utilidade dos itens recomendados, ou, pelo menos, comparar a utilidade de alguns itens, e então decidir quais itens recomendar RICCI et al. (2011). As duas técnicas de recomendação mais utilizadas e destacadas na literatura são sistemas de recomendação por filtragem colaborativa e sistemas de recomendação baseado em conteúdo SU; KHOSHGOFTAAR (2009). Na prática essas duas técnicas normalmente são usadas combinadas com outras técnicas de recomendação ADOMAVICIUS; TUZHILIN (2005) BURKE (2002) PALAU et al. (2004) Sistemas de Recomendação por Filtragem Colaborativa A abordagem de recomendação por filtragem colaborativa foi proposta inicialmente para suprir as deficiências da abordagem baseada em conteúdo. Com o passar dos anos, conquistou tamanha aceitação que hoje é provavelmente a técnica mais amplamente conhecida, implementada e utilizada para sistemas de recomendação ANSARI; ESSEGAIER; KOHLI (2000) HERLOCKER (2000) RICCI et al. (2011). Na abordagem colaborativa, em contraste com a recomendação baseada em conteúdo, a compreensão ou conhecimento do conteúdo dos itens é totalmente prescindível. Ao invés de buscar itens disponíveis com conteúdos similares aos previamente avaliados positivamente pelo usuário para indicá-los, ela se apoia inteiramente na similaridade entre os usuários do sistema para o processo de sugestão. Partindo do princípio de que as melhores recomendações para um indivíduo são aquelas feitas por pessoas com preferências similares às dele, o sistema identifica estas pessoas para sugerir itens que as mesmas tenham aprovado e ainda não tenham sido consumidos pelo indivíduo SAMPAIO (2006). Dentro da categoria de mecanismos de recomedação colaborativa, existem ainda duas outras subtécnicas: Baseado em Modelo e Baseado em Memória ADOMAVICIUS; TUZHILIN (2005) BURKE (2002). Filtro Colaborativo Baseado em Modelo: O objetivo desta técnica é de fazer predições de agrupamento de usuários, criando modelos, para realizar as recomendações. Para criar os agrupamentos, utilizam-se técnicas como redes neurais; Filtro Colaborativo Baseado em Memória: A técnica Baseada em Memória é um mecanismo que gera recomendações a partir de avaliações anteriores dadas pelos usuários e outros dados do sistema. Para isso, utiliza-se algoritmos de correlação como a correlação de cossenos; Normalmente estas duas técnicas se complementam na implementação de sistemas de recomendação, para situações onde agrupamentos são viáveis, utiliza-se a técnica baseada em

31 TÉCNICAS DE SISTEMAS DE RECOMENDAÇÃO modelo. Quando agrupamentos não são viáveis, utiliza-se a técnica baseada em memória VIEIRA (2013). De acordo com Sampaio (2006) SAMPAIO (2006), o processo de recomendação por filtragem colaborativa pode ser definido em três etapas, explicadas a seguir: Coleta de dados: nesta etapa é coletado as preferências do usuário para a definição do seu perfil. As preferências podem ser obtidas tanto de forma explícita como implícita. Na primeira, o sistema espera do usuário avaliações objetivas e diretas dos itens. São dados fáceis para se trabalhar, entretanto a desvantagem deste tipo de coleta é que a responsabilidade fica na mão do usuário, que pode não querer dispor do seu tempo para avaliar os itens. Na segunda forma, o sistema aprende sobre o usuário a partir das suas ações, do seu comportamento. Por exemplo, o acesso voluntário de um arquivo pode ser visto como uma aprovação. Esta forma não depende da boa vontade do usuário, entretanto oferece dados difíceis para se trabalhar e por vezes esbarra na barreira da privacidade; Formação de vizinhança: o objetivo desta etapa é identificar os usuários mais similares ao usuário alvo, baseando-se nas suas preferências em comum. Este grupo de usuários recebe o nome de vizinhança; Recomendação: nesta etapa a recomendação é realizada com base na vizinhança do usuário, o qual receberá como sugestões os itens mais bem avaliados pela mesma; De acordo com McLaughlin e Herlocker (2004) MCLAUGHLIN; HERLOCKER (2004) a abordagem por filtragem colaborativa é simples e eficiente na geração de recomendações personalizadas, e pode ser aplicada em diversos domínios, e perfeitamente alinhada com a definição da evolução da Internet. Existem desvantagens em utilizar o Filtro Colaborativo. Um dos principais problemas é o do novo item ou novo usuário, em que um item pode ter poucas avaliações ou um usuário pode ter poucos itens que gosta ADOMAVICIUS; TUZHILIN (2005). Outra questão ocorre devido à diversidade humana é a ovelha negra, em que os usuários são iguais em alguns aspectos, mas não necessariamente querem sempre o mesmo item BURKE (2002). Na utilização da técnica de recomendação por filtragem colaborativa em sistemas de armazenamento em nuvem, o principal problema pode ser considerado o do novo item, que pode gerar reflexos negativos nas recomendações. Pelo fato que em sistemas de armazenamento sempre são adicionados novos arquivos que podem ser relevantes ao usuário, porém por ser um novo item no sistema, este pode ter poucas ou nenhuma avaliação. Este cenário motivou a utilização da técnica de recomendação baseada em conteúdo para compor o modelo proposto nesta pesquisa.

32 TRABALHOS RELACIONADOS Sistemas de Recomendação Baseados em Conteúdo Esta categoria de sistemas recomenda ao usuário itens semelhantes àqueles em que ele demonstrou interesse no passado. Para tanto, o sistema analisa as descrições dos conteúdos dos itens avaliados pelo usuário para montar o seu perfil, o qual é utilizado para filtrar os demais itens da base BLANCO-FERNANDEZ et al. (2008) PAZZANI; BILLSUS (1997) RICCI et al. (2011). Esse conteúdo no qual ele se baseia são elementos explícitos como nome, descrição, tags, conteúdo, categorização ou rating do item a ser recomendado VIEIRA (2013). Os resultados são o julgamento da relevância daqueles itens para o usuário, e a consequente recomendação ou não SAMPAIO (2006). Uma das vantagem de implantar o Filtro Baseado em Conteúdo é que a quantidade de usuários no sistemas não interfere na eficácia do SR, já que se baseia somente no histórico do que o usuário já acessou. Em contrapartida, um sistema assim precisa de itens bem descritos, com informação suficiente para categorizá-los STORMER H.; WERRO; RISCH (2006). Outro problema encontrado nesse tipo de recomendação é a sugestão de itens sempre muito parecidos, limitando os usuários de conhecer itens diferentes VIEIRA (2013). O melhor uso do Filtro Baseado em Conteúdo descrito até agora se aplica em sistemas com poucos usuários e muita informação sobre os itens. Quando um usuário é novo em um sistema, o Filtro Baseado em Conteúdo também possui muita utilidade, pois não temos muita informação sobre aquele novo usuário e outras técnicas como o Filtro Colaborativo, que mostremos anteriormente, são pouco eficientes quando há pouca informação sobre o usuário ADOMAVICIUS; TUZHILIN (2005) BURKE (2002). O modelo proposto nesta pesquisa utiliza a técnica de recomendação por filtragem baseada em conteúdo associada às características da nuvem. Está técnica foi a que mais se encaixou no cenário de aplicação desta proposta, onde sistemas de armazenamento em nuvem nem sempre contém uma grande quantidade de usuários, e o sistema necessita recomendar arquivos a partir das informações de apenas um único usuário. Outro ponto que motivou a escolha desta técnica foram os itens, que na maioria das vezes, são bem descritos nestes ambientes, a partir do conteúdo dos mesmos. Além destes aspectos, a partir desta proposta pode-se amenizar um dos principais problemas desta técnica, ponderando os critérios propostos evitando assim a recomendação de itens muitos similares e não ocultando novos conteúdos ao usuário. 2.4 Trabalhos Relacionados Nesta seção, serão analisados os trabalhos relacionados com sistemas de recomendação baseados em conteúdo, e demonstra como os principais sistemas de recomendação utilizam as características da nuvem para prover recomendações. Os trabalhos selecionados são os que mais se aproximam da proposta desta pesquisa.

33 TRABALHOS RELACIONADOS Sistemas de Recomendação de Arquivos Sistemas de recomendação de arquivos são amplamente utilizados em bibliotecas digitais e ambientes de ensino e pesquisa. Na implementação destes sistemas são utilizadas as mais variadas técnicas de recomendação, como, por exemplo, recomendações baseadas em conteúdo, onde os arquivos são recomendados de acordo com a similaridade entre o arquivo e as preferências do alvo da recomendação. Outra forma utilizada na recomendação de arquivos é a recomendação por filtragem colaborativa, recomendado arquivos a usuários pela similaridade entre os próprios usuários. A seguir, são apresentados alguns trabalhos encontrados na literatura que apresentam propostas de sistemas de recomendação de arquivos. JIANG et al. (2012) apresenta um sistemas de recomendação de artigos acadêmicos utilizando a técnicas de recomendação baseada em conteúdo. A proposta tem como objetivo recomendar artigos científicos que tenham o conteúdo do seu resumo similar ao conteúdo de artigos que o usuário tenha demostrado preferência. A preferência do usuário é medida de acordo com os artigos que ele realizou a leitura. Neste caso, se o usuário leu um determinado artigo, o sistema entende que este artigo representa as suas preferências. Para calcular a similaridade entre o artigo que representa às preferências do usuário e os artigos candidatos à recomendação, é utilizada a técnica de similaridade do cosseno, esta abordagem é amplamente utilizada em sistemas de recomendação para calcular a similaridade entre itens. O trabalho de JIANG et al. (2012), se assemelha com a proposta desta pesquisa, por propor um sistema de recomendação baseado em conteúdo, utilizando a técnica de similaridade do cosseno, e também propõe uma contribuição relevante em sua avaliação, que é a utilização da técnica NDCG, técnica que é utilizada para avaliar este tipo de sistema. O modelo RecCloud se diferencia desta abordagem, por propor a utilização de características do ambiente em nuvem associadas à técnica de recomendação baseada em conteúdo. TIAN; JING (2013) propõe um sistema de recomendação híbrido (baseado em conteúdo e que utilize características da técnica de recomendação por filtragem colaborativa). Este trabalho tem como objetivo amenizar um dos principais problemas da técnica CB, que é a recomendação de conteúdo sempre muito similar às preferências do usuário, o que pode ocultar novos conteúdos. Outro problema que esta proposta objetiva amenizar, é a recomendação sempre de artigos muito antigos, por serem artigos bem citados e referenciados, ocultando novos artigos que podem trazer contribuições relevantes aos usuários. Na avaliação da proposta é utilizada a métrica Recall. Este trabalho se diferencia da proposta desta pesquisa por apresentar um sistema de recomendação híbrido e por não utilizar características do ambiente em nuvem na geração de recomendações Sistemas de Recomendação em Nuvem Existem alguns trabalhos na literatura que discutem e apresentam sistemas de recomendação em nuvem. Nesta seção, serão apresentados alguns SRs destacando o modelo de recomendação utilizado, objetivando avaliar as contribuições e diferenciais desta pesquisa.

34 TRABALHOS RELACIONADOS a) LEE; LEE; LEE (2010), apresentam um sistema de recomendação de canais Televisão Digital (DTV) em um ambiente em nuvem. Estes propõem a análise, a utilização dos padrões de visualizações do usuário no ambiente para personalizar a recomendação de canais e o uso eficiente dos recursos computacionais do contexto. As recomendações desta proposta são geradas por meio da técnica de recomendação baseada em conteúdo, onde o sistema analisa as interações passadas do usuário no ambiente, tornando essas as preferências do usuário. Nesse trabalho, são utilizadas tecnologias de computação em nuvem para realizar a análise de padrões de visualizações dos consumidores, com o objetivo de personalizar a recomendação de canais. A proposta de LEE; LEE; LEE (2010), se assemelha a proposta desta pesquisa por apresentar um modelo de recomendação em um sistema em nuvem e por ter como objetivo prover o uso eficiente dos recursos computacionais da nuvem. O sistema de recomendação para canais de TV Digital poderia ter melhorias significativas fazendo uso dos critérios propostos nesta pesquisa, como o critério disponibilidade, desta forma os canais recomendados seriam os canais que apresentassem as melhores taxas de disponibilidade podendo utilizar como parâmetro de acesso a localidade e a conexão do usuário. Outro ponto que poderia ser agregado à proposta seria disponibilizar ao próprio usuário a opção de solicitar suas recomendações para as preferências que ele escolhesse e não apenas receber recomendações de acordo com suas interações no sistema. Diante destas observações, observamos a importância de utilizar a disponibilidade dos arquivos na nuvem e a conexão do usuário com o sistema, para proporcionar a melhor utilização dos recursos computacionais pelo usuário. b) Outro trabalho que pode ser mencionado é o de LAI et al. (2011) que apresentam um sistema de recomendação de programas de televisão (TV) baseado em computação em nuvem e um framework map-reduce. Esta proposta de arquitetura tem como objetivo ofertar um backend escalável para suportar a demanda de processamento de dados em larga escala para um sistema de recomendação. No que tange os usuários, LAI et al. (2011), os agrupam de acordo com suas preferências, cada programa de TV recebe um peso, que é atribuído de acordo com o período de tempo que o usuário o assistiu. A popularidade de um programa é indicada pelo seu peso, os programas populares em um grupo de usuários, são recomendados para usuários de outros grupos que tenham semelhanças de preferências entre si. Nesta pesquisa os autores propõe a utilização de técnicas de computação em nuvem para lidar com grandes conjuntos de dados, devido ao seu poder computacional e de estrutura escalável. O trabalho de LAI et al. (2011), se torna interessante para está pesquisa por propor a utilização de recursos de computação em nuvem para filtrar grandes conjuntos de dados, com o objetivo de recomendar canais de TV. Uma característica interessante

35 TRABALHOS RELACIONADOS desta proposta é a relevância dada a cada canal candidato a ser recomendado. A relevância é atribuída de acordo com a quantidade de tempo que o usuário permaneceu assistindo um canal, ou seja, o canal será mais relevante que os demais se o usuário tiver passado um período maior de tempo assistindo-o. Diante desta observação, propomos como critério de relevância para os artigos candidatos a serem recomendados, a quantidade de downloads realizados de um arquivo na nuvem, assim sendo, quanto mais downloads um arquivo tiver mais relevante socialmente ele será na nuvem. c) Outro trabalho relacionado é o de KONG; ZHAI (2012) que apresentam um sistema de recomendação de serviços em nuvem, que tem por finalidade recomendar a usuários da nuvem serviços similares as suas preferências. O sistema é baseado em confiança e orientado a serviços de computação em nuvem. A ideia básica do SR proposto é calcular a confiança de serviços em nuvem disponíveis, onde o valor da confiança é a combinação de confiança direta e a recomendação de confiança por parte do usuário. KONG; ZHAI (2012) utiliza a confiança direta com a recomendação de confiança dos usuários para gerar recomendações de serviços em nuvem, onde o principal objetivo é recomendar serviços que atendam as necessidades e características do usuário, como, custo benefício e segurança. A partir da análise desse trabalho, foi observado que o critério de recomendação de confiança do usuário pode ser utilizado como indicado de relevância social, desta forma, um arquivo seria relevante se fosse indicado por vários usuários, como indicação nesta pesquisa propomos a utilização dos downloads feitos por um usuário. Se um determinado usuário realizar download de um arquivo em nuvem, então esse arquivo pode ser recomendado como conteúdo relevante. Um ponto a ser discutido na proposta de KONG; ZHAI (2012), é a utilização de ações comuns em sistemas em nuvem, como por exemplo, o compartilhamento de arquivos, que pode ser um indicador de recomendação de segurança, baseando-se na hipótese que um usuário apenas compartilharia conteúdo relevante e seguro com um contato seu. d) JUNG et al. (2013), apresentam a plataforma CloudAdvisor de recomendação em nuvem. A proposta desta plataforma é recomendar configurações de nuvem de acordo com as preferências do usuário como orçamento, expectativa de desempenho e economia de energia para determinada carga de trabalho. Permitindo ainda que o usuário faça comparação das recomendações recebidas, como qual é o melhor preço para a carga de serviço desejada. A plataforma tem como objetivo auxiliar o usuário na escolha dos melhores serviços e proporcionar aos provedores de serviço em nuvem à oportunidade de adequação as expectativas e preferências dos usuários. A proposta de JUNG et al. (2013) recomenda serviços a usuários baseando-se em características fornecidas pelo próprio usuário, como a expectativas de desempenho,

36 TRABALHOS RELACIONADOS expectativa de preço e carga de trabalho. A utilização de características de serviços em nuvem que o usuário tenha utilizado pode ser um critério interessante a ser adicionado no modelo CloudAdvisor, desta forma, não exigiria que o usuário tivesse que dedicar certo tempo fornecendo informações para poder receber a recomendação do serviço em nuvem que melhor se adeque as suas expectativas. O trabalho de JUNG et al. (2013) motivou está pesquisa a não utilizar o modelo de solicitar características e informações ao usuário para poder montar o seu perfil de preferências, com o objetivo de evitar a cansativa e repetitiva tarefa de responder formulários. Como preferências do usuário, adotamos os arquivos salvos na nuvem pelo próprio usuário, com a tendência de que se um usuário salva um arquivo em sua conta na nuvem, isso significa que o conteúdo deste arquivo de certa forma representa uma de suas preferências. Existem diversos sistemas de recomendação disponíveis na Internet, e boa parte destes sistemas estão relacionados à nuvem, seja como parte de sistemas em nuvem ou hospedados em servidores em nuvem. Muitos deste utilizam dados da nuvem em suas recomendações ou características da nuvem para gerar recomendações. A proposta desta pesquisa se diferencia das demais descritas nesta seção por utilizar características da nuvem na geração de suas recomendações, atribuindo pesos a cada característica. Desta forma, cada critério é parte da recomendação, que tem como objetivo proporcionar aos usuários a melhor utilização dos recursos em nuvem disponíveis Sistemas de Armazenamento em Nuvem As maiores empresas da Internet que atuam como fornecedoras de serviços em nuvem Google 13 e Amazon 14 apostam na tecnologia de sistemas de recomendação, a primeira para recomendar conteúdo personalizado a seus usuários e a segunda para vender produtos, como livros e eletrônicos. Por sua vez os serviços de armazenamento em nuvem oferecido por estas empresas, Google Drive 15 e Amazon S3 16 (Simple Storage Systems), não dispõem desta tecnologia para auxiliar os usuários na filtragem de conteúdo relevante. O Amazon S3 só permite que o usuário realize buscas e consultas, ou seja, ele não oferece o serviço de recomendação de arquivos. O mesmo acontece com o Google Drive, que não disponibiliza o serviço de recomendação aos seus usuários. Desta forma, torna-se difícil e complexa a tarefa de filtragem de conteúdo relevante em meio à imensidão de dados que se forma nos sistemas de armazenamento em nuvem Acessado em 05/12/ Acessado em 05/12/ Acessado em 05/12/ último acesso em 05/12/2013

37 CONSIDERAÇÕES FINAIS Outros sistemas de armazenamento em nuvem como Dropbox 17, SugarSync 18, Wuala 19, icloud 20, ZipCloud 21, não disponibilizam serviços de recomendação de arquivos, o que dificulta a filtragem de conteúdo. A partir da análise realizada, é perceptível que a maioria dos sistemas não permite e não oferece o serviço de recomendação de arquivos. Diante deste cenário, propomos um modelo de recomendação voltado para ambientes de armazenamento em nuvem. 2.5 Considerações Finais Neste capítulo, foi apresentada uma revisão dos conceitos de sistemas de recomendação, computação em nuvem e sistemas de armazenamento de dados em nuvem. Além disso, foi detalhado o processo de um sistema de recomendação, as principais técnicas utilizadas em SR, suas principais funcionalidades e alguns sistemas de recomendações que são utilizados atualmente no mercado, assim como, alguns dos principais sistemas de armazenamento de dados em nuvem. Ainda neste capítulo, foram apresentados alguns trabalhos relacionados à sistemas de recomendação em nuvem. A partir da revisão da literatura, foram analisados trabalhos que apresentam relação com o modelo proposto neste trabalho ou que, de alguma forma, apresentem contribuições para o desenvolvimento desta pesquisa. Foram realizadas análises minuciosas na literatura e nos trabalhos relacionados, com o objetivo de elencar as relações entre o modelo proposto, os modelos já validados e em uso na indústria e na comunidade acadêmica. Durante o decorrer desta pesquisa, não foram encontrados trabalhos que proponham um modelo de recomendação que utilize as mesmas características da nuvem propostas neste trabalho. Desta forma, podemos afirmar que esta proposta é inédita na literatura referente à área de sistemas de recomendação para ambientes de armazenamento em nuvem. A pesquisa bibliográfica ocorreu durante os anos de 2012 e 2013, onde foram selecionados trabalhos relacionados ou com características semelhantes a proposta desta pesquisa. As seleções foram realizadas nas bibliotecas digitais ACM Library 22, IEEE Xplore Digital Library 23, Scopus 24 e Science Direct 25, de onde foram extraídos os trabalhos que embasaram o desenvolver da pesquisa. Na maioria dos trabalhos analisados, são apresentados modelos e sistemas de recomendação que funcionam em ambientes em nuvem ou que recomendam arquivos e informações que estão armazenadas em nuvem. Este trabalho se diferencia dos demais por apresentar uma 17 Acessado em 05/12/ Acessado em 05/12/ Acessado em 05/12/ Acessado em 05/12/ Acessado em 05/12/ último acesso em 08/12/ último acesso em 08/12/ último acesso em 08/12/ último acesso em 08/12/2013

38 CONSIDERAÇÕES FINAIS proposta de modelo para recomendação de arquivos em sistemas de armazenamento em nuvem que, utilize características da nuvem associadas à técnica de recomendação baseada em conteúdo. No próximo capítulo será apresentado o modelo proposto por este trabalho.

39 37 3 RecCloud Durante todo o período de execução deste trabalho, foram realizados estudos e pesquisas que tiveram como principal finalidade elaborar uma modelo capaz de gerar recomendações de arquivos para ambientes de armazenamento em nuvem. Para isto, foram realizados estudos nas bibliografias pertinentes a este tema e os resultados destes estudos serviram para que fosse possível elaborar o modelo baseado em características da nuvem. Deste modo, este capítulo é destinado a descrever o modelo proposto nesta pesquisa. 3.1 Proposta A partir da análise da literatura e dos sistemas de armazenamento em nuvem mais populares e utilizados atualmente, é notório que esses sistemas não fornecem ao usuário o serviço de recomendação de arquivos. Na maioria dos sistemas de armazenamento em nuvem, a filtragem de conteúdo é realizada por sistemas de busca, onde o usuário fornece termos chaves e o sistema retorna arquivos com o título ou conteúdo similar aos termos apresentados pelo usuário. Por outro lado, a enorme quantidade de sistemas de recomendação que rodam em nuvem, não utilizam características da nuvem na geração de suas recomendações. Esses sistemas normalmente possuem como objetivo recomendar itens que atendam as preferências dos usuários, sem considerar requisitos do ambiente. Neste trabalho investiga-se a utilização de características da nuvem que podem ser usadas no processo de recomendação de arquivos em ambiente de armazenamento em nuvem. O modelo proposto nesta pesquisa foi denominado de RecCloud: Um Modelo de Recomendação de Arquivos Para Sistemas de Armazenamento em Nuvem. O processo de recomendação modelado neste trabalho é formado por características da nuvem associadas a técnica de recomendação baseada em conteúdo.

40 O MODELO DE RECOMENDAÇÃO 3.2 O Modelo de Recomendação O modelo de recomendação proposto é composto por cinco critérios, que foram utilizados no processo de recomendação. Os critérios propostos foram definidos a partir da observação de sistemas de armazenamento em nuvem. Os critérios são: Similaridade, Disponibilidade, Taxa de Download, Tamanho do Arquivo e Popularidade do Arquivo. A seguir foram detalhados cada critério e o seu respectivo cálculo: critério Similaridade: Este critério atende ao requisito referente às preferências do usuário, neste critério é calculado a similaridade entre o conteúdo de um arquivo no qual o usuário tenha demostrado preferência e arquivos armazenados em nuvem, que são candidatos a serem recomendados. Para calcular a similaridade entre os conteúdos dos arquivos, é proposto a utilização da técnica de similaridade do cosseno, que retorna um valor entre 0 (zero) e 1 (um) BAEZA-YATES; RIBEIRO-NETO (1999). Esta abordagem foi proposta por ser bastante utilizada e citada na literatura para a avaliação de semelhança entre dois itens CHEN; HUANG; HUANG (2009) LEE; LEE; LEE (2010) YU; ZHOU (2004). O cálculo de similaridade do cosseno é apresentado pela Equação 3.1: St = cos(θ) = A B A B 3.1 Na Equação 3.1 é calculada a similaridade entre dois arquivos onde o conteúdo de cada um é representando por um vetor (vetores A e B), de onde se obtém o produto de A e B e calcula-se a magnitude dos vetores A e B. Tais magnitudes são multiplicadas e divididas pelo produto escalar dos vetores A e B. Os arquivos que sejam similares ao arquivo que represente as preferências do usuário serão ranqueados de acordo com o seu grau de similaridade, ou seja, quanto maior o score de similaridade do arquivo, melhor ranqueado ele será em referência aos demais similares a ele. Por exemplo, caso o SR encontre dois arquivos A e B, estes similares às preferências do usuário e com score de similaridade igual a arquivo A = 0.8 e arquivo B = 0.5, neste cenário o arquivo A será melhor ranqueado que o arquivo B no critério similaridade. A similaridade entre o conteúdo dos arquivos a serem recomendados com um arquivo que o usuário tenha demostrando interesse, torna-se imprescindível neste modelo de recomendação. Para tanto objetiva atender as preferências dos usuários em relação à filtragem por conteúdo relevante em meio a uma grande massa de dados. Critério Disponibilidade: Refere-se ao tempo em que um arquivo estará disponível para o usuário. A disponibilidade, neste modelo, é medida em horas, ou seja a quantidade de horas em que um arquivo a ser recomendado está disponível na nuvem.

41 O MODELO DE RECOMENDAÇÃO Um arquivo só deve ser recomendado ao usuário se o mesmo estiver disponível e possibilitando o seu download. O critério disponibilidade representa uma das principais características e anseios quanto à tecnologia de computação em nuvem. A maioria dos usuários que migram para a nuvem são atraídos pela oferta de altas taxas de disponibilidade, elasticidade e mobilidade, que torna possível armazenar arquivos em grande quantidade e que estejam disponíveis e acessíveis a qualquer momento a partir da conexão com a Internet CARVALHO (2012) MELL; GRANCE (2009). O cálculo do critério disponibilidade é apresentado na Equação 3.2: Dp = Dh ( ) 1 n 3.2 No cálculo do critério disponibilidade, Dh é a quantidade horas em que um arquivo está disponível na nuvem, e n representa a quantidade de horas em que um arquivo pode ficar disponível na nuvem. Caso a nuvem fique online durante todo o dia, n será igual a 24 (vinte e quatro) horas, a quantidade de horas de disponibilidade é normalizada em um valor entre 0 (zero) e 1 (um). O exemplo a seguir demonstra como o critério disponibilidade contribui para a geração de uma recomendação. Considere que dois arquivos A e B são similares, o arquivo A está disponível na nuvem no intervalo de tempo 14 às 16 horas, totalizando duas horas de disponibilidade. O arquivo B está disponível na nuvem de 14 às 18 horas, totalizando quatro horas de disponibilidade. Desta maneira, o arquivo que será melhor ranqueado é o arquivo B, por estar disponível na nuvem por um tempo superior que o arquivo A, permitindo o seu download em um espaço de tempo maior. O objetivo central é diminuir o risco de o usuário não poder realizar o download e garantir que um arquivo recomendado esteja sempre acessível ao usuário. Critério Taxa de Download: Refere-se à taxa disponível para a realização do download de um arquivo na nuvem. O objetivo é que arquivos que proporcionam melhores condições para a redução no tempo gasto no download sejam melhor ranqueados que os demais arquivos. A contribuição deste critério na redução do tempo gasto no download de um arquivo recomendado é produzida em conjunto com o critério Tamanho do Arquivo, apresentado no próximo item. Por exemplo, no caso de termos dois arquivos similares às preferências do usuário, onde o arquivo A tem o seu tamanho igual a 10 (dez) Gigabytes e o arquivo B tem o seu tamanho igual a 2 (dois) Gigabytes, o arquivo A será melhor ranqueado que o arquivo B, por proporcionar uma maior economia no tempo gasto em seu download. A taxa de download pode modificar o ranque de recomendações dependendo do momento em que a recomendação for calculada, principalmente em ambientes onde a taxa de download é oscilante. Este critério tem valor de 0 (zero) a 3 (três) Megabits por segundo (Mbps), este valor

42 O MODELO DE RECOMENDAÇÃO representa a media global de taxa de downloads apresentada pela Akamai 1. Este critério é calculado pela Equação 3.3: T d = ns ( ) 1 n 3.3 Na Equação 3.3 a Taxa de Download é representada por T d, onde ns representa à taxa de download em Mbps, em seguida este valor é normalizado em um valor entre 0 (zero) e 1 (um), onde n representa o valor da media global de taxa de downloads em Mbps. Critério Tamanho do Arquivo: Este critério corresponde ao tamanho do arquivo candidato a ser recomendado, e tem como objetivo contribuir na tarefa de amenizar o tempo gasto no download de um arquivo recomendado. Como explicado no item critério Taxa de Download, o critério Tamanho do Arquivo, está diretamente relacionado com o critério que mensura a taxa de download disponível. O ranque de recomendação mudará de acordo com a taxa disponível para download, caso a taxa de download seja baixa, os arquivos com tamanho menores devem ser melhor ranqueados que seus similares que são maiores. Da mesma forma, quando a taxa de download é alta, os arquivos com tamanhos maiores devem ser recomendados no topo do ranking. Exemplificando sobre o ranqueamento deste critério considerando que, um arquivo A é similar ao arquivo B, o arquivo A tem o tamanho igual a 9 (nove) Gigabytes. O arquivo B tem tamanho igual a 2 (dois) Gigabytes. Desta forma, o arquivo B será mais bem ranqueado por apresentar melhores condições para a realização do seu download (menor tamanho), considerando que a taxa de download seja baixa. O cálculo deste critério é realizado pela Equação 3.4: S = T ( ) 1 n 3.4 Na Equação 3.4 o critério Tamanho do Arquivo é representado por S. O tamanho do arquivo é medido em Gigabytes (GB), pelo fato de que boa parte dos sistemas de armazenamento em nuvem limita o tamanho máximo de um arquivo que pode ser salvo em nuvem e o espaço disponível para o usuário no sistema em Gigabytes. O tamanho do arquivo é multiplicado por 1 n, para que seja normalizado por um valor de 0 (zero) a 1 (um), o valor 1 (um) é divido por n que é o tamanho máximo de um arquivo aceito no sistema de armazenamento em nuvem utilizado para implantação do modelo. Critério Popularidade do Arquivo: Este critério representa a importância social de um arquivo na nuvem, avaliado por meio da quantidade de downloads que foram 1 Acessado em 27/11/2013

43 O MODELO DE RECOMENDAÇÃO realizados de um mesmo arquivo. Quanto maior é a quantidade de downloads realizados de um arquivo, maior será a popularidade desse arquivo na rede, resultando em um melhor ranqueamento deste arquivo. Um exemplo sobre o ranqueamento deste critério: um arquivo A é similar ao arquivo B, o arquivo A já teve 10 (dez) downloads realizados, e o arquivo B já teve 16 (dezesseis) downloads realizados. Desta forma, o arquivo B será melhor ranqueado, por obter um número maior de downloads efetuados no sistema de armazenamento em nuvem que o arquivo A. O cálculo deste critério é representado pela Equação 3.5: R = Qd ( ) 1 n 3.5 Na Equação 3.5 o critério Popularidade do Arquivo é representado por R. A cada download realizado de um determinado arquivo, o contador de downloads desse arquivo é incrementado em 1 (um). Este valor é medido de 0 (zero) a n, onde n é a maior quantidade de downloads realizados em um único arquivo no sistema, o valor de n é obtido na observação do histórico de downloads de arquivos no sistema de armazenamento em nuvem. No cálculo do critério, a quantidade de downloads de um arquivo Qd é normalizada, multiplicando Qd por 1 n, desta forma o valor resultante deste critério será entre 0 (zero) e 1 (um) Pesos dos Critérios Em um mecanismo de recomendação os critérios devem ser ponderados por pesos, para compor o score de recomendação, resultando em um ranking com os itens que devem ser recomendados ao usuário. No modelo proposto nesta pesquisa, foram definidos pesos para cada critério, com base na relevância do critério na construção do objetivo da proposta do modelo. A partir da realização de testes de execução no cálculo de recomendação que será apresentado na subseção 3.2.2, com diferentes pesos, propomos a utilização dos pesos descritos na Tabela 3.1. Os testes realizados tiveram como objetivo verificar a variação no resultado do score final de recomendação e quais pesos apresentaria a menor variação no score. Desta forma, os arquivos recomendados não apresentariam uma grande variação de similaridade com as preferências dos usuários. Os pesos propostos para cada critério são apresentados na Tabela 3.1. Tabela 3.1: Pesos dos Critérios Critério Peso Similaridade 4 Disponibilidade 2 Taxa de Download 2 Tamanho do Arquivo 1 Popularidade do Arquivo 1

44 O MODELO DE RECOMENDAÇÃO A seguir detalhamos a ponderação dos pesos para cada critério. Similaridade: tem peso 4 (quatro), para garantir que o conteúdo de um arquivo recomendado ao usuário seja similar as suas preferências. Outro ponto motivador para o critério similaridade corresponder a 40% do score de recomendação é o objetivo de amenizar ou solucionar um dos principais problemas da técnica de recomendação baseada em conteúdo, que é a sugestão de itens sempre muito parecidos, limitando os usuários de conhecer novos conteúdos RICCI et al. (2011) STORMER H.; WERRO; RISCH (2006) VIEIRA (2013). Desta forma, o nosso modelo de recomendação atenderá as preferências do usuário e ao mesmo tempo estará recomendando novos conteúdos que são relacionados aos conteúdos de preferência do usuário. O critério Similaridade é medido de 0 (zero) a 1 (um), um arquivo que possua similaridade igual a 0 (zero) em comparação as preferências do usuário, somente será recomendado caso ele tenha uma alta taxa de popularidade na rede, e mesmo assim, o arquivo não será bem ranqueado em relação aos demais que apresentem alguma similaridade com as preferências do usuário. Disponibilidade: tem peso 2 (dois), este é um dos critério mais importante do modelo proposto, por representar o tempo em que um arquivo está disponível na nuvem, tornando possível o download de um arquivo recomendado. Este critério é relevânte para a recomendação de arquivos baseada em características da nuvem, por representar uma das principais características e vantagens da utilização de sistemas de armazenamento em nuvem. O valor do critério Disponibilidade será de 0 (zero) a 1 (um), um arquivo somente poderá ser recomendado ao usuário, se o mesmo estiver disponível. Taxa de Download: tem peso 2 (dois). Este critério terá o seu valor medido de 0 (zero) a 1 (um). Um arquivo que possua uma baixa taxa de download e seu tamanho seja maior que o tamanho dos demais arquivos similares a ele, o seu score de recomendação será menor, e consequentemente ele não será tão bem ranqueado quanto seus similares, porque o seu processo de download demandará mais tempo e processamento. Um arquivo com baixa taxa de download poderá aparecer no topo do ranking de recomendação, desde que seu tamanho seja proporcional. Para que um arquivo na nuvem se torne recomendável, esse critério deve ser maior que 0 (zero), desta forma será possível realizar o download do arquivo. Tamanho do Arquivo: possui peso 1 (um). Este critério tem peso inferior aos demais critérios, por não ser um critério crítico. Assim, um arquivo que tenha o tamanho igual ao máximo aceito pelo ambiente, poderá ser recomendado se a sua taxa de download for alta, garantindo bom desempenho no download do arquivo.

45 O MODELO DE RECOMENDAÇÃO Popularidade do Arquivo: é atribuído o peso 1 (um). Este critério tem o seu peso inferior aos demais critérios, por não ser um critério crítico. Portanto, um arquivo que não seja popular na nuvem poderá ser recomendado ao usuário, o mesmo ocorre com os arquivos novos na rede, se o arquivo for bem ranqueado nos outros critérios do modelo Cálculo de Recomendação Nesta subseção apresentamos o cálculo de recomendação, que consiste na ponderação dos critérios com os seus pesos. O cálculo das recomendações é representado pela Equação 3.6: RecScore = (((Dp ωd) (T d ωt) (Ta ωa)) ((S ωs) + (R ωr))) ( ) 1 n 3.6 No cálculo apresentado, o score de recomendação é igual ao resultado da ponderação dos critérios por seus respectivos pesos. A partir dos critérios ponderados por seus pesos, o modelo multiplica o critério Disponibilidade Dp pelo critério Taxa de Download T d, o produto desta multiplicação é subtraído pelo critério Tamanho do Arquivo Ta, o resultado é multiplicado pelo critério Similaridade S somado ao critério Popularidade do Arquivo R. Após este processo o resultado obtido é normalizado entre 0 (zero) e 1 (um) por ( 1 n ), onde n é o valor total que a primeira parte da equação pode atingir antes da normalização, neste caso n será igual a 20 (vinte). Desta forma, o score de recomendação será sempre um valor entre 0 (zero) e 1 (um). O critério Popularidade do Arquivo é somado ao critério Similaridade, com o objetivo de recomendar arquivos que atendam aos requisitos propostos no modelo e, que arquivos que sejam mais relevantes na nuvem, sejam melhores ranqueados no ranking de recomendação. O critério Tamanho do Arquivo penaliza os critérios Disponibilidade e Taxa de Download, com o objetivo de proporcionar ao usuário melhores condições para a realização do download do arquivo recomendado. Resultando na diminuição do tempo gasto no download e recomendando arquivos que tenham maior taxa de disponibilidade na nuvem. Cada arquivo candidato a recomendação receberá um score, em seguida será criado um ranque de recomendação com os arquivos ordenados do maior para o menor score, destes, os arquivos que obtiverem os maiores scores serão recomendados ao usuário Exemplo do Cálculo de Recomendação Nesta subseção, será abordado um exemplo da aplicação do cálculo de recomendação do modelo apresentado neste capítulo. Na tabela??, apresentamos um exemplo utilizando um usuário. Neste cenário, temos o cálculo de 10 (dez) recomendações, com a participação de um usuário A, as preferências do usuário são representadas pelo arquivo 01. O sistema calcula o score de recomendação a partir dos valores de cada critério. São calculadas recomendações utilizando 10 (dez) arquivos distintos: arquivo 02, arquivo 03, arquivo 04, arquivo 05, arquivo

46 O MODELO DE RECOMENDAÇÃO 06, arquivo 07, arquivo 08, arquivo 09, arquivo 10 e arquivo 11. A seguir na Tabela??, consta o valor de cada critério utilizado neste exemplo e o resultado do score de recomendação após a aplicação da Equação 3.6, que calcula as recomendações do modelo RecCloud. Tabela 3.2: Exemplo do Cálculo de Recomendação do Modelo RecCloud. Arquivos em Nuvem Dp Td S Sd R Score Arquivo Arquivo Arquivo Arquivo Arquivo Arquivo Arquivo Arquivo Arquivo Arquivo Na Tabela??, foram apresentados os valores utilizados neste exemplo e o resultado do score de recomendação de cada arquivo. A partir da análise dos resultados apresentados, podemos inferir que, o ranking de recomendações para as preferências do usuário A, representado pelo Arquivo 01, seria apresentado da seguinte forma: Tabela 3.3: Arquivos Recomendados Critério Peso Arquivo 11 1 Arquivo Arquivo Arquivo Arquivo Na Tabela 3.3, foi apresentada a ordenação em forma decrescente das recomendações geradas, esta é a ordem dos arquivos em que o usuário A receberia como resultado da sua solicitação por recomendações a partir das preferências apresentadas por ele. Na ordenação apresentada na Tabela 3.3, são apresentados 5 (cinco) dos 10 (dez) arquivos utilizados no cálculo de recomendações. O Arquivo 04 não foi apresentado na lista de recomendações porque o seu score foi igual a 0 (zero), porque a sua taxa de disponibilidade é igual a 0 (zero), desta forma o arquivo não está indisponível na nuvem. Arquivos com score de recomendação igual a 0 (zero), não devem ser recomendados. O Arquivo 05 não foi apresentado na lista de recomendações porque o seu score foi igual a 0 (zero), justifica-se por sua baixa taxa de download que foi desproporcional ao tamanho do arquivo.

47 DETALHES DA IMPLEMENTAÇÃO O Arquivo 06 não foi apresentado na lista de recomendações porque o seu score foi igual a 0 (zero), isso por não possuir similaridade com as preferências do usuário e por apresentar uma baixa taxa de disponibilidade. O Arquivo 07 não foi apresentado na lista de recomendações porque o seu score foi igual a 0 (zero), por sua baixa taxa de disponibilidade e, pouca similaridade com as preferências do usuário. O Arquivo 09 não foi apresentado na lista de recomendações porque o seu score foi igual a 0 (zero), por sua baixa taxa de download e, por não possuir similaridade com as preferências do usuário O Processo de Recomendação Nesta seção, é apresentado o processo de recomendação do modelo proposto e do modelo baseado puramente em conteúdo. Na Figura 3.1, é apresentado parte do processo de recomendação do modelo RecCloud, o processo apresentado corresponde ao critério Similaridade, que utiliza a técnica de recomendação baseada em conteúdo. Figura 3.1: Processo de Recomendação Baseado em Conteúdo. Na Figura 3.1, o usuário elícita suas preferências através do Arquivo A, o mecanismo de recomendação compara o conteúdo do Arquivo A com o conteúdo dos demais arquivos no ambiente e recomenda ao usuário o Arquivo C, por possuir o conteúdo mais similar ao conteúdo do arquivo de sua preferência. Na Figura 3.2, apresentamos o processo de recomendação completo do modelo RecCloud. Na Figura 3.2, o usuário elícita suas preferência através do Arquivo Y, em seguida o modelo começa a calcular o score de recomendação de um arquivo da nuvem Arquivo X. O score de recomendação é composto por 5 (cinco) critérios de recomendação, após ser calculados o modelo gera um score final de recomendação e em seguida é recomendado um arquivo (Arquivo X) ao usuário. 3.3 Detalhes da Implementação O modelo foi implementado a partir do sistema de recomendação baseado em conteúdo do sistema Ustore. Foram implementados os critérios propostos no modelo RecCloud e o cálculo

48 DETALHES DA IMPLEMENTAÇÃO Figura 3.2: Processo de Recomendação RecCloud. de recomendação do modelo Ustore O Ustore é uma ferramenta de armazenamento em nuvem baseada em uma arquitetura P2P híbrida que tem como objetivo armazenar dados com baixo custo e de forma que os mesmos não se tornem indisponíveis com eventuais problemas na rede ASSAD R. MACHADO (2012). Os dados a serem armazenados são quebrados em pedaços menores de tamanho pré-definido, chamados de chunks. Os chunks são armazenados em outros peers da rede, utilizando para isto os recursos ociosos disponíveis na rede. Estes peers podem, por exemplo, ser computadores da própria empresa utilizados para outros fins, mas que possuam espaço livre em disco, suficientes para serem compartilhados. A utilização deste modelo faz com que o Ustore garanta um baixo custo para o armazenamento em nuvem MACHADO (2013) Arquitetura do Ustore A arquitetura do Ustore consiste de uma arquitetura P2P híbrida em três camadas, onde há peers representando papéis distintos compondo a solução final. Os peers são agrupados em federações de dados, o que traz diversas vantagens, como, minimizar a sobrecarga na rede, em cada peer e reduzir a quantidade de mensagens trocadas. Este agrupamento permite uma maior escalabilidade do sistema, já que não há limites para a quantidade de federações criadas DURãO F. ASSAD (2013) MACHADO (2013) SILVA A. MACHADO (2013). A comunicação entre as entidades internas do sistema é feita através da plataforma JXTA 2. O JXTA é um projeto de software livre de protocolos P2P baseados em mensagens XML para o desenvolvimento de aplicativos distribuídos, permitindo que qualquer dispositivo conectado em uma rede, independente de sua plataforma, natureza, ou protocolo de rede possa interagir, compartilhar recursos, e formar uma rede distribuída, descentralizada e cooperativa. Os peers podem possuir capacidades computacionais distintas, uma das grandes vantagens de 2 Acesso em 20/03/2014

49 DETALHES DA IMPLEMENTAÇÃO JXTA é garantir o uso racional e adequado dos recursos sem abrir mão da portabilidade HEISS (2005). A Figura 3.3 representa a arquitetura do JXTA. Figura 3.3: Arquitetura do JXTA HEISS (2005). Cada peer JXTA cria uma rede sobreposta virtual, permitindo a interação com outros pares normalmente inacessíveis, como os protegidos por dispositivos reguladores de tráfego ou que utilizem outro tipo de transporte de rede. Estes peers também podem ser organizados em grupos de uma forma descentralizada BAROLLI; XHAFA (2011). Na Figura 3.4 é apresentada os tipos de peers do Ustore SILVA A.; MEIRA (2012): Figura 3.4: Arquitetura do Ustore SILVA A.; MEIRA (2012). Cliente Ustore: Os clientes são os responsáveis por armazenar os chunks dos arquivos, é através deles que os usuários podem solicitar operações de backup e recuperação de arquivos. Cada cliente possui um horário de funcionamento determinado

50 DETALHES DA IMPLEMENTAÇÃO inicialmente, que é utilizado para garantir a disponibilidade dos dados. No Ustore os clientes para armazenar os chunks são escolhidos através de um algoritmo estatístico que localiza os clientes que possuem o horário de funcionamento similar ao horário determinado inicialmente ao cliente, desta forma o Ustore garante a disponibilidade dos arquivos no horário determinado DUARTE (2010). Com o objetivo de garantir uma maior taxa de disponibilidade, os chunks são replicados dentro da própria rede MACHADO (2013). Servidor Ustore: Os servidores são os peers que disponibilizam os serviços para serem utilizados pelos clientes e compõem as federações. O Ustore adota uma proposta de criação de níveis hierárquicos que implementam serviços bem definidos e que podem crescer horizontalmente MACHADO (2013). Super peer: responsável por informar aos clientes, onde estão os servidores e permite a troca de mensagens entre clientes que estejam em redes diferentes. O papel do super peer é definir as federações de dados quando cada cliente solicita conexão à rede. Outra função deste peer é escolher dinamicamente os clientes e servidores das federações baseando-se em um algoritmo de proximidade DUARTE (2010) MACHADO (2013) Sistema de Recomendação do Ustore O mecanismo de recomendação do Ustore é baseado em conteúdo, onde são realizadas recomendações com base nas preferências que o usuário tenha demonstrado interesse no passado. No SR do Ustore, as preferências do usuário são representadas por arquivos que o usuário salvou em sua conta no sistema. O SR apresenta recomendações baseada na similaridade entre o arquivo de preferência do usuário e os arquivos armazenados na nuvem. Para que o usuário receba uma recomendação, ela deve ser solicitada a partir de um arquivo em sua conta. O usuário solicita recomendações para um determinado arquivo, e recebe recomendações de arquivos armazenados no sistema, assim, o sistema de recomendação entende que o arquivo para qual foi solicitado recomendações representa as preferências do usuário. No Ustore as recomendações são ordenadas de forma decrescente, de acordo com o grau de similaridade entre os arquivos recomendados e as preferências do usuário, que é obtida pela técnica de Similaridade do Cosseno. A similaridade é calculada a partir do conteúdo dos arquivos, que são extraídos pelo Apache Lucine versão e o Apache Tika versão Apache Lucene: O Apache Lucene é uma biblioteca de código aberto para consultas full-text desenvolvida em Java. O principal objetivo do Lucene é adicionar a funcionalidade de busca de forma fácil para uma aplicação ou páginas web. A biblioteca 3 Acesso em 15/03/ Acesso em 15/03/2014

51 DETALHES DA IMPLEMENTAÇÃO é composta por 2 (dois) módulos principais (indexação e busca). Na indexação são processados os dados originais gerando uma estrutura de dados inter-relacionada para a pesquisa por palavras-chave. No módulo de busca é realizada a consulta ao índice pelas palavras inseridas em uma consulta e organiza os resultados pela similaridade do texto com as palavras da consulta. O Lucene permite que o desenvolvedor crie um sistema de busca sem a necessidade de conhecer as rotinas e algoritmos de indexação e busca, sendo necessário utilizar apenas a API do Lucene MACHADO (2013). O Apache Lucene utiliza uma estrutura de dados conhecida como índice invertido, desta forma, cada termo adicionado possui uma referência para o documento que o contém. Os índices invertidos são estruturas compostas por duas partes, são o vocabulário e as ocorrências. O vocabulário incorpora o conjunto de todas as palavras distintas existentes no documento, para cada palavra do vocabulário são construídas listas que contêm as exatas posições nas quais aparecem dentro do texto. A ocorrência é o conjunto de todas as listas, em uma coleção de documentos, para cada palavra existente é armazenado também o número do documento no qual ocorre. A busca em um arquivo invertido se dá através da verificação das entradas do arquivo e a recuperação de todos os documentos que contêm em seu corpo o termo usado BAEZA-YATES; RIBEIRO-NETO (1999). Para cada documento no resultado de uma busca é atribuído Figura 3.5: Índice invertido no Apache Lucene HATCHER; GOSPODNETIC (2004). uma pontuação que representa a similaridade do documento com os termos usados na consulta. O cálculo dessa pontuação é feito baseando-se no modelo de recuperação de informação escolhido. O Apache Lucene suporta alguns modelos, como, por exemplo, Modelo Espaço Vetorial, Modelo Probalístico (Exemplo: Okapi BM25 e DFR) e o Modelo baseado em Linguagem Natural. Na Figura 3.6, é apresentada a arquitetura do Apache Lucene. O Apache Lucene não possui um parser próprio, desta forma, foi necessário utilizar outra biblioteca que tivesse parser próprio. No Ustore foi utilizado o Apache Tika, que é um detector e extrator de conteúdo e texto estruturado em arquivos de diversos

52 DETALHES DA IMPLEMENTAÇÃO Figura 3.6: Arquitetura do Apache Lucene HATCHER; GOSPODNETIC (2004). formatos arquivos. Apache Tika: É um kit de ferramentas para a extração de metadados e conteúdo de diversos tipos de arquivos. A extração do conteúdo é feita por parsers específicos para cada tipo de arquivo. O Apache Tika fornece uma API padrão e faz uso de bibliotecas de terceiros para fazer a extração do conteúdo, como as bibliotecas POI 5 e a PDFBox 6, que são utilizadas para extrair conteúdo de arquivos Word, Excel, PowerPoint e PDF. A Figura 3.7, apresenta a arquitetura do Apache Tika, nela é possível identificar a camada Tika Facade que é responsável por receber o arquivo que será processado, identificar o tipo do mesmo, o seu idioma e selecionar um parser adequado para extrair seu conteúdo Implementação dos Critérios Os critérios propostos no modelo RecCloud, foram implementados e adicionados ao sistema de recomendação do Ustore. A seguir é descrito como ocorreu à implementação de cada critério do modelo proposto: Critério Similaridade: o critério Similaridade utilizado foi do SR do sistema Ustore, onde é feita o uso da técnica de Similaridade do Cosseno para comparar o conteúdo dos artigos. 5 Acessado em 15/03/ Acessado em 15/03/2014

53 DETALHES DA IMPLEMENTAÇÃO Figura 3.7: Arquitetura do Apache Tika MATTMANN; ZITTING (2011). Critério Disponibilidade: No Ustore cada cliente possui um horário de funcionamento determinado inicialmente, que é utilizado para garantir a disponibilidade. Para chegar ao valor da taxa de disponibilidade de um cliente, subtraímos o tempo total possível para um cliente estar disponível em um dia (24 horas), pelo tempo em que o cliente ficou off-line. Desta forma, obtemos a quantidade de horas em que um cliente esteve disponível durante o dia. O cálculo é apresentado na Equação 3.7: Dh = (Ht Ho) 3.7 Na Equação 3.7, Dh é a disponibilidade do cliente em horas, é igual há Ht total de horas em que o cliente pode ficar on-line em determinado espaço de tempo, subtraído pela quantidade de horas que o cliente ficou off-line Ho. No Ustore consideramos a utilização de um sistema de replicação de dados, desta forma, enquanto estiverem clientes on-line na nuvem, os arquivos armazenados nela estarão disponíveis. Diante disso, calculamos a média de disponibilidade para os clientes da nuvem. O cálculo da média de disponibilidade é apresentado na Equação 3.8: Md = n i=0 Dh n 3.8 A média de disponibilidade é igual à soma da disponibilidade em horas Dh de todos os clientes, dividida pela quantidade de clientes n. Desta forma, a disponibilidade em horas de um arquivo Dh será igual a média de disponibilidade da nuvem Md.

54 DETALHES DA IMPLEMENTAÇÃO Na Figura 3.8 é ilustrado o processo do cálculo do critério Disponibilidade, onde é calculada a média da disponibilidade dos clientes no Ustore. Figura 3.8: Processo do Critério Disponibilidade. Critério Taxa de Download: A Taxa de Download é obtida a partir da observação do download de um arquivo qualquer, a partir de informações sobre o tempo gasto no download do arquivo e seu tamanho, chegamos à taxa de download da rede em Kilobits. Para termos de avaliação, a taxa máxima de download utilizada foi a média global de taxa de downloads 3 (três) Megabits por segundo. Caso a taxa do usuário apresente um valor maior que a média global, o critério Taxa de Download será igual a 1 (um), representa que este critério recebeu o valor máximo no cálculo da recomendação. Critério Tamanho do Arquivo: O tamanho do arquivo é obtido na base do Ustore em Kilobytes e convertido em GigaBytes. Para termos de avaliação da proposta, o tamanho máximo de um único arquivo no ambiente foi estabelecido em 10 Gigabytes, desta forma, se um arquivo apresentar tamanho superior ao limite máximo estabelecido, este receberá o valor 1 (um), que representa a maior taxa ponderada do critério Tamanho do Arquivo. Critério Popularidade do Arquivo: A popularidade do arquivo é representada pela quantidade de vezes em que foram realizados download de um arquivo. No Ustore a quantidade de vezes em que foi realizado o download de um arquivo pode ser obtida diretamente na base de dados do sistema. Para termos de avaliação desta proposta, atribuímos a quantidade de 10 downloads, como a maior quantidade de downloads realizados de um único arquivo na rede. Equação 3.6. Após calculado o valor de todos os critérios, o SR calcula o score de recomendação pela

55 CONSIDERAÇÕES FINAIS 3.4 Considerações Finais Este capítulo apresentou um modelo de recomendação de arquivos para sistemas de armazenamento em nuvem, que faz uso da técnica de recomendação baseada em conteúdo associada a características da nuvem. Foram abordados ainda, o cálculo de recomendação, o processo de recomendação e os detalhes da implementação do protótipo utlizado para testar e avaliar o modelo proposto. No próximo capítulo serão apresentados os testes realizados e seus resultados.

56 54 4 Avaliação Neste capítulo, será apresentada uma série de testes realizados com o objetivo de avaliar o modelo de recomendação proposto. A avaliação consiste em diversos testes visando avaliar diferentes aspectos do modelo RecCloud como, o desempenho do mecanismo de recomendação. Na literatura podem ser encontradas diversas métricas para avaliação de mecanismos de recomendação, algumas das mais conhecidas são precisão, recall, F-measure, curva Roc, métrica de Breese, Npdm e o feedback do destinatário da recomendação SAMPAIO (2006) YAO (1995). Estas são algumas das opções dentre uma vasta lista de métricas para avaliar recomendações. Herlocker (2000) HERLOCKER (2000) apresenta um estudo avançado sobre esses tipos de métricas. Neste trabalho, foram utilizadas as métricas de precisão, recall, F-measure e também foi avaliado o tempo gasto no download dos artigos recomendados. As técnicas utilizadas nesse trabalho foram as que mais se adequaram ao modelo proposto, por analisarem a precisão de cada ranking de recomendação gerado, além de mostrar a eficiência do modelo. 4.1 Testes Os testes foram divididos em 3 (três) partes: a) Inicialmente, realizou-se uma análise das recomendações geradas, com o objetivo de avaliar se os arquivos recomendados atendem as preferências de conteúdo do usuário; b) Foram realizados downloads dos arquivos recomendados pelo SR utilizando o modelo RecCloud e pelo SR baseado puramente em conteúdo do Ustore. O objetivo foi observar se houve a amenização do tempo gasto no download dos arquivos recomendados pelo modelo RecCloud em relação ao SR baseado puramente em conteúdo; c) Realizou-se também uma análise das recomendações para avaliar o desempenho do mecanismo de recomendação utilizando o modelo proposto. O objetivo destes experimentos foram avaliar o desempenho do mecanismo de recomendação em um sistema de armazenamento em nuvem, levando em consideração o modelo baseado em características da nuvem.

57 COLEÇÃO DE DADOS 4.2 Coleção de Dados Para avaliação deste trabalho, foi utilizada uma base de dados composta por 469 (quatrocentos e sessenta e nove) artigos acadêmicos publicados nos anos de 2012 e 2013, período no qual se deu o desenvolver desta pesquisa. Os artigos utilizados foram publicados no Simpósio Brasileiro de Sistemas de Informação e na conferência ACM Conference on Recommendation System, disponíveis respectivamente nas bibliotecas BDBComp 1 e ACM Digital Lybrari 2. Estes artigos foram utilizados por serem de caráter público e de fácil acesso, em sua totalidade formando uma base de dados que tornou possível a execução dos testes desse trabalho. Outro critério que motivou a utilização destes artigos foi à similaridade entre o contexto dos artigos publicados na RecSys com os artigos utilizados para representar as preferências do usuário, este critério foi utilizado na geração da lista de artigos mais relevantes para o ranque de recomendação. 4.3 Julgamento de Relevâncias Para a realização dos testes é necessário que os arquivos tenham uma classificação que indique quais são os mais relevantes para o ranque de recomendação que será gerado. Para fazer essa classificação no conjunto de dados foi utilizada a similaridade entre o contexto dos artigos com o conteúdo dos artigos utilizados para representar as preferências do usuário. Desta forma, todos os artigos que forem relacionados ao termo sistemas de recomendação, foram considerados relevantes para o ranque de recomendação. As preferências do avaliador foram representadas por artigos acadêmicos que descrevem sistemas de recomendação. A quantidade de artigos relevantes utilizados foi de 156 (cento e cinquenta e seis) artigos, representando 33% (trinta e três) da base de dados utilizada na realização dos testes. 4.4 Ambiente de Teste Os testes foram realizados em um ambiente controlado onde alguns valores foram simulados (Critério Popularidade do Arquivo), este critério foi simulado por não dispormos de um histórico de utilização do ambiente utilizado na validação. A principal desvantagem deste cenário é a não disponibilidade de um histórico real de utilização do ambiente, porém vale ressaltar que este cenário mostrou que a utilização do modelo proposto pode ser bem sucedida em novos ambientes com poucas informações sobre os usuários. Com objetivo de deixar o ambiente o mais próximo do real, para realização dos testes foi utilizada uma máquina com 2 (dois) clientes Ustore

58 MÉTRICAS DE AVALIAÇÃO Foram armazenados 479 (quatrocentos e setenta e nove) artigos em uma conta de usuário no sistema de armazenamento Ustore. Em seguida solicitamos recomendações para 10 (dez) arquivos diferentes e foram recomendados 100 (cem) artigos pelo sistema. Para representar as preferências do usuário foram utilizados artigos escritos sobre esta pesquisa, discorrendo sobre sistemas de recomendações. 4.5 Métricas de Avaliação Para avaliação deste trabalho foi utilizada a metodologia proposta por Jain em 1991 JAIN (1991), onde é defendido que para realizar uma avaliação é preciso definir objetivos, métricas, fatores e níveis MACHADO (2013). As métricas escolhidas para avaliar o desempenho do modelo RecCloud, estão descritas a seguir: a) Precisão: é a taxa de itens relevantes recomendados no resultado. É dada através da proporção entre o número de arquivos relevantes recomendados e o número total de arquivos recomendados BAEZA-YATES; RIBEIRO-NETO (1999) LEE; LEE; LEE (2010), é representada pela Equação 4.1: Preciso = {arquivos relevantes} {arquivos recomendados} {arquivos recomendados} 4.1 Na Equação 4.1, arquivos relevantes é a quantidade de arquivos recomendados que fazem parte do ranking de relevância apresentado na Tabela??, e arquivos recomendados é a quantidade de arquivos recomendados para cada solicitação de recomendação. O resultado é representado por valores entre 0 (zero) e 1 (um). Quanto mais próximo de 1 (um) mais preciso é o sistema. b) Recall: é a taxa de itens relevantes recomendados em relação a quantidade total de itens relevanteslee; LEE; LEE (2010), é dado pela Equação 4.2: Recall = {arquivos relevantes} {arquivos recomendados} {arquivos relevantes} 4.2 Na Equação4.2, arquivos relevantes é a quantidade de arquivos recomendados que fazem parte do ranking de relevância apresentado no anexo??, e arquivos recomendados é a quantidade de arquivos recomendados para cada solicitação de recomendação. O resultado é representado por valores entre 0 (zero) e 1 (um). Quanto mais próximo de 1 (um) mais o sistema satisfaz a solicitação da recomendação. c) F-measure: É a média ponderada da precisão e recall. Pode ser representada pela

59 MÉTRICAS DE AVALIAÇÃO Equação 4.3 BAEZA-YATES; RIBEIRO-NETO (1999) LEE; LEE; LEE (2010). F measure α = (1 + α) preciso recall (α preciso) + recall 4.3 Neste teste as taxas de precisão e recall têm o mesmo fator de importância, desta forma o valor de α é igual a 1 (um). Logo, esta função só retornará um valor no intervalo entre 0 (zero) e 1 (um). Maiores valores para a taxa F-measure representa que o sistema de recomendação oferece resultados mais precisos DURãO (2008) GARCIA et al. (2006) LEE; LEE; LEE (2010). d) Tempo gasto no Download: foram efetuados downloads dos arquivos recomendados e medido o tempo gasto para realizar cada download. Os resultados obtidos serão comparados com o tempo gasto no download de arquivos recomendados utilizando um modelo baseado em conteúdo. O tempo total economizado no download na comparação entre os dois modelo é dado pela Equação 4.4. T = n i=0 T c n i=0 T n 4.4 O tempo total amenizado no download dos arquivos recomendados é dado pela subtração do resultado da soma do tempo gasto no download de todas as recomendações realizadas pelo modelo RecCloud n i=0 T n pela soma do tempo gasto no download de todas as recomendações do modelo utilizado para comparação de resultado n i=0 T c. É Calculada a média do tempo economizado no download por recomendação, dado pela Equação 4.5. T = n i=0 T c n i=0 T n Nrec 4.5 A média do tempo amenizado no download de cada arquivo recomendado é dada pelo resultado da soma do tempo gasto em todos os downloads baseadas em características da nuvem n i=0 T n subtraido pelo resultado da soma do tempo gasto no download de todos os arquivos recomendados do modelo utilizado para avaliação n i=0 T c, dividido pelo número total de recomendações utilizado para a avaliação Nrec. Como parâmetros para comparação, nesta avaliação foram consideradas satisfatórias taxas de precisão de 0.40 e recall de 0.42, resultados semelhantes obtidos por Blank et al. (2013)BLANK; ROKACH; SHANI (2013) e Zhang et al. (2013)ZHANG et al. (2013). A partir destas taxas, foi calculada a taxa de F-Measure. Esta teve como melhor resultado alcançado 0.42, obtido no nível 3.

60 CENÁRIOS DE AVALIAÇÃO 4.6 Cenários de Avaliação A avaliação foi dividida em 2 (dois) cenários. A divisão em cenários tem como objetivo detalhar o que está sendo avaliado e torna mais fácil o entendimento de todo o processo. Todos os cenário e testes deste trabalho foram realizados em um ambiente controlado simulando uma nuvem. Na execução dos experimentos em todos os cenários não foram utilizados usuários reais. Todos os experimentos foram realizados somente pelo avaliador, em alguns pontos a utilização do sistema por usuários foi simulada, para melhor se aproximar do cenário real. Na execução, os cenários foram montados da seguinte forma: Cenário I: no primeiro cenário o objetivo foi avaliar o desempenho do modelo RecCloud. Foram solicitadas recomendações para 10 (dez) diferentes arquivos e avaliada a quantidade de arquivos recomendado para cada solicitação. Neste cenário foram avaliadas as métricas precisão, recall e F-Measure observando os arquivos recebidos como recomendação, os ranques de recomendação analisados foram divididos em níveis, apresentados na Tabela 4.1. Tabela 4.1: Níveis utilizados para avaliar as métricas definidas Níveis Quantidade de artigos recomendados 5, 10, 15 Cenário II: o objetivo foi medir o tempo gasto no download de arquivos recomendados e comparar os resultados com um modelo baseado em conteúdo. Com isso, foi possível avaliar se o modelo proposto atingiu um dos objetivos que é amenizar o tempo gasto no download dos arquivos recomendados. Neste cenário avaliamos a métrica 4 (quatro), analisando o tempo gasto no download de 100 artigos recomendados, 50 artigos de cada modelo avaliado. Nesta métrica foi utilizado ranques de recomendação com 5 (cinco) artigos retornado para cada solicitação de recomendação. 4.7 Resultados Os testes foram executados nos 2 (dois) cenários de avaliação e a seguir são apresentados os resultados obtidos Resultados do Cenário I No primeiro cenário a avaliação foi dividida em 3 (três) níveis, cada nível retorna uma quantidade diferente de artigos para cada solicitação de recomendação, o primeiro nível retornou

61 RESULTADOS 5 (cinco) artigos, o segundo 10 (dez) artigos e o terceiro 15 (quize) artigos. Foram solicitadas recomendações para 10 (dez) artigos no modelo RecCloud, estas solicitações resultaram respectivamente em 50 (cinquenta), 100 (cem) e 150 (cento e cinquenta) artigos recomendados. Figura 4.1: Gráfico comparando a taxa de precisão variando a quantidade de artigos recomendados para cada ranque de recomendação gerado. A Figura 4.1, apresenta a precisão alcançada utilizando o modelo RecCloud para cada solicitação de recomendação e variando a quantidade de artigos recomendados 5 (cinco), 10 (dez) e 15 (quinze). Os resultados apresentados mostraram que as maiores taxas de precisão foram obtidas no nível 1, e o nível 3 apresentou as menores taxas de precisão. Na Figura 4.2, é apresentada uma comparação da taxa de precisão atingida por cada nível. Figura 4.2: Gráfico comparando a taxa de precisão nos 3 (níveis) de variação na quantidade de artigos recomendados. A partir dos resultados apresentados nos gráficos das Figuras 4.1 e 4.2, percebemos que a taxa de precisão obtida no nível 1 (0.68) foi maior que a taxa obtida no nível 2

62 RESULTADOS (0.46) e nível 3 (0.44), onde são recomendados 5 (cinco) artigos para cada solicitação de recomendação. Diante destes resultados, observamos que a maior parte dos artigos relevantes foram recomendados no início dos ranques. Este resultado se justifica pelo peso do critério similaridade ser superior ao peso dos demais critérios utilizados na geração das recomendações, desta forma os arquivos com maior similaridade foram recomendados no início dos ranques e os artigos que se mostraram recomendáveis, mas que não apresentaram uma alta taxa de similaridade foram recomendados no final dos ranques de recomendação. Na Figura 4.3 são apresentados os resultados da taxa de recall obtidos nesta avaliação. Figura 4.3: Gráfico comparando a taxa de recall variando a quantidade de artigos recomendados para cada ranque de recomendação gerado. A Figura 4.3, Apresenta a taxa de recall alcançada utilizando o modelo RecCloud para cada solicitação de recomendação e variando a quantidade de artigos recomendados 5 (cinco), 10 (dez) e 15 (quinze). Figura 4.4: Gráfico apresentando a comparação da taxa de recall obtida nos 3 (níveis) de variação na quantidade de artigos recomendados. Na Figura 4.4, são apresentados os resultados da taxa de recall de cada nível de variação

63 RESULTADOS na quantidade de artigos recomendados. A partir dos resultados apresentados nos gráficos das Figuras 4.3 e 4.4, percebemos que a taxa de recall obtida no nível 3 (0.42) foi maior que a taxa obtida no nível 1 (0.21) e nível 2(0.29). A partir das taxas de precisão e recall definidas calculamos a taxa F-measure. A Figura 4.5, apresenta a taxa de F-Measure alcançada para cada solicitação de recomendação e variando a quantidade de artigos recomendados. Figura 4.5: Gráfico comparando a taxa de F-Measure variando a quantidade de artigos recomendados para cada ranque de recomendação gerado. Na Figura 4.6, são apresentados os resultados da taxa F-Measure para cada nível de variação na quantidade de artigos recomendados. Figura 4.6: Gráfico apresentando a comparação da taxa de F-Measure obtida nos 3 (níveis) de variação na quantidade de artigos recomendados. A partir dos resultados apresentados nos gráficos das Figuras 4.5 e 4.6, observamos que a taxa de F-Measure obtida no nível 3 (0.42) foi maior que a taxa obtida no nível 2 (0.35) e nível 1 (0.32).

64 RESULTADOS Resultados do Cenário II No segundo cenário foram solicitadas recomendações para 10 (dez) artigos diferentes no modelo RecCloud e no modelo baseado em conteúdo do Ustore, estas solicitações resultaram em 100 (cem) artigos recomendados. Foi analisado o tempo gasto no download de cada arquivo recomendado utilizando os 5 (cinco) primeiros arquivos do ranking de recomendações retornado em cada solicitação. Para avaliação e comparação entre os modelos, o tempo gasto no download dos arquivos recomendados pelo modelo RecCloud são apresentados na Figura 4.7. Figura 4.7: Tempo gasto no download dos arquivos recomendados pelo modelo RecCloud. Na Figura 4.7 é apresentado o tempo gasto no download de 50 (cinquenta) arquivos recomendados pelo modelo RecCloud, o tempo gasto no download foi apresentando em milissegundos. O tempo médio gasto no download de um arquivo foi de 959,56 ms, variando de 410 ms a ms. A seguir, na Figura 4.8, é apresentado o tempo gasto no download dos arquivos recomendados no modelo baseado puramente em conteúdo do Ustore. Para efeitos de comparação dos resultados, foram realizadas as mesmas solicitações nos dois modelos. Na Figura 4.8 foi apresentado o tempo gasto no download de 50 (cinquenta) arquivos recomendados pelo modelo baseado em conteúdo. O tempo médio gasto no download de um arquivo foi de 1.166,42 ms, variando de 129 ms a ms. Na Figura 4.9, foi apresentada a variação do tempo gasto no download de cada arquivo recomendado pelos dois modelos em análise neste experimento. O tempo gasto no download dos arquivos foi apresentado em milissegundos. A partir dos resultados apresentados na Figura 4.9, percebe-se que no modelo RecCloud apresenta as menores taxas de download. Na Figura 4.10, foi apresentada uma comparação entre a média, o máximo e o mínimo de tempo gasto nos downloads realizados pelos modelos RecCloud e o modelo baseado em conteúdo (CB). O modelo baseado em conteúdo obteve o menor tempo gasto nos downloads,

65 RESULTADOS Figura 4.8: Tempo gasto no download dos arquivos recomendados pelo modelo baseado em conteúdo. Figura 4.9: Comparação do tempo gasto no download dos arquivos recomendados pelos dois modelos avaliados. porém, também obteve o maior tempo, enquanto o modelo RecCloud teve uma menor variação no tempo dos downloads. A partir dos resultados apresentados na Figura 4.10, pode ser afirmado que o modelo proposto nesta pesquisa proporcionou redução no tempo gasto no download das recomendações. A redução média de tempo gasto nos downloads foi de 207,06 milissegundos, o que representa uma redução de 17,8%. Está amenização aplicada a ambientes onde são realizados centenas ou até milhares de downloads por hora, pode proporcionar ganhos significativos na economia de tempo gasto em downloads de arquivos armazenados em nuvem e ao mesmo tempo recomendar conteúdo relevante aos usuários do sistema.

66 DISCUSSÃO DOS RESULTADOS Figura 4.10: Média, mínimo e máximo do tempo gasto no download das recomendações. 4.8 Discussão dos Resultados Os testes mostraram que o modelo RecCloud obteve resultados satisfatórios de acordo com os valores obtidos por BLANK; ROKACH; SHANI (2013) e ZHANG et al. (2013). Na execução da avaliação, os testes foram divididos em 3 (três) níveis, cada nível retornou uma quantidade diferente de artigos recomendados para uma solicitação de recomendação. A melhor taxa de precisão obtida foi de 0.68 no nível 1, onde foram retornados 5 (cinco) artigos para cada solicitação de recomendação, os níveis 2 e 3 obtiveram as respectivas taxas 0.46 e Diante destes resultados, podemos concluir que o nível 1 obteve melhores taxas de precisão. Os resultados obtidos na métrica de precisão foram superiores aos resultados utilizados como referência para termos de comparação. A melhor taxa de recall foi obtida no nível 3 (0.42) onde são retornados 15 (quinze) artigos para cada solicitação de recomendação. Os níveis 1 e 2 apresentaram respectivamente 0.21 e A melhor taxa de recall obtida nesta avaliação foi similar à taxa obtida no trabalho de Zhang et al. (2013). Desta forma podemos considerar como satisfatória à avaliação realizada neste trabalho. A partir das taxas de precisão e recall, calculamos a taxa de F-Measure onde obtivemos como melhor taxa o valor 0.42, este valor foi obtido no nível 3. A partir dos resultados apresentados observamos que o melhor resultado da taxa de precisão foi obtido em nível diferente do nível onde foi obtida a melhor taxa de recall, e que a maioria dos artigos relevantes recomendados estava no início dos ranques de recomendação. Este cenário se justifica pelo critério de similaridade que representa 40% de cada recomendação. Desta forma, os artigos com maiores taxas de similaridade ficaram no início dos ranques e os artigos que mesmo tendo a sua taxa de similaridade baixa se mostraram recomendáveis foram recomendados no final dos ranques de recomendação.

Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores

Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores Disciplina - Sistemas Distribuídos Prof. Andrey Halysson Lima Barbosa Aula 12 Computação em Nuvem Sumário Introdução Arquitetura Provedores

Leia mais

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer lugar e independente da plataforma, bastando para isso

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 1 Conceitos da Computação em Nuvem A computação em nuvem ou cloud computing

Leia mais

Infraestrutura: devo usar a nuvem? Prof. Artur Clayton Jovanelli

Infraestrutura: devo usar a nuvem? Prof. Artur Clayton Jovanelli Infraestrutura: devo usar a nuvem? Prof. Artur Clayton Jovanelli Conceitos principais Nuvem Local Dados (informações) Profissional Pessoal Procedimento padrão (modelo) Produzir Armazenar Como era... Como

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Cluster, Grid e computação em nuvem Slide 8 Nielsen C. Damasceno Introdução Inicialmente, os ambientes distribuídos eram formados através de um cluster. Com o avanço das tecnologias

Leia mais

Núvem Pública, Privada ou Híbrida, qual adotar?

Núvem Pública, Privada ou Híbrida, qual adotar? Instituto de Educação Tecnológica Pós-graduação Gestão e Tecnologia da Informação - Turma 25 03/04/2015 Núvem Pública, Privada ou Híbrida, qual adotar? Paulo Fernando Martins Kreppel Analista de Sistemas

Leia mais

Processos Técnicos - Aulas 4 e 5

Processos Técnicos - Aulas 4 e 5 Processos Técnicos - Aulas 4 e 5 Trabalho / PEM Tema: Frameworks Públicos Grupo: equipe do TCC Entrega: versão digital, 1ª semana de Abril (de 31/03 a 04/04), no e-mail do professor (rodrigues.yuri@yahoo.com.br)

Leia mais

Armazenamento em nuvem é feito em serviços que poderão ser acessados de diferentes lugares, a qualquer momento e utilizando diferentes dispositivos,

Armazenamento em nuvem é feito em serviços que poderão ser acessados de diferentes lugares, a qualquer momento e utilizando diferentes dispositivos, Nuvem cloud Armazenamento em nuvem é feito em serviços que poderão ser acessados de diferentes lugares, a qualquer momento e utilizando diferentes dispositivos, não havendo necessidade de armazenamento

Leia mais

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO 10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO UMA DAS GRANDES FUNÇÕES DA TECNOLOGIA É A DE FACILITAR A VIDA DO HOMEM, SEJA NA VIDA PESSOAL OU CORPORATIVA. ATRAVÉS DELA, ELE CONSEGUE

Leia mais

Introdução a Computação nas Nuvens

Introdução a Computação nas Nuvens Introdução a Computação nas Nuvens Professor: Rômulo César Dias de Andrade. E-mail: romulocesar@faculdadeguararapes.edu.br romulodandrade@gmail.com www.romulocesar.com.br PROFESSOR... Mini CV: NOME: RÔMULO

Leia mais

Instituto de Educação Tecnológica Pós-graduação Gestão em Tecnologia da Informação - Turma nº 25 08/04/2015. Computação em Nuvem

Instituto de Educação Tecnológica Pós-graduação Gestão em Tecnologia da Informação - Turma nº 25 08/04/2015. Computação em Nuvem Instituto de Educação Tecnológica Pós-graduação Gestão em Tecnologia da Informação - Turma nº 25 08/04/2015 Computação em Nuvem Carlos Henrique Barbosa Lemos RESUMO Este trabalho tem por objetivo tratar

Leia mais

Introdução à Computação

Introdução à Computação Aspectos Importantes - Desenvolvimento de Software Motivação A economia de todos países dependem do uso de software. Cada vez mais, o controle dos processos tem sido feito por software. Atualmente, os

Leia mais

ANÁLISE COMPARATIVA ENTRE APLICAÇÕES GRATUITAS EM NUVEM

ANÁLISE COMPARATIVA ENTRE APLICAÇÕES GRATUITAS EM NUVEM ANÁLISE COMPARATIVA ENTRE APLICAÇÕES GRATUITAS EM NUVEM Pedro Victor Fortunato Lima, Ricardo Ribeiro Rufino Universidade Paranaense UNIPAR Paranavaí Paraná Brasil pedrin_victor@hotmail.com, ricardo@unipar.br

Leia mais

Administração de Sistemas de Informação Gerenciais

Administração de Sistemas de Informação Gerenciais Administração de Sistemas de Informação Gerenciais UNIDADE III: Infraestrutura de Tecnologia da Informação Atualmente, a infraestrutura de TI é composta por cinco elementos principais: hardware, software,

Leia mais

Fernando Seabra Chirigati. Universidade Federal do Rio de Janeiro EEL879 - Redes de Computadores II Professores Luís Henrique Costa e Otto Duarte

Fernando Seabra Chirigati. Universidade Federal do Rio de Janeiro EEL879 - Redes de Computadores II Professores Luís Henrique Costa e Otto Duarte Fernando Seabra Chirigati Universidade Federal do Rio de Janeiro EEL879 - Redes de Computadores II Professores Luís Henrique Costa e Otto Duarte Introdução Grid x Nuvem Componentes Arquitetura Vantagens

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação Multiplexadores Permitem que vários equipamentos compartilhem um único canal de comunicação Transmissor 1 Receptor 1 Transmissor 2 Multiplexador Multiplexador Receptor 2 Transmissor 3 Receptor 3 Economia

Leia mais

Proposta de Avaliação de Empresas para o uso do SAAS

Proposta de Avaliação de Empresas para o uso do SAAS 1 INSTITUTO DE EDUCAÇÃO TECNOLÓGICA PÓS-GRADUAÇÃO Gestão e Tecnologia da Informação/ IFTI 1402 Turma 25 09 de abril de 2015 Proposta de Avaliação de Empresas para o uso do SAAS Raphael Henrique Duarte

Leia mais

Novas Tecnologias no Ensino de Física: discutindo o processo de elaboração de um blog para divulgação científica

Novas Tecnologias no Ensino de Física: discutindo o processo de elaboração de um blog para divulgação científica Novas Tecnologias no Ensino de Física: discutindo o processo de elaboração de um blog para divulgação científica Pedro Henrique SOUZA¹, Gabriel Henrique Geraldo Chaves MORAIS¹, Jessiara Garcia PEREIRA².

Leia mais

Disciplina de Banco de Dados Introdução

Disciplina de Banco de Dados Introdução Disciplina de Banco de Dados Introdução Prof. Elisa Maria Pivetta CAFW - UFSM Banco de Dados: Conceitos A empresa JJ. Gomes tem uma lista com mais ou menos 4.000 nomes de clientes bem como seus dados pessoais.

Leia mais

CLOUD. tendências CLOUD. entendendo e contratando assertivamente. Agosto/2012 INFORMATIVO TECNOLÓGICO DA PRODESP EDIÇÃO 02

CLOUD. tendências CLOUD. entendendo e contratando assertivamente. Agosto/2012 INFORMATIVO TECNOLÓGICO DA PRODESP EDIÇÃO 02 tendências CLOUD EDIÇÃO 02 Agosto/2012 CLOUD O conceito de nuvem é nebuloso Como uma organização pode contratar assertivamente Serviços em Cloud? Quais são os principais riscos de um contrato de Cloud

Leia mais

Segurança da Informação

Segurança da Informação INF 108 Segurança da Informação Computação em Nuvem Prof. João Henrique Kleinschmidt Introdução Centralização do processamento Surgimento da Teleinformática Década de 60 Execução de programas localmente

Leia mais

No mundo atual, globalizado e competitivo, as organizações têm buscado cada vez mais, meios de se destacar no mercado. Uma estratégia para o

No mundo atual, globalizado e competitivo, as organizações têm buscado cada vez mais, meios de se destacar no mercado. Uma estratégia para o DATABASE MARKETING No mundo atual, globalizado e competitivo, as organizações têm buscado cada vez mais, meios de se destacar no mercado. Uma estratégia para o empresário obter sucesso em seu negócio é

Leia mais

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador> FACULDADE DE ENGENHARIA DE COMPUTAÇÃO PROJETO FINAL I e II PLANO DE TRABALHO O Trabalho de Conclusão de Curso (TCC) a ser desenvolvido

Leia mais

COMPUTADORES NAS EMPRESAS Cloud Computing Prof. Reginaldo Brito

COMPUTADORES NAS EMPRESAS Cloud Computing Prof. Reginaldo Brito COMPUTADORES NAS EMPRESAS Prof. Reginaldo Brito Os computadores são essenciais para enfrentar o desafio da concorrência global, na qual as empresas precisam ser eficientes e ágeis e tem de produzir produtos

Leia mais

Relatório de Progresso

Relatório de Progresso Luís Filipe Félix Martins Relatório de Progresso Mestrado Integrado em Engenharia Electrotécnica e de Computadores Preparação para a Dissertação Índice Introdução... 2 Motivação... 2 Cloud Computing (Computação

Leia mais

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Cruzeiro SP 2008 FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Projeto de trabalho de formatura como requisito

Leia mais

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior MRP II Introdução A lógica de cálculo das necessidades é conhecida há muito tempo Porém só pode ser utilizada na prática em situações mais complexas a partir dos anos 60 A partir de meados da década de

Leia mais

Escolha seu serviço Cloud O melhor do Cloud

Escolha seu serviço Cloud O melhor do Cloud Escolha seu serviço Cloud O melhor do Cloud CAPA Comparamos os melhores serviços de Cloud Computing do Brasil em três categorias de ofertas. Leia e descubra qual é o mais adequado para suas necessidades.

Leia mais

ADM041 / EPR806 Sistemas de Informação

ADM041 / EPR806 Sistemas de Informação ADM041 / EPR806 Sistemas de Informação UNIFEI Universidade Federal de Itajubá Prof. Dr. Alexandre Ferreira de Pinho 1 Sistemas de Apoio à Decisão (SAD) Tipos de SAD Orientados por modelos: Criação de diferentes

Leia mais

Computação em Nuvem. Alunos: Allan e Clayton

Computação em Nuvem. Alunos: Allan e Clayton Computação em Nuvem Alunos: Allan e Clayton 1 - Introdução 2 - Como Funciona? 3 - Sistemas Operacionais na Nuvem 4 - Empresas e a Computação em Nuvem 5 - Segurança da Informação na Nuvem 6 - Dicas de Segurança

Leia mais

GIS Cloud na Prática. Fabiano Cucolo 26/08/2015

GIS Cloud na Prática. Fabiano Cucolo 26/08/2015 GIS Cloud na Prática Fabiano Cucolo 26/08/2015 Um pouco sobre o palestrante Fabiano Cucolo fabiano@soloverdi.com.br 11-98266-0244 (WhatsApp) Consultor de Geotecnologias Soloverdi Engenharia www.soloverdi.com.br.

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

Instituto de Educação Tecnológica Pós-graduação Gestão e Tecnologia da Informação - Turma 25 20/03/2015. Big Data Analytics:

Instituto de Educação Tecnológica Pós-graduação Gestão e Tecnologia da Informação - Turma 25 20/03/2015. Big Data Analytics: Instituto de Educação Tecnológica Pós-graduação Gestão e Tecnologia da Informação - Turma 25 20/03/2015 Big Data Analytics: Como melhorar a experiência do seu cliente Anderson Adriano de Freitas RESUMO

Leia mais

Solitaire Interglobal

Solitaire Interglobal Solitaire Interglobal POWERLINUX OU WINDOWS PARA IMPLANTAÇÃO SAP Escolher entre as plataformas concorrentes de sistema operacional Linux e Windows para SAP pode ser uma tarefa confusa para as organizações.

Leia mais

ÍNDICE O QUE É... 2 COMO FUNCIONA... 3. Acervo... 3. Meus Livros... 4. Livros em destaque... 7. Fórum... 7. Notícias... 8. Ajuda... 9. Suporte...

ÍNDICE O QUE É... 2 COMO FUNCIONA... 3. Acervo... 3. Meus Livros... 4. Livros em destaque... 7. Fórum... 7. Notícias... 8. Ajuda... 9. Suporte... ÍNDICE O QUE É... 2 COMO FUNCIONA... 3 Acervo... 3 Meus Livros... 4 Livros em destaque... 7 Fórum... 7 Notícias... 8 Ajuda... 9 Suporte... 9 POR QUE USAR... 10 EQUIPE RESPONSÁVEL... 12 CONTATO... 13 O

Leia mais

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA Muitas organizações terceirizam o transporte das chamadas em seus call-centers, dependendo inteiramente

Leia mais

METODOLOGIA PARA ANÁLISE DE DESEMPENHO

METODOLOGIA PARA ANÁLISE DE DESEMPENHO UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA METODOLOGIA PARA ANÁLISE DE DESEMPENHO DE SISTEMAS DE TRANSFERÊNCIA ELETRÔNICA DE FUNDOS PROPOSTA DE TRABALHO

Leia mais

Soluções em. Cloud Computing. Midia Indoor. para

Soluções em. Cloud Computing. Midia Indoor. para Soluções em Cloud Computing para Midia Indoor Resumo executivo A Midia Indoor chegou até a Under buscando uma hospedagem para seu site e evoluiu posteriormente para uma solução cloud ampliada. A empresa

Leia mais

Firewall. Alunos: Hélio Cândido Andersson Sales

Firewall. Alunos: Hélio Cândido Andersson Sales Firewall Alunos: Hélio Cândido Andersson Sales O que é Firewall? Firewall pode ser definido como uma barreira de proteção, que controla o tráfego de dados entre seu computador e a Internet (ou entre a

Leia mais

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM Rogério Schueroff Vandresen¹, Willian Barbosa Magalhães¹ ¹Universidade Paranaense(UNIPAR) Paranavaí-PR-Brasil rogeriovandresen@gmail.com, wmagalhaes@unipar.br

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

Planejamento Estratégico de TI. Felipe Pontes felipe.pontes@gmail.com

Planejamento Estratégico de TI. Felipe Pontes felipe.pontes@gmail.com Planejamento Estratégico de TI Felipe Pontes felipe.pontes@gmail.com VPN Virtual Private Network Permite acesso aos recursos computacionais da empresa via Internet de forma segura Conexão criptografada

Leia mais

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP 1 INTRODUÇÃO Devido ao crescimento da Internet, tanto do ponto de vista do número de usuários como o de serviços oferecidos, e o rápido progresso da tecnologia de comunicação sem fio (wireless), tem se

Leia mais

Thalita Moraes PPGI Novembro 2007

Thalita Moraes PPGI Novembro 2007 Thalita Moraes PPGI Novembro 2007 A capacidade dos portais corporativos em capturar, organizar e compartilhar informação e conhecimento explícito é interessante especialmente para empresas intensivas

Leia mais

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Versão 1.6 15/08/2013 Visão Resumida Data Criação 15/08/2013 Versão Documento 1.6 Projeto Responsáveis

Leia mais

PARANÁ GOVERNO DO ESTADO

PARANÁ GOVERNO DO ESTADO A COMUNICAÇÃO NA INTERNET PROTOCOLO TCP/IP Para tentar facilitar o entendimento de como se dá a comunicação na Internet, vamos começar contando uma história para fazer uma analogia. Era uma vez, um estrangeiro

Leia mais

Simple Storage. Storage Orientado ao objeto: Armazenamento de arquivos com a segurança e a economia que sua empresa precisa

Simple Storage. Storage Orientado ao objeto: Armazenamento de arquivos com a segurança e a economia que sua empresa precisa Simple Storage Storage Orientado ao objeto: Armazenamento de arquivos com a segurança e a economia que sua empresa precisa Simple Storage Storage Orientado ao objeto: Armazenamento de arquivos com a segurança

Leia mais

Participação Critérios de participação - Elegibilidade Procedimento para participar da chamada: Número de propostas/aplicações

Participação Critérios de participação - Elegibilidade Procedimento para participar da chamada: Número de propostas/aplicações Campanha Mundial "Construindo Cidades Resilientes: Minha cidade está se preparando! Plataforma Temática sobre Risco Urbano nas Américas Chamada sobre boas práticas e inovação no uso de Sistemas de Informação

Leia mais

Computação nas Nuvens

Computação nas Nuvens Computação nas Nuvens TÓPICOS Introdução Internet: O fundamento principal O que é Computação em Nuvens Vantagens Dúvidas Corrida pela tecnologia Trabalhos Futuros Conclusão Referências 2 TÓPICOS Introdução

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

Apresentação. Vitae Tec Tecnologia a Serviço da Vida!

Apresentação. Vitae Tec Tecnologia a Serviço da Vida! Apresentação Vitae Tec Tecnologia a Serviço da Vida! A Vitae Tec A Vitae Tec é uma empresa de tecnologia que tem como missão oferecer serviços e produtos adequados às necessidades do cliente - pessoa física

Leia mais

Gestão do Conhecimento A Chave para o Sucesso Empresarial. José Renato Sátiro Santiago Jr.

Gestão do Conhecimento A Chave para o Sucesso Empresarial. José Renato Sátiro Santiago Jr. A Chave para o Sucesso Empresarial José Renato Sátiro Santiago Jr. Capítulo 1 O Novo Cenário Corporativo O cenário organizacional, sem dúvida alguma, sofreu muitas alterações nos últimos anos. Estas mudanças

Leia mais

ABCEducatio entrevista Sílvio Bock

ABCEducatio entrevista Sílvio Bock ABCEducatio entrevista Sílvio Bock Escolher uma profissão é fazer um projeto de futuro A entrada do segundo semestre sempre é marcada por uma grande preocupação para todos os alunos que estão terminando

Leia mais

João Víctor Rocon Maia Engenharia de Computação - UFES

João Víctor Rocon Maia Engenharia de Computação - UFES João Víctor Rocon Maia Engenharia de Computação - UFES Agenda Quem usa? Conceito Ilustração Vantagens Tipologia Topologia Como fazer? O que é preciso? Infraestrutura Sistema Operacional Software Eucalyptus

Leia mais

Alexandre Malveira, Wolflan Camilo

Alexandre Malveira, Wolflan Camilo Alexandre Malveira, Wolflan Camilo Introdução Cloud Computing Computação Móvel SaaS, PaaS e IaaS CloudBees Diariamente arquivos são acessados, informações dos mais variados tipos são armazenadas e ferramentas

Leia mais

Introdução ao EBSCOhost 2.0

Introdução ao EBSCOhost 2.0 Introdução ao EBSCOhost 2.0 Tutorial support.ebsco.com O que é? O EBSCO Host é um poderoso sistema de referência on-line acessível através da Internet, e oferece uma variedade de bases de dados de texto

Leia mais

DAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial

DAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial DAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial Aluno: André Faria Ruaro Professores: Jomi F. Hubner e Ricardo J. Rabelo 29/11/2013 1. Introdução e Motivação 2.

Leia mais

Programa de Pós-Graduação em Comunicação e Cultura Contemporâneas. Grupo de Pesquisa em Interação, Tecnologias Digitais e Sociedade - GITS

Programa de Pós-Graduação em Comunicação e Cultura Contemporâneas. Grupo de Pesquisa em Interação, Tecnologias Digitais e Sociedade - GITS Universidade Federal da Bahia Programa de Pós-Graduação em Comunicação e Cultura Contemporâneas Grupo de Pesquisa em Interação, Tecnologias Digitais e Sociedade - GITS Reunião de 18 de junho de 2010 Resumo

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Comunicação coletiva Modelo Peer-to-Peer Slide 6 Nielsen C. Damasceno Introdução Os modelos anteriores eram realizado entre duas partes: Cliente e Servidor. Com RPC e RMI não é possível

Leia mais

Plataformas de BI Qual é a mais adequada para o meu negócio?

Plataformas de BI Qual é a mais adequada para o meu negócio? Plataformas de BI Qual é a mais adequada para o meu negócio? Comparativo prático para escolher a ferramenta perfeita para a sua empresa Faça nosso Quiz e veja as opções que combinam com o seu perfil ÍNDICE

Leia mais

Mídias sociais como apoio aos negócios B2C

Mídias sociais como apoio aos negócios B2C Mídias sociais como apoio aos negócios B2C A tecnologia e a informação caminham paralelas à globalização. No mercado atual é simples interagir, aproximar pessoas, expandir e aperfeiçoar os negócios dentro

Leia mais

Fundamentos de Sistemas de Informação Sistemas de Informação

Fundamentos de Sistemas de Informação Sistemas de Informação Objetivo da Aula Tecnologia e as Organizações, importância dos sistemas de informação e níveis de atuação dos sistemas de informação Organizações & Tecnologia TECNOLOGIA A razão e a capacidade do homem

Leia mais

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição? Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor remoto esteja associado. 2. Estabelecer

Leia mais

Computação em Nuvens. Professor: Dr. Rogério Vargas 2015/1

Computação em Nuvens. Professor: Dr. Rogério Vargas 2015/1 Computação em Nuvens Professor: Dr. Rogério Vargas 2015/1 Referências Material gentilmente cedido pela professora Fabiane Penteado Galafassi 2 O que é Computação em Nuvens? O conceito Quando se fala em

Leia mais

Admistração de Redes de Computadores (ARC)

Admistração de Redes de Computadores (ARC) Admistração de Redes de Computadores (ARC) Instituto Federal de Educação, Ciência e Tecnologia de Santa Catarina - Campus São José Prof. Glauco Cardozo glauco.cardozo@ifsc.edu.br RAID é a sigla para Redundant

Leia mais

Uma aplicacação de privacidade no gerenciamento de identidades em nuvem com uapprove

Uma aplicacação de privacidade no gerenciamento de identidades em nuvem com uapprove Uma aplicacação de privacidade no gerenciamento de identidades em nuvem com uapprove Daniel Ricardo dos Santos Universidade Federal de Santa Catarina 10 de novembro de 2011 Agenda 1 Introdução 2 Identidade

Leia mais

Rivolta Cloud Backup

Rivolta Cloud Backup Rivolta Cloud Backup Apresentação O que é o cloud backup? Cloud backup ou backup na nuvem é a forma mais economica e segura de manter as informações da sua empresa segura e sempre atualizada, caso haja

Leia mais

Profissionais de Alta Performance

Profissionais de Alta Performance Profissionais de Alta Performance As transformações pelas quais o mundo passa exigem novos posicionamentos em todas as áreas e em especial na educação. A transferência pura simples de dados ou informações

Leia mais

COMPUTAÇÃO EM NUVEM: UM FUTURO PRESENTE

COMPUTAÇÃO EM NUVEM: UM FUTURO PRESENTE COMPUTAÇÃO EM NUVEM: UM FUTURO PRESENTE Andressa T.R. Fenilli 1, Késsia R.C.Marchi 1 1 Universidade Paranaense (UNIPAR) Paranavaí PR Brasil andressa.trf@gmail.com, kessia@unipar.br Resumo. Computação em

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

TRIBUTAÇÃO NA NUVEM. Tax Friday 21 de outubro de 2011 AMCHAM - RJ

TRIBUTAÇÃO NA NUVEM. Tax Friday 21 de outubro de 2011 AMCHAM - RJ TRIBUTAÇÃO NA NUVEM Tax Friday 21 de outubro de 2011 AMCHAM - RJ PROGRAMA 1. INTRODUÇÃO À COMPUTAÇÃO EM NUVEM CONCEITOS APLICÁVEIS 2. PRINCIPAIS OPERAÇÕES E ASPECTOS TRIBUTÁRIOS POLÊMICOS INTRODUÇÃO À

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS VINICIUS DA SILVEIRA SEGALIN FLORIANÓPOLIS OUTUBRO/2013 Sumário

Leia mais

Software livre: solução ou problema? Autores: Prates, C. F., Souza, C. H. F. B., Castro, C. V., Vilela, D. R. G., Almeida, N. M

Software livre: solução ou problema? Autores: Prates, C. F., Souza, C. H. F. B., Castro, C. V., Vilela, D. R. G., Almeida, N. M Software livre: solução ou problema? Autores: Prates, C. F., Souza, C. H. F. B., Castro, C. V., Vilela, D. R. G., Almeida, N. M Resumo Quando o tema da discussão são softwares livres, é possível perceber

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

PÚBLICA, PRIVADA OU HÍBRIDA: QUAL É A MELHOR NUVEM PARA SEUS APLICATIVOS?

PÚBLICA, PRIVADA OU HÍBRIDA: QUAL É A MELHOR NUVEM PARA SEUS APLICATIVOS? PÚBLICA, PRIVADA OU HÍBRIDA: QUAL É A MELHOR NUVEM PARA SEUS APLICATIVOS? As ofertas de nuvem pública proliferaram, e a nuvem privada se popularizou. Agora, é uma questão de como aproveitar o potencial

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 1 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Apresenta a diferença entre dado e informação e a importância

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

Leia mais

Virtualização de Sistemas Operacionais

Virtualização de Sistemas Operacionais Virtualização de Sistemas Operacionais Felipe Antonio de Sousa 1, Júlio César Pereira 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil felipeantoniodesousa@gmail.com, juliocesarp@unipar.br Resumo.

Leia mais

Perícia forense computacional aplicada a dispositivos de armazenamento e smartphones android

Perícia forense computacional aplicada a dispositivos de armazenamento e smartphones android Perícia forense computacional aplicada a dispositivos de armazenamento e smartphones android Raphael Pinheiro Afonso 1 ; Elvio Gilberto da Silva 1 ; Patrick Pedreira Silva 1 ; Henrique Pachioni Martins

Leia mais

Profs. Deja e Andrei

Profs. Deja e Andrei Disciplina Sistemas Distribuídos e de Tempo Real Profs. Deja e Andrei Sistemas Distribuídos 1 Conceitos e Projetos de Sistemas Distribuídos Objetivos: Apresentar uma visão geral de processamento distribuído,

Leia mais

IW10. Rev.: 02. Especificações Técnicas

IW10. Rev.: 02. Especificações Técnicas IW10 Rev.: 02 Especificações Técnicas Sumário 1. INTRODUÇÃO... 1 2. COMPOSIÇÃO DO IW10... 2 2.1 Placa Principal... 2 2.2 Módulos de Sensores... 5 3. APLICAÇÕES... 6 3.1 Monitoramento Local... 7 3.2 Monitoramento

Leia mais

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: edmar.moretti@terra.com.br ou edmar.moretti@gmail.com

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: edmar.moretti@terra.com.br ou edmar.moretti@gmail.com III Jornada Latinoamericana e do Caribe do gvsig Artigo: Integração do software i3geo com o gvsig Autor: Edmar Moretti Resumo: O i3geo é um software para a criação de mapas interativos para internet qu

Leia mais

Sugestão de Roteiro para Elaboração de Monografia de TCC

Sugestão de Roteiro para Elaboração de Monografia de TCC Sugestão de Roteiro para Elaboração de Monografia de TCC Sugerimos, para elaborar a monografia de TCC (Trabalho de Conclusão de Curso), que o aluno leia atentamente essas instruções. Fundamentalmente,

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

INSTITUTO FLORENCE DE ENSINO COORDENAÇÃO DE PÓS-GRADUAÇÃO CURSO DE PÓS-GRADUAÇÃO EM (TÍTULO DO PROJETO) Acadêmico: Orientador:

INSTITUTO FLORENCE DE ENSINO COORDENAÇÃO DE PÓS-GRADUAÇÃO CURSO DE PÓS-GRADUAÇÃO EM (TÍTULO DO PROJETO) Acadêmico: Orientador: INSTITUTO FLORENCE DE ENSINO COORDENAÇÃO DE PÓS-GRADUAÇÃO CURSO DE PÓS-GRADUAÇÃO EM (TÍTULO DO PROJETO) Acadêmico: Orientador: São Luis 2015 (TÍTULO DO PROJETO) (NOME DO ALUNO) Projeto de Pesquisa do Programa

Leia mais

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO Intranets FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO As intranets são redes internas às organizações que usam as tecnologias utilizadas na rede mundial

Leia mais

GT Computação Colaborativa (P2P)

GT Computação Colaborativa (P2P) GT Computação Colaborativa (P2P) Djamel Sadok Julho de 2003 Este documento tem como objetivo descrever o projeto de estruturação do grupo de trabalho GT Computação Colaborativa (P2P), responsável pelo

Leia mais

Anexo I Formulário para Proposta

Anexo I Formulário para Proposta PLATAFORMA CGI.br Solicitação de Propostas SP Anexo I Formulário para Proposta Data: 05/07/2013 Versão: 1.1 Plataforma CGI.br Solicitação de Propostas - SP Anexo I Formulário para Proposta 1. Estrutura

Leia mais