informação enviada (ex. Facebook) ou que a rede social utilize essa informação para sugerir locais de interesse próximos ao usuário (ex. Foursquare).

Documentos relacionados
5 Proposta de Integração com as Redes Sociais Pervasivas

Desenvolvedor Android: Avançado. Plano de Estudo

Soluções IoT Inovadoras Plataforma Link IoT

De Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software

Automação do tráfego de veículos: sistema de busca de caminho de menor custo entre dois pontos

Curso online de Fundamentos em Android. Plano de Estudo

Desenvolvimento de Aplicações Distribuídas

Sistemas Distribuídos

Victor Pantoja. Um Framework para Integração entre Aplicações Móveis e Redes Sociais. Dissertação de Mestrado

Aplicativo Android baseado em realidade aumentada para recomendações de locais. Acadêmico Bruno Kewitz Demarchi Orientador Marcel Hugo

Componente de aplicação. Figura 1 - Elementos funcionais de uma aplicação sendo executados de forma distribuída

Introdução a Sistemas Distribuídos

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA:

Definição IHC. Disciplina ou campo de estudo interessada no design, implementação e avaliação de sistemas computacionais interativos para uso humano.

Sistemas Distribuídos

Caracterização de Sistemas Distribuídos

FURBMOBILE: UMA APLICAÇÃO PARA VISUALIZAÇÃO E ACOMPANHAMENTO DA MATRIZ CURRICULAR

Curso online de Aplicações. Híbridas. Plano de Estudo

1 Introdução Introdução

Arquitetura de Serviços na Embrapa, viabilização da integração de informações eletrônicas de UDs e UCs. 12 de agosto de 2014 Fernando Chagas Santos

Bancos de Dados Orientados a Grafos. Mateus Lana e Thiago Santana

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 02: INTRODUÇÃO

SOLUÇÕES EM MAPAS INTELIGÊNCIA GEOGRÁFICA

SFA Android. Apresentação inicial do produto e principais características. Projeto Android. Baseado na Release Versão 3.

SISTEMAS DISTRIBUÍDOS

Um estudo sobre localização de serviços sensíveis ao contexto para Televisão Digital Móvel

Os Dados Pessoais são coletados para os seguintes propósitos e usando os seguintes serviços: POLÍTICA DE PRIVACIDADE COMPLETA

Criação de Aplicações móveis para Empresas. Os seus clientes são móveis? E a sua empresa?

Marketing Digital Administração de Redes Sociais

HYPERLOCAL GEOTARGETING

BOOK DE PRODUTOS FACEBOOK

Considerações Iniciais

FIGURA 59 Interação entre componentes da plataforma CrystalWalk. Fonte: do autor.

POLÍTICA DE PRIVACIDADE

CAPÍTULO 1 INTRODUÇÃO

Serviços Integrados: Segmentos de mercado. Cobrança Pagamentos Folha de Pagamento Débito Automático Extrato Eletrônico

Manual do Aluno e Tutor. Conferência Web.

Introdução a Computação em Nuvem

TELEFONIA IP E COMUNICAÇÕES UNIFICADAS

Projeto. Observatório Nacional de Clima e Saúde

Manual de Orientações do Curso do SEI

SISTEMA OPERACIONAL - ANDROID

SISTEMA PARA PREVER A CHEGADA DE ÔNIBUS NOS PONTOS DE PARADA Felipe Saraiva da Costa¹, André Castelo Branco Soares².

APLICANDO A INTEGRAÇÃO DE PORTAIS EDUCACIONAIS COM APLICAÇÕES MÓVEIS ATRAVÉS DA INFRAESTRUTURA SAAS-RD.

O que é um sistema distribuído?

Curso Online de E-commerce. Plano de Estudo

Iago Felipe Schmitt Prof. Jacques Robert Heckmann, Orientador

LAUDO DE ANÁLISE DA PROVA DE CONCEITO

GRUPO OITAVA BRASIL. Soluções Corporativas e Propaganda

VENDA ASSISTIDA NOS TEMPOS DA NOVA GERAÇÃO DE CONSUMIDORES. Maio/16

Introdução Introdução

Na página inicial há um campo de busca para pesquisar todo conteúdo do site.

Criação de Páginas Web MÓDULO 3

Histórico de alterações

Computação móvel na nuvem Grover E. Castro Guzman Computação Móvel MAC5743 IME-USP

