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
Download

Prof. Antonio Alfredo Ferreira Loureiro