BRPI1007825B1 - Método realizado por um serviço de presença e meio não transitório legível por computador - Google Patents
Método realizado por um serviço de presença e meio não transitório legível por computador Download PDFInfo
- Publication number
- BRPI1007825B1 BRPI1007825B1 BRPI1007825-8A BRPI1007825A BRPI1007825B1 BR PI1007825 B1 BRPI1007825 B1 BR PI1007825B1 BR PI1007825 A BRPI1007825 A BR PI1007825A BR PI1007825 B1 BRPI1007825 B1 BR PI1007825B1
- Authority
- BR
- Brazil
- Prior art keywords
- subscription
- message
- presence information
- user
- notifications
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 91
- 239000000725 suspension Substances 0.000 claims abstract description 38
- 230000002085 persistent effect Effects 0.000 claims abstract description 25
- 230000004044 response Effects 0.000 claims abstract description 19
- 230000014509 gene expression Effects 0.000 claims description 26
- 230000001052 transient effect Effects 0.000 claims 3
- 238000009825 accumulation Methods 0.000 claims 2
- 238000013500 data storage Methods 0.000 claims 2
- 238000004891 communication Methods 0.000 description 40
- 238000005516 engineering process Methods 0.000 description 31
- 230000006870 function Effects 0.000 description 30
- 239000010410 layer Substances 0.000 description 20
- 230000008569 process Effects 0.000 description 19
- 238000013475 authorization Methods 0.000 description 18
- 230000032258 transport Effects 0.000 description 15
- 230000008859 change Effects 0.000 description 11
- 238000007726 management method Methods 0.000 description 11
- 238000013507 mapping Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 239000002346 layers by function Substances 0.000 description 5
- 230000002688 persistence Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000036651 mood Effects 0.000 description 2
- 229920001690 polydopamine Polymers 0.000 description 2
- 239000004165 Methyl ester of fatty acids Substances 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000008846 dynamic interplay Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/54—Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
-
- H04L67/24—
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
gerenciamento de subscrição para serviço de presença baseado em conteúdo. um método para o gerenciamento de uma subscrição de informação de presença baseada em conteúdo implica receber uma mensagem de suspensão de subscrição de um dispositivo em um serviço de presença, identificando a assinatura associada com a mensagem de suspensão de subscrição, suspender a subscrição, e enviar uma resposta do serviço de presença para o dispositivo para notificar o dispositivo que a assinatura foi suspensa. suspender a subscrição pode envolver acumular notificações em um armazenamento de dados persistente. o método pode envolver ainda receber uma mensagem de subscrever-retomar, no serviço de presença para retomar a assinatura que foi suspensa.
Description
A tecnologia atual relaciona-se geralmente com telecomunicações e, em particular, para a coleção, gestão e disseminação de informação de presença.
Em telecomunicações, a informação de presença tem sido tradicionalmente usada para indicar a capacidade, disponibilidade e vontade de uma pessoa para se comunicar. Mais geralmente, uma informação de presença de pessoa fornece informação contextual para que os outros saibam algo sobre o contexto atual da pessoa.
Presença é atualmente um dos principais fatores por trás de mensagens instantâneas (IM) e alguns dos recentes desenvolvimentos em tecnologia VoIP, em particular Protocolo de Iniciação de Sessão (SIP). Enquanto estas e outras tecnologias de presença rudimentares foram implementadas e discutidas (ver, por exemplo, o RFC de IETF 2778, intitulado "Um Modelo para Presença e Mensagem Instantânea" e RFC 4480, intitulado "RPID: Extensões de Presença Ricas para o Formato de Dados de Informação de Presença (PIDF)"), essas tecnologias ainda são geralmente bastante embrionárias. Essas tecnologias da arte anterior oferecem flexibilidade limitada, escalabilidade, segurança e privacidade. Assim, melhorias na maneira pela qual a informação de presença é coletada, gerida e divulgada permanecem altamente desejáveis.
Outras características e vantagens da tecnologia atual ficarão evidentes a partir da seguinte detalhada descrição, tomada em associação com os desenhos anexos, em que:
Figura 1 mostra esquematicamente, a título de introdução geral, uma sobreposição de serviço de presença ligado a várias redes diferentes, de acordo com várias implementações da tecnologia atual;
Figura 2 esquematicamente descreve as relações entre os elementos básicos de um sistema de presença, ou seja, a unidade de presença (que está associada com um usuário), um observador e um servidor de presença que medeia entre a entidade de presença e o observador;
Figura 3 é um diagrama de pilha protocolo generalizado para um cliente sem fio que pode ser usado para implementar o serviço de presença novo divulgado neste documento;
Figura 4 apresenta uma visão de pilha mostrando como as aplicações de cliente podem interagir com um nó de função através de um nó proxy;
Figura 5 é um exemplo de uma topologia de rede que pode ser usada para implementar um sistema de presença, de acordo com a tecnologia atual;
Figura 6 apresenta uma visão esquemática de uma implementação do sistema de presença, representando várias interações entre as aplicações de cliente, camada proxy, camada de função e camada de persistência;
Figura 7 é uma representação de alto nível de paradigmas de entrega de mensagens síncronos (solicitação- resposta) e assíncronos que são ambos suportados pelo protocolo de presença;
Figura 8 esquematicamente descreve um exemplo de uma seqüência de mensagem de sistema para registro de um novo dispositivo pelo qual um mapeamento que liga o usuário ao seu dispositivo é armazenado no armazenamento de dados persistente;
Figura 9 esquematicamente descreve um exemplo de uma seqüência de mensagens de registro entre um cliente de presença e um registrador de serviço de presença (nó de registro);
Figura 10 esquematicamente descreve uma seqüência de mensagens “peer-to-peer” (ponto a ponto) para um DUUID conhecido (ou seja, a identificação única universal do destino);
Figura 11 esquematicamente descreve uma seqüência de mensagens “peer-to-peer” para um DUUID desconhecido;
Figura 12 esquematicamente descreve uma sequência de mensagens para a subscrição de um serviço de presença;
Figura 13 esquematicamente descreve uma sequência de mensagens para notificar um observador de informação de presença;
Figura 14 esquematicamente descreve uma sequência de mensagens para publicar informação de presença;
Figura 15 esquematicamente descreve um processo de negociação de chave cliente-servidor como uma primeira fase do processo de registro de presença;
Figura 16 esquematicamente descreve como um identificador de usuário é selecionado e autenticado como uma segunda fase do processo de registro de presença;
Figura 17 esquematicamente descreve como um identificador de usuário pode ser mudado;
Figura 18 esquematicamente descreve como um cartão eletrônico (virtual) pode ser compartilhado, por exemplo, como um anexo de e-mail vCard;
Figura 19 esquematicamente descreve como um usuário pode receber um cartão de visita eletrônico e solicitar autorização para subscrever o cartão de visita eletrônico, de modo a receber automaticamente as alterações subsequentes ao cartão de visita eletrônico;
Figura 20 apresenta uma sequência de mensagens para o procedimento de autorização da Figura 19;
Figura 21 esquematicamente representa um fluxo de mensagens de subscrição para inscrever-se num cartão de visita eletrônico pelo qual, após a conclusão desse procedimento, uma subscrição terá sido criada em um subsistema publicar-subscrever e um registro de subscrição será salvo em um armazenamento de dados persistente;
Figura 22 apresenta uma sequência de mensagens para o procedimento de subscrição da Figura 21;
Figura 23 esquematicamente representa um fluxo de mensagens para atualizar / publicar as alterações feitas a um cartão de visita eletrônico;
Figura 24 apresenta uma sequência de mensagens para o procedimento de publicar - notificar da Figura 23;
Figura 25 esquematicamente representa um fluxo de mensagens para pausar uma subscrição de cartão de negócio eletrônico;
Figura 26 esquematicamente representa um fluxo de mensagens para retomar uma subscrição de cartão de negócio eletrônico;
Figura 27 esquematicamente representa um fluxo de mensagens para um procedimento de “backup” / restaurar quando um usuário alterna dispositivos;
Figura 28 esquematicamente representa um fluxo de mensagens para um processo de re-registro quando um usuário alterna dispositivos, mas um “backup” atualizado dos dados do aparelho antigo não está disponível;
Figura 29 esquematicamente representa um fluxo de mensagens quando um usuário, ao alternar dispositivos e re- registro, solicita re-autorização e novas chaves de cada contato;
Figura 30 esquematicamente representa um fluxo de mensagens quando um usuário, mediante troca de dispositivos, revoga e re-emite chaves para todos os observadores;
Figura 31 esquematicamente descreve como o sistema de presença pode interagir com um cliente sem fio através de uma infraestrutura de rede móvel e um cliente com fio através de uma ligação à Internet padrão;
Figura 32 é uma representação esquemática de um dispositivo de comunicação sem fio que pode ser usado para interagir com o sistema de presença;
Figura 33 é um fluxograma que descreve algumas das principais etapas de um método de divulgação de informação de presença;
Figura 34 é um fluxograma que descreve algumas das principais etapas de um método de publicação informação de presença;
Figura 35 é um fluxograma que descreve algumas das principais etapas de um método de subscrição de informação de presença;
Figura 36 é um fluxograma que descreve algumas das principais etapas de um método de atualização de informações de cartão de negócios, e
Figura 37 é um fluxograma que descreve algumas das principais etapas de um método, realizado pelo serviço de presença, de gerenciar uma subscrição, e
Figura 38 é um fluxograma que descreve algumas das principais etapas de um método de gerenciamento de uma subscrição de um dispositivo de comunicações sem fio.
Note-se que ao longo dos desenhos anexados, mesmas características são identificadas por mesmos numerais de referência.
Em geral, a tecnologia atual divulgada neste documento fornece um sistema de presença inovador e métodos relacionados para a coleção, gestão e disseminação de informação de presença. Mais especificamente, novos sistemas, métodos e dispositivos são divulgados neste documento para o gerenciamento de subscrição de informação de presença. Gerenciamento de subscrição permite aos usuários controlar o fluxo de informação de presença sobre entidades de presença com quem relações de subscrição autorizadas foram previamente estabelecidas.
Esta tecnologia de presença nova é construída em torno de um serviço de presença baseado em conteúdo, em oposição a uma que depende de formatos pré-arranjados de dados. Este serviço de presença novo baseado em conteúdo permite que o conteúdo de dados que representa informação de presença seja publicado e armazenado em qualquer formato de dados arbitrário. Observadores autorizados podem assim subscrever à informação de presença, ou a elementos específicos da informação de presença ("atributos", como localização, clima, atividade, disponibilidade, etc) simplesmente especificando expressões de subscrição em termos de conteúdo. Por exemplo, uma expressão de subscrição <Contact1, location = "Ottawa") notificaria o usuário quando Contact1 está localizado em Ottawa. Esta abordagem baseada em conteúdo para a presença permite que o conteúdo de dados seja publicado em qualquer formato e permite que as subscriçãos sejam definidas em termos do conteúdo que é requerido ou desejado. Aplicações clientes que contribuem ou consomem informação de presença podem ser utilizadas e atualizadas sem a necessidade de assegurar a interoperabilidade dos formatos de dados. Como tal, este serviço de presença novo é altamente flexível, escalável e permite que informações de presença altamente diferenciadas seja publicadas ou procuradas. Gerenciamento de subscrição é um aspecto importante de um serviço de presença. Gerenciamento de subscrição permite que subscriçãos de informação de presença devem ser suspensas ou retomadas. Como será descrito em seguida, suspensão e retomada das subscriçãos pode ser desencadeado por entrada manual do usuário ou pode ser baseado em condições de disparo predefinidas.
Em implementações principais desta tecnologia, o serviço de presença tem, em sua essência, um subsistema de subscrição-publicação baseado em conteúdo para a publicação de dados que representam informação de presença em qualquer formato de dados arbitrário. Um contato autorizado, ou observador, pode subscrever à informação de presença, especificando dados relativos ao conteúdo de interesse na forma de expressões de subscrição, que também são puramente definidas em termos de conteúdo, ou seja, independente do formato dos dados. Quando uma entidade de presença autoriza um observador para se inscrever em informação de presença, este estabelece uma relação de subscrição autorizada entre a entidade de presença e o observador. A subscrição poderá autorizar o observador a receber notificações relativas a todas a informação de presença que a entidade de presença publica para o subsistema de publicar-subscrever ou para apenas um subconjunto especificado de informação de presença publicada para o subsistema de publicar- subscrever.
Um dos aspectos principais da tecnologia atual é um método para o gerenciamento de subscrição para um serviço de presença baseado em conteúdo. O método envolve receber uma mensagem de suspensão de subscrição de um dispositivo em um serviço de presença, identificando a subscrição associada com a mensagem de suspensão de subscrição , e suspende a subscrição. A resposta pode ser enviada a partir do serviço de presença para o dispositivo para o dispositivo que a subscrição foi suspensa.
Outro aspecto principal da tecnologia atual é um meio legível por computador compreendendo código que, quando carregado na memória e executado em um processador de um dispositivo de computação é adaptado para executar os atos anteriores.
No entanto, outro aspecto principal da tecnologia atual é um método, realizado em um dispositivo de comunicação sem fio, para o gerenciamento de uma subscrição de informação de presença baseada em conteúdo. O método envolve o envio de uma mensagem de suspensão de subscrição do dispositivo a um serviço de presença para suspender a subscrição e depois de receber uma resposta do serviço de presença notificando que a subscrição foi suspensa.
Outro aspecto principal da tecnologia atual é um meio legível por computador compreendendo código que, quando carregado na memória e executado em um processador de um dispositivo de computação é adaptado para executar os atos anteriores.
No entanto, outro aspecto principal da tecnologia atual é um sistema de presença para o gerenciamento de subscrição de informação de presença. O sistema inclui um subsistema de publicar-subscrever para subscrever a informação de presença e um nó proxy para roteamento de uma mensagem de suspensão de subscrição de um dispositivo para um nó de função predeterminado. O nó de função processa a mensagem de suspensão de subscrição para identificar uma subscrição associada à mensagem de suspensão de subscrição e, em seguida, suspende a subscrição.
No entanto, outro aspecto principal da tecnologia atual é um dispositivo de comunicações sem fio para o gerenciamento de uma subscrição de informação de presença. O dispositivo inclui um processador operativamente acoplado a uma memória para a execução de um cliente de presença que é programado para gerar uma mensagem de suspensão de subscrição e um transceptor de radiofreqüência para transmitir a mensagem de suspensão de subscrição para um serviço de presença para suspender a subscrição.
Os detalhes e informações sobre estes aspectos da tecnologia agora serão descritos a seguir, a título de exemplo, com referência aos desenhos em anexo.
Figura 1 mostra esquematicamente, a título de introdução geral, uma sobreposição de serviço de presença, de acordo com várias implementações da tecnologia atual.
Este sistema de presença novo pode ser entendido como uma sobreposição de serviços sobrepostos a uma infraestrutura de rede móvel e Internet. Em outras palavras, a arquitetura geral representada na Figura 1 suporta o acesso ao serviço de presença através de uma infraestrutura de rede móvel ou através de redes IP. O servidor de presença é, portanto, visto como uma entidade singular do serviço pelos clientes de presença. A arquitetura do sistema também é facilmente escalável, e pode suportar um número muito grande de usuários.
O sistema de presença é definido usando uma arquitetura de estilo cliente-servidor em que os clientes de presença produzem e consomem informação de presença. Em geral, e como será elaborado a seguir, informação de presença que é gerada (recolhida e publicada) por uma ou mais entidades de presença pode ser consumida por um ou mais observadores. Um usuário pode ser tanto entidade de presença e um observador, ou apenas um ou outro. Mediando entre os clientes de presença existe um servidor de presença. Este servidor de presença recebe, gerencia e dissemina a informação de presença.
O servidor de presença usa um identificador de serviço único global para simplificar o roteamento de dados. Por exemplo, para certos tipos de clientes sem fio se comunicando através de uma infraestrutura de rede móvel, o serviço de presença tem um identificador de serviço único global (ou endereço de serviço). Esta abordagem simplifica o roteamento de dados e evita o acoplamento do servidor de presença com a topologia de infraestrutura de rede móvel.
Ainda a título de introdução e visão geral, o servidor de presença pode ser implementado como um sistema escalonado composto por uma camada proxy, uma camada de função e uma camada de persistência. Esta estrutura em camadas do servidor de presença é transparente para os clientes de presença. Clientes de presença podem se comunicar com o servidor de presença usando um protocolo de presença.
Para os efeitos desta especificação, a expressão "informação de presença" se refere a um conjunto de informações que transmite a capacidade, disponibilidade, vontade para vários modos de comunicação, por exemplo, email, voz, serviço de mensagens curtas (SMS), mensagem multimídia (MMS), mensagens instantâneas (IM), para vários serviços e vários dispositivos. Informação de presença geralmente contém estados específicos não ambíguos, tais como disponível / indisponível, localização atual, atividade, férias / trabalho, sono / acordado, no entanto, também pode conter informação qualitativa ou sutil, ambígua, nuances, tais como disposição, interesses, intenções, desejos , etc.
Para os efeitos desta especificação, uma "entidade de presença" combina dispositivos, serviços e informações pessoais para um quadro completo de um estado de presença do usuário.
Figura 2 esquematicamente descreve a relação entre os elementos básicos do sistema, ou seja, o usuário, servidor de presença e entidade de presença. Como representado esquematicamente na figura, a entidade de presença inclui um primeiro usuário caracterizado por um primeiro identificador do usuário e uma fonte de presença (ou seja, um primeiro cliente de presença) para gerar dados sobre a presença do usuário. Este dado de presença é comunicado através de um protocolo de presença a um servidor de presença que, por sua vez, compartilha esses dados de presença com um observador (ou seja, um segundo cliente de presença associado a um segundo usuário). Neste cenário simples unilateral, o primeiro usuário, portanto, um fornecedor ou prestador dos dados de presença, enquanto o segundo usuário (observador) é um consumidor (ou seja, receptor, espectador) dos dados de presença. Em um cenário bilateral, o primeiro usuário também recebe os dados da presença sobre o segundo usuário. A partilha de dados de presença pode ser simétrica onde tanto troca os mesmos tipos de dados de presença ou assimétrica, onde um usuário consome dados mais presença do que o outro, ou um usuário fornece mais dados de presença do que o outro.
Como mencionado acima, o sistema de presença é uma sobreposição de serviços sobrepostos em uma infraestrutura de rede móvel e / ou pela Internet. A partir da perspectiva dos clientes de presença, o serviço de presença aparece como uma instância de servidor singular. O serviço pode ser identificado por um identificador de serviço único global sobre todas as instâncias da infraestrutura de rede móvel.
O protocolo de presença é um protocolo de aplicação que pode ser transportado através da rede existente utilizando um protocolo de transporte adequado ou protocolo de transporte sem fio. O protocolo de presença depende de camadas de transporte subjacentes, como TCP / IP somente para serviços de entrega de mensagem básicos. Não é dependente das especificidades da camada de transporte de endereçamento, roteamento ou topologias de rede.
Como conseqüência do projeto da arquitetura do sistema e do protocolo de presença, o sistema de presença é desacoplado da topologia da rede (por exemplo, o sistema de presença não é acoplado a qualquer instância específica de uma infraestrutura de rede móvel). Além disso, não são apenas as funções do sistema separadas e independentes das aplicações, mas também as próprias aplicações operam de forma independente umas da outras. A arquitetura e protocolo além disso, permitem o seguinte: (i) mensagem de roteamento flexível, tal como definido pelas aplicações, (ii) melhorias e extensões sem a necessidade de atualização ou reinicialização do sistema inteiro, e (iii) a adição de componentes individuais para implementar novas versões do protocolo de forma independente.
Um grande número de considerações influenciaram e orientaram o desenho da arquitetura e do protocolo de presença, como, por exemplo, ter uma estratificação de protocolo bem definida, e usar o gerenciamento de versão (por exemplo, assegurar que cada mensagem identifica a versão do protocolo com a qual está em conformidade). Mapeamento de transporte também foi outro elemento-chave na concepção da arquitetura e protocolo. Por exemplo, o sistema é projetado para mapear o protocolo de presença para transporte de rede subjacente para fornecer serviços básicos de entrega de mensagens. O sistema também é projetado para funcionar com transportes simétricos ao estilo da Internet, tais como SCTP ou SIP para o comunicação servidor-servidor. Suporte a transações é outra consideração importante. Por exemplo, a ordem de mensagens pode ser alcançada através da implementação de um número de seqüência (que permite correção de ordem de mensagem local). O sistema pode também usar um identificador de transação para associar pedidos e respostas relacionados.
Uma consideração de projeto adicional era implementar uma estrutura baseada em mensagens (por exemplo, datagramas para a comunicação, multiplexação de aplicação, multiplexação de sessão do usuário, campos de protocolo de aplicação específica e elementos de dados orientados a mensagem).
No entanto, um exame mais aprofundado da rede foi dissociação (ou seja, aplicações e usuários nomeados independentemente de endereços de rede subjacente). Por exemplo, o protocolo de transporte identifica os dispositivos e serviços enquanto o protocolo de presença identifica os usuários e sessões.
Ainda um exame mais aprofundado foi tornar o sistema assíncrono e não bloqueante. Assim, as aplicações são independentes umas das outras, os usuários são independentes uns dos outros, e os clientes são independentes uns dos outros.
A segurança foi também um requisito fundamental para este novo sistema. O sistema não revela qualquer informação, como a autorização ou filtros, através de códigos de resposta ou de outras operações normais. Um protocolo de gerenciamento de chaves pode ser usado para garantir a segurança da comunicação entre clientes de presença e o serviço de presença para que os dados de presença sejam compartilhados em total privacidade com apenas o destinatário pretendido (s). Autenticação de usuários garante que apenas clientes autorizados sejam capazes de receber informação de presença. Sistema de segurança e autenticação de usuário serão descritos em maiores detalhes abaixo.
Referindo-se agora à Figura 3, o protocolo de presença é um protocolo de camada de aplicação transportado pela camada de transporte. Figura 3 mostra um exemplo de uma pilha de protocolo para um cliente sem fio que pode ser usada para implementar o serviço de presença novo divulgado neste documento. Neste exemplo, o serviço de transporte é realizado usando TCP / IP que o transporte móvel usa UDP / IP. Estes protocolos são divulgados apenas a título de exemplo para ilustrar uma aplicação principal desta tecnologia sem fio. Outros protocolos podem ser usados ou substituídos, como seria entendido por aqueles de habilidade comum na arte.
Figura 4 fornece uma visão de pilha de protocolos e aplicações que podem ser usados para implementar este sistema de presença novo. Esta figura mostra como as aplicações de cliente (por exemplo, aplicação baseada em pub / sub, aplicação de presença, aplicação de cartão de visita) interagem com o nó da função através do nó proxy. Estas três aplicações de cliente são apresentadas apenas a título de exemplo para ilustrar como tais interfaces de aplicações através do protocolo de presença com respectivas aplicações no nó de função.
Figura 5 ilustra um exemplo de uma topologia de rede que pode ser usado para implementar o sistema de presença novo. Nesta topologia de exemplo, cada cliente se conecta a apenas um nó proxy específico. Cada nó proxy é, por sua vez, conectado a todos os nós de função, conforme ilustrado nesta figura. Os nós de função também estão conectados a cada nó pub / sub. Os nós proxy e nós de função também podem ser em comunicação com o armazenamento de dados persistente (camada de persistência).
Figura 6 ilustra um exemplo de implementação da arquitetura do sistema de presença. Tal como é descrito, cada nó proxy inclui uma interface de banco de dados para comunicar com o banco de dados na camada de persistência. Cada nó proxy inclui interfaces distintas (adaptadores de recursos) para o protocolo de presença cliente-servidor móvel e o protocolo de presença servidor-servidor. Como ainda representado na Figura 6, cada nó de função inclui um adaptador de recursos de protocolo de presença servidor- servidor (para comunicação com um adaptador de recursos de protocolo de presença servidor-servidor de contrapartida em um nó proxy), um adaptador de recursos do banco de dados e um adaptador de recursos de protocolo pub / sub. Como ainda ilustrado nesta figura, o nó de registro inclui um adaptador de recursos protocolo de presença servidor- servidor (para comunicação com um adaptador de recursos de protocolo de presença servidor-servidor de contrapartida em um nó proxy), bem como um adaptador de recursos de banco de dados.
No sistema de presença novo, as aplicações de cliente podem ser realizadas como aplicações Java rodando em um dispositivo móvel, apesar de qualquer outra linguagem de programação adequada poder ser usada. Além de uma aplicação cliente de presença, as aplicações de cliente podem incluir, por exemplo, uma aplicação cliente de registro de presença distinta e uma aplicação cliente de cartão de negócio.
A camada proxy também pode ser realizada como uma aplicação Java que executa em um conjunto de servidores conhecidos como nós proxy que estão ligados à infraestrutura através de um protocolo de transporte adequado. Esses nós proxy agem como gateways que terminam os protocolos de transporte e mensagens via protocolo de presença para os seus destinos corretos.
Mensagens enviadas de um cliente para o serviço de presença são encaminhadas por um nó proxy para o nó apropriado na camada de função com base na identidade do cliente e da aplicação específica identificada na mensagem.
Mensagens enviadas a partir do serviço de presença a um cliente são encaminhadas por um nó proxy baseado no Identificador Único Universal (UUID) contido na mensagem.
A título de exemplo para ilustrar uma possível implementação desta tecnologia, a camada de função pode ser composta por um conjunto de nós de aplicação especializados:• Nós de Registro• Subscrição / Notificação Nós• Nós de publicação• Nós “peer-to-peer”• Nós de Roteamento de Publicação / Subscrição ("Pub / Sub")
Os nós de aplicação da camada funcional podem ser implantados em servidores separados ou juntos em várias combinações ou conjuntos, dependendo de todos os requisitos de implementação.
A camada de persistência pode ser implementada, por exemplo, como um banco de dados rodando em um servidor, um conjunto de servidores ou de uma rede de servidores.
O protocolo presença apoia a troca de mensagens estilo pedido - resposta (ou seja síncrono), bem como entrega de mensagens assíncronas, que são representadas esquematicamente na Figura 7.
Aplicações como a comunicação de registro, publicação, subscrição / notificação e “peer-to-peer” são independentes umas das outras dentro da camada de protocolo de presença. Em particular, o roteamento de mensagens é independente e distinto para cada aplicação.
Em implementações principais desta tecnologia, categorias de mensagens diferentes são empregadas para identificar as mensagens relacionadas a diferentes aspectos do serviço de presença. Figura 8 esquematicamente descreve um exemplo de uma seqüência de mensagem do sistema. Esta figura ilustra o uso da categoria de mensagem do sistema para gerenciar mapeamentos de identificador de UUID de dispositivo móvel armazenados em cache. Neste exemplo, o usuário mudou os dispositivos móveis (cliente de presença) fazendo com que a tabela de mapeamentos de identificador de UUID de dispositivo móvel mantida nos caches de nó proxy se tornem inválidas. Após a conclusão do procedimento de re- registro de dispositivo de troca, o nó de registro envia uma mensagem do sistema para todos os nós proxy instruindo- os a remover suas entradas em cache para o mapeamento de identificador de UUID de dispositivo móvel, se houver.
A próxima vez que o serviço de presença envia uma mensagem para o cliente de presença do nó proxy responsável por rotear a mensagem irá recuperar o mapeamento de identificador de UUID de dispositivo móvel do armazenamento de dados persistente.
Figura 9 esquematicamente descreve um exemplo de uma seqüência de mensagens de registro. A categoria de mensagem de registro pode ser usada para identificar mensagens relacionadas ao registro de usuário junto ao serviço de presença. A seqüência de mensagens trocadas entre o cliente e o arquivista de serviço de presença é ilustrado no diagrama de seqüência mostrado na Figura 9. Cada mensagem é identificada através do seu nome abreviado. O registro é, portanto, um processo síncrono que envolve a troca de mensagens entre um cliente de presença e arquivista de serviço de presença ou nó de registro. Na maioria das implementações, as mensagens são trocadas através de um retransmissor, para ser descrito em maiores detalhes abaixo em relação à Figura 15.
Durante o registro, uma mensagem é enviada via e-mail para o cliente de presença para verificar a propriedade do endereço de e-mail de identificador de usuário selecionado. Em uma implementação específica, esta mensagem de correio eletrônico especial contém apenas um anexo com o tipo de conteúdo "application/x-rimdevice-MailAuthToken-authToken. ext", por exemplo. O anexo contém, na maioria das implementações desta tecnologia, um token de autenticação.
Em uma implementação específica, cada mensagem de registro compreende um campo identificador de sessão de registro de comprimento fixo de oito bytes seguido de um campo de comando TLV único onde TLV refere-se a um comando codificado usando um formato “Type-Length-Value”.
Mensagens “peer-to-peer” permitem que um cliente de presença se comunique com outro cliente de presença através do sistema de presença. O serviço de presença medeia a comunicação, autentica clientes e roteia mensagens entre clientes.
Existem dois cenários básicos para comunicação “peer- to-peer”. O primeiro cenário é o mais comum em que a parte de envio conhece o UUID (identificador universalmente exclusivo) do destino. No segundo cenário a parte enviando ainda não sabe o UUID do destino - apenas o endereço de email do destino é conhecido.
Na Figura 10, Cliente A envia uma mensagem “peer-to- peer” com o campo DUUID preenchido com UUID do cliente B. O sistema de presença inspeciona o DUUID e encaminha a mensagem para o Cliente B.
Na Figura 11, Cliente A envia uma mensagem ao cliente B. O cliente A sabe apenas o identificador do endereço de correio eletrônico do Cliente B - Cliente A ainda não sabe o UUID do cliente B. Este seria o caso se, por exemplo, Cliente A e Cliente B não tiveram qualquer comunicação prévia ou troca de UUIDs.
Cliente A preenche o campo DUUID com "todos os Fs" (ou qualquer outra seqüência predeterminada de letras, números ou símbolos) para indicar ao Sistema de Presença que o UUID do destino é desconhecido e que há um endereço de e-mail TLV-codificado incluído para o cliente B.
O sistema de presença realiza uma pesquisa de banco de dados sobre o endereço de e-mail para obter o UUID correspondente para o cliente B. O campo DUUID é então preenchido com o UUID do destino (neste caso Cliente B) e a mensagem é encaminhada ao cliente B.
A tecnologia atual permite que um usuário ("observador") subscreva na informação de presença gerada e publicada ao serviço de presença por uma entidade de presença e gerencia essas subscriçãos para controlar o recebimento de informação de presença para que relações de subscrição autorizadas foram previamente estabelecidas. Com a autorização das entidades de presença, o observador, assim, estabelece uma relação de subscrição com uma entidade de presença. Esta relação de subscrição é consensual no sentido de que o observador só pode receber informação de presença, quando permitido pela entidade de presença que publica a informação de presença. Como será descrito em seguida, a entidade de presença pode impor condições com base em conteúdo, condições baseadas no tempo, condições baseadas em localização, ou quaisquer outras condições, como na subscrição de forma a limitar e controlar as informações que podem ser comunicada e em que circunstâncias as informações podem ser comunicadas. Par estabelecer uma relação de subscrição autorizada entre uma entidade de presença e um observador, um pedido de subscrição é comunicado pelo que seria observador a um serviço de presença baseado em conteúdo. O pedido de subscrição é, então, validado pelo serviço de presença, determinando se a informação contida no pedido de subscrição representa uma relação de subscrição autorizada, por exemplo, se a identidade dos candidatos a observador que faz o pedido e o tipo de informações solicitadas pelo candidato a observador são aceitos por, ou aceitável, a entidade de presença que é de interesse para o candidato a observador. Em outras palavras, uma relação de subscrição autorizada é criada quando uma entidade de presença concede permissão, no entanto limitada ou contingente, para um observador para acessar conteúdo de dados publicados que representam a informação de presença. O método também envolve a especificação de uma expressão de subscrição definindo conteúdo de dados que é de interesse para o segundo usuário (ou seja, o observador) e então receber informação de presença sobre o primeiro usuário (ou seja, a entidade de presença) quando a expressão de subscrição corresponde ao conteúdo dos dados publicados pelo primeiro usuário (a entidade de presença) ao serviço de presença. Publicação e / ou assistir pode ser realizado utilizando um dispositivo de comunicação sem fio. Nesse caso, assumindo que o dispositivo de comunicação sem fio tem um subsistema determinando posicionamento, por exemplo, um chipset GPS, o tempo atual e / ou localização atual do dispositivo de comunicação sem fio pode ser usado para determinar ou filtrar quando um pedido de subscrição é enviado ou como a subscrição é expressa. Em outras palavras, informação de presença pode ser coletada com base em uma condição de tempo e / ou uma condição de localização (por exemplo, apenas 9:00-5:00 e desde que a localização corresponde a Londres, Inglaterra). Da mesma forma, a publicação de qualquer informação de presença coletada pode ser controlada pelo tempo e / ou critérios baseados em localização. Além disso, como mencionado acima, a subscrição pode estipular o tempo e / ou localização baseado em condições que devem ser atendidas antes que qualquer informação de presença seja disseminada para um observador.
Figura 12 esquematicamente descreve uma sequência de mensagens para subscritos. Esta figura ilustra as mensagens trocadas entre um cliente de presença e o servidor de presença para adicionar uma subscrição (ou seja, criar uma relação de subscrição autorizada) para que o cliente seja notificado da presença dos dados publicados ou eventos que são de interesse para o cliente e para o qual a relação de subscrição de presença permite o acesso autorizado. O cliente de presença exprime o seu interesse, utilizando, por exemplo, uma linguagem de expressão de subscrição. Em geral, subscriçãos de registro de clientes, ou enviar notificações para o servidor (ou seja, para o subsistema de publicar-subscrever ou "núcleo pub-sub"). Quando o núcleo pub-sub recebe uma notificação, ele a encaminha para todos os clientes cujas subscriçãos correspondem a essa notificação, ou seja, para todos os clientes que tenham manifestado interesse (como definido por suas expressões de subscrição respectivas) no conteúdo da notificação. As expressões de subscrição podem ser convertidas em termos de nomes (ou seja, rótulos de dados ou invólucros de dados), operadores (ou seja, operadores lógicos ou booleanos), e literais (por exemplo, strings).
O servidor de presença compara a expressão de subscrição com os dados publicados por outras fontes no futuro para determinar se existe uma correspondência. Sempre que há um casamento com a expressão de subscrição, o servidor de presença envia uma notificação que contenha os dados de correspondência para o cliente de presença, como mostrado na Figura 13.
A tecnologia atual permite que informação de presença ser publicada utilizando um dispositivo de computação, tal como, por exemplo, um dispositivo de comunicação sem fio. Isso envolve a coleta de informação de presença, a publicação de conteúdo de dados que representam informação de presença para um serviço de presença baseado em conteúdo, o serviço de presença armazenando o conteúdo dos dados em qualquer formato de dados arbitrário, e que autoriza um contato interessado em subscrever a informação de presença. O contato interessado assim se torna um observador quando a subscrição for autorizada. Este observador, assim, recebe o conteúdo dos dados publicados representando a informação de presença da entidade de presença de interesse quando uma expressão de subscrição especificada pelo observador corresponde ao conteúdo dos dados publicados para o serviço de presença por essa entidade de presença. Publicação pode ser realizada utilizando um dispositivo de comunicação sem fio, que pode incluir um subsistema de determinação de posição como, por exemplo, um chipset GPS. Nesse caso, o tempo atual e / ou localização atual do dispositivo sem fio pode ser usado para determinar ou filtrar que informação de presença é coletada e / ou publicada.
Figura 14 esquematicamente descreve uma sequência de mensagens para publicação. Esta figura ilustra as mensagens trocadas entre um cliente de presença e o servidor de presença quando publicando dados de presença. Para a integralidade do exemplo, presume-se que o cliente A adicionou previamente uma subscrição, conforme ilustrado na Figura 12.
A mensagem de publicação enviada ao servidor de presença pelo Cliente B contém os dados que se destinam a ser publicados. O serviço de presença compara os dados publicados com expressões de subscrição recebidas anteriormente de outros clientes com quem Cliente B autorizou relações de subscrição. Neste exemplo, os dados publicados correspondem a uma expressão de subscrição e o servidor de presença envia uma notificação com os dados publicados para o Cliente A, que criou a expressão de subscrição correspondente.
Figura 15 esquematicamente descreve uma negociação de chave cliente-servidor, como parte do processo de registro de presença. Esta figura ilustra, a título de exemplo, uma fase de negociação de chave inicial do processo de registro de presença. O cliente de presença envia a primeira mensagem NEGO dentro de uma mensagem de camada de transporte dirigida ao identificador de serviço do serviço de presença. A infraestrutura de rede móvel encaminha esta mensagem para o identificador de serviço de um dos nós proxy. O nó proxy selecionado remove os cabeçalhos de protocolo de transporte, inspeciona a categoria de mensagem e encaminha a mensagem para um registrador de presença (Nó de registro). Todas as mensagens subseqüentes relacionadas com a sessão de registro do cliente seguem o mesmo caminho entre o cliente de presença e o registrador de presença .
Após a conclusão da fase de negociação de chave, o cliente de presença e registrador de presença terão estabelecido um confiável, canal de comunicação criptografado. Isso pode ser feito utilizando, por exemplo, a técnica de troca de chaves Diffie-Hellman.
Figura 16 esquematicamente descreve como um identificador de usuário é selecionado e autenticado como uma segunda fase do processo de registro de presença. Esta figura ilustra, a título de exemplo, a seleção e autenticação do identificador de usuário como a segunda fase do processo de registro de presença.
O processo é iniciado quando o dispositivo do usuário envia, por exemplo, uma mensagem [1: TOKEN_REQUEST]) ao registrador de presença . Esta mensagem contém um identificador, normalmente um endereço de e-mail, selecionado pelo usuário. Para verificar se o usuário realmente possui o identificador, o registrador de presença envia, por exemplo, [4a: TOKEN_RESPONSE] para o cliente de presença usando o protocolo de presença e também envia, por exemplo, [4b: TOKEN_RESPONSE] para o cliente de presença via e-mail. Estas mensagens TOKEN_RESPONSE cada contem material único de segurança que o cliente de presença combina e envia de volta para o registrador de presença em, por exemplo, mensagem [8: AUTHENTICATE] para comprovar a propriedade do identificador de e-mail. Outras técnicas de autenticação podem ser usadas, em vez de, ou além, o procedimento descrito acima.
Após a autenticação bem sucedida de identificador do usuário um registrador de presença realiza uma pesquisa, por exemplo, [11: Lookup] para determinar se o usuário é um novo registrando ou se ele já é registrado com o serviço de presença. Neste cenário o usuário é um novo registrando tal que o registrador de presença gera um novo identificador universalmente exclusivo (UUID) para o usuário, estabelece uma ligação para o usuário com um nó de função usando uma mensagem de pedido de ligação, por exemplo, [12: BIND_REQ] e acrescenta o perfil do usuário no armazenamento de dados persistente usando uma mensagem de acrescentar, por exemplo, [13: Add User].
A etapa final do processo de registro de presença é enviar uma confirmação de autenticação, por exemplo, [14: AUTHENTICATE_ACK] de volta ao cliente de presença para reconhecer um registro bem sucedido. A mensagem de confirmação contém o recém gerado UUID do usuário.• Após a conclusão desta fase o usuário está registrado com o serviço de presença. A seguir foi assim realizada:• UUID gerado / atribuído ao usuário• Associação de endereço de e-mail e identificador de dispositivo móvel com UUID• Ligação com o nó de função estabelecida• O perfil de usuário criado em armazenamento de dados persistente
Figura 17 esquematicamente descreve como um identificador de usuário pode ser mudado. Este cenário ilustra o procedimento que é executado quando um utilizador decide mudar o seu identificador de usuário para um endereço de e-mail diferente. O procedimento é semelhante ao procedimento de registro de presença descrito acima, mas é um pouco diferente em que o cliente de presença já é conhecido para o serviço de presença. Assim, UUID do usuário é incluído na mensagem de solicitação de token, por exemplo, [TOKEN_REQUEST]. O perfil de usuário é então atualizado no armazenamento de dados persistente. É de notar que a ligação com o nó do função já está em vigor a partir do registro inicial.
Além de coletar, gerenciar e disseminar informação de presença, o sistema de presença divulgado neste documento também pode ser usado para compartilhar e atualizar cartões de visita virtual. Um cartão de visita virtual, como, por exemplo, um vCard, é um arquivo de dados que armazena o nome de um contato, nome da empresa, endereço de trabalho, números de telefone e fax, e-mail, etc.
Figura 18 esquematicamente descreve como um cartão eletrônico (virtual) pode ser compartilhado, por exemplo, como um anexo de e-mail vCard. Esta figura ilustra, a título de exemplo, uma maneira particular em que um usuário poderia dar o seu cartão de visita eletrônico ou virtual para outro usuário como um anexo de e-mail vCard. Sabe-se que vCard é usado unicamente a título de exemplo, e que um cartão de visita de outro formato ou tipo também pode ser trocado ou compartilhado da mesma maneira.
É possível permitir aos usuários a troca de cartões de visita utilizando outros métodos, como através de uma sessão de mensagens instantâneas ou através de outros meios.
Figura 19 esquematicamente descreve como um usuário pode receber um cartão de visita eletrônico e solicitar autorização para subscrever o cartão de visita, de modo a receber automaticamente as alterações subsequentes ao cartão de visita. Quando um usuário recebe um cartão de visita de outro usuário, ao usuário receptor pode ser oferecido a opção de subscrever alterações à informação do cartão. Se o usuário destinatário aceitar a oferta para se inscrever, um procedimento de autorização é iniciado. Nesta figura, User2 solicita autorização para subscrever a mudanças no cartão de negócios de User1. As mensagens envolvidas neste processo são trocados como mensagens “peer-to-peer” (p2p) no protocolo de presença. Como parte do procedimento de autorização, User1 compartilha uma chave de criptografia com User2 para habilitar a descriptografia dos dados do cartão de negócio.
Figura 20 apresenta uma seqüência de mensagem detalhada para o procedimento de autorização da Figura 19. Quando o procedimento de autorização for concluído, User2 pode proceder para criar uma subscrição.
Figura 21 esquematicamente representa um fluxo de mensagens de subscrição para a subscrição de um cartão de visita em que, após a conclusão desse procedimento, uma subscrição terá sido criada em um subsistema publicar- subscrever (ou seja, no Núcleo Pub-Sub) e um registro de subscrição será salvo em um armazenamento de dados persistente.1. gura 22 apresenta uma seqüência de mensagens complementares para o processo de subscrição da Figura 21. Como descrito nesta figura, quando User2 solicita uma subscrição, uma mensagem SUBSCRIBE é enviada do cliente de presença User2 ao serviço de presença, que verifica a subscrição, autentica User2, autoriza a subscrição, subscreve User2 para User1, e depois envia uma confirmação de subscrição (SUB-ACK) com um ID de subscrição (SubId) de volta para o cliente de presença de User2, o que indica a User2 que o processo de subscrição foi concluído. Uma relação de subscrição autorizada é, portanto, estabelecida entre User1 e User2.
Figura 23 esquematicamente representa um fluxo de mensagens para atualizar / publicar as alterações feitas a um cartão de visita eletrônico ou virtual. Como mostrado na Figura 23, o processo de atualização de um cartão de visita é iniciado quando User1 publica uma mudança para o cartão (1: PUBLISH <card>) de, por exemplo, um dispositivo móvel para um retransmissor. O retransmissor passa ao longo da mensagem de atualização (2: PUBLISH <card>) a um nó proxy que encaminha a mensagem de atualização (3: PUBLISH <card>) a um servidor de função de presença que, por sua vez, encaminha a mensagem (4: PUBLISH < cartão>) para um servidor publicar-subscrever (parte do Núcleo Pub-Sub). O servidor publicar-subscrever responde com uma mensagem de notificação (5: NOTIFY <card>, <sub id>) para o nó de função de presença que encaminha a mensagem (6: NOTIFY <card>, <sub id>) a um nó proxy diferente que, por sua vez, envia a mensagem de notificação (7: NOTIFY <card>, <sub id>) para o retransmissor. O retransmissor então comunica a mensagem de notificação (8: NOTIFY <card>, <sub id>) para o dispositivo de User2.
Figura 24 apresenta uma sequência de mensagens para o procedimento de publicar-notificar da Figura 23 ou para qualquer outra situação, quando um primeiro usuário (User1) publica informação de presença nova ou uma mudança de estado em informação de presença existente para que um segundo usuário (User2) tenha uma subscrição. Como mostrado na Figura 24, entrada do usuário de User1 (ou qualquer dado do sensor gerado automaticamente a partir do dispositivo do User1) causa uma mudança de estado no cliente de presença de User1. O cliente de presença do User1 criptografa a mudança de estado e publica isto ao serviço de presença, que verifica a subscrição e, assumindo que a subscrição é válida, notifica o cliente de presença User2 enviando o ID de subscrição e a mudança de estado criptografada que o cliente de presença User2 pode descriptografar. A informação de presença (mudança de estado) pode então ser disponibilizada (por exemplo, exibida) para User2.
Figura 25 esquematicamente representa um fluxo de mensagens para pausar (suspensão) uma subscrição, por exemplo, uma subscrição para informação de presença ou, alternativamente, uma subscrição para outro cartão de negócios da pessoa. Esta figura mostra um exemplo em que User2 comunica uma mensagem de subscrição de pausa (SUB PAUSE <sub id>) para o retransmissor que, por sua vez, envia uma mensagem de subscrição de pausa contendo o ID de subscrição de um nó proxy. O nó proxy envia uma mensagem de subscrição de pausa (também com o ID de subscrição) para um nó de função (servidor) na camada funcional. Daí em diante, como mostrado no exemplo apresentado na Figura 25, as notificações são meramente acumuladas no armazenamento de dados persistente até que a subscrição seja retomada. Nesta implementação, é o nó da função que atua como “mantedor de porta“, determinando que notificações encaminhar para o nó proxy e quais devem ser encaminhadas para o armazenamento de dados persistente.
Suspender uma subscrição pode ser feito manualmente ou automaticamente. Manualmente suspender uma subscrição pode, por exemplo, ser feito por receber a entrada em um dispositivo de entrada do usuário que indica que o usuário pretende suspender uma subscrição. Automaticamente a suspensão de uma subscrição pode, por exemplo, implicar a programação ou pré-configurar o dispositivo (ou, mais especificamente, o cliente de presença que executa no dispositivo) para enviar a mensagem de subscrição suspender / pausar mediante satisfação de um ou mais critérios predeterminados, a seguir referido como condições de disparo suspensão. Estas condições de disparo suspensão podem ser, por exemplo, condições baseadas no tempo e / ou condições baseadas em localização. Estas condições de disparo suspensão podem ser definidas para pausar uma única subscrição ou um grupo de subscriçãos.
Em uma implementação, as condições de disparo suspensão suspendem a subscrição indefinidamente até que uma condição de disparo retomada seja atendida, mesmo que a condição de disparo suspensão deixe de ser cumprida. Em outras palavras, as condições de disparo suspensão indefinidas ou de abertura finalizada requer uma condição de disparo retomada de forma a afirmativamente retomar a subscrição. (condições de disparo retomada são descritas em detalhes nos parágrafos abaixo que fazem referência à figura 26.) Em outra implementação, a condição de disparo suspensão contém implicitamente a sua própria condição de retomada padrão, ou seja, com uma condição de disparo suspensão definitiva ou auto-contida, a subscrição é automaticamente retomada quando a condição de disparo suspensão não é mais cumprida.
Condições de disparo suspensão baseadas no tempo podem ser definidas para pausar uma subscrição a partir de qualquer hora, dia, semana, mês ou ano.
Para condições de disparo suspensão baseadas no tempo indefinidas, a subscrição está em pausa por tempo indeterminado, quando a hora chega a uma condição prescrita temporal, por exemplo, a subscrição é pausada por tempo indeterminado a partir de 17:45 na sexta-feira 31 outubro, 2009. Como esta condição é indefinida (abertura finalizada), a subscrição não será retomada a menos que um mensagem de retomada específica afirmativa seja recebida.
Para condições de disparo suspensão baseadas no tempo definidas, a subscrição pode ser pausada por qualquer período de tempo, por exemplo, de um dia específico, semana, mês, ano, etc. Estas condições de disparo suspensão baseadas no tempo definidas, agem, assim, como cronômetros para suspender e retomar subscriçãos. Por exemplo, o dispositivo pode ser configurado para enviar automaticamente uma mensagem para suspender uma subscrição para um contato de negócios se o tempo atual não é de 9:005:00 ou se o dia atual não é de segunda a sexta-feira (ou seja, durante o horário comercial regular) .
Condições de disparo suspensão baseadas em localização podem ser definidas para um local geográfico específico, como um continente ou grupo de continentes, país ou grupo de países, estado / província / distrito ou grupo de estados / províncias / distritos, ou qualquer cidade ou município ou grupo de cidades, vilas ou municípios, etc. A condição baseada em localização também pode ser a entrada ou saída de qualquer região personalizada definida em termos de coordenadas de latitude e longitude, caixa delimitadora gráfica, etc. Por exemplo, o dispositivo pode ser configurado automaticamente para enviar uma mensagem para suspender uma subscrição, se o local atual está fora da América do Norte.
Estas condições baseadas em localização também podem ser indefinidas ou definidas. Se a condição é indefinida, a subscrição é suspensa mediante a satisfação da condição (por exemplo, deixando a América do Norte), mesmo se o dispositivo posteriormente já não satisfaz a condição desencadeante (por exemplo, o dispositivo retorna à América do Norte). A mensagem de retomada de subscrição (acionada manualmente ou automaticamente na satisfação de uma condição de retomada) é necessária para retomar a subscrição. Se a condição é definida, por outro lado, a subscrição é automaticamente retomada quando a condição de desencadeamento deixa de existir, por exemplo, assim que o dispositivo retorna à América do Norte.
Condições de disparo suspensão baseadas em localização e baseadas em tempo podem ser usadas conjuntamente. Como exemplo, o dispositivo pode ser configurado automaticamente para enviar uma mensagem para suspender uma subscrição, se o tempo atual é entre 1 hora e cinco horas e se localização atual corresponde a Barcelona, Espanha.
Além de condições de disparo suspensão baseadas em localização e baseadas em tempo, as subscrições podem ser suspensas (pausa) com base em quaisquer outras condições, como, por exemplo, a força da bateria do dispositivo, o congestionamento da rede atual, uso de CPU atual, etc. Por exemplo, se o dispositivo estiver com pouca bateria, o dispositivo pode ser configurado para suspender automaticamente subscriçãos para minimizar a quantidade de dados sendo recebidos através do ar.
O dispositivo também pode ser configurado para permitir que todas as subscriçãos sejam suspensas (um recurso "suspender todas as subscriçãos"). Esse recurso pode ser acionado manualmente ou automaticamente na satisfação de um critério ou condição predeterminada. Tal característica seria útil, por exemplo, para uma pessoa que está saindo de férias e deseja de forma eficiente suspender todas as subscriçãos (sem ter que suspender individualmente cada subscrição).
Figura 26 esquematicamente representa um fluxo de mensagens para retomar uma subscrição, ou seja, reiniciar uma subscrição que tinha sido previamente suspensa. Como descrito neste outro exemplo, a subscrição pode ser retomada quando User2 comunica uma mensagem de retomar subscrição (SUB RESUME <sub id>) contendo uma identificação de subscrição particular que deve ser retomada para o retransmissor, que comunica a mensagem de retomar subscrição para um nó proxy.
Quando o nó proxy comunica a mensagem de retomar subscrição para o nó de função (servidor) na camada funcional, o nó de função (servidor) obtém a partir dos armazenamento de dados persistentes a informação de presença que se acumulou enquanto a subscrição foi suspensa. O nó de função também notifica o nó proxy com uma mensagem de notificação (NOTIFY <card>, <sub id>), ou seja, envia de volta uma resposta para notificar o observador que a subscrição foi suspensa. O nó proxy comunica esta resposta (mensagem de notificação) para o retransmissor que, por sua vez, encaminha a resposta (mensagem de notificação) para o dispositivo User2.
Retomar uma subscrição pode ser feito manualmente ou automaticamente, de forma análoga ao procedimento de suspensão de uma subscrição. Manualmente retomar uma subscrição pausada pode, por exemplo, ser feito por receber a entrada em um dispositivo de entrada do usuário que indica que o usuário quer reiniciar uma subscrição atualmente suspensa. Automaticamente retomar uma subscrição pode, por exemplo, implicar a programação ou pré-configurar o dispositivo para enviar a mensagem de subscrição de retomada sobre a satisfação de um ou mais critérios predeterminados, a seguir referido por condições de disparo retomada de subscrição ou simplesmente condições de retomada. Essas condições de retomada podem ser, por exemplo, condições baseadas no tempo e / ou condições baseadas em localização. Estas condições de retomada podem ser definidas para retomar uma subscrição em pausa (ou retomar um grupo relacionado de subscriçãos em pausa).
As condições de retomada baseadas no tempo podem ser definidas para retomar uma subscrição suspensa a qualquer momento particular, dia, semana, mês, ano, etc. A condição de disparo suspensão pode ser usada em conjunto com uma condição de retomada para agir como um temporizador para suspender e retomar subscriçãos. Por exemplo, uma subscrição pode ser pausada em 10 de junho e retomada 15 de agosto.
As condições de retomada baseadas em localização também podem ser definidas em termos de uma localização geográfica específica, como um continente ou grupo de continentes, país ou grupo de países, estado / província / distrito ou grupo de estados / províncias / distritos, ou qualquer cidade ou município ou grupo de cidades, vilas ou municípios. A condição baseada em localização também pode ser entrada ou saída de qualquer região personalizada definida em termos de coordenadas de latitude e longitude, caixa delimitadora gráfica, etc. Por exemplo, o dispositivo pode ser configurado automaticamente para enviar uma mensagem de retomada de subscrição para retomar uma subscrição pausada apenas quando a localização atual do dispositivo está dentro dos limites da cidade de Montreal. É de notar que a condição local que aciona a suspensão da subscrição pode ser diferente da condição local que faz a retomada da subscrição. Por exemplo, a subscrição pode ser suspensa quando o dispositivo chega a Paris e retomada apenas quando o dispositivo chega a Roma.
As condições de retomada com base no tempo e baseadas em localização também podem ser utilizadas conjuntamente. Como exemplo, o dispositivo pode ser configurado para enviar automaticamente uma mensagem para retomar uma subscrição pausada se o tempo atual é entre 11:00h e 04:00h, o dia atual é terça-feira, o mês atual é julho e se um local atual corresponde a Ottawa , no Canadá.
Além das condições baseadas em tempo e baseados em localização, subscrições pausadas podem ser retomadas com base em quaisquer outras condições como, por exemplo, o uso da energia da bateria acima de um limite predeterminado, diminuição do congestionamento da rede abaixo de um limite predeterminado, uso de CPU abaixo de um limite predeterminado, etc.
Retomar subscrições pode ser realizado individualmente, manualmente ou automaticamente enviando uma mensagem de retomada para cada subscrição específica. O dispositivo também pode ser configurado para permitir todas as subscriçãos atualmente pausadas serem retomadas. Um recurso de "retomar todas as subscriçãos" pode ser selecionado manualmente para gerar mensagens de retomada de subscrição para cada subscrição pausada. Este recurso pode ser útil para uma pessoa que voltou de férias e deseja retomar todas as subscriçãos dele ou dela. Da mesma forma, o recurso de retomar todas as subscrições pode ser ativado pela satisfação de uma condição central que desencadeia o envio de mensagens de retomada para todas as subscriçãos.
Na implementação específica representada a título de exemplo na Figura 26, o nó de função lê notificações de velhas que se acumularam no armazenamento de dados persistente quando a subscrição for retomada. Em outra aplicação, as notificações não são armazenadas, mas simplesmente descartadas. Em outra aplicação, as notificações podem ser acumuladas somente por um determinado período de tempo antes de ser purgadas. Em outra aplicação, o usuário (observador) pode ser consultado, sobre a retomada de uma subscrição, para saber se ele ou ela deseja receber as notificações velhas acumuladas.
Ainda em outra aplicação, o cliente de presença executando no dispositivo pode incluir configurações, preferências ou opções para determinar se mantém ou descarta notificações enquanto a subscrição está em pausa, quanto tempo reter as notificações antes de serem removidas, ou que tipos de notificações devem ser retidas ou removidas. Essas configurações ou preferências podem ser comunicadas ao serviço de presença na mensagem de retomada.
Ainda em outra aplicação, o dispositivo pode instruir o serviço de presença para transferir os dados de notificação velhos ou um subconjunto deles do armazenamento de dados persistente com um armazenamento de dados remoto para arquivamento.
Ocasionalmente, um usuário irá alternar dispositivos (por exemplo, atualizar o seu dispositivo móvel para um modelo mais novo). Existem dois cenários fundamentais relacionados com a comutação de dispositivos.
No primeiro cenário, uma cópia “up-to-date” (atual) dos dados do aparelho antigo é copiada para o novo dispositivo através de um procedimento “backup” / restaurar. Figura 27 esquematicamente representa um fluxo de mensagens para um procedimento “backup” / restaurar quando um usuário muda de um dispositivo antigo para um novo dispositivo. Após o procedimento “backup” / restaurar, o novo dispositivo possui todos os dados necessários para retomar a operação normal com o serviço de presença. User1 pode então re-executar o procedimento de registro de presença para atualizar o Mapeamento identificador UUID de dispositivo móvel no armazenamento de dados persistente, como mostrado na Figura 27. O procedimento é semelhante ao cenário de nova subscrição, exceto que neste caso, o novo dispositivo inclui UUID do usuário no procedimento de solicitação / resposta token para informar o serviço de presença que o usuário já é um utilizador registrado.
No segundo cenário, um “backup” atualizado dos dados do aparelho antigo não está disponível. Isso pode acontecer, por exemplo, se o aparelho antigo foi perdido ou danificado. Figura 28 esquematicamente representa um fluxo de mensagens para um procedimento de re-registro quando um usuário alterna dispositivos, mas um “backup” atualizado dos dados do aparelho antigo não está disponível. Esta figura ilustra um cenário no qual User1 muda para um novo dispositivo, mas um “backup” atualizado dos dados do aparelho antigo não está disponível. Para se tornar operacional com o serviço de presença outra vez o usuário tem o endereço de e-mail previamente selecionado como o identificador do usuário direcionado para o novo dispositivo e executa o procedimento de registro de presença usando o mesmo endereço de e-mail previamente selecionado como o identificador do usuário. O registrador de presença reconhece o usuário como tendo sido previamente cadastrado (identificando o usuário pelo seu endereço de email anterior) e entrega UUID do usuário e lista de subscrição do novo dispositivo.
Figura 29 esquematicamente representa um fluxo de mensagens quando um usuário, sobre os dispositivos de comutação e re-registro, solicita re-autorização e novas chaves de cada contato.
Usando a lista de subscrição obtida no procedimento de re-registro o usuário poderá solicitar nova autorização e as novas chaves de cada contato. Subscriçãos existentes estão em vigor e ativas por isso não há necessidade de criar novas subscriçãos ou modificar subscriçãos existentes. Se a autorização não é concedida, em seguida, as subscriçãos devem ser removidas para evitar o recebimento de notificações indesejadas. O próximo passo é, portanto, de revogar a autorização e criptografia de chaves que foram dadas para outros contatos. Isso acionará os contatos para solicitar nova autorização e obter novas chaves, como mostrado na Figura 30. Em outras palavras, a relação de subscrição autorizada está temporariamente cortada e então re-estabelecida.
Figura 30 esquematicamente descreve como as chaves podem ser revogadas e reemitidas para vários observadores quando um usuário alterna dispositivos. Uma mensagem que é especialmente formatada para atender os critérios de subscrição de contactos subscritos é publicada. Desde que dispositivo do User1 já não sabe as chaves que foram previamente compartilhadas com os contactos subscritos a mensagem não pode ser criptografada. A mensagem contém o identificador do usuário do User1 (ou seja, o endereço de e-mail), o identificador do dispositivo móvel do novo dispositivo do User1 e uma indicação de que as teclas previamente compartilhadas são revogadas.
Todos os contactos subscritos receberão notificações contendo a mensagem do User1. Se o contato subscrito assim o desejar, esses contatos podem solicitar nova autorização e as novas chaves do User1.
O sistema de presença descrito acima pode ser usado com qualquer dispositivo de computação em rede ou dispositivo de comunicação, incluindo, computadores pessoais, laptops, tablets, dispositivos de comunicação sem fio (incluindo PDAs, smart phones, telefones celulares, ou qualquer outro tipo de telefone móvel). Embora a tecnologia de presença possa ser usada com um dispositivo de computação estático, ela é particularmente útil quando utilizada em conjunto com dispositivos móveis que são equipados com subsistemas para determinar localização como, por exemplo, Sistema de Posicionamento Global (GPS) uma vez que oferece informação de localização baseado em presença.
Figura 31 esquematicamente descreve como o sistema de presença pode interagir com um cliente sem fio 100 através de uma infraestrutura de rede móvel 1000 e um cliente com fio 101 através de uma conexão de internet padrão 1100. A infraestrutura de rede móvel 1000 e a conexão de Internet 1100 estão ligadas a um de uma pluralidade de nós proxy da camada proxy 1200, dependendo da localização dos clientes 100, 101. Os nós proxy atuam como roteadores para rotear mensagens, como mensagens de suspensão de subscrição e mensagens de retomada de subscrição a partir dos dispositivos de vários usuários (clientes 100, 101) para um nó de função predeterminado (pré-atribuído) 1310, com o qual o dispositivo já havia estabelecido uma ligação. O nó de função 1310 que recebe a mensagem de suspensão de subscrição processa esta mensagem de suspensão de subscrição para identificar uma subscrição associada à mensagem de suspensão de subscrição. O nó de função 1310, em seguida, suspende a subscrição através do bloqueio e reencaminha para o armazenamento de dados persistente 1400 todas as notificações que, no curso normal, seriam encaminhadas para o dispositivo do observador, se a subscrição do observador estava ativa ou em efeito (ou seja, não suspenso).
Como ainda representado na Figura 31, o nó de função 1310 faz parte da camada funcional 1300. A camada funcional 1300 também inclui um subsistema de publicar-subscrever (Núcleo Pub-Sub 1330) permitindo entidades de presença publicar informação de presença e observadores subscreverem informação de presença. O sistema de publicar-subscrever gera e encaminha todas as notificações para o nó de função, independentemente de a subscrição estar ativa (em vigor) ou inativa (suspensa).
O armazenamento de dados persistente 1400 não apenas acumula (armazena) notificações do subsistema de publicar- subscrever 1330, durante o período em que a subscrição foi suspensa ou em pausa, mas também armazena outras informações também. Por exemplo, o armazenamento de dados persistente 1400 também pode armazenar identificação de usuários de dados geralmente invariável e um mapeamento que liga cada usuário (através, por exemplo, de um ID exclusivo universal) para cada dispositivo (via, por exemplo, um número identificador do dispositivo móvel associado com o dispositivo, como, por exemplo, um número de entidade de Equipamento Móvel Internacional (IMEI) que identifica unicamente um dispositivo móvel GSM, UMTS, ou LTE iDEN ou um identificador de Equipamento Móvel (MEID), que identifica unicamente um dispositivo móvel CDMA).
Embora seja vantajoso implementar o sistema de presença na forma ilustrada nesta figura, ou seja, com nós proxy dissociados dos nós de função e com nós de função dissociados do subsistema de publicar-subscrever, também é possível combinar um ou mais dos os nós representados nesta figura em um ou mais nós multifuncionais. Também deve ser apreciado que os nós adicionais (“backup”) podem ser inseridos para fornecer redundância de rede e resiliência.
Em uma implementação deste sistema exemplar, o nó proxy é configurado para rotear a mensagem referente a informação de presença com base em uma identidade do cliente de presença (ou seja, que usuário é) e uma aplicação específica identificada na mensagem.
Em uma implementação deste sistema exemplar, o subsistema de publicar-subscrever 1330 emprega publicação operável independente e servidores de subscrição, ou seja, o servidor de publicação (s) e o servidor de subscrição (s) funcionam independentemente uns dos outros. Assim, o conteúdo dos dados pode ser publicado, mesmo sem correspondência de subscrição existente. Da mesma forma, uma subscrição pode ser criada mesmo que nenhum conteúdo de dados correspondente ainda tenha sido publicado. Por exemplo, um usuário pode publicar informação de presença de si mesmo usando qualquer descritores arbitrários (que não precisam ser predefinidos). Da mesma forma, um observador pode definir uma expressão de subscrição usando qualquer linguagem arbitrária, mesmo se não há dados publicados de conteúdos relevantes para a expressão de subscrição.
O sistema de presença novo divulgado neste documento está baseado em um modelo baseado em conteúdo no qual subscritos manifestam o seu interesse, especificando as condições sobre o conteúdo dos eventos que desejam receber. Uma subscrição é uma consulta formada por um conjunto de restrições geralmente sob a forma de pares nome-valor de propriedades e operadores básicos de comparação (=,<<=,>,>=) que identificam eventos válidos. Uma restrição também pode ser da forma de uma expressão regular.
Nos sistemas de publicar-subscrever baseados em conteúdo, os eventos não são classificados de acordo com critérios predefinidos, mas sim de acordo com as propriedades dos próprios eventos. Daí a correspondência entre publicadores e subscritos está em uma base por- evento. O maior o poder expressivo de um sistema baseado em conteúdo vem ao preço de maior consumo de recursos necessários para calcular o conjunto de subscritos interessados para cada evento.
Porque um sistema de publicar-subscrever baseado em conteúdo inspeciona o conteúdo de cada evento, a fim de coincidir com subscriçãos, não é possível suportar criptografia “end-to-end” completa do conteúdo de eventos. O conteúdo é temporariamente descriptografado enquanto casamento é executado. Em uma variante, no entanto, é possível atribuir rótulos ou descritores para o conteúdo criptografado para ativar o sistema para identificar o conteúdo criptografado através de seu rótulo e para comunicar o conteúdo criptografado sem descriptografá-lo até que ele atinja o observador (a qual tenha sido previamente dado a chave específica para descriptografar o conteúdo criptografado).
Figura 32 esquematicamente descreve um dispositivo de comunicações sem fio 100, que pode ser usado para gerenciar uma subscrição para informação de presença, de acordo com outro aspecto da tecnologia atual. Para os efeitos desta especificação, a expressão "dispositivo de comunicação sem fio" se destina a abranger uma ampla gama de dispositivos de comunicação eletrônicos que têm microprocessadores e memória e que são capazes de comunicação sem fio ("sobre o ar"). Assim, "dispositivo de comunicação sem fio" se destina a abranger laptops, PCs tablet, portáteis, dispositivos eletrônicos portáteis ou móveis habilitados sem fio, tais como smart phones, telefones celulares, telefones por satélite e sem fio, PDA, etc, ou qualquer híbrido ou dispositivo multifuncional que tem um transceptor de rádio-frequência (RF).
Referindo-se a Figura 32, cada dispositivo de comunicação sem fio 100 inclui um microprocessador 110 ou unidade de processamento central (ou simplesmente "processador") e uma memória para armazenar dados. A memória pode incluir tanto uma memória Flash 120 e uma memória de acesso aleatório (RAM) 130. Cada dispositivo de comunicações sem fio 100 também tem uma interface de usuário 140, que inclui uma tela (interface de usuário gráfica - GUI) 150, por exemplo, uma tela de LCD, um teclado 155 e um opcional “thumbwheel / trackball" 160. Em vez de um teclado, o dispositivo pode incluir uma tela sensível ao toque. Cada dispositivo de comunicação sem fio 100 inclui um chip transceptor RF 170 para comunicações sem fio, isto é, recepção e transmissão de voz e dados através de canais separados utilizando tecnologias como o GSM / UMTS / LTE, CDMA, GPRS, EDGE, etc. Para comunicações de voz opcional, o dispositivo de comunicação sem fio 100 tem um microfone 180 e um alto-falante 182.
Além disso, como mostrado esquematicamente na Figura 32, o dispositivo de comunicação sem fio 100 pode incluir um chipset Sistema de Posicionamento Global (GPS) para a obtenção de posições fixas a partir de satélites GPS em órbita. Referências a GPS são destinadas a incluir também GPS Assistido ou GPS Apoiado.
Embora a divulgação presente refere-se expressamente ao "Sistema de Posicionamento Global" ou "GPS", deve ser entendido que o termo "GPS" está sendo usado expansivamente para incluir qualquer sistema via satélite de transmissão de sinais de navegação, e, portanto, incluir outros sistemas utilizados em todo o mundo, incluindo o sistema Beidou (COMPASS) que está sendo desenvolvido pela China, o sistema Galileo multinacional sendo desenvolvido pela União Européia, em colaboração com a China, Israel, Índia, Marrocos, Arábia Saudita e Coréia do Sul, da sistema GLONASS de Rússia, Sistema de satélite de navegação regional proposto pela da Índia (IRNSS), e o sistema QZSS regional proposto pelo Japão. Em vez de, ou além de GPS, dispositivo de comunicação sem fio pode usar outro tipo de subsistema para determinar localização. Embora o GPS seja a melhor forma atualmente conhecida para a obtenção de uma posição atual, um tipo diferente de subsistema de posicionamento ou subsistema para determinar localização pode ser usado, por exemplo, um subsistema de radio- localização que determina a sua localização atual usando técnicas de radio-localização, como será descrito em seguida. Na aplicação principal, porém, o chipset GPS 190 recebe e processa os sinais dos satélites GPS para gerar coordenadas de latitude e longitude, tornando o dispositivo "informado de local".
Em vez de, ou além de coordenadas GPS, a localização do dispositivo pode ser determinada usando triangulação de sinais de torres na faixa-base, como a utilizada para o E911 sem fio. Os serviços 911 sem fio Melhorados permitem que um telefone celular ou outro dispositivo sem fio seja localizado geograficamente usando técnicas de radio- localização, tais como (i) ângulo de chegada (AOA), que implica localização do chamador no ponto onde os sinais de duas torres cruzam; (ii) diferença de tempo de chegada (TDOA), que usa multilateração como GPS, exceto que as redes determinam a diferença de tempo e, portanto, a distância entre cada torre, e (iii) a subscrição de localização, que utiliza "impressões digitais" para armazenar e recuperar padrões (como multi caminhos) que exibem sinais de celulares em locais diferentes em cada célula. Outras técnicas de determinação de localização (de granularidade variável) também podem ser utilizadas para fins de prestação de dados de localização relacionados com a presença, tais como, usar a identidade da estação base, o acesso a dados armazenados em um Registro de Localização Caseiro / Registro de Localização de Visitante (HLR / VLR), etc.
Independentemente da técnica de localização de determinação que é empregada, um dispositivo de comunicação sem fio com um subsistema de localização de determinação, por exemplo, chipset GPS, pode ser configurado para determinar a sua localização atual e comparar seu local atual contra as condições de disparo baseadas em localização para suspender ou retomar uma subscrição. O cliente de presença em execução no dispositivo de comunicação sem fio pode ser programado para gerar uma mensagem de suspensão de subscrição com base nesta condição de disparo (ou, alternativamente, com base em contribuições recebidas por meio de um dispositivo de entrada do usuário, como um teclado, tela sensível ao toque, subsistema de reconhecimento de voz, etc).
O transceptor de radiofreqüência (por exemplo, chip RF 170) no dispositivo de comunicações sem fio 100, em seguida, transmite a mensagem de suspensão de subscrição de um serviço de presença para suspender a subscrição. Especificamente, a mensagem de suspensão de subscrição é transmitida através do ar para uma torre de estação base que passa a mensagem de suspensão para o retransmissor que, por sua vez, comunica a mensagem de suspensão para o nó proxy para o encaminhamento, por sua vez, para o nó de função. Como observado acima, o nó de função processa a mensagem, identifica que a subscrição é suspensa, e então suspende a subscrição por reencaminhamento de notificações para o armazenamento de dados persistente onde são acumuladas para posterior recuperação quando a subscrição for retomada. Analogamente, uma mensagem de retomada de subscrição pode ser gerada pelo dispositivo, seja em resposta à entrada manual do usuário ou em resposta à detecção de uma condição de disparo. A mensagem de retomada de subscrição, assim como a mensagem de suspensão de subscrição, é comunicada ao nó de função, através da estação base, retransmissor e nó proxy.
Figura 33 é um fluxograma descrevendo algumas das principais etapas de um método exemplar de fornecer informação de presença sobre um primeiro usuário a um segundo usuário, o método compreendendo uma etapa 200 de receber informações de presença publicadas de um cliente de presença associado com o primeiro usuário, uma etapa 210 de armazenar a informação de presença em qualquer formato de dados arbitrário, uma etapa 220 de validar um pedido para subscrever a informação de presença associada com o primeiro usuário, determinar se o segundo usuário foi autorizado pelo primeiro usuário a inscrever-se na informação de presença, e uma etapa 230 de comunicar a um ou mais elementos da informação para um cliente de presença associado com o segundo usuário quando o conteúdo solicitado pelo segundo usuário casa com conteúdo publicado pelo primeiro usuário.
Em uma implementação deste método, o ato de validar o pedido para se inscrever implica um ato de determinar que um ou mais de uma pluralidade de elementos de informação de presença do primeiro usuário tenha autorizado o segundo usuário a receber. Em outras palavras, o primeiro usuário (aquele que publica sua informação de presença) poderá autorizar o segundo usuário para obter toda a informação de presença que ele publica ou apenas um subconjunto de informações. Em uma implementação, o primeiro usuário pode autorizar o segundo usuário a receber (ver), apenas certos atributos (elementos) da informação de presença, enquanto restringindo o acesso a outros atributos. Por exemplo, o primeiro usuário pode permitir que o segundo usuário seja notificado do disposição e disponibilidade do primeiro usuário mas não a localização dele.
Em uma variante dessa implementação, o usuário pode definir um conjunto de condições (por exemplo, período do dia, disponibilidade, disposição, local) que determinam quanto o acesso do segundo usuário (observador) pode ser concedido. Por exemplo, o primeiro usuário pode especificar que o segundo usuário pode receber informação de presença, referente à sua disposição e disponibilidade, desde que a hora do dia seja fora do horário normal de trabalho e que a localização do segundo usuário seja dentro de um determinado raio do primeiro usuário.
Desta forma, o primeiro usuário pode configurar um conjunto altamente matizado de condições (em, por exemplo, um perfil de observador para o segundo usuário) que modula o acesso à informação de presença. O perfil de observador pode ser definido estaticamente (um conjunto de condições específicas que o primeiro usuário afirmativamente estipula) ou definidas dinamicamente (as condições podem mudar com base em informações de presença próprias do primeiro usuário, por exemplo, disposição, localização, atividade, etc, ou com base em informações de presença do usuário segundo, ou com base em uma combinação de informações de presença do primeiro usuário e segundo usuário). Da mesma maneira, o segundo usuário também pode definir as suas subscriçãos usando os mesmos conjuntos ou similares de condições para garantir que a informação de presença só é recebida por elementos / atributos de interesse, por vezes, quando estes são relevantes ou significativos para o segundo usuário (o observador). Essa interação dinâmica entre a informação de presença publicada e a subscrição permite que os usuários do sistema de presença interajam muito mais eficientemente do que foi até agora possível com as tecnologias de presença rudimentares e presença ricas conhecidas atualmente na arte.
Além disso, em uma implementação do sistema de presença novo, cada atributo (cada elemento de informação de presença) é codificado separadamente usando uma chave diferente para que atributos específicos possam ser compartilhados individualmente e em privado. As chaves podem ser trocadas de forma segura usando Diffie-Hellman para um ou mais observadores autorizados para cada atributo específico para o qual a autorização foi concedida. Isso representa um paradigma de privacidade radicalmente diferente do que é proposto em RFC 3863 em que informação de presença é instanciada como um documento único monolítico. Se uma entidade de presença quer aplicar regras de privacidade, que resultam em um observador sendo permitido para receber apenas um subconjunto da informação de presença, em seguida, um novo documento deve ser criado que não contém informação confidencial. Isto exige a filtragem da informação de presença para remover dados particulares. Filtragem seria necessário para cada ciclo de notificação e para cada observador, e então o documento de presença inteiro é enviado para o observador, mesmo que isto contenha informações potencialmente desnecessárias. Isto é particularmente ineficiente para clientes móveis. Em contraste, o sistema de presença novo descrito aqui pode criptografar cada atributo separadamente e enviar somente o atributo que, para o observador, mantém total privacidade para todos os outros atributos.
Figura 34 é um fluxograma que descreve algumas das principais etapas de um método de informação de presença da publicação. Este método de publicação de informação de presença envolve a coleta de informação de presença (passo 300), publicação de conteúdo de dados que representam informação de presença para um serviço de presença baseado em conteúdo, o serviço de presença armazenando o conteúdo de dados em qualquer formato de dados arbitrário (passo 310) e depois autorizar um contato interessada para subscrever a informação de presença, definindo assim o contato como um observador, o observador recebe o conteúdo de dados que representa a informação de presença quando uma expressão de subscrição especificada pelo observador corresponde ao conteúdo dos dados publicados para o serviço de presença (passo 320).
Figura 35 é um fluxograma que descreve algumas das principais etapas de um método de subscrição de informação de presença. Tal como é descrito, este método de subscrição de informação de presença envolve uma etapa 400 de comunicar um pedido de subscrição de um serviço de presença baseado em conteúdo, o pedido de subscrição sendo validado pelo serviço de presença que um primeiro usuário publicando conteúdo de dados representando sua informação de presença autorizou um segundo usuário comunicar a requisição de subscrição para receber essa informação de presença, uma etapa 410 de especificar uma expressão de subscrição definindo conteúdo de dados que é de interesse para o segundo usuário, e uma etapa 420 de receber informações sobre a presença do primeiro usuário quando a expressão de subscrição casa com o conteúdo dos dados publicados pelo primeiro usuário para o serviço de presença.
Figura 36 é um fluxograma que descreve algumas das principais etapas de um método de atualização de informações de cartão de negócio. Este método de atualização automática de informações de cartão de visita sobre um primeiro usuário em um dispositivo associado a um segundo usuário envolve uma etapa 500 de publicação de uma mudança para a informação do cartão de negócio, enviando uma mensagem de um cliente de presença associado com o primeiro usuário através de um nó proxy de um serviço de presença a um nó de função predeterminado de serviço de presença que já foi ligado ao cliente de presença do primeiro usuário, uma etapa 510 de comunicar a mudança para um subsistema de publicar-subscrever do serviço de presença, o subsistema de publicar-subscrever determinando que o segundo usuário tem uma subscrição para a informação do cartão do primeiro usuário e, em seguida, notificar o nó de função da mudança de uma mensagem de notificação, e uma etapa 520 de comunicar a mensagem de notificação a partir do nó de função para um cliente de presença associado com o segundo usuário através de um nó proxy predeterminado.
As figuras 37 e 38 resumem os novos métodos de gerenciamento de subscrição que foram descritos em detalhes acima. Figura 37 apresenta o método de gerenciamento de subscrição a partir da perspectiva do serviço de presença enquanto a Figura 38 apresenta o método de gerenciamento de subscrição a partir da perspectiva do dispositivo (ou seja, um dispositivo de comunicações sem fio ou outro dispositivo de computação associado ou operado por um observador).
Figura 37 é um fluxograma que descreve alguns dos principais passos de um novo método, que é realizado pelo serviço de presença, para o gerenciamento de uma subscrição de informação de presença baseada em conteúdo. Este novo método implica uma etapa 600 de receber uma mensagem de suspensão de subscrição de um dispositivo (por exemplo, um dispositivo de comunicações sem fios) em um serviço de presença. O método envolve uma etapa subseqüente 610 de identificar a subscrição associada com a mensagem de suspensão de subscrição e, em seguida (no passo 620), que suspende a subscrição. Na etapa 630, uma resposta é enviada do serviço de presença para o dispositivo para notificar o dispositivo que a subscrição foi suspensa.
Figura 38 é um fluxograma que descreve alguns dos principais passos de um novo método, que é realizado por um dispositivo de computação, dispositivo de comunicação sem fio ou similar, para o gerenciamento de uma subscrição. Este método envolve uma primeira etapa 640 de envio de uma mensagem de suspensão de subscrição do dispositivo a um serviço de presença para suspender a subscrição e uma etapa subsequente 650 de receber uma resposta do serviço de presença notificando que a subscrição foi suspensa.
Os métodos divulgados na presente especificação podem ser implementados como instruções codificadas em um produto de programa de computador ou meio informático. Em outras palavras, o produto de programa de computador ou meio de que pode ser lido por computador armazena código de software para executar os métodos anteriores, quando carregados na memória e executados no microprocessador de um ou mais dispositivos de computação.
Esta nova tecnologia foi descrita em termos de implementações e configurações específicas que se destinam a ser apenas exemplares. Pessoas de habilidade comum na arte vão apreciar que variações, modificações eaperfeiçoamentos podem ser feitos com a tecnologia divulgada neste documento, sem se afastar do conceito inventivo (s). O âmbito do direito exclusivo visado é, portanto, limitado apenas pelas reivindicações anexadas.
Claims (12)
1. Método realizado por um serviço de presença, caracterizado pelo fato de compreender:receber informação de presença de uma entidade de presença;armazenar a informação de presença em qualquer formato de dados arbitrário;receber um pedido de subscrição de um dispositivo, o pedido de subscrição incluindo uma expressão de subscrição e pedindo o estabelecimento de uma subscrição para receber a informação de presença se a informação de presença corresponder à expressão de subscrição;validar o pedido de subscrição determinando se a informação de presença pedida é autorizada pela entidade de presença a partir da qual a informação de presença é recebida;criar a subscrição em resposta à informação de presença pedida ser autorizada pela entidade de presença;comunicar a informação de presença quando a informação de presença corresponde à expressão de subscrição;receber uma mensagem de suspensão de subscrição a partir do dispositivo;identificar a subscrição associada com a mensagem de suspensão de subscrição; esuspender a subscrição.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende ainda o envio de uma resposta do serviço de presença para o dispositivo para notificar o dispositivo que a subscrição foi suspensa.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a suspensão da subscrição compreende acumular notificações em um armazenamento de dados persistente.
4. Método, de acordo com a reivindicação 3, caracterizado pelo fato de acumular notificações compreende:receber notificações em um nó de função de presença de um subsistema de publicar mensagem; eencaminhar as notificações para o armazenamento de dados persistente para o armazenamento até a subscrição ser retomada.
5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende ainda receber uma mensagem de subscrever- retomar, no serviço de presença para retomar a subscrição que foi suspensa.
6. Método, de acordo com a reivindicação 5, caracterizado pelo fato de que compreende ainda buscar notificações acumuladas do armazenamento de dados persistente.
7. Meio não transitório legível por computador compreendendo instruções armazenadas no mesmo, caracterizado pelo fato de que as instruções são executáveis em um ou mais processadores para:receber informação de presença de uma entidade de presença;armazenar a informação de presença em qualquer formato de dados arbitrário;receber um pedido de subscrição de um dispositivo, o pedido de subscrição incluindo uma expressão de subscrição e pedindo o estabelecimento de uma subscrição para receber a informação de presença se a informação de presença corresponder à expressão de subscrição;validar o pedido de subscrição determinando se a informação de presença pedida é autorizada pela entidade de presença a partir da qual a informação de presença é recebida;criar a subscrição em resposta à informação de presença pedida ser autorizada pela entidade de presença; e comunicar a informação de presença quando a informação de presença corresponder à expressão de subscrição;receber uma mensagem de suspensão de subscrição a partir do dispositivo;identificar a subscrição associada com a mensagem de suspensão de subscrição; esuspender a subscrição.
8. Meio não transitório legível por computador, de acordo com a reivindicação 7, caracterizado pelo fato de que as instruções são ainda configuradas para enviar uma resposta do serviço de presença ao dispositivo para notificar o dispositivo de que a subscrição foi suspensa.
9. Meio não transitório legível por computador, de acordo com a reivindicação 7, caracterizado pelo fato de que a suspensão da subscrição compreende a acumulação de notificações em um armazenamento de dados persistente.
10. Meio não transitório legível por computador, de acordo com a reivindicação 9, caracterizado pelo fato de que a acumulação de notificações compreende:receber notificações em um nó de função de presença de um subsistema de publicação de mensagem; eencaminhar as notificações para o armazenamento de dados persistente para armazenamento até que a subscrição seja retomada.
11. Meio não transitório legível por computador, de acordo com a reivindicação 7, caracterizado pelo fato de 5 que as instruções são ainda configuradas para receber uma mensagem de retomada de subscrição no serviço de presença para retomar a subscrição que foi suspensa.
12. Meio não transitório legível por computador, de acordo com a reivindicação 11, caracterizado pelo fato de 10 que as instruções são ainda configuradas para buscar notificações acumuladas do armazenamento de dadospersistente.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15501709P | 2009-02-24 | 2009-02-24 | |
| US61/155,017 | 2009-02-24 | ||
| PCT/CA2010/000178 WO2010096898A1 (en) | 2009-02-24 | 2010-02-10 | Subscription management for a content-based presence service |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| BRPI1007825A2 BRPI1007825A2 (pt) | 2016-02-23 |
| BRPI1007825B1 true BRPI1007825B1 (pt) | 2021-08-03 |
Family
ID=42245612
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| BRPI1007825-8A BRPI1007825B1 (pt) | 2009-02-24 | 2010-02-10 | Método realizado por um serviço de presença e meio não transitório legível por computador |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US8060572B2 (pt) |
| EP (1) | EP2222057A1 (pt) |
| CN (1) | CN102415067A (pt) |
| BR (1) | BRPI1007825B1 (pt) |
| CA (1) | CA2753506C (pt) |
| MX (1) | MX2011008902A (pt) |
| WO (1) | WO2010096898A1 (pt) |
Families Citing this family (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2222056A1 (en) * | 2009-02-24 | 2010-08-25 | Research In Motion Limited | Method and system for updating a virtual business card |
| US8606233B2 (en) * | 2009-02-24 | 2013-12-10 | Blackberry Limited | Content-based publication-subscription system for presence information |
| EP2222106A1 (en) * | 2009-02-24 | 2010-08-25 | Research In Motion Limited | Method and system for registering a presence user with a presence service |
| US20110051913A1 (en) * | 2009-09-03 | 2011-03-03 | John Larsen Kesler | Method and System for Consolidating Communication |
| US9307038B2 (en) * | 2009-12-29 | 2016-04-05 | Motorola Solutions, Inc. | Method for presence notification based on a sequence of events |
| US8499035B2 (en) * | 2010-01-06 | 2013-07-30 | Tekelec, Inc. | Methods, systems and computer readable media for providing session initiation protocol (SIP) event watcher entity information in a communications network |
| US8661077B2 (en) * | 2010-01-06 | 2014-02-25 | Tekelec, Inc. | Methods, systems and computer readable media for providing a failover measure using watcher information (WINFO) architecture |
| US8621037B2 (en) * | 2010-09-28 | 2013-12-31 | Avaya Inc. | System and method to create bi-directional event subscriptions |
| US8768309B2 (en) * | 2010-09-29 | 2014-07-01 | At&T Intellectual Property I, L.P. | Reminders based on device presence |
| US9277502B2 (en) * | 2011-02-02 | 2016-03-01 | Facebook, Inc. | Hibernate mode for chat service |
| EP2568382B1 (en) * | 2011-09-09 | 2020-04-01 | BlackBerry Limited | Optimizing of publish-subscribe interprocess communications through the use of content-filters |
| US9548953B2 (en) | 2012-01-25 | 2017-01-17 | International Business Machines Corporation | Temporary suspension of electronic communications |
| KR101651808B1 (ko) * | 2012-02-07 | 2016-08-26 | 애플 인크. | 네트워크 보조형 사기 검출 장치 및 방법 |
| US9401952B1 (en) * | 2013-03-13 | 2016-07-26 | Shortel, Inc. | Managing presence state |
| US9003078B2 (en) | 2013-03-18 | 2015-04-07 | Boku, Inc. | Merchant managed subscriptions at a merchant server |
| JP6347829B2 (ja) * | 2013-03-18 | 2018-06-27 | ボク インコーポレイテッド | マーチャント管理のサブスクリプション |
| US9330275B1 (en) * | 2013-03-28 | 2016-05-03 | Amazon Technologies, Inc. | Location based decryption |
| US20140366091A1 (en) * | 2013-06-07 | 2014-12-11 | Amx, Llc | Customized information setup, access and sharing during a live conference |
| US9148869B2 (en) * | 2013-10-15 | 2015-09-29 | The Toronto-Dominion Bank | Location-based account activity alerts |
| CN105766006B (zh) * | 2013-11-05 | 2019-12-10 | 瑞典爱立信有限公司 | 用于经自组织网络的应用服务消息的地理目标分发的互通 |
| US20150200876A1 (en) * | 2014-01-16 | 2015-07-16 | Sony Corporation | Computer ecosystem with context-specific responses |
| US20150215347A1 (en) * | 2014-01-24 | 2015-07-30 | Vonage Network, Llc | Systems and methods for routing internet protocol telephony communications |
| US9806961B2 (en) | 2014-12-31 | 2017-10-31 | Motorola Solutions, Inc. | Method and apparatus for managing subscriptions for a subscription-notification service |
| US10264513B2 (en) * | 2016-08-05 | 2019-04-16 | Mediatek Inc. | Method of data communication in wireless ad hoc network |
| US10976979B1 (en) * | 2020-03-20 | 2021-04-13 | Facebook Technologies, Llc | Social experiences in artificial reality environments |
| CN111866092B (zh) * | 2020-06-30 | 2022-06-28 | 北京百度网讯科技有限公司 | 消息传输的方法、装置、电子设备和可读存储介质 |
| US11595248B2 (en) * | 2020-12-22 | 2023-02-28 | Vmw Are, Inc. | Scalable notification delivery for networked computing environments |
Family Cites Families (35)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6016478A (en) * | 1996-08-13 | 2000-01-18 | Starfish Software, Inc. | Scheduling system with methods for peer-to-peer scheduling of remote users |
| US6442263B1 (en) * | 1997-04-23 | 2002-08-27 | Nortel Networks Limited | Electronic business cards |
| US7284033B2 (en) * | 1999-12-14 | 2007-10-16 | Imahima Inc. | Systems for communicating current and future activity information among mobile internet users and methods therefor |
| US6587835B1 (en) * | 2000-02-09 | 2003-07-01 | G. Victor Treyz | Shopping assistance with handheld computing device |
| US6716101B1 (en) * | 2000-06-28 | 2004-04-06 | Bellsouth Intellectual Property Corporation | System and method for monitoring the location of individuals via the world wide web using a wireless communications network |
| US6327533B1 (en) * | 2000-06-30 | 2001-12-04 | Geospatial Technologies, Inc. | Method and apparatus for continuously locating an object |
| WO2002025403A2 (en) | 2000-09-20 | 2002-03-28 | Ants.Com., Inc. | Automated system and method for downloading, updating and synchronizing contact information |
| US6542075B2 (en) * | 2000-09-28 | 2003-04-01 | Vigilos, Inc. | System and method for providing configurable security monitoring utilizing an integrated information portal |
| JP2002215582A (ja) * | 2000-12-28 | 2002-08-02 | Morgan Stanley Dean Witter Japan Ltd | 認証方法及び装置 |
| CN1299222C (zh) * | 2001-03-14 | 2007-02-07 | 诺基亚有限公司 | 存在管理的实现 |
| US7474741B2 (en) * | 2003-01-20 | 2009-01-06 | Avaya Inc. | Messaging advise in presence-aware networks |
| JP4345368B2 (ja) * | 2003-06-17 | 2009-10-14 | 株式会社日立製作所 | プレゼンス管理装置および情報配信システム |
| US7739602B2 (en) * | 2003-06-24 | 2010-06-15 | Aol Inc. | System and method for community centric resource sharing based on a publishing subscription model |
| US7853697B2 (en) | 2005-01-03 | 2010-12-14 | Nokia Corporation | Handling suspended network state of a terminal device |
| EP1753199B1 (en) | 2005-08-11 | 2015-10-28 | Swisscom AG | Method and system for subscribing a user to a service |
| CN1863200A (zh) * | 2005-09-30 | 2006-11-15 | 华为技术有限公司 | 一种订阅呈现信息的方法和系统 |
| CN100574203C (zh) * | 2005-10-26 | 2009-12-23 | 华为技术有限公司 | 一种呈现信息的通知方法和系统 |
| US20070162600A1 (en) | 2005-11-18 | 2007-07-12 | Aol Llc | Promoting interoperability of presence-based systems through the use of ubiquitous online identities |
| US20070136197A1 (en) * | 2005-12-13 | 2007-06-14 | Morris Robert P | Methods, systems, and computer program products for authorizing a service request based on account-holder-configured authorization rules |
| US8254537B2 (en) * | 2006-02-03 | 2012-08-28 | Motorola Mobility Llc | Method and apparatus for updating a presence attribute |
| US8364711B2 (en) * | 2006-05-09 | 2013-01-29 | John Wilkins | Contact management system and method |
| JP4296191B2 (ja) * | 2006-07-26 | 2009-07-15 | 株式会社東芝 | サーバ装置、端末装置、通信方法、通信プログラムおよび通信システム |
| CN101115094B (zh) * | 2006-07-29 | 2013-04-24 | 华为技术有限公司 | 提供通信业务的方法和系统及触发器装置 |
| KR20080016467A (ko) | 2006-08-14 | 2008-02-21 | 삼성전자주식회사 | 프레즌스 속성 기반의 프레즌스 통지 시스템 및 방법 |
| JP5006406B2 (ja) | 2006-12-14 | 2012-08-22 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | クライアント・データの通知予約を処理する方法及び装置 |
| KR101431826B1 (ko) | 2007-03-29 | 2014-08-25 | 삼성전자주식회사 | 프레젼스 소스로부터 프레젼스 정보를 직접 요청하기 위한시스템 및 방법 |
| US9083758B2 (en) | 2007-06-11 | 2015-07-14 | Nokia Technologies Oy | System and method for using presence information |
| US7890592B2 (en) * | 2007-06-29 | 2011-02-15 | Microsoft Corporation | Processing data obtained from a presence-based system |
| JP4753316B2 (ja) * | 2007-07-03 | 2011-08-24 | 株式会社Kddi研究所 | プレゼンス情報の負荷を分散管理する負荷分散サーバ及びプログラム |
| US20090049190A1 (en) * | 2007-08-16 | 2009-02-19 | Yahoo!, Inc. | Multiple points of presence in real time communications |
| KR20090022374A (ko) * | 2007-08-30 | 2009-03-04 | 삼성전자주식회사 | 프레즌스 서비스를 이용한 상태 정보 제공 방법 및 그장치와 프레즌스 서비스를 이용한 컨텐트 상태 정보 생성방법 및 그 장치 |
| US20090070419A1 (en) * | 2007-09-11 | 2009-03-12 | International Business Machines Corporation | Administering Feeds Of Presence Information Of One Or More Presentities |
| US8700048B2 (en) * | 2007-09-11 | 2014-04-15 | Motorola Solutions, Inc. | Method and apparatus for automated publishing of customized presence information |
| US20090070410A1 (en) * | 2007-09-12 | 2009-03-12 | International Business Machines Corporation | Managing Presence Information Of A Presentity |
| US20090077584A1 (en) * | 2007-09-17 | 2009-03-19 | Jay Oliver Glasgow | Methods, systems, and products for sharing presence information |
-
2009
- 2009-11-16 EP EP09176035A patent/EP2222057A1/en not_active Ceased
- 2009-11-16 US US12/619,013 patent/US8060572B2/en active Active
-
2010
- 2010-02-10 CN CN2010800180127A patent/CN102415067A/zh active Pending
- 2010-02-10 BR BRPI1007825-8A patent/BRPI1007825B1/pt active IP Right Grant
- 2010-02-10 CA CA2753506A patent/CA2753506C/en active Active
- 2010-02-10 MX MX2011008902A patent/MX2011008902A/es active IP Right Grant
- 2010-02-10 WO PCT/CA2010/000178 patent/WO2010096898A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| CA2753506A1 (en) | 2010-09-02 |
| WO2010096898A1 (en) | 2010-09-02 |
| BRPI1007825A2 (pt) | 2016-02-23 |
| US20100217615A1 (en) | 2010-08-26 |
| EP2222057A1 (en) | 2010-08-25 |
| CN102415067A (zh) | 2012-04-11 |
| CA2753506C (en) | 2015-03-31 |
| US8060572B2 (en) | 2011-11-15 |
| MX2011008902A (es) | 2011-12-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| BRPI1007825B1 (pt) | Método realizado por um serviço de presença e meio não transitório legível por computador | |
| US8606233B2 (en) | Content-based publication-subscription system for presence information | |
| JP5749144B2 (ja) | コンテンツセントリック・ネットワークにおけるカストディアンベースのルーティング | |
| US11632255B2 (en) | Method and system for storing and retrieving electronic files using blockchains | |
| Hermans et al. | Global source mobility in the content-centric networking architecture | |
| KR101766354B1 (ko) | 콘텐츠 중심 네트워크에서 에너지-효율적 콘텐츠 검색 | |
| JP5907709B2 (ja) | コンテンツセントリックネットワークにおけるカストディアンベースのルーティングによるエネルギ効率のよいコンテンツキャッシング | |
| CN110839078B (zh) | 代理推送 | |
| US20060010203A1 (en) | Personal server and network | |
| TW200826582A (en) | System, method, apparatus, and computer program product for providing a social network diagram in a P2P network device | |
| EP2928117B1 (en) | System and method for device registration and discovery in content-centric networks | |
| JP2012512448A (ja) | 個人データを公開するために通信機器間の仮想関係を作成する方法及び構成 | |
| US8275365B1 (en) | Method and system for providing presence information | |
| CN103139703B (zh) | 一种基于RCS‑e系统的信息处理的方法及终端 | |
| CN103460681B (zh) | 融合地址薄能力的管理方法 | |
| US20130091287A1 (en) | System for contact subscription invitations in a cross-domain converged address book system | |
| EP1894181B1 (en) | Method to enhance principal referencing in identity-based scenarios | |
| TWI393406B (zh) | Integrating mobile content sharing and delivery system and its method in integrated network environment | |
| CN102075644B (zh) | 融合地址簿中联系视图的实现方法与系统 | |
| Maka | Design and implementation of a federated social network | |
| CN115185669A (zh) | 一种边缘配置服务器信息处理方法、装置和通信设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| B25D | Requested change of name of applicant approved |
Owner name: BLACKBERRY LIMITED (CA) |
|
| B25G | Requested change of headquarter approved |
Owner name: BLACKBERRY LIMITED (CA) |
|
| B06F | Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette] | ||
| B06U | Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette] | ||
| B15K | Others concerning applications: alteration of classification |
Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04L 12/58 , H04W 8/22 Ipc: H04L 29/08 (2006.01), H04W 8/22 (2009.01) |
|
| B06A | Patent application procedure suspended [chapter 6.1 patent gazette] | ||
| B09A | Decision: intention to grant [chapter 9.1 patent gazette] | ||
| B16A | Patent or certificate of addition of invention granted [chapter 16.1 patent gazette] |
Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 10/02/2010, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO. |