MIDDLEWARE PARA A COMUNICAÇÃO DE DADOS ENTRE SISTEMAS DISTRIBUÍDOS COM WS SECURITY. CAIO RENAN HOBUS Orientador: Jhony Alceu Pereira

Em nossos sites, as informações são coletadas das seguintes formas:

POLÍTICA DE PRIVACIDADE

Arquitetura de sistemas distribuídos

Aula 05. Infraestrutura de TI: hardware e software Pearson. Todos os direitos reservados.

6 Ferramenta para a Especialização de Mecanismos de Persistência

Barramento. Prof. Leonardo Barreto Campos 1

10º ENTEC Encontro de Tecnologia: 28 de novembro a 3 de dezembro de 2016 ESTUDO VIRTUAL: AMBIENTE DE ENSINO E APRENDIZAGEM ONLINE

Evolução Histórica das Redes de Computadores

Janeiro/2018 MÍDIA KIT. Tráfego e audiência. cosmos.bluesoft.com.br

gráficos Indispensáveis para qualquer gerente de mídias sociais Andy Cotgreave Gerente de Conteúdo Social

1 Novo campo no modulo de transferência bancaria (Painel Administrativo)

Aula 09. Módulos de Entrada e Saída

POLÍTICA DE PRIVACIDADE. Políticas. Resumo Detalhamento da Política de Privacidade ao utilizar a Plataforma de Aplicações TASKED

COMPUTAÇÃO PARALELA E DISTRIBUÍDA

Desenvolvimento de Aplicações Distribuídas

Manual de instalação, configuração e utilização do Enviador XML

01. Sobre Camaleo O QUE É CARACTERÍSTICAS

Barber Show App. Manual da Barbearia v

FRAMEWORK PARA GERENCIAMENTO E DISPONIBILIZAÇÃO DE INFORMAÇÕES MULTIMÍDIA GEOLOCALIZADAS NA PLATAFORMA ANDROID

Sistemas Distribuídos

Introdução. Aplicação Android

Avanços e Perspectivas do Projeto Integrade na UFMA

O seu cliente é móvel, você precisa estar preparado. Um produto

A solução cloud mais eficiente para administrar as equipes de trabalho móveis

4 Arquitetura Adotada

Redes de Computadores

Computação em nuvem (Cloud Computing)

GERENCIADOR DE REDE NTOP

Desenvolvimento de Aplicações Distribuídas

Principais Funcionalidades

SOFTWARE DE GESTÃO DE CENTROS ESPORTIVOS A SOLUÇAO MAIS COMPLETA PARA VOCÊ E SEUS USUÁRIOS

Aprendizagem utilizando Dispositivos Móveis com Sistemas de Realidade Virtual

Biografia Resumida. Mestre em Engenharia de Computação (Poli- USP). Consultor e Líder de Projetos da Visiotech Ltda.

Portal Inteligente Senior TI Baseado em Data Webhouse

Quando Distribuir é bom

CCT0023 INFRAESTRUTURA DE REDES DE COMPUTADORES Aula 10: Topologia Hierárquica

4. Rede de Computador. Redes de computadores e suas infraestruturas

CRIAÇÃO DE UM APLICATIVO DA USESKILL PARA O AMBIENTE MOBILE

Korreio: solução integrada para a administração de sistemas de correio eletrônico baseada em software livre

Quando Distribuir é bom

Introdução a Computação em Nuvem

Transcrição:

