Arquitetura ciente de contexto para aplicações sociais móveis Rafael Guimarães Siqueira...

Preview:

Citation preview

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