Arquitetura ciente de contexto para aplicações sociais móveis Rafael Guimarães Siqueira Orientador: Prof. Antonio Alfredo Ferreira Loureiro Motivação Projeto Mobilis: composição de aplicações cientes de contexto; Serviços para suportar a comunicação social centralizada (TUDresden); A interação social é uma comunicação P2P; Aplicação Suponha a seguinte aplicação: Pesquisa Lubke, R.; Schuster, D. & Schill, A. (2011). Mobilisgroups: Location-based group formation in mobile social networks. Mokhtar, S.; McNamara, L. & Capra, L. (2009). A middleware service for pervasive social networking; Diferencia três modelos de implantação de aplicações sociais móveis: centralizado, semidistribuído e distribuído; Usa o modelo semi-distribuído para fazer recomendação de relacionamentos baseado na proximidade física e social; Pesquisa Chord, Pastry, Tapestry, CAN; Protocolos P2P para busca exata de conteúdo pouco mutável; Alteração do protocolo Gnutella para armazenamento de contexto. Gu, T.; Tan, E.; Pung, H. & Zhang, D. (2005). A peer-to-peer architecture for con- text lookup; Redes sociais tendem à clusterização. Pesquisa Comunicação oportunista para troca de informação de perfil de redes sociais; Pietiläinen, A.; Oliver, E.; LeBrun, J.; Varghese, G. & Diot, C. (2009). Mobiclique: middleware for mobile social networking; Formação de grupos a partir de uma especificação semântica de contexto. Bottazzi, D.; Corradi, A. & Montanari, R. (2006). Context-aware middleware solutions for anytime and anywhere emergency assistance to elderly people; Contribuições Arquitetura semi-distribuída que permite busca por contexto; Facilita o desenvolvimento de aplicações móveis; Topologia estruturada para beneficiar as comunicações sociais; Facilitar o desenvolvimento de aplicações móveis; Solução Contribuições Arquitetura semi-distribuída que permite busca por contexto; Facilita o desenvolvimento de aplicações móveis; Topologia estruturada para beneficiar as comunicações sociais; Topologia estruturada para beneficiar as comunicações sociais; Overlay P2P Clusterização por semelhança de contextos; Capturar os fatores que influenciam na formação dos relacionamentos na rede social. de Melo, P. O. V. (2011). On the Behavior of Rational Agents in Complex Networks. Tese de doutorado, Universidade Federal de Minas Gerais. de Melo, P. O. V. (2011). On the Behavior of Rational Agents in Complex Networks. Tese de doutorado, Universidade Federal de Minas Gerais. de Melo, P. O. V. (2011). On the Behavior of Rational Agents in Complex Networks. Tese de doutorado, Universidade Federal de Minas Gerais. Critérios diferentes para a classificação e para a clusterização (persistência de arestas x número absoluto) Benefício para a comunicação entre usuários com relações de amizade. API (Application Programming Interface) Adesão; Saída; Busca por contexto; Monitoramento de Contexto; Adesão Adesão Tempo individual de decisão Tempo para a construção da rede Saída Busca Buscas Clusterização ciente de contexto Clusterização aleatória Média de mensagens Comparativo da média de msgs Monitoramento Social Campi Protótipo de uma aplicação implementada usando a arquitetura proposta; Avaliada usando o dataset dos usuários da Universidade de Dartmouth; Executa algumas buscas e monitoramento de contextos ilustrativas. Modelo lógico associado(‘AdmBldg16AP1’,‘00a0f8ab070d’,1026840585,1026842553). associado(‘LibBldg2AP7’,‘00a0f8ab070d’,1026842553,1026842579). tempo(AP, User, X) :- bagof([FIM,INI], associado(AP, User, INI, FIM), Bag), sum(Bag, X). presente(AP, User, INI, FIM) :- associado(AP, User, X, Y), X < FIM, X > INI; associado(AP, User, X, Y), Y > INI, Y < FIM. tempoTotal(User, TOT) :- bagof([AP,F], tempo(AP, User, F), Bag), sumFreq(Bag,TOT). locais_de_encontro(AP, User1, User2) :- associado(AP, User1, X, Y), associado(AP, User2, Z, W), X < Z, Y > Z; associado(AP, User1, X, Y), associado(AP, User2, Z, W), X > Z, Y < W. frequencia(AP, User, FREQ) :- tempo(AP, User, X), num_encontros(User1, User2, X) :- setof(AP, locais_de_encontro(AP, tempoTotal(User, TOT), User1, User2), APs), FREQ is X/TOT. length(APs, X). Overlay do Social Campi Clusterização usando a frequência com a qual os usuários estiveram associados a cada ponto de acesso; Produz um número muito grande de clusters, prejudicando as buscas; Clusterização utilizando também a soma das vezes que o usuário em adesão esteve em contato com os usuários daquele cluster. Busca 1: Avisar aos meus colegas da disciplina MAT001 Suposição: Código: Resultado: MAT001 foi lecionada na sala “AcadBldg6AP4” de Thu, 25 Apr 2002 16:00:00 GMT à Thu, 25 Apr 2002 17:30:00 GMT Inicio = EpochTime(’Thu, 25 Apr 2002 16:00:00 GMT’) Fim = EpochTime(’Thu, 25 Apr 2002 17:30:00 GMT’) Contexto = aluno(User) ∧ presente(’AcadBldg6AP4’, User, Inicio, Fim) Tolerancia = 0.9 busca(Contexto, Tolerancia) Users = {’00070e7040c6’, ’00070e96ba46’, ’00070e985250’, ’0007eba03671’, ’0040962a7d5e’, ’004096bcc4af’, ’004096c34f0d’} Busca 2: Ser informado quando determinado professor estiver no prédio Acadêmico Suposição: Código: Resultado: Professor=’0000c5e63857’ Agora = timeofday(); IP = IP(Professor); intervalo = 3600s; Contexto = associado(AP, Professor, Agora, Agora) ∧ academico(AP) inscreve(IP, Intervalo, Contexto) Retorna do callback quando Agora = Wed, 09 May 2001 17:45:09 GMT Conclusões Arquitetura facilita o desenvolvimento de aplicações sociais móveis, pois permite lidar facilmente com o contexto; Topologia favorece aplicações sociais, quando os fatores de formação da rede estão capturados no contexto. Obrigado