1 Introdução 1.1 Contextualização Recentemente, tem-se percebido um movimento de integração de comunidades físicas e comunidades virtuais. As pessoas utilizam cada vez mais a Internet para se comunicar e encontrar novos amigos ou relacionamentos afetivos através de sites que promovem a formação de comunidades. O Facebook, por exemplo, possui mais de 845 milhões de usuários ativos e está disponível em mais de 70 idiomas (1). Enquanto isso, a popularização dos dispositivos móveis e o aumento de sua capacidade de processamento, armazenamento e sensoriamento trouxeram esse mesmo movimento para o mundo móvel. Nesse processo de migração, os dispositivos móveis são utilizados como plataformas de acesso às comunidades virtuais estimulando o surgimento de aplicações móveis capazes de interagir com diversas redes sociais. Tais aplicações podem auxiliar as pessoas a manterem contato entre si em qualquer lugar, a qualquer momento, e também prover recomendações em tempo real sobre pessoas, lugares e eventos ou até mesmo entregar conteúdo personalizado em função do contexto geo-social. Um conteúdo personalizado pode ser, por exemplo, uma propaganda de uma loja próxima ao local em que o usuário está e que não seria veiculada se o usuário estivesse em um local mais distante. As informações do usuário na rede social podem dizer muito sobre o ambiente em que ele se encontra e são definidas como o seu contexto social. Além disso, as informações extraídas dos sensores de seu dispositivo móvel, como a localização via GPS, formam o seu contexto pervasivo. Ambos os tipos de contexto serão explicados na seção 2.2. Nesse sentido, as Redes Sociais Pervasivas (RSP) representam um novo paradigma da computação distribuída derivado da convergência da Computação Pervasiva com as redes sociais como o Facebook, Orkut e Twitter (4), que se tornaram bastante populares nos últimos anos. Elas combinam o contexto social e o contexto pervasivo do usuário e permitem, por exemplo, que a localização do usuário seja exibida junto com a

Capítulo 1. Introdução 13 informação enviada (ex. Facebook) ou que a rede social utilize essa informação para sugerir locais de interesse próximos ao usuário (ex. Foursquare). A seção 3.1 caracteriza com maior profundidade as redes sociais pervasivas. O aumento do conteúdo pervasivo disponível para consumo na Internet como um todo e, principalmente, nas redes sociais propicia o surgimento de novas aplicações pervasivas em diversas áreas como economia (novos negócios baseados em distribuição desse conteúdo) até entretenimento (2). Apesar de diversas aplicações e middlewares móveis terem sido concebidos para interagir com as redes sociais, os desafios encontrados pelos Mobile Social Softwares (MoSoSo) são muitos (3). Um deles, identificado por Endler et al (5) diz respeito à falta de um padrão de comunicação com as redes sociais, apesar de alguns esforços neste sentido, como o OpenSocial (6). Cada rede social fornece sua própria API (Application Programming Interface) com padrões diferentes para acessos aos dados, apresentados no capítulo 3. Outro desafio que este trabalho pretende resolver trata da quantidade trafegada de informações, muitas vezes desnecessárias, entre o dispositivo móvel e os serviços disponíveis na Internet (redes sociais, APIs etc) e, consequentemente, um maior consumo de banda wireless e de energia do dispositivo para processar esses dados. Um exemplo concreto deste problema é o volume de dados transmitidos ao acessar a API de mapas do Google a partir de um dispositivo móvel (7). Uma aplicação cliente móvel que necessite apenas da distância entre dois pontos, ao consultar este serviço, terá como resposta um XML ou JSON contendo, além da distância desejada, a rota entre esses pontos. Neste caso, um web service poderia fazer a ponte entre a API e a aplicação e só repassar o que fosse realmente relevante, diminuindo consideravelmente o volume de dados da resposta recebida pela aplicação e, consequentemente, o processamento. Além disso, boa parte das soluções existentes ainda exploram muito pouco o potencial pervasivo das redes sociais. Essas aplicações geralmente enviam dados de contexto social para as redes sociais e obtém os contatos do usuário para, por exemplo, sugerir novas amizades. Porém, não aproveitam o caráter dinâmico dessas redes, que podem fornecer muitas informações úteis tais como a intenção de deslocamento de um usuário. A coleta e o envio de informacões de contexto para a rede social, possibilita uma grande gama de aplicações sociais nas quais a posição, o padrão de movimentação e outros dados sensoriais do usuário podem ser processados para facilitar as interações sociais. Uma atualização de status no Twitter, por exemplo, pode revelar não apenas a posição geográfica do usuário mas também sua velocidade de deslocamento através da marcação de posição associada a dois posts

