Post on 22-Apr-2015
Arquitetura ciente de contexto para aplicações sociais
móveis
Arquitetura ciente de contexto para aplicações sociais
móveis
Rafael Guimarães SiqueiraOrientador: 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çãoSuponha a seguinte aplicação:
PesquisaLubke, 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, semi-distribuí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.
PesquisaComunicaçã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 P2PClusterizaçã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ãoTempo individual de decisão
Tempo para a construção da rede
Saída
Busca
BuscasClusterização ciente de
contexto Clusterização aleatória
Média de mensagens Comparativo da média de msgs
Monitoramento
Social CampiProtó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
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), tempoTotal(User, TOT), FREQ is X/TOT.
num_encontros(User1, User2, X) :- setof(AP, locais_de_encontro(AP, User1, User2), APs), length(APs, X).
associado(‘AdmBldg16AP1’,‘00a0f8ab070d’,1026840585,1026842553).
associado(‘LibBldg2AP7’,‘00a0f8ab070d’,1026842553,1026842579).
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
MAT001Suposiçã
o:
MAT001 foi lecionada na sala “AcadBldg6AP4” de Thu, 25 Apr 2002 16:00:00 GMT à Thu, 25 Apr 2002 17:30:00 GMT
Código:
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.9busca(Contexto, Tolerancia)
Resultado:
Users = {’00070e7040c6’, ’00070e96ba46’, ’00070e985250’, ’0007eba03671’, ’0040962a7d5e’, ’004096bcc4af’, ’004096c34f0d’}
Busca 2: Ser informado quando determinado professor estiver no
prédio Acadêmico
Suposição:
Professor=’0000c5e63857’
Código:
Agora = timeofday();IP = IP(Professor);intervalo = 3600s;Contexto = associado(AP, Professor, Agora, Agora) academico(AP) ∧inscreve(IP, Intervalo, Contexto)
Resultado:
Retorna do callback quando Agora = Wed, 09 May 2001 17:45:09 GMT
ConclusõesArquitetura 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