Capítulo 1. Introdução 14 seguidos enviados em um curto espaço de tempo e, então, do cálculo simples da distância percorrida. A partir do contexto velocidade, uma aplicação poderia, por exemplo, deduzir as condições do tráfego: um deslocamento em baixa velocidade poderia sugerir que o usuário está em um congestionamento. O CenseMe (24) é um exemplo de aplicação social pervasiva que utiliza informações de contexto pervasivo obtidas do smartphone dos usuários para inferir se o usuário está em uma festa ou uma reunião e, então, enviar essas informações para a rede social. No capítulo 4, serão descritas algumas soluções que tentam resolver questões inerentes ao compartilhamento de informações e que envolvem tanto a concepção de um cliente móvel quanto de um serviço web para realizar a integração da aplicação móvel com as redes sociais ou para realizar o processamento centralizado das informações. Elas não tratam de algumas questões que este trabalho pretende resolver tais como conhecimento do status em tempo real do usuário nas redes sociais e a utilização das informações sobre os usuários (perfis) disponíveis nessas mesmas redes. A primeira questão trata da obtenção da última atualização de status do usuário e, a partir disso, inferir um contexto social que não seria possível obter de outra forma como, por exemplo, o desejo do usuário ir a um determinado local. Essa informação, provavelmente, não consta no perfil do usuário, apenas no seu post. O usuário poderia escrever no Twitter que deseja ir para um certo restaurante e, pelo nome do estabelecimento, receber informações sobre ele, como o endereço, o telefone e até mesmo o cardápio. A segunda questão refere-se à utilização das informações existentes no perfil do usuário e criadas por ele próprio, sem a necessidade de uma inferência, para a entrega de um conteúdo adaptado. Um uso real dessas informações poderia ser em campanhas de web marketing de um novo produto esportivo que poderiam ser direcionadas apenas para usuários que praticassem esporte, o que poderia aumentar o número de cliques nos links da campanha. Da mesma forma, um serviço de previsão do tempo poderia utilizar a informação de localização do usuário para mostrar o clima previsto para a região próxima. A performance da arquitetura concebida também é uma questão que deve ser levada em consideração na concepção de serviços de uma rede social pervasiva. Ela deve garantir um tempo de resposta adequado às necessidades do usuário e suportar um grande volume de tráfego de dados entre os dispositivos móveis e as redes sociais. Dessa forma, a tecnologia e a arquitetura utilizadas devem garantir a performance e a escalabilidade do serviço, assunto abordado na seção 6.3.

Capítulo 1. Introdução 15 1.2 Objetivos O objetivo deste trabalho é o estudo de redes sociais pervasivas e a implementação de um framework extensível e escalável que facilite o desenvolvimento de aplicações sociais móveis através de uma interface genérica para a transferência otimizada de informações de contexto social e pervasivo entre dispositivos móveis e diferentes redes sociais. Esta interface deve ser extensível de modo a facilitar a integração com novas redes sociais e a adição de novos filtros ou módulos de processamento das informações de contexto enviadas pelo dispositivo móvel (seção 6.8) sem que o desenvolvedor da aplicação social móvel precise conhecer a API específica das diferentes redes sociais. O framework possuirá uma camada de serviços REST (API) que irá expor os dados de contexto recebidos permitindo que outras aplicações os processem. Essa camada também permitirá que o framework seja utilizado como base de uma arquitetura para distribuição de contexto permitindo que aplicações sociais móveis de terceiros sejam construídas com menos esforço uma vez que a integração com novas redes sociais será gerenciada pelo framework. Dessa forma, as informações de contexto serão enviadas para as redes sem que a aplicação precise conhecer os protocolos de comunicação específicos de cada uma delas e, no sentido inverso, as informações serão capturadas nas redes sociais mais facilmente. 1.3 Organização da Dissertação Esta dissertação está dividida da seguinte forma: no capítulo 2, são apresentados os conceitos fundamentais para a compreensão do trabalho; no capítulo 3, são discutidos os protocolos das APIs das principais redes sociais e que tipos de informações de contexto podem ser extraídas dessas redes; no capítulo 4, são relacionados alguns trabalhos que buscaram resolver as questões apresentadas na motivação deste trabalho e suas limitações segundo critérios estabelecidos; no capítulo 5 é apresentada a abordagem utilizada nesta dissertação para a integração com as redes sociais; no capítulo 6 são apresentadas e discutidas as principais tecnologias utilizadas na implementação da arquitetura;

Capítulo 1. Introdução 16 o capítulo 7 demonstra como o framework pode ser utilizado e apresenta duas aplicações sociais desenvolvidas para a plataforma Android com a finalidade de validar a arquitetura; no capítulo 8 são apresentados e discutidos os resultados dos testes de performance; por fim, no capítulo 9 são feitas algumas conclusões sobre a arquitetura, descrevendo suas limitações e possíveis melhorias em trabalhos futuros.