BR112013017443B1 - Melhorias para cliente de notificação de envio automático de mensagem para dispositivos multiusuário - Google Patents

Melhorias para cliente de notificação de envio automático de mensagem para dispositivos multiusuário Download PDF

Info

Publication number
BR112013017443B1
BR112013017443B1 BR112013017443-9A BR112013017443A BR112013017443B1 BR 112013017443 B1 BR112013017443 B1 BR 112013017443B1 BR 112013017443 A BR112013017443 A BR 112013017443A BR 112013017443 B1 BR112013017443 B1 BR 112013017443B1
Authority
BR
Brazil
Prior art keywords
user
application
client
notification
server
Prior art date
Application number
BR112013017443-9A
Other languages
English (en)
Other versions
BR112013017443A2 (pt
Inventor
Darryl Neil Bleau
Gregory Bjorn Vaughan
Jeffrey Thomas Davey
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of BR112013017443A2 publication Critical patent/BR112013017443A2/pt
Publication of BR112013017443B1 publication Critical patent/BR112013017443B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/224Monitoring or handling of messages providing notification on incoming messages, e.g. pushed notifications of received messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • H04L67/26
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)

Abstract

melhorias para cliente de notificação de envio automático de mensagem para dispositivos multiusuário. a presente invenção refere-se a métodos e aparelhos que geram um identificador de subtópico que identifica uma aplicação cliente dentro de um dispositivo cliente que pode suportar múltiplos usuários. a aplicação cliente pode ser associada com uma aplicação servidora hospedada em um ou mais servidores de aplicação. os serviços de notificação podem ser registrados com os servidores de aplicação da aplicação cliente para encaminhar identificadores associados com a aplicação cliente para um dos múltiplos usuários para a aplicação servidora para habilitar a aplicação servidora a enviar automaticamente mensagens de notificação para o dispositivo cliente seletivamente para a aplicação cliente para aquele usuário. quando recebe uma mensagem de notificação do servidor de aplicação, a mensagem de notificação pode ser examinada para encaminhar a mensagem de notificação diretamente para a aplicação cliente para aquele usuário sem ivocar outras aplicações no dispositivo cliente se a mensagem de notificação transportar um identificador de subtópico da aplicação cliente.

Description

PEDIDOS RELACIONADOS
O requerente reivindica o benefício de prioridade do pedido co- pendente provisório anterior de No. Serial 61/430.126, depositado em 5 de janeiro de 2011, cujo conteúdo é incorporado integralmente por referência.
CAMPO DA INVENÇÃO
A presente invenção refere-se geralmente a sistemas de proces-samento de dados. Mais particularmente, esta invenção se refere a mensagens de notificação para dispositivos multiusuário.
ANTECEDENTES
Usuários de dispositivos multiusuário (por exemplo, computadores de colo, computadores de mão, telefones móveis, telefones inteligentes, telefones multimídia, tocadores de mídia portáteis, unidades de GPS, consoles de jogos móveis, etc.) podem ter aplicações instaladas que periodicamente recebem mensagens de notificação de serviços de notificação. Por exemplo, estas aplicações incluem serviços de "envio automático" de correio eletrónico (por exemplo, MobileMe, Microsoft Exchange ActiveSync, push- IMAP, Yahoo! Push, etc.) ou outros serviços de envio automático (por exemplo, serviços de atualização / troca de versão, serviços de notícias, serviços de registro de controle de web, serviços de publicação digital, serviços de rede social, ou outros tipos de serviços em que possam ser enviadas mensagens de notificação). Mensagens de notificação tipicamente representam eventos de interesse que são tipicamente definidos pelas aplicações (por exemplo, indicador de novo correio eletrônico, indicador de novo item de notícia, indicador de nova publicação digital, mudança de status em tempo real de um amigo de rede social, etc.).
Usualmente, uma mensagem de notificação pode ser encaminhada através de um serviço de envio automático identificando seu servidor originador correspondente e dispositivo receptor cliente. Ao receber a mensagem de notificação, o dispositivo cliente pode entregar a mensagem para uma aplicação alvo cliente para um usuário particular. Frequentemente, múltiplas aplicações clientes para um ou mais usuários no dispositivo cliente podem estar esperando por mensagens de notificação do mesmo servidor originador ao mesmo tempo. Cada aplicação cliente esperando pode ser invocada quando a mensagem de notificação chega. Quanto mais e mais aplicações servidoras são hospedadas no servidor originador para suportar uma quantidade sempre crescente de aplicações clientes no dispositivo cliente, recursos valiosos de processamento no dispositivo cliente podem ser desperdiçados para gerenciamento de notificação de mensagem.
Assim, mecanismos existentes para fornecer notificação de mensagem para dispositivos multiusuário podem taxar recursos, não levam em conta múltiplos usuários em um dado dispositivo multiusuário, e / ou colocam outros problemas.
SUMÁRIO DA DESCRIÇÃO
A invenção pode fornecer múltiplos níveis de hierarquias de nome capazes de endereçar aplicações de clientes individuais e de múltiplos usuários para entregar mensagens de notificação eficientemente em um dispositivo cliente multiusuário para minimizar o uso de recursos. Múltiplas aplicações servidoras hospedadas em um servidor comum identificado por um identificador de servidor ou um tópico podem enviar automaticamente mensagens de notificação que compartilham o mesmo tópico para o dispositivo cliente. Um subtópico pode ser embutido em uma mensagem de notificação recebida para o tópico no dispositivo cliente para que identificar uma aplicação cliente alvo assine o tópico.
Em uma modalidade, uma aplicação cliente pode opcíonalmente registrar um identificador de aplicação cliente como um subtópico em uma aplicação servidora correspondente que roda em um servidor identificada por um tópico. O subtópico pode ser um nível adicional de hierarquia de nomes para a aplicação cliente. Como resultado, uma mensagem de notificação enviada automaticamente a partir de uma aplicação servidora hospedada no servidor pode transportar uma autenticação e o identificador de aplicação cliente para permitir o encaminhamento da mensagem de notificação diretamente para a aplicação cliente sem invocar ou notificar outras aplicações clientes ou outros usuários que assinam o tópico compartilhado. O servidor de notificação pode usar a autenticação para encaminhar a mensagem para a conta de usuário apropriada. Múltiplas mensagens de notificação de servidores de aplicações separados hospedados por um servidor de um tópico pode ser multiplexadas para aplicações clientes de destino separadas, para o mesmo ou diferentes usuários, que escutam o mesmo tópico em um dispositivo cliente eficaz e eficientemente para minimizar a utilização de recursos do dispositivo cliente requeridos para manipular as mensagens de notificação recebidas.
Em uma modalidade, um método e aparelho são descritos neste documento para gerar um identificador de subtópico que identifique uma aplicação cliente dentro de um dispositivo multiusuário cliente. A aplicação cliente pode ser associada com uma aplicação servidora hospedada em um ou mais servidores de aplicação. A aplicação cliente pode registrar o serviço de notificação com o servidor de aplicação para encaminhar identificadores associados com a aplicação cliente e habilitar a aplicação servidora para enviar automaticamente mensagens de notificação para o dispositivo cliente para aquele usuário seletivamente para a aplicação cliente. Quando receber uma mensagem de notificação do servidor de aplicação, a mensagem de notificação pode ser examinada ou inspecionada para ser encaminhada diretamente para a aplicação cliente sem invocar outras aplicações no dispositivo cliente se a mensagem de notificação transportar um identificador de subtópico da aplicação cliente.
Em outra modalidade, uma solicitação de registro para notificação de mensagem pode ser recebida por uma aplicação servidora sobre uma primeira conexão de rede a partir de uma aplicação cliente que roda em um dispositivo cliente. A primeira conexão de rede pode ser estabelecida em uma iniciação do dispositivo cliente para um servidor de aplicação com um identificador de servidor para hospedar a aplicação servidora. A solicitação pode transportar identificadores que incluem uma autenticação de usuário que identifica o usuário e o dispositivo cliente e um identificador de aplicação cliente que identifica a aplicação cliente. O identificador de servidor pode ser enviado para o dispositivo cliente para permitir que o dispositivo cliente escute as mensagens enviadas automaticamente do servidor de aplicação. Em uma modalidade, os identificadores transportados na solicitação podem ser armazenados para registrar o usuário para a notificação de mensagem, O servidor de aplicação pode enviar automaticamente mensagens de notificação para o dispositivo cliente sobre uma segunda conexão de rede para uma rede de envio automático acoplada com o dispositivo cliente através da autenticação de usuário para notificar a aplicação cliente. As mensagens de notificação podem ser identificadas pelo identificador de servidor. Opcionalmente, as mensagens de notificação podem transportar o identificador de aplicação cliente para habilitar o dispositivo cliente para entregar as mensagens de notificação diretamente para a aplicação cliente.
Outras características da presente invenção ficarão evidentes a partir das figuras em anexo e da descrição detalhada a seguir.
BREVE DESCRIÇÃO DAS FIGURAS
A presente invenção é ilustrada a título de exemplo e não de limitação nas figuras dos desenhos em anexo nas quais referências semelhantes referenciam elementos similares. A Figura 1A é um diagrama de blocos que ilustra uma modalidade de sistemas em rede para notificação de mensagem; A Figura 1B é um diagrama de blocos de autenticação de usuário que inclui uma alcunha que é usada para identificar um usuário com uma conta de usuário em um dispositivo multiusuário; A Figura 2 é um diagrama de blocos que ilustra componentes exemplificativos em um dispositivo multiusuário para gerenciar mensagens de notificação de acordo com as modalidades descritas neste documento; A Figura 3 é um diagrama de blocos que ilustra componentes exemplificativos para um servidor de aplicação para fornecer mensagens de notificação; A Figura 4 é um diagrama de sequência que ilustra trocas de mensagem exemplifícativas entre um dispositivo multiusuário e um servidor de aplicação de acordo com as modalidades descritas neste documento; A Figura 5A é um fluxograma que ilustra uma modalidade de um processo para habilitar um dispositivo multiusuário para encaminhar uma mensagem de notificação para uma aplicação cliente identificada; A Figura 5B é um fluxograma que ilustra uma modalidade de um processo para gerar uma autenticação de usuário que é usada para encaminhar uma mensagem de notificação para uma aplicação cliente identificada para o usuário associado com a autenticação de usuário; A Figura 6 é um fluxograma que ilustra uma modalidade de um processo para fornecer mensagens de notificação de um servidor de aplicação para uma aplicação cliente; A Figura 7 mostra um exemplo de um sistema de processamento de dados que pode ser usado com as modalidades descritas neste documento; A Figura 8 ilustra um exemplo de um sistema de computador típico que pode ser usado em conjunto com as modalidades descritas neste documento.
DESCRIÇÃO DETALHADA
Método e aparelho para mensagens de notificação que identificam uma aplicação cliente alvo entre múltiplas aplicações clientes que são associadas com múltiplos usuários em um dispositivo multiusuário escutando ou assinando um servidor de aplicação comum são descritos neste documento. Na descrição a seguir, vários detalhes são enumerados para fornecer uma explicação mais completa de modalidades da presente invenção. Entretanto, ficará evidente para um indivíduo versado na técnica, que modalidades da presente invenção podem ser praticadas sem estes detalhes específicos. Em outras instâncias, estruturas e dispositivos bem conhecidos são mostrados em forma de diagrama de blocos, em vez de em detalhe, a fim de evitar obscurecer modalidades da presente invenção.
Referência na especificação a "uma modalidade" significa que uma característica, estrutura, ou recurso particular descrito em conexão com a modalidade é incluído em pelo menos uma modalidade da invenção. As aparições da expressão "em uma modalidade" em vários locais na especificação não se referem necessariamente à mesma modalidade.
A menos que exposto especificamente em contrário, é avaliado que em toda a descrição, discussões utilizando termos tais como "processar" 5 ou "computar” ou "calcular" ou "determinar” ou "exibir" ou semelhantes, se referem à ação e processos de um sistema de processamento de dados, ou dispositivo eletrônico de computação similar, que manipule e transforme dados representados como quantidades físicas (eletrônicas) dentro dos registradores e memórias do sistema computador em outros dados representados 10 de maneira similar como quantidades físicas dentro das memórias ou registradores do sistema computador ou outra destes dispositivos de armazenamento, transmissão ou exibição de informação.
Os algoritmos e exibições apresentados neste documento não são inerentemente relacionados a qualquer computador ou outro aparelho 15 particular. Vários sistemas de propósito geral podem ser usados com programas de acordo com os ensinamentos neste documento, ou pode se provar conveniente construir aparelho mais especializado para realizar as operações requeridas pelo método implementado por máquina. A estrutura requerida para uma variedade destes sistemas aparecerá a partir da descrição 20 abaixo. Adicionalmente, modalidades da presente invenção não são descritas com referência a qualquer linguagem de programação particular. Será avaliado que uma variedade de linguagens de programação podem ser usadas para implementar os ensinamentos de modalidades da invenção como descritas neste documento. 25 Uma modalidade da invenção pode ser implementada como um método ou como um meio de armazenamento não transitório legível por má-quina que armazena instruções executáveis que, quando executadas por um sistema de processamento de dados, fazem com que o sistema realize um método. Um aparelho, tal como um sistema de processamento de dados, 30 também pode ser uma modalidade da invenção. Outras características da presente invenção ficarão evidentes a partir dos desenhos em anexo e da descrição detalhada a seguir.
Pelo menos certas modalidades da invenção podem ser parte de um tocador de mídia digital, tal como um tocador de mídia de música e / ou vídeo portátil, que pode incluir um sistema de processamento de mídia para apresentar a mídia, um dispositivo de armazenamento para armazenar a mídia e pode incluir adícíonalmente um transceptor de frequência de rádio (RF) (por exemplo, um transceptor de RF para um telefone celular) acoplado com um sistema de antena e o sistema de processamento de mídia. Em certas modalidades, a mídia armazenada em um dispositivo de armazenamento remoto pode ser transmitida para o tocador de mídia através do transceptor de RF. A mídia pode ser, por exemplo, um ou mais de música ou outro áudio, imagens paradas, ou imagens em movimento. O tocador de mídia portátil pode incluir um dispositivo de seleção de mídia, tal como um dispositivo de entrada de tela sensível ao toque, dis-positivo de botão, dispositivo de entrada de apontador móvel ou outro dispo-sitivo de entrada. O dispositivo de seleção de mídia pode ser usado para selecionar a midia armazenada no dispositivo de armazenamento e / ou no dispositivo de armazenamento remoto. O tocador de mídia portátil pode, pelo menos em certas modalidades, incluir um dispositivo de exibição que é aco-plado ao sistema de processamento de mídia para exibição de títulos ou ou-tros indicadores de midia que são selecionados através do dispositivo de entrada e são apresentados, ou através de um alto-falante(s) ou fone(s) de ouvido, ou no dispositivo de exibição, ou tanto no dispositivo de exibição como no alto-falante(s) ou fone de ouvido(s).
Modalidades da invenção descritas neste documento podem fa-zer parte de outros tipos de sistemas de processamento de dados, tais como, por exemplo, sistemas de entretenimento ou assistentes pessoais digitais (PDAs), ou sistemas de computador de propósito geral, ou sistemas de computador de propósito especial, ou um dispositivo embutido dentro de outro dispositivo, ou telefones celulares que não incluem tocadores de mídia, ou dispositivos que combinam aspectos ou funções destes dispositivos (por exemplo, um tocador de mídia, tal como um iPod®, combinado com um PDA, um sistema de entretenimento, e um telefone celular em um dispositivo portátil), ou dispositivos ou produtos eletrônicos de consumo que incluem um dispositivo de entrada multitoque tal como um dispositivo de mão multitoque ou um telefone celular e computador de mão com um dispositivo de entrada multitoque.
Em uma modalidade, um servidor hospedeiro uma aplicação servidora tal como um servidor de correio, um servidor IMAP (Internet Access Message Protocol), um servidor de Agenda, um servidor de contato, um servidor de gerenciamento de dispositivo, ou outras aplicações servidoras aplicáveis, etc. podem manter aptidão de envio automático solicitando um certificado de fornecedor de envio automático de uma autoridade do serviço (por exemplo, Apple Inc.) a fim de comunicar notificações para dispositivos clientes. Uma aplicação cliente rodando, que corresponde a um de uma plu-ralidade de usuários, em um dispositivo cliente pode consultar a aptidão de um servidor de aplicação para hospedar uma aplicação servidora correspon-dente através de uma conexão estabelecida do dispositivo cliente para o servidor de aplicação. Se o resultado da consulta indica que o servidor de aplicação é ciente de serviço de envio automático ou capaz de fornecer ser-viço de envio automático, a aplicação cliente pode enviar um comando de serviço de envio automático para se identificar para a aplicação servidora.
Em particular, uma aplicação cliente que roda em um dispositivo cliente pode apresentar, através de um comando de serviço de envio auto-mático, uma autenticação de usuário do usuário e o dispositivo cliente para uma aplicação servidora para permitir que um servidor que hospeda a apli-cação servidora para enviar mensagens ou notificações para a conta de u-suário apropriada do dispositivo cliente. Em resposta ao comando de serviço de envio automático, a aplicação servidora pode identificar um tópico de noti-ficação ou um identificador para o servidor que o dispositivo cliente pode escutar ou ver para receber mensagens enviadas automaticamente do ser-vidor.
Em algumas modalidades, um comando de serviço de envio au-tomático de uma aplicação cliente para uma aplicação servidora pode incluir pares de valores nomeados tal como um número de versão para um proto- colo de envio automático para a aplicação correspondente, um identificador de conta, uma autenticação de usuário para permitir que o servidor (por e-xemplo, executando a aplicação servidora) contate um dispositivo cliente para o usuário correspondente que hospeda a aplicação cliente e / ou um identificador de subtópico que identifica a aplicação cliente. O identificador de conta e / ou o identificador de subtópico pode permanecer opaco para o servidor para ser passado para um serviço de envio automático (ou um ser-vidor de envio automático). Mensagens de notificação para o dispositivo cli-ente para a aplicação cliente podem transportar junto o identificador de conta e o identificador de subtópico.
Em uma modalidade, uma resposta a um comando de serviço de envio automático de uma aplicação servidora para uma aplicação cliente pode incluir valores nomeados que incluem um número de versão para um protocolo de envio automático e um identificador de tópico associado com um servidor que hospeda a aplicação servidora. O identificador de tópico pode ser usado para registrar um certificado de fornecedor para o servidor para habilitar o servidor a enviar automaticamente mensagens de notificação para uma conta de usuário para um usuário do dispositivo cliente executando a aplicação cliente. Em certas modalidades, o dispositivo cliente e o servidor podem realizar trocas de autenticações através do comando / resposta de serviço de envio automático, por exemplo, para negociar uma versão do protocolo de envio automático para notificação de mensagem da aplicação servidora para a aplicação cliente (por exemplo, identificando versão mais alta suportada tanto para o servidor como para aplicações clientes).
De acordo com uma modalidade um subtópico para as aplicações clientes pode fornecer um ou mais níveis adicionais de vias indiretas no topo de um tópico associado com servidores de aplicação. Por exemplo, um subtópico pode direcionar mensagens de notificação destinada a uma apli-cação cliente. Uma aplicação cliente pode se registrar para um par de tópico e subtópico. Alternativamente, uma aplicação cliente e uma aplicação servidora podem não ser fortemente acopladas através de um mecanismo baseado em subtópico. Múltiplas (clientes) aplicações podem se registrar para um subtópico comum em um tópico. Adicionalmente, uma aplicação cliente pode registrar um subtópico para um ou mais usuários.
Um subtópico pode ser encaminhado a partir de uma aplicação cliente para uma aplicação servidora para registro. Em certas modalidades, um subtópico ou outros níveis de hierarquias de nome podem ser registrados para uma aplicação cliente para uma aplicação servidora sem a necessidade de encaminhar o subtópico pela aplicação cliente.
Para ilustrar, de acordo com uma modalidade, uma aplicação de Contatos, uma aplicação de Agenda e uma aplicação de Editor de Texto po-dem pertencer a um conjunto de aplicações de Escritório. A aplicação de Contatos pode registrar um subtópico "contatos" sob um tópico geral "escri-tório" para um ou mais usuários. A aplicação de Agenda pode escolher re-gistrar exatamente ao mesmo subtópico (ou seja, "contatos") e par de tópicos (ou seja, "contatos" e "escritório") que a aplicação de Contatos a fim de fornecer uma experiência de uso melhor e mais atualizada, por exemplo, para adicionar aniversários. A aplicação de Editor de Texto, entretanto, pode se registrar sob o tópico geral "escritório" sem se registrar ao subtópico "con-tatos". Portanto, registrar com um subtópico pode não assegurar necessari-amente um mapeamento de um para um a (ou ao alvo) uma aplicação espe-cífica. Um servidor pode não precisar conhecer ou compartilhar o subtópico informação com um cliente. Por exemplo, o servidor pode associar uma mu-dança em dados de contatos com um subtópico específico, por exemplo, "contatos" e usar o subtópico para um protocolo de envio automático como um mecanismo inerente. Como outro exemplo, a aplicação de Contatos registra para noti-ficações para instâncias separadas de cada usuário em um dispositivo multi-usuário. Neste exemplo, a aplicação de Contatos pode registrar solicitações de notificação separadas para usuáriol, usuário2, usuárioN do dispositivo multiusuário. Isto porque o usuáriol quer receber notificações para o usuário do usuáriol da aplicação de Contatos e não notificação para a aplicação de Contatos associada com usuário2, .... usuárioN.
A Figura 1A é um diagrama de blocos que ilustra uma modalida- de de sistemas em rede para notificação de mensagem. Sistemas em rede 100 podem incluir um ou mais servidores (ou hospedeiros), tal como o servidor de aplicação 101, ponte 119, um servidor de notificação 105, por exemplo, servidor de APN, acoplado a um ou mais dispositivos, tal como dispositi- 5 vo multiusuário 109 (por exemplo, computador pessoal, de colo, de mesa, telefone inteligente, console de jogo, etc,) através de redes 107. Em uma modalidade, a rede 107 pode permitir que conexões de rede (por exemplo, para enviar automaticamente uma notificação de envio automático) entre servidor de notificação 105, dispositivo multiusuário 109 e / ou servidor de 10 aplicação 101 através da Internet, uma intranet, redes seguras protegidas por firewall, redes celulares de área ampla (por exemplo, uma rede 3G), etc. As redes 107 podem ser cabeadas, sem fio (tal como Wi-Fi, Bluetooth etc.), ou uma combinação de ambas.
De acordo com uma modalidade, o servidor de aplicação 101 15 pode incluir um único dispositivo servidor ou um conjunto de dispositivos servidores distribuídos local ou remotamente. O servidor de aplicação 101 pode hospedar uma ou mais aplicações servidoras separadas, tal como a aplicação servidora 117, servindo aplicações clientes correspondentes que rodam em dispositivos clientes, tal como o dispositivo multiusuário 109. As 20 aplicações servidoras podem incluir um servidor de correio, um servidor de agenda, um servidor de contatos, um servidor de gerenciamento de dispositivos ou outras aplicações servidoras aplicáveis. Em uma modalidade, o servidor de aplicação 101 pode registrar um certificado de servidor de notificação 105 para enviar automaticamente ou enviar automaticamente mensa- 25 gens de notificação para o dispositivo multiusuário 109. O registro pode designar o tópico 103 como um identificador (por exemplo, incluído em um certificado registrado) que identifica o servidor de aplicação 101. O dispositivo multiusuário 109 pode escutar o tópico 103 para mensagens originadas a partir do servidor de aplicação 101 através de um serviço de envio automáti- 30 co, tal como Serviço APN da Apple Inc., fornecido pelo servidor de notificação 105 para um ou mais do usuários que tenham contas no dispositivo mul- tíusuário 109.
Em uma modalidade, o servidor de aplicação 101 transmite noti-ficações de envio automático através de uma ponte 119. Em uma modalidade, a ponte 119 é usada para converter notificações de envio automático de um formato para outro. Nesta modalidade, a ponte 119 atua como um inter-mediário (proxy) para o cliente multiusuário 109 por receber uma solicitação de notificação de envio automático do servidor de notificação 105 e traduzir aquela solicitação de notificação de envio automático em um protocolo que o servidor de aplicação 101 possa executar. Além disso, o servidor de aplicação 101 transmite as notificações de envio automático destinadas ao cliente multiusuário 109 no protocolo nativo usado pelo servidor de aplicação. A ponte 119 recebe esta notificação de envio automático e traduz estas notifi-cações em um formato adequado às reivindicações multiusuário (por exemplo, Serviço de Notificação de Envio Automático da Apple (APN), etc.). Por exemplo, e em uma modalidade, o servidor de aplicação 101 recebe solicita-ções de notificação de envio automático e transmite notificações de envio automático usando o protocolo extensível de mensagem e presença (XMPP) e o cliente multiusuário 109 recebe (transmite) notificações de envio automático (solicitações de notificação de envio automático) usando um protocolo diferente (por exemplo, protocolo APN, etc.).
Em uma modalidade, a ponte 119 mantém uma lista de usuários dos clientes multiusuário e / ou clientes de usuário único que assinam para notificações de envio automático do servidor de aplicação 101. Nesta moda-lidade, o servidor de aplicação 101 interage com a ponte 119 como se a ponte 119 fosse um ou mais daqueles usuários. Por sua vez, a ponte 119 interage com as contas de usuário correspondentes do dispositivo multiusuário 109 e / ou clientes de usuário único para executar a notificação de envio automático para os usuários.
Em uma modalidade, o dispositivo multiusuário 109 pode hospe-dar uma ou mais contas de usuário 114A e B. Embora em uma modalidade, multiusuário 109 seja ilustrado com duas contas de usuário, em modalidades alternativas, o dispositivo multiusuário 109 pode ter menos ou mais contas de usuário. Em uma modalidade, um usuário é uma pessoa que usa o dis- positivo multiusuário 109. O usuário pode usar o dispositivo multiusuário 109 com uma conta de usuário. Em uma modalidade, uma conta de usuário é usada para customizar o dispositivo multiusuário 109 para aquele usuário. Por exemplo, e em uma modalidade, um usuário usa uma conta de usuário para criar configurações específicas para o ambiente de sistema de arquivos, área de trabalho, aplicações, etc. do usuário. Nesta modalidade, um usuário pode usar a conta de usuário para configurar uma aplicação para um uso particular por aquele usuário. Por exemplo, e em uma modalidade, o usuáriol pode configurar uma aplicação e Correio de modo que o usuáriol deve visualizar correspondência eletrónica (e-mails) para o usuáriol e não outros usuários.
Em uma modalidade alternativa, para servidores de aplicação 101 que se comunicam no mesmo protocolo que o cliente multiusuário 109 usa, o servidor de aplicação 101 comunica notificações de envio automático sem passar pela ponte 119.
Em uma modalidade, o dispositivo multiusuário 109 pode hospe-dar múltiplas aplicações clientes incluindo as aplicações 111A e B. Em uma modalidade, cada usuário 114A e B pode ser associado com uma ou mais aplicações 111A e B que pode ser usada com o servidor de notificação 105 Uma aplicação cliente pode ser uma aplicação de correio, aplicação de a-genda, aplicação de contatos, aplicação de gerenciamento de dispositivos ou outras aplicações clientes aplicáveis, que possam ser servidas por uma aplicação servidora correspondente. O dispositivo multiusuário 109 pode se registrar com um serviço de envio automático, por exemplo, através do servidor de notificação 105, para obter uma autenticação de dispositivo 115 para habilitar o dispositivo multiusuário 109 para receber mensagens enviadas automaticamente de um servidor, tal como servidor de aplicação 101, através do serviço de envio automático. A autenticação de dispositivo 115 pode identificar e / ou certificar o dispositivo multiusuário 109 para o encaminha-mento de mensagens de notificação através do serviço de envio automático. Adicionalmente, os subtópico(s) 113A e B podem ser gerados para cada ins-tância de conta de usuário 114A e B no dispositivo multiusuário 109 para identificar unicamente a aplicação 111A e B entre aplicações clientes e / ou usuários diferentes no dispositivo. Além disso, o dispositivo multiusuário 109 pode solicitar uma autenticação de usuário 114A e B para cada usuário 116A e B, respectivamente. Em uma modalidade, é usada a autenticação de usuário 114A e B para identificar unicamente o usuário 116A e B, respecti-vamente, para notificações de envio automático.
Em uma modalidade, as aplicações 111A e B podem encaminhar a autenticação de usuário 114A e B e o subtópico 113A e B respectivos para uma aplicação servidora correspondente 117 para o servidor de aplicação 101 enviar automaticamente mensagens de notificação para o dispositivo multiusuário 109. Por sua vez, o servidor de aplicação 101 pode responder com o tópico 103 para o dispositivo multiusuário 109 escutar para receber mensagens de notificação enviadas automaticamente a partir do servidor de aplicação 101. As mensagens de notificação podem incorporar o subtópico 113A e B e / ou autenticação de usuário 114A e B para permitir que o dispositivo multiusuário 109 para entregar diretamente as mensagens para a combinação usuário 116A e B e aplicação 111A e B identificada pelo subtó-pico 113A e B e / ou autenticação de usuário 114A e B sem invocar outras aplicações clientes ou notificar outras contas de usuário no dispositivo. A Figura 1B é um diagrama de blocos de autenticação de usuário 114A que inclui uma alcunha que é usada para identificar um usuário com uma conta de usuário em um dispositivo multiusuário. Na Figura 1B, a auten-ticação de usuário 114A inclui um identificador de dispositivo 130, informação de zona 134, a alcunha 136, e dados de teclado 138. O identificador de dispositivo 130 é um identificador como conhecido na técnica que é usado para identificar o dispositivo multiusuário 109. Por incluir o identificador de dispositivo 130 na autenticação de usuário 114A, o usuário 116A é associado com o dispositivo multiusuário 109. Em uma modalidade, o identificador de dispositivo 134 é o mesmo identificador usado na autenticação do dispositivo 115. O identificador de dispositivo pode ser uma certificação de dispositivo, identificador de hardware, alguns outros dados de identificação de dispositivo como conhecido na técnica, etc. e / ou uma combinação dos mesmos.
Em uma modalidade, a informação de zona 134 é um identificador que associa o usuário 116A a uma zona particular do sistema de notificação. Em uma modalidade, uma zona é uma subdivisão do sistema de notificação, onde o sistema de notificação pode ser composto de um ou zonas e cada um dos clientes de notificação (por exemplo, dispositivo multiusuário 109, outros clientes de notificação, etc.) na mesma zona são manipulados por um ou mais servidores de notificação para aquela zona. Em uma modalidade, um servidor de notificação 105 usa a informação de zona para encaminhar uma notificação de envio automático para o servidor de notificação apropriado que está manuseando aquela zona. Por exemplo, e em uma modalidade, se o servidor de notificação 105 processa notificações de envio automático para a zona 1 e este servidor de notificação recebe uma notificação de envio automático para a zona 2 do servidor de aplicação 109, o servidor de notificação 105 deve encaminhar esta notificação de envio automático para outra servidor de notificação (não ilustrado) que manipula as notificações de envio automático para a zona 2.
Adicionalmente, a autenticação de usuário 116A inclui a alcunha 136. Em uma modalidade, a alcunha 136 é usada para identificar um usuário do dispositivo multiusuário. Nesta modalidade, existe uma alcunha única para cada usuário e conta de usuário correspondente presente na máquina multiusuário 109. Por exemplo, e em uma modalidade, em um dispositivo multiusuário, se existirem duas contas de usuário, deve haver uma alcunha única para cada um dos dois usuários. Uma alcunha 136 pode ser um núme-ro randômico, um número enumerado, derivado de um certificado de usuário, etc. em uma modalidade, a alcunha 136 é um campo de quatro bytes na autenticação de usuário 116A. Em uma modalidade, a alcunha 136 é uma alcunha do dispositivo que é usada para representar uma conta de usuário e pode ser o usuário em vez de um identificador de dispositivo para notificação de envio automático.
Além disso, a autenticação de usuário 116A pode incluir dados de teclado 138. Em uma modalidade, os dados de teclado 136 são dados que não são importantes o uso da autenticação 116A e são usados para preencher espaço dentro da autenticação 116A e / ou reservar espaço na autenticação 116A para uso futuro.
A Figura 2 é um diagrama de blocos que ilustra componentes exemplificativos em um dispositivo multiusuário 109 para gerenciar mensa-gens de notificação de acordo com as modalidades descritas neste docu-mento. Por exemplo, o dispositivo multiusuário 109 pode se registrar para um serviço de envio automático através dos sistemas da rede 100 da Figura 1A para múltiplos usuários 116A e B. Em uma modalidade, o módulo de ge-renciamento de notificação 201 pode fornecer um ferramental para o serviço de envio automático dentro do dispositivo multiusuário 109. O módulo de gerenciamento de notificação 201 pode receber autenticação de dispositivo 115 durante um processo de conexão de serviço (por exemplo, serviço de envio automático) para identificar o dispositivo multiusuário 109 como certifi-cado ou confiável para receber mensagens de notificação enviadas automa-ticamente através do serviço de envio automático. Além disso, o módulo de gerenciamento de notificação 201 pode receber autenticações de usuário 114A e B durante um processo de conexão de serviço (por exemplo, serviço de envio automático) para identificar usuários 116A e B, respectivamente, como certificado ou confiável para receber mensagens de notificação envia-das automaticamente através do serviço de envio automático. Em uma mo-dalidade, o módulo de gerenciamento de notificação 201 pode determinar se uma mensagem enviada automaticamente do serviço de envio automático é destinada a um usuário 116A e B do dispositivo multiusuário 109 de acordo com se a mensagem corresponde ou incluí a autenticação de usuário 114A e B.
De acordo com uma modalidade, o módulo de gerenciamento de notificação 201 pode gerar um ou mais subtópicos 113A e B, por exemplo, em resposta a uma solicitação das aplicações 111A e B, como um identificador de aplicação cliente que identifica aplicações 111A e B dentro do dispositivo multiusuário 109. As aplicações 111A e B podem encaminhar o subtópico 113A e B e a autenticação de usuário correspondente 114A e B para registrar para receber notificação de mensagem de uma aplicação servidora correspondente, tal como aplicação servidora 117 da Figura 1. Em uma mo-dalidade, as aplicações 111A e B podem assinar ou escutar um tópico, tal como tópico 103 da Figura 1, através do módulo de gerenciamento de notifi-cação 201. Mais do que uma aplicação 111Ae B no dispositivo multiusuário 109 pode registrar ou assinar para um comum tópico. Além disso, as aplica-ções 111A e B que são usadas por usuários diferentes 114A e B no disposi-tivo multiusuário 109 podem se registrar ou assinar para um tópico comum. O módulo de gerenciamento de notificação 201 pode armazenar dados de subscrição de tópico no perfil de subscrição 203 que indicam qual tópico esta correntemente sendo assinado por qual aplicação e qual usuário. Em uma modalidade, o módulo de gerenciamento de notificação 201 pode ter um perfil de subscrição diferente 302 para cada autenticação de usuário 116A e B. Nesta modalidade, o dispositivo multiusuário 109 associa os perfis de subs-crição diferentes para o usuário 114A e B que correspondem a aquela auten-ticação de usuário 116A e B, respectivamente.
Ao receber uma mensagem de notificação enviada automatica-mente sobre um serviço de envio automático, o módulo de gerenciamento de notificação 201 pode extrair uma autenticação da mensagem de notificação que chega para determinar se a mensagem de notificação é destinada ao dispositivo multiusuário 109 baseado em, por exemplo, uma correspondência entre a autenticação e a autenticação de usuário 116A ou 116B. O módulo de gerenciamento de notificação 201 pode identificar um tópico da mensagem de notificação recebida para identificar quais aplicações clientes e qual conta de usuário deve ser notificada com a mensagem de notificação recebida de acordo com o perfil de subscrição 203. Opcionalmente, o módulo de gerenciamento de notificação 201 pode determinar se a mensagem de notificação recebida transporta um subtópico (por exemplo, uma sequência de caracteres) para entregar a mensagem de notificação recebida diretamente para uma aplicação cliente identificada pela sequência de caracteres do subtópico, tal como a aplicação 111A e B identificada pelo subtópico 113A e B, sem invocar ou notificar outras aplicações que também assinam para o tópico incluído na mensagem de notificação recebida.
Em uma modalidade, o módulo de gerenciamento de notificação 201 pode manter lista segura e / ou lista negra para cada um dos diferentes usuários 114A e B. Nesta modalidade, uma lista segura é uma lista de identi-ficadores de aplicação que correspondem às aplicações instaladas das quais o usuário do dispositivo móvel quer receber mensagens de notificação. Além disso, a lista negra é uma lista de identificadores de aplicação que corres-pondem às aplicações instaladas das quais o usuário do dispositivo móvel não quer receber mensagens de notificação, A manutenção e uso da lista segura / lista negra são descritos em detalhe no Pedido de Patente Norte Americano de No. U.S. 12/392.679, intitulado "Managing Notification Messa-ges", depositado em 24 de fevereiro de 2009 e incorporado por referência neste documento.
A Figura 3 é um diagrama de blocos que ilustra componentes exemplificativos para um servidor de aplicação para fornecer mensagens de notificação. Por exemplo, o servidor de aplicação 101 pode enviar automati-camente mensagens de notificação para dispositivos clientes através de ser-vidor de notificação 105 sobre os sistemas da rede 100 da Figura 1. Em uma modalidade, o módulo de notificação 301 pode receber o tópico 103 para identificar o servidor de aplicação 101 como parte de um certificado recebido de uma autoridade de um serviço de envio automático. A aplicação servidora 117 pode passar o tópico 103, por exemplo, recuperado através do módulo de notificação 301, para um dispositivo cliente, tal como cliente móvel 109 da Figura 1, para habilitar o dispositivo cliente a escutar mensagens enviadas automaticamente a partir do servidor de aplicação 101.
Em uma modalidade, o registro do serviço de notificação 303 pode armazenar autenticações de usuário e dados associados recebidos de dispositivos clientes registrados para notificação de mensagem de aplicação servidora 117 ou outras aplicações servidoras hospedadas no servidor de aplicação 101. O registro do serviço de notificação 303 pode ficar baseado em memória ou dispositivos de armazenamento de massa local ou remotamente acoplados ao servidor de aplicação 101. Em uma modalidade, uma autenticação de usuário no registro do serviço de notificação 303 pode ser associada com dados tal como subtópicos encaminhados a partir de uma aplicação cliente para registrar para notificação de mensagem. Os dados associados podem permanecer opacos para o servidor de aplicação 101 e / ou servidor de notificação 105. Por exemplo, no processamento podem ser alocados recursos no servidor de aplicação 101 para os dados associados exceto para armazenar, recuperar, remover e / ou encaminhar estes dados. Quando enviando automaticamente uma mensagem de notificação para um dispositivo cliente identificado por uma autenticação de usuário, a aplicação servidora 117 pode encaminhar a autenticação de usuário juntamente com seus dados e tópico associados 103 para o servidor de notificação 105, por exemplo, através do módulo de notificação 301.
Para manter o mapeamento entre uma autenticação de usuário e uma autenticação de dispositivo, o servidor de notificação 105 mantém uma lista de quais alcunhas são associadas com quais dispositivo. Em uma modalidade, o servidor de notificação 105 associa múltiplas alcunhas a um dispositivo em uma lista de identificadores 300. Em uma modalidade, as al-cunhas na lista de identificadores 300 pode ser a alcunha 136 como descrita acima na Figura 2. Por exemplo, e em uma modalidade, o servidor de notifi-cação 105 associa alcunhas 304A a N com autenticação de dispositivo 302A e alcunhas 306A a N com autenticação de dispositivo 302B. Em uma moda-lidade, o servidor de notificação 105 mantém esta lista processando autenti-cações de usuário quando as aplicações em uso por diferentes contas de usuário enviam solicitações para assinar para notificações de envio automá-tico. Por exemplo, e em uma modalidade, o servidor de notificação 105 recebe uma autenticação de usuário que inclui um identificador de dispositivo quando uma aplicação solicita para assinar para uma notificação de envio automático. Nesta modalidade, o servidor de notificação extrai a alcunha e identificador de dispositivo associado da autenticação de usuário e atualiza a lista de identificadores 300, se necessário.
A Figura 4 é um diagrama de sequência que ilustra trocas de mensagem exemplificativas entre um dispositivo multiusuário e um servidor de aplicação de acordo com as modalidades descritas neste documento. Em uma modalidade, o dispositivo multiusuário 109, servidor de aplicação 101 e notificação 105 podem ser acoplados uns com os outros através da rede 107 da Figura 1. O dispositivo multiusuário 109 pode receber uma autenticação de usuário, tal como a autenticação de usuário 114A ou 114B da Figura 1, de serviço de envio automático, por exemplo, através do servidor de notificação 105, antes de registrar para servidor de aplicação de notificação de mensagem 101, por exemplo, antes da instância 401. O servidor de aplicação 101 pode receber um certificado de uma autoridade de segurança de um serviço de envio automático para autorizar o servidor de aplicação 101 a estabelecer uma conexão a um servidor de envio automático, tal como o servidor de notificação 105. O certificado recebido pode incluir um tópico como uma sequência de caracteres, tal como o tópico 103 da Figura 1, para identificar o servidor de aplicação 101.
Em uma modalidade, uma aplicação cliente, por exemplo, correio, de dispositivo multiusuário 109 pode iniciar uma conexão de rede com uma aplicação servidora correspondente, por exemplo, um servidor IMAP, hospedado no servidor de aplicação 101 para registrar para notificação de mensagem da aplicação servidora. Na sequência 401, a aplicação cliente pode iniciar uma conexão de rede entre o dispositivo multiusuário 109 e o servidor de aplicação 101 para enviar automaticamente uma solicitação de consulta para consultar quais aptidões são suportadas pela aplicação servi-dora. Em resposta, na sequência 403, a aplicação servidora pode responder com indicadores que indicam a disponibilidade de uma opção de envio au-tomático, por exemplo, baseado em um protocolo que inclui o indicador XAPPLEUSHSERVICE. Por sua vez, na sequência 405, uma aplicação cliente pode en-viar automaticamente um comando de dispositivo multiusuário 109 para o servidor de aplicação 101 para registrar para envio automático ou notificação de mensagem. O comando pode incluir parâmetros com nomes ou identifi-cadores para permitir que uma aplicação servidora enderece o dispositivo multiusuário 109, conta de usuário (por exemplo, autenticação de usuário), e
I ou a aplicação cliente. Em uma modalidade, os parâmetros podem ser ba-seados em valores nomeados incluindo uma autenticação de usuário de dis-positivo multiusuário 109. Opcionalmente, os parâmetros podem incluir um subtópico, por exemplo, "com.apple.mobilemail", possuídos unicamente pela aplicação cliente dentro do dispositivo multiusuário 109. Na sequência 407, um servidor de aplicação pode responder com um tópico que identifica o servidor de aplicação 101. Um tópico pode ser uma sequência de caracteres, por exemplo, "com.google.push", que pode ser usada para identificar mensagens enviadas automaticamente do servidor de aplicação 101 através de um serviço de envio automático compartilhado por múltiplos servidores. Transações especificas de aplicação adicional podem ser trocadas sobre a mesmo conexão de rede estabelecida para registrar notificação de mensagem entre dispositivo multiusuário 109 e servidor de aplicação 101. Esta conexão de rede pode ser desconectada enquanto o dispositivo multiusuário 109 está esperando por notificações de servidor de aplicação 101.
Subsequentemente, uma aplicação servidora pode gerar uma mensagem de notificação para ser enviada automaticamente para o disposi-tivo multiusuário 109, por exemplo, em resposta a ocorrências de certos e-ventos específicos da aplicação, tal como a chegada de novos correios em um servidor IMAP para um usuário particular. A aplicação servidora pode empacotar as mensagens de notificação com uma autenticação de usuário e passar dados associados com a autenticação de usuário, por exemplo, incluir um subtópico de uma aplicação cliente registrada (ou armazenada) para o dispositivo multiusuário 109. Na sequência 409, o servidor de aplicação 101 pode enviar automaticamente a mensagem de notificação com um tópico que identifica o servidor de aplicação 101 através do servidor de notificação 105 para o dispositivo multiusuário 109. Por sua vez, na sequência 411, o servidor de notificação 105 pode enviar automaticamente a mensagem de notificação para o dispositivo multiusuário 109 através de um serviço de rede de envio automático.
Na chegada de uma mensagem de notificação, o dispositivo multiusuário 109 pode verificar um tópico e / ou uma autenticação de usuário da mensagem antes de encaminhar a mensagem para aplicações clientes e conta de usuário interessadas. O dispositivo multiusuário 109 pode ignorar a mensagem se a verificação falhar (por exemplo, o tópico não é assinado e / ou a autenticação de usuário não corresponde a uma autenticação de usuário local). Opcionalmente, o dispositivo multiusuário 109 pode extrair um sub-tópico de uma carga útil da mensagem de notificação para entregar a men-sagem de notificação apenas para a aplicação cliente nomeada pelo subtó-pico sem encaminhar para outras aplicações que assinam para o tópico. O dispositivo multiusuário 109 pode invocar a aplicação cliente para aquela conta de usuário se a aplicação cliente estiver em um estado de espera ou não rodando correntemente para receber a mensagem de notificação. Por sua vez, na sequência 413, a aplicação cliente pode iniciar uma conexão com uma aplicação servidora correspondente no servidor de aplicação 101 para realizar transações específicas da aplicação (por exemplo, recuperar mensagens de correio para o usuário correspondente).
A Figura 5A é um fluxograma que ilustra uma modalidade de um processo 500 para habilitar um dispositivo multiusuário para encaminhar uma mensagem de notificação para uma aplicação cliente identificada. O processo exemplificative 500 pode ser realizado por uma lógica de processamento que pode compreender hardware (circuitos, lógica dedicada, etc.), software (tal como é rodado em uma máquina dedicada), ou uma combinação de ambos. Por exemplo, o processo 500 pode ser realizado por alguns componentes do sistema 100 da Figura 1. No bloco 501, a lógica de processamento de processo 500 pode gerar um identificador de aplicação (por e- xemplo, um subtópico) para uma aplicação cliente que reside em um dispositivo cliente identificado por uma autenticação de usuário, a aplicação cliente para realizar transações com uma aplicação servidora hospedada por um ou mais servidores de aplicação identificados por um identificador de servidor (por exemplo, um tópico).
No bloco 503, em uma modalidade, a lógica de processamento de processo 500 pode registrar serviço de notificação de mensagem de servidores de aplicação para uma aplicação cliente. A lógica de processamento de processo 500 pode encaminhar identificadores (por exemplo, incluir um subtópico para o identificador de aplicação cliente e uma autenticação de usuário para um usuário do dispositivo cliente) associados com a aplicação cliente para uma aplicação servidora hospedada nos servidores de aplicação 5 para habilitar a aplicação servidora para enviar automaticamente mensagens de notificação para o dispositivo cliente para a aplicação cliente e o usuário correspondente.
No bloco 505, em resposta a receber uma mensagem de notificação de um servidor de aplicação, a lógica de processamento de processo 10 500 pode determinar se a mensagem de notificação transporta um identifi cador de aplicação. Em uma modalidade, a lógica de processamento de pro-cesso 500 pode extrair uma autenticação e um tópico (por exemplo, baseado em valores nomeados) da mensagem de notificação para verificar se a mensagem de notificação é destinada a ser recebida por um dispositivo multiu- 15 suário. Em uma modalidade, a lógica de processamento de processo 500 pode identificar o identificador de aplicação, por exemplo, um subtópico, de uma carga útil da mensagem de notificação.
Se um identificador de aplicação ou um subtópico e a alcunha na autenticação de usuário é identificada, no bloco 507, a lógica de processa- 20 mento de processo 500 pode encaminhar a mensagem de notificação para uma aplicação cliente identificada pelo subtópico para o usuário identificado pela alcunha sem encaminhar a mensagem de notificação para outras aplicações que assinam para um tópico ou outros usuários (se aqueles usuários usam a aplicação cliente ou não) da mensagem de notificação. A lógica de 25 processamento de processo 500 pode selecionar a aplicação cliente identificada pelo subtópico entre múltiplas aplicações clientes e selecionar a aplicação cliente para o usuário apropriado que assina para o tópico em um dispositivo cliente. Caso contrário, se nenhum subtópico é encontrado na mensagem de notificação, a lógica de processamento de processo 500 pode en- 30 caminhar a mensagem de notificação para cada aplicação cliente que assina para o tópico para a aplicação cliente e / ou para cada usuário para determinar se processa a mensagem de notificação (por exemplo baseado no con- teúdo transportado na mensagem).
A Figura 5B é um fluxograma que ilustra uma modalidade de um processo para gerar uma autenticação de usuário que é usada para encami-nhar uma mensagem de notificação para uma identificação de aplicação cli-ente para o usuário associado com a autenticação de usuário. O processo exemplificative 500 pode ser realizado por uma lógica de processamento que pode compreender hardware (circuitos, lógica dedicada, etc ), software (tal como é rodado em uma máquina dedicada), ou uma combinação de ambos. Por exemplo, o processo 500 pode ser realizado por alguns componentes do sistema 100 da Figura 1A (por exemplo, cliente multiusuário 109). No bloco 552, a lógica de processamento de processo 550 pode receber uma solicitação de notificação de envio automático. Em uma modalidade, um módulo de gerenciamento de notificação 201 recebe a solicitação de notificação de envio automático de uma aplicação cliente 111A ou 111B como descrita acima na Figura 2. Nesta modalidade, a solicitação de notificação de envio automático pode ser de uma aplicação cliente de um usuário. Em uma modalidade, a solicitação de notificação de envio automático identifica qual aplicação cliente e usuário está solicitando a notificação de envio automático.
Em uma modalidade, a solicitação-de notificação de envio auto-mático pode incluir um ou mais dos seguintes: uma autenticação de disposi-tivo, uma autenticação de usuário, e / ou um certificado de usuário. Por e-xemplo, e em uma modalidade, a autenticação de dispositivo é a autenticação de dispositivo 115 que identifica o dispositivo para o sistema de notificação de envio automático e a autenticação de usuário é a autenticação de usuário 116A que é usada para identificar o usuário para o sistema de notificação de envio automático e pode incluir uma alcunha para aquele usuário como descrito nas Figuras 1A a 2 acima.
No bloco 554, o processo 500 determina se existe um certificado incluído na solicitação. Em uma modalidade, o certificado é um certificado de chave pública que é usado para identificar o usuário que está fazendo a soli-citação. O certificado pode ser um baseado em uma identidade de usuário (Apple ID, MobileMe ID, alguns outros certificados como conhecido na técni ca, etc.). Se nenhum certificado for incluído na solicitação, no bloco 556, o processo 550 gera o certificado. Em uma modalidade, o processo 500 gera o certificado recuperando o certificado de um serviço de geração de certificado de terceiro. Em uma modalidade, uma autoridade de certificado apropriada assina o certificado. Em uma modalidade, o certificado é usado para gerar a alcunha para o usuário (por exemplo, a alcunha 136 que é parte da autenti-cação de usuário 116A como descrito acima na Figura 1).
Se o certificado é incluído na solicitação de notificação de envio automático, o processo 550 se conecta ao sistema de notificação de envio automático no bloco 558. Em uma modalidade, o processo 550 transmite um comando de conexão à notificação de envio automático para o servidor de notificação 105. Transmitindo a conexão a notificação de envio automático, o processo 550 sinaliza para o sistema de notificação que o processo 550 está pronto para receber notificações para o usuário e a aplicação cliente associ-ada com o usuário.
No bloco 560, o processo 560 recupera e armazena a autenticação de dispositivo do sistema de notificação de envio automático. Em uma modalidade, o processo 500 recupera a autenticação de dispositivo do servidor de notificação 105 e armazena a autenticação de dispositivo no perfil de subscrição 203 como descrito acima na Figura 2. Em uma modalidade, a autenticação de dispositivo é criada em consequência de a instância inicial do dispositivo multiusuário 109 conectar ao servidor de notificação 105.
O processo 550 determina se a autenticação de usuário está in-cluída na solicitação de notificação de envio automático no bloco 562. Em uma modalidade, se uma autenticação de usuário está disponível para uma solicitação de notificação de envio automático, o processo de solicitação in-sere a autenticação de usuário dentro da solicitação de notificação de envio automático, tal como autenticação de usuário 116A como descrito na Figura 1B. Se a autenticação de usuário não for incluída na solicitação de notificação de envio automático, o processo 550 busca a autenticação de usuário no bloco 564. Em uma modalidade, o processo 550 transmite um comando de presença de conexão de notificação de envio automático para o servidor de notificação para buscar a autenticação de usuário. Em resposta, o servidor de notificação transmite para o processo solicitante (por exemplo, processo 550) a autenticação de usuário apropriada (por exemplo, autenticação de usuário 116A). Nesta modalidade, o comando de presença de conexão sinaliza para o servidor de notificação de envio automaticamente que o dis-positivo e o usuário associados com o dispositivo estão em linha e prontos para receber notificações de envio automático. Em uma modalidade, o pro-cesso 550 transmite o comando de presença de conexão de notificação de envio automático em consequência de um usuário se registrar no dispositivo multiusuário ou o dispositivo multiusuário carregar para um dispositivo mo- nousuário ou um dispositivo multiusuário com um usuário padrão. Se a au-tenticação de usuário estiver incluída na solicitação, o processo 550 habilita a autenticação de usuário no bloco 566. Em uma modalidade, o processo 550 habilita a autenticação de usuário quando a autenticação é criada.
A Figura 6 é um fluxograma que ilustra uma modalidade de um processo para fornecer mensagens de notificação de um servidor de aplicação para uma aplicação cliente. O processo exemplificativo 600 pode ser realizado por uma lógica de processamento que pode compreender hardware (circuitos, lógica dedicada, etc.), software (tal como é rodado em uma máquina dedicada), ou uma combinação de ambos. Por exemplo, o processo 600 pode ser realizado por alguns componentes do sistema 100, o servidor de aplicação 101 na Figura 1. No bloco 601, a lógica de processamento de processo 600 pode receber uma solicitação de registro de uma aplicação cliente em um dispositivo cliente para notificação de mensagem de uma aplicação servidora hospedada em um servidor de aplicação. A solicitação de registro pode incluir um identificador para o dispositivo cliente e / ou usuário (por exemplo, uma autenticação de usuário) e opcionalmente um identificador adicional para a aplicação cliente (por exemplo, um subtópico).
No bloco 603, a lógica de processamento de processo 600 pode enviar automaticamente um identificador de servidor (por exemplo, um tópico) que identifique um servidor de aplicação para um dispositivo cliente para permitir que o dispositivo cliente escute as mensagens notificadas (ou envia- das automaticamente) a partir do servidor de aplicação. Em uma modalidade, a lógica de processamento de processo 600 pode armazenar os identificadores que incluem um identificador de dispositivo e alcunha para um serviço de envio automático endereçar uma mensagem de notificação para o dispositivo cliente no bloco 605. Por exemplo, e em uma modalidade, o servidor pode armazenar o identificador de dispositivo e a alcunha correspondente em uma lista de identificadores, tal como a lista de identificadores 300 como descrita na Figura 3 acima. Os identificadores armazenados podem incluir um subtópico para identificar uma aplicação cliente no dispositivo cliente para receber a mensagem de notificação.
[0074] Em uma modalidade, no bloco 607, a lógica de proces-samento de processo 600 pode gerar uma mensagem de notificação para uma aplicação cliente registrada para receber a mensagem de acordo com identificadores armazenados para um usuário de um dispositivo cliente hos-pedar a aplicação cliente. Por exemplo, a mensagem de notificação pode indicar uma ocorrência de um evento em uma aplicação servidora relacionada a uma conta associada com a aplicação cliente, tal como a chegada de novas mensagens de correio, uma solicitação de bate papo, uma atualização de programação, ou outros eventos aplicáveis. A mensagem de notificação pode ser empacotada com uma autenticação de usuário que identifica o dispositivo cliente e o usuário para receber a mensagem de notificação e uma carga útil que inclui um subtópico que identifica a aplicação cliente. No bloco 609, a lógica de processamento de processo 600 pode enviar automaticamente a mensagem de notificação que inclui um tópico que identifica um servidor de aplicação originador para o dispositivo cliente através de um serviço de envio automático. A mensagem de notificação pode transportar o subtópico embutido em uma carga útil da mensagem para identificar a aplicação cliente. Subsequentemente no bloco 611, a lógica de processamento de processo 600 pode realizar transações específicas da aplicação sobre uma sessão de rede estabelecida a partir da aplicação cliente com a aplicação servidora.
No bloco613, a lógica de processamento de processo 600 pode determinar se uma condição para parar de enviar automaticamente mensagens de notificação para uma aplicação cliente, usuário, e / ou um dispositivo cliente está satisfeita. A aplicação cliente para o usuário pode ter registrado para receber as mensagens de notificação de uma aplicação servidora.
Em uma modalidade, a lógica de processamento de processo 600 pode monitorar uma duração ou tempo de corrido para o usuário e / ou o dispositivo cliente desde enviar automaticamente uma última mensagem de notificação para o dispositivo cliente. Se a duração exceder um limite (por exemplo, um dia, 12 horas, etc., o qual pode ser pré-configurado ou configurado dinami- 10 camente), a condição para parar de enviar automaticamente mensagens de notificação para o usuário e / ou o dispositivo cliente pode ser satisfeita. No bloco 615, a lógica de processamento de processo 600 pode anular o registro do usuário e / ou o dispositivo cliente da notificação de mensagem (ou serviço de envío automático) da aplicação servidora se a condição for satis- 15 feita. Em uma modalidade, o usuário pode ser removido de uma lista de recebedores de notificação para a aplicação servidora. Por exemplo, e em uma modalidade, a lógica de processamento de processo 600 pode remover entradas associadas com a alcunha que identifica o usuário, incluir dados que transportam um subtópico que identifica a aplicação cliente do dispositi- vo cliente, a partir de um registro para notificação de mensagem. Em outra modalidade, o dispositivo cliente pode ser removido de uma lista de recebedores de notificação para a aplicação servidora. Por exemplo, a lógica de processamento de processo 600 pode remover entradas associadas com uma autenticação de dispositivo que identifica o dispositivo cliente, incluir 25 dados que transportam um subtópico que identifica a aplicação cliente do dispositivo cliente, a partir de um registro para notificação de mensagem. Nesta modalidade, por anular registro do dispositivo cliente, o(s) registro(s) do(s) usuário(s) associado(s) com o dispositivo cliente também é(são) anulados.
A Figura 7 mostra um exemplo de um sistema de processamen to de dados que pode ser usada com as modalidades descritas neste docu-mento. O sistema de processamento de dados 700 mostrado na Figura 7 inclui um sistema de processamento 711, que pode ser um ou mais micro-processadores, ou que pode ser um sistema em um circuito integrado de pastilha de microcircuito, e o sistema também inclui memória 701 para ar-mazenar dados e programas para execução pelo sistema de processamento. O sistema 700 também inclui um subsistema de entrada / saída de áudio 705 que pode incluir um microfone e um alto-falante para, por exemplo, tocar música ou fornecer funcionalidade de telefone através do alto-falante e microfone. O sistema 700 pode, pelo menos em certas modalidades, solicitar o um ou mais perfis descritos neste documento e descarregar aqueles perfis para configurar o dispositivo para comunicação através de uma rede. O sistema 700 pode descarregar aqueles perfis de um servidor sistema de processamento de dados que pode ser o sistema mostrado na Figura 7. Em uma modalidade, o sistema 700 pode ser o dispositivo 111A e B mostrados na Figura 1.
Um controlador de exibição e dispositivo de exibição 707 fornece uma interface visual de usuário para o usuário; esta interface digital pode incluir uma interface gráfica de usuário que é similar àquelas mostradas em um computador Macintosh quando que roda o software de sistema opera-cional OS X. O sistema 700 também inclui um ou mais transceptores sem fio 703 para comunicar com outro sistema de processamento de dados Um transceptor sem fio pode ser um transceptor WiFi, um transceptor infraver-melho, um transceptor Bluetooth, e / ou um transceptor de telefonia celular sem fio. Será avaliado que componentes adicionais, não mostrados, também podem fazer parte do sistema 700 em certas modalidades, e em certas mo-dalidades menos componentes do que mostrados na Figura 7 também podem ser usados em um sistema de processamento de dados.
O sistema de processamento de dados 700 também inclui um ou mais dispositivos de entrada 713, que são fornecidos para permitir que um usuário forneça entrada para o sistema. Estes dispositivos de entrada podem ser um teclado numérico ou teclado ou um painel sensível ao toque ou um multipainel sensível ao toque. O sistema de processamento de dados 700 também inclui um dispositivo de entrada / saída opcional 715 que pode ser um conector para uma doca. Será avaliado que um ou mais barramen- tos, não mostrados, podem ser usados para interconectar os vários componentes como é bem conhecido na técnica. O sistema de processamento de dados mostrado na Figura 7 pode ser um computador de mão ou uma assis- 5 tente pessoal digital (PDA), ou um telefone celular com funcionalidade de PDA, ou um computador de mão que inclui um telefone celular, ou um tocador de mídia, tal como um iPod, ou dispositivos que combinam aspectos ou funções destes dispositivos, tal como um tocador de mídia combinado com um PDA e um telefone celular em um dispositivo. Em outras modalidades, o 10 sistema de processamento de dados 700 pode ser um computador de rede ou um dispositivo de processamento embutido em outro dispositivo, ou outros tipos de sistemas de processamento de dados quais têm menos componentes ou talvez mais componentes do que aqueles mostrados na Figura 7.
A Figura 8 mostra um exemplo de um sistema de processamen to de dados, que pode ser usado com uma modalidade da presente invenção. Deve ser observado que embora a Figura 8 ilustre vários componentes de um sistema de computador, a mesma não tem a intenção de representar qualquer arquitetura ou maneira particular de interconectar os componentes 20 uma vez que estes detalhes não são relevantes para a presente invenção.
Também será avaliado que redes de computador e outros sistemas de pro-cessamento de dados que têm menos componentes ou talvez mais compo-nentes também possam ser usados com a presente invenção. A Figura 8 pode representar o sistema servidor mostrado na Figura 1
Como mostrado na Figura 8, o sistema de computador 800, que é uma forma de um sistema de processamento de dados, inclui um barra- mento 803 que é acoplado a um microprocessador(es) 805 e uma ROM (Memória Apenas de Leitura) 807 e RAM volátil 809 e uma memória não volátil 811. O microprocessador 805 pode recuperar as instruções das memó- 30 rias 807, 809, 811 e executar as instruções para realizar as operações descritas acima. O barramento 803 interconecta estes vários componentes e também interconecta estes componentes 805, 807, 809, e 811 a um contro- lador de exibição e dispositivo de exibição 813 e a dispositivos periféricos tal como dispositivos de entrada / saída (I/O) que podem ser dispositivos apon-tadores, teclados, modems, interfaces de rede, impressoras e outros disposi-tivos que são bem conhecidos na técnica. Tipicamente, os dispositivos de entrada / saída 815 são acoplados ao sistema através de controladores de entrada / saída 817. A RAM volátil (Memória de Acesso Randômico) 809 é tipicamente implementada como RAM dinâmica (DRAM) que requer energia continuamente a fim de limpar ou manter os dados na memória.
O armazenamento de massa 811 é tipicamente um disco mag-nético rígido ou um controlador magnético ótico ou um controlador ótico ou um DVD RAM ou uma memória flash ou outros tipos de sistemas de memória que mantém dados (por exemplo grandes quantidades de dados) mesmo após a energia ser removida do sistema. Tipicamente, o armazenamento de massa 811 também será uma memória de acesso randômico embora isto não seja exigido. Embora a Figura 8 mostre que o armazenamento de massa 811 é um dispositivo local acoplado diretamente ao resto dos componentes no sistema de processamento de dados, será avaliado que a presente invenção pode utilize uma memória não Volátil que seja remota ao sistema, tal como um dispositivo de armazenamento em rede que é acoplado ao sistema de processamento de dados através de uma interface de rede tal como um modem, uma interface Ethernet ou uma rede sem fio. O barramento 803 pode incluir um ou mais barramentos conectados um ao outro através de várias pontes, controladores e / ou adaptadores como é bem conhecido na técnica.
O termo "memória", como usado neste documento, é destinado a abranger todas as mídias de armazenamento volátil, tal como memória dinâmica de acesso randômico (DRAM) e RAM estática (SRAM). Instruções executáveis por computador podem ser armazenadas em dispositivos de armazenamento não voláteis, tal como disco magnético rígido, um disco ótico, e são tipicamente gravadas, por um processo de acesso direto a memória, dentro da memória durante a execução do software por um processador. Um indivíduo versado na técnica reconhecerá imediatamente que o termo "um meio de armazenamento legível por máquina" inclui qualquer tipo de dispositivo de armazenamento volátil ou não volátil que seja acessível por um processador.
Na especificação acima, a invenção foi descrita com referência a 5 modalidades exemplificativas específicas da mesma. Ficará evidente que várias modificações podem ser feitas a mesma sem se afastar do mais amplo espírito e escopo da invenção como enumerados nas reivindicações a seguir. Consequentemente a especificação e desenhos devem ser considerados em um sentido ilustrativo em vez de em um sentido restritivo.

Claims (19)

1. Método implementado por máquina para notificação de men-sagens multiusuário, o método sendo caracterizado pelo fato de que com-preende: hospedar uma pluralidade de contas de usuário do sistema ope-racional em um dispositivo cliente, em que cada uma da pluralidade de contas de usuário do sistema operacional é uma conta usada para personalizar o dispositivo cliente para um usuário correspondente à conta; gerar um alias para cada uma das pluralidades de contas de usuário, em que cada alias é usado em combinação com um identificador subtópico correspondente a um aplicativo cliente associado a um aplicativo de servidor hospedado em um ou mais servidores de aplicativos, uma pluralidade de aplicativos clientes são hospedados no dispositivo cliente, o identificador subtópico que identifica exclusivamente o aplicativo cliente entre a pluralidade de aplicativos cliente; enviar uma solicitação para registrar um serviço de notificação usando um token de usuário com um ou mais servidores de aplicativos para o aplicativo cliente e o alias para encaminhar identificadores associados ao aplicativo cliente para o aplicativo servidor para permitir que o aplicativo ser-vidor envie mensagens de notificação para o correspondente a conta de usuário do dispositivo cliente para o aplicativo cliente e a pluralidade de apli-cativos cliente são registradas no serviço de notificação, em que o token do usuário inclui o alias e uma identificação do dispositivo cliente; em resposta ao recebimento de uma mensagem de notificação de um ou mais servidores de aplicativos, determinar se a mensagem de noti-ficação carrega o alias e o identificador subtópico do aplicativo cliente, em que a mensagem de notificação inclui o token do usuário e o identificador subtópico; e encaminhar a mensagem de notificação apenas para o aplicativo cliente da conta de usuário correspondente, usando o token do usuário e o identificador subtópico sem encaminhar a mensagem de notificação para outros aplicativos da pluralidade de aplicativos no dispositivo cliente.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que os identificadores incluem o identificador subtópico.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que um alias é derivado de um certificado associado à conta de usu-ário correspondente.
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que um ou mais servidores de aplicativos são identificados exclusi-vamente por um identificador de tópico e em que o registro compreende ainda: registrar o aplicativo cliente para o identificador de tópico para ouvir notificações de um ou mais servidores de aplicativos, em que mais de um dos aplicativos clientes são registrados para o identificador de tópico.
5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de compreender ainda: iniciar uma conexão de rede com um ou mais servidores de apli-cativos; e enviar os identificadores pela conexão de rede para um ou mais servidores de aplicativos.
6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a determinação compreende: extrair o alias e o identificador do tópico da mensagem de notifi-cação; e encaminhar a mensagem de notificação para cada aplicativo cli-ente e usuário correspondente registrado para a sequência de tópicos, se a mensagem de notificação não possuir o identificador subtópico.
7. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o encaminhamento compreende a chamada do aplicativo cliente se o aplicativo cliente não estiver ativo no momento.
8. Método implementado por máquina para fornecer notificação de mensagem, o método sendo caracterizado pelo fato de compreender: receber, em um aplicativo de servidor hospedado em um servidor de aplicativos, uma solicitação de registro de um aplicativo cliente para um usuário de um dispositivo cliente para a notificação de mensagem, o pe-dido com identificadores incluindo um token de usuário e um identificador de aplicativo cliente identificando o aplicativo cliente, em que o dispositivo cliente hospeda várias contas de usuário do sistema operacional que incluem uma conta de usuário correspondente para o usuário, e cada uma da pluralidade de contas de usuário do sistema operacional é uma conta usada para personalizar o dispositivo do cliente para um usuário correspondente à conta, uma pluralidade de aplicativos clientes são hospedados no dispositivo cliente e a pluralidade de aplicativos clientes é registrada no serviço de notificação, em que o token do usuário inclui um identificador de dispositivo do cliente e um alias para a conta de usuário correspondente, em que o alias é usado em combinação com um identificador subtópico correspondente a um aplicativo cliente associado ao aplicativo do servidor colocados em um ou mais servidores de aplicativos, o identificador subtópico identificando exclu-sivamente o aplicativo cliente entre a pluralidade de aplicativos cliente; enviar um identificador de servidor para o usuário para permitir que o dispositivo cliente ouça mensagens enviadas do servidor de aplicativos; armazenar os identificadores recebidos para registrar o usuário para a notificação da mensagem; e enviar mensagens de notificação para o dispositivo cliente por meio do token do usuário para notificar o aplicativo cliente para esse usuário, as mensagens de notificação identificadas pelo identificador do servidor e as mensagens de notificação incorporando o identificador do aplicativo cliente e o token do usuário, em que o cliente encaminha apenas a mensagem de notificação para o aplicativo cliente da conta de usuário correspondente, usando o token do usuário e o identificador subtópico sem encaminhar a mensagem de notificação para outros aplicativos da pluralidade de aplicativos no dispositivo cliente.
9. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que a solicitação de registro é recebida por uma conexão de rede iniciada pelo dispositivo cliente e em que o identificador do servidor é envia- do pela conexão de rede.
10. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que o token do usuário é armazenado associado a dados opacos, incluindo o identificador de aplicativo cliente.
11. Método, de acordo com a reivindicação 10, caracterizado pelo fato de que as mensagens de notificação incluem o token do usuário para identificar o usuário do dispositivo cliente e em que os dados opacos são transportados em cargas úteis das mensagens de notificação.
12. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que o envio compreende: estabelecer uma conexão de rede com um servidor push em um serviço push; e enviar as mensagens de notificação pela conexão de rede ao servidor de envio, em que as mensagens de notificação são empacotadas com o identificador do servidor.
13. Método, de acordo com a reivindicação 12, caracterizado pelo fato de que o identificador do servidor é recebido em um certificado de uma autoridade do serviço de push e em que o identificador do servidor identifica exclusivamente o servidor de aplicativos que compartilha o serviço de push.
14. Um meio não transitório legível por máquina com instruções, quando executado por uma máquina, faz com que a máquina execute um método para notificação de mensagem, o método sendo caracterizado pelo fato de que compreende: hospedar uma pluralidade de contas de usuário do sistema ope-racional em um dispositivo cliente, em que cada uma da pluralidade de contas de usuário do sistema operacional é uma conta usada para personalizar o dispositivo cliente para um usuário correspondente à conta; gerar um alias para cada uma das pluralidades de contas de usuário, em que cada alias é usado em combinação com um identificador subtópico correspondente a um aplicativo cliente associado a um aplicativo de servidor hospedado em um ou mais servidores de aplicativos, uma plura-lidade de aplicativos clientes são hospedados no dispositivo cliente e o iden-tificador subtópico que identifica exclusivamente o aplicativo cliente entre a pluralidade de aplicativos cliente; enviar uma solicitação para registrar um serviço de notificação usando o token do usuário com um ou mais servidores de aplicativos para o aplicativo cliente e o alias para encaminhar identificadores associados ao aplicativo cliente para o aplicativo servidor para permitir que o aplicativo ser-vidor envie mensagens de notificação para o correspondente a conta de usuário do dispositivo cliente para o aplicativo cliente e a pluralidade de apli-cativos cliente são registradas no serviço de notificação, em que o token do usuário inclui o alias e uma identificação do dispositivo cliente; em resposta ao recebimento de uma mensagem de notificação de um ou mais servidores de aplicativos, determinar se a mensagem de noti-ficação carrega o alias e o identificador subtópico do aplicativo cliente, em que a mensagem de notificação inclui o token do usuário e o identificador subtópico; e encaminhar a mensagem de notificação apenas para o aplicativo cliente da conta de usuário correspondente, usando o token do usuário e o identificador subtópico e sem encaminhar a mensagem de notificação para outros aplicativos da pluralidade de aplicativos no dispositivo cliente.
15. Um meio não transitório legível por máquina com instruções, quando executado por uma máquina, faz com que a máquina execute um método para fornecer notificação de mensagem, o método sendo caracteri-zado pelo fato de que compreende: receber, em um aplicativo de servidor hospedado em um servidor de aplicativos, uma solicitação de registro de um aplicativo cliente para um usuário de um dispositivo cliente para a notificação de mensagem, o pedido com identificadores incluindo um token de usuário e um identificador de aplicativo cliente identificando o aplicativo cliente, em que o dispositivo cliente hospeda várias contas de usuário do sistema operacional que incluem uma conta de usuário correspondente para o usuário, e cada uma das várias contas de usuário do sistema operacional é uma conta usada para persona-lizar o dispositivo do cliente para um usuário correspondente à conta, uma pluralidade de aplicativos clientes são hospedados no dispositivo cliente e a pluralidade de aplicativos clientes é registrada no serviço de notificação, em que o token do usuário inclui um identificador de dispositivo do cliente e um alias para a conta de usuário correspondente, em que o alias é usado em combinação com um identificador de subtópico correspondente a um aplica-tivo cliente associado ao aplicativo do servidor ho sted em um ou mais servi-dores de aplicativos, o identificador subtópico identificando exclusivamente o aplicativo cliente entre a pluralidade de aplicativos cliente; enviar um identificador de servidor para o usuário para permitir que o dispositivo cliente ouça mensagens enviadas do servidor de aplicativos; armazenar os identificadores recebidos para registrar o usuário para a notificação da mensagem; e enviar mensagens de notificação para o dispositivo cliente por meio do token do usuário para notificar o aplicativo cliente para esse usuário, as mensagens de notificação identificadas pelo identificador do servidor e as mensagens de notificação incorporando o identificador do aplicativo cliente e o token do usuário, em que o cliente encaminha apenas a mensagem de notificação para o aplicativo cliente da conta de usuário correspondente, usando o token do usuário e o identificador subtópico sem encaminhar a mensagem de notificação para outros aplicativos da pluralidade de aplicativos no dispositivo cliente.
16. Aparelho, caracterizado pelo fato de que compreende: uma memória que armazena instruções executáveis, incluindo um aplicativo de servidor; uma interface de rede acoplada a uma rede push; um processador acoplado à interface de rede e à memória para executar as instruções executáveis da memória para os serviços de mensa-gens, o processador sendo configurado para: em resposta a uma iniciação de um dispositivo cliente, estabele- cendo uma primeira conexão de rede com o dispositivo cliente via rede interface, receber, no aplicativo do servidor, uma solicitação de registro do aplicativo cliente de um dispositivo cliente pela primeira conexão de rede, a solicitação com identificadores incluindo um token de usuário e um identifi-cador de aplicativo cliente identificando o aplicativo cliente, uma pluralidade de aplicativos clientes é hospedada em o dispositivo cliente, a pluralidade de aplicativos clientes são registrados no serviço de notificação, a conta de usuário correspondente é uma de uma pluralidade de contas de usuário do sistema operacional do dispositivo cliente, cada uma da pluralidade de contas de usuário do sistema operacional é uma conta usada para personalizar o dispositivo cliente para um usuário correspondente à conta e o token do usuário inclui um identificador de dispositivo cliente e um alias para a conta de usuário correspondente, em que o alias é usado em combinação com um identificador subtópico correspondente a um aplicativo cliente associado ao aplicativo de servidor hospedado em um ou mais servidores de aplicativos, o identificador de subtópico identificar exclusivamente o aplicativo cliente entre a pluralidade de aplicativos cliente, enviar um identificador de servidor para o dispositivo cliente para permitir que o cliente dispositivo para ouvir as mensagens enviadas pelo servidor de aplicativos, armazenar os identificadores recebidos para registrar o usuário para o notificação de mensagem enviar mensagens de notificação para o dispositivo cliente através de uma segunda conexão de rede com a rede push via interface de rede, as mensagens de notificação com o token do usuário para notificar o aplicativo cliente para o usuário, as mensagens de notificação identificadas pelo identificador do servidor e as mensagens de notificação incorporadas o identificador do aplicativo cliente e o token do usuário, em que o cliente en- caminha a mensagem de notificação apenas para o aplicativo cliente da conta de usuário correspondente, usando o token do usuário e o identificador subtópico sem encaminhar a mensagem de notificação para outros aplicativos da pluralidade de aplicativos no cliente dispositivo.
17. Método implementado por máquina, de acordo com a reivin dicação 1, caracterizado pelo fato de que uma conta do sistema operacional é uma conta usada para personalizar o dispositivo multiusuário para um usuário correspondente à conta.
18. Método implementado por máquina, de acordo com a reivin- 10 dicação 17, caracterizado pelo fato de que a conta do sistema operacional é uma conta usada para personalizar configurações específicas do sistema para um usuário selecionado do grupo que consiste em um ambiente de sistema de arquivos, configurações da área de trabalho e configurações do aplicativo.
19. Método implementado por máquina, de acordo com a reivin dicação 1, caracterizado pelo fato de que o token do usuário inclui ainda in-formações de zona, em que a informação de zona é um identificador que associa o usuário a uma zona específica de um sistema de notificação.
BR112013017443-9A 2011-01-05 2011-12-30 Melhorias para cliente de notificação de envio automático de mensagem para dispositivos multiusuário BR112013017443B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161430126P 2011-01-05 2011-01-05
US61/430,126 2011-01-05
US13/080,131 US8924489B2 (en) 2011-01-05 2011-04-05 Message push notification client improvements for multi-user devices
US13/080,131 2011-04-05
PCT/US2011/068189 WO2012094253A1 (en) 2011-01-05 2011-12-30 Message push notification client improvements for multi-user devices

Publications (2)

Publication Number Publication Date
BR112013017443A2 BR112013017443A2 (pt) 2016-09-27
BR112013017443B1 true BR112013017443B1 (pt) 2021-11-03

Family

ID=46381746

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112013017443-9A BR112013017443B1 (pt) 2011-01-05 2011-12-30 Melhorias para cliente de notificação de envio automático de mensagem para dispositivos multiusuário

Country Status (9)

Country Link
US (2) US8924489B2 (pt)
EP (1) EP2649781B1 (pt)
JP (1) JP5719453B2 (pt)
KR (1) KR101510977B1 (pt)
CN (1) CN103348663B (pt)
AU (1) AU2011353561B2 (pt)
BR (1) BR112013017443B1 (pt)
MX (1) MX2013007842A (pt)
WO (1) WO2012094253A1 (pt)

Families Citing this family (146)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150088982A1 (en) * 2006-09-25 2015-03-26 Weaved, Inc. Load balanced inter-device messaging
US9712486B2 (en) 2006-09-25 2017-07-18 Weaved, Inc. Techniques for the deployment and management of network connected devices
US11184224B2 (en) 2006-09-25 2021-11-23 Remot3.It, Inc. System, method and compute program product for accessing a device on a network
US10637724B2 (en) 2006-09-25 2020-04-28 Remot3.It, Inc. Managing network connected devices
EP3484135A1 (en) 2008-04-02 2019-05-15 Twilio Inc. System and method for processing telephony sessions
US8837465B2 (en) 2008-04-02 2014-09-16 Twilio, Inc. System and method for processing telephony sessions
CN102227904A (zh) 2008-10-01 2011-10-26 特维里奥公司 电话网络事件的系统和方法
JP5671484B2 (ja) 2009-03-02 2015-02-18 トゥイリオ インコーポレイテッドTwilio Inc. マルチテナント電話ネットワークのための方法およびシステム
US9210275B2 (en) 2009-10-07 2015-12-08 Twilio, Inc. System and method for running a multi-module telephony application
US9459925B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US9338064B2 (en) 2010-06-23 2016-05-10 Twilio, Inc. System and method for managing a computing cluster
US9459926B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US9590849B2 (en) 2010-06-23 2017-03-07 Twilio, Inc. System and method for managing a computing cluster
US8838707B2 (en) 2010-06-25 2014-09-16 Twilio, Inc. System and method for enabling real-time eventing
US8649268B2 (en) 2011-02-04 2014-02-11 Twilio, Inc. Method for processing telephony sessions of a network
US8407776B2 (en) * 2011-02-11 2013-03-26 Good Technology Corporation Method, apparatus and system for provisioning a push notification session
KR101845086B1 (ko) * 2011-03-30 2018-04-03 삼성전자주식회사 푸시 알림 메시지를 전송하기 위한 장치 및 방법
KR101914488B1 (ko) * 2011-04-06 2018-11-05 삼성전자주식회사 푸시 알림 서비스를 위한 서버 클러스터 및 방법
US8825842B2 (en) * 2011-04-28 2014-09-02 Facebook, Inc. Managing notifications pushed to user devices
US9529417B2 (en) 2011-04-28 2016-12-27 Facebook, Inc. Performing selected operations using low power-consuming processors on user devices
US9648006B2 (en) * 2011-05-23 2017-05-09 Twilio, Inc. System and method for communicating with a client application
US20140044123A1 (en) 2011-05-23 2014-02-13 Twilio, Inc. System and method for real time communicating with a client application
WO2012162397A1 (en) 2011-05-23 2012-11-29 Twilio, Inc. System and method for connecting a communication to a client
JP2012247841A (ja) * 2011-05-25 2012-12-13 Sony Corp 近隣人物特定装置、近隣人物特定方法、近隣人物特定プログラム及び近隣人物特定システム
JP2012247840A (ja) * 2011-05-25 2012-12-13 Sony Corp 近隣人物特定装置、近隣人物特定方法、近隣人物特定プログラム及び近隣人物特定システム
US8731523B1 (en) 2011-06-14 2014-05-20 Urban Airship, Inc. Push notification delivery system with feedback analysis
US9531827B1 (en) 2011-06-14 2016-12-27 Urban Airship, Inc. Push notification delivery system with feedback analysis
US8554855B1 (en) * 2011-06-14 2013-10-08 Urban Airship, Inc. Push notification delivery system
US10182147B2 (en) 2011-09-21 2019-01-15 Twilio Inc. System and method for determining and communicating presence information
US9336500B2 (en) 2011-09-21 2016-05-10 Twilio, Inc. System and method for authorizing and connecting application developers and users
US9578014B2 (en) 2011-09-29 2017-02-21 Oracle International Corporation Service profile-specific token attributes and resource server token attribute overriding
US9495227B2 (en) 2012-02-10 2016-11-15 Twilio, Inc. System and method for managing concurrent events
US20140365606A1 (en) * 2012-02-13 2014-12-11 Sony Corporation Information processing apparatus, information processing method, and program
US11593800B2 (en) 2012-03-07 2023-02-28 Early Warning Services, Llc System and method for transferring funds
US20130244579A1 (en) * 2012-03-16 2013-09-19 Rapidblue Solutions Method of enabling proximity based connectivity between mobile devices using different operating systems
US9100497B2 (en) * 2012-04-05 2015-08-04 Blackberry Limited Method, system and apparatus for managing persona-based notifications at a communication device
US9602586B2 (en) 2012-05-09 2017-03-21 Twilio, Inc. System and method for managing media in a distributed communication network
US20130304928A1 (en) 2012-05-09 2013-11-14 Twilio, Inc. System and method for managing latency in a distributed telephony network
US9240941B2 (en) 2012-05-09 2016-01-19 Twilio, Inc. System and method for managing media in a distributed communication network
GB201210598D0 (en) 2012-06-14 2012-08-01 Microsoft Corp Notification of communication events
GB2504461B (en) * 2012-06-14 2014-12-03 Microsoft Corp Notification of communication events
GB201210600D0 (en) 2012-06-14 2012-08-01 Microsoft Corp Call invites
GB201210596D0 (en) 2012-06-14 2012-08-01 Microsoft Corp Notification of communication events
US9247062B2 (en) 2012-06-19 2016-01-26 Twilio, Inc. System and method for queuing a communication session
US8737962B2 (en) 2012-07-24 2014-05-27 Twilio, Inc. Method and system for preventing illicit use of a telephony platform
US9524198B2 (en) * 2012-07-27 2016-12-20 Google Inc. Messaging between web applications
WO2014030199A1 (ja) * 2012-08-20 2014-02-27 富士通株式会社 シームレスアプリプッシュシステム及びその方法
KR101488268B1 (ko) * 2012-08-30 2015-01-30 삼성전자주식회사 푸시 메시지 서비스 방법 및 시스템
WO2014035194A1 (en) * 2012-08-30 2014-03-06 Samsung Electronics Co., Ltd. Push message service system and method
EP2706727B1 (en) 2012-09-11 2014-09-10 BlackBerry Limited Systems, devices and methods for authorizing endpoints of a push pathway
US8948356B2 (en) 2012-10-15 2015-02-03 Twilio, Inc. System and method for routing communications
US8938053B2 (en) 2012-10-15 2015-01-20 Twilio, Inc. System and method for triggering on platform usage
KR101399292B1 (ko) * 2012-12-07 2014-05-27 전남대학교산학협력단 Sns를 이용한 사물통신 시스템, 방법 및 그 사물통신 서버
CN103392328B (zh) * 2012-12-21 2016-05-25 华为技术有限公司 远程控制通讯终端工作的服务器和方法及通讯终端
CN103902616B (zh) * 2012-12-28 2017-04-12 腾讯科技(深圳)有限公司 一种推送网页应用消息的方法、装置和系统
US9253254B2 (en) 2013-01-14 2016-02-02 Twilio, Inc. System and method for offering a multi-partner delegated platform
US9232339B2 (en) * 2013-02-07 2016-01-05 Oracle International Corporation Mobile push notification
US9282124B2 (en) 2013-03-14 2016-03-08 Twilio, Inc. System and method for integrating session initiation protocol communication in a telecommunications platform
US9001666B2 (en) 2013-03-15 2015-04-07 Twilio, Inc. System and method for improving routing in a distributed communication platform
US8918529B1 (en) * 2013-03-15 2014-12-23 Mobile Iron, Inc. Messaging gateway
WO2014183208A1 (en) * 2013-05-17 2014-11-20 Initiative Inc. System for quickly finding the whereabouts of friends
US9256484B2 (en) * 2013-06-09 2016-02-09 Apple Inc. Dynamic adjustment of mobile device based on user activity
WO2014201177A1 (en) 2013-06-11 2014-12-18 Seven Networks, Inc. Offloading application traffic to a shared communication channel for signal optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US9160696B2 (en) 2013-06-19 2015-10-13 Twilio, Inc. System for transforming media resource into destination device compatible messaging format
US9225840B2 (en) 2013-06-19 2015-12-29 Twilio, Inc. System and method for providing a communication endpoint information service
US9338280B2 (en) 2013-06-19 2016-05-10 Twilio, Inc. System and method for managing telephony endpoint inventory
US8843601B1 (en) * 2013-07-12 2014-09-23 Vonage Network, Llc Systems and methods for VOIP communication completion to a mobile device
US9780994B2 (en) 2013-07-18 2017-10-03 International Business Machines Corporation Notification normalization
US9699625B2 (en) * 2013-07-18 2017-07-04 International Business Machines Corporation Push notification middleware
US9706002B2 (en) 2013-07-18 2017-07-11 International Business Machines Corporation Push notification via file sharing service synchronization
US9483328B2 (en) 2013-07-19 2016-11-01 Twilio, Inc. System and method for delivering application content
US9137127B2 (en) 2013-09-17 2015-09-15 Twilio, Inc. System and method for providing communication platform metadata
US9338018B2 (en) 2013-09-17 2016-05-10 Twilio, Inc. System and method for pricing communication of a telecommunication platform
US9274858B2 (en) 2013-09-17 2016-03-01 Twilio, Inc. System and method for tagging and tracking events of an application platform
EP3047626B1 (en) 2013-09-20 2017-10-25 Oracle International Corporation Multiple resource servers with single, flexible, pluggable oauth server and oauth-protected restful oauth consent management service, and mobile application single sign on oauth service
US9325624B2 (en) * 2013-11-12 2016-04-26 Twilio, Inc. System and method for enabling dynamic multi-modal communication
US9553799B2 (en) 2013-11-12 2017-01-24 Twilio, Inc. System and method for client communication in a distributed telephony network
US9462044B1 (en) * 2013-11-25 2016-10-04 Ca, Inc. Secure user, device, application registration protocol
WO2015080460A1 (ko) * 2013-11-26 2015-06-04 엘지전자 주식회사 무선 통신 시스템에서 ae id 할당 방법
CN103618746A (zh) * 2013-12-10 2014-03-05 南京守护宝信息技术有限公司 一种基于推送指令的客户端服务器通信方法
US10540063B2 (en) 2014-01-27 2020-01-21 Microsoft Technology Licensing, Llc Processing actionable notifications
US10802681B2 (en) 2014-01-27 2020-10-13 Microsoft Technology Licensing, Llc Actionable notifications
US9344573B2 (en) 2014-03-14 2016-05-17 Twilio, Inc. System and method for a work distribution service
WO2015145905A1 (ja) * 2014-03-28 2015-10-01 株式会社セガ 追加ダウンロード管理システム、端末装置制御プログラム、端末装置および追加ダウンロード管理装置
CN104980298B (zh) * 2014-04-14 2018-07-06 腾讯科技(深圳)有限公司 一种异常提示方法、装置及系统
US9226217B2 (en) 2014-04-17 2015-12-29 Twilio, Inc. System and method for enabling multi-modal communication
US9760704B2 (en) * 2014-05-23 2017-09-12 Blackberry Limited Security apparatus session sharing
GB2527116B (en) * 2014-06-12 2017-09-20 Canon Kk Adaptative persistent push
CN105282107B (zh) * 2014-07-04 2018-09-11 北京信威通信技术股份有限公司 Xmpp系统访问外部数据的授权方法及通信网络
US9774687B2 (en) 2014-07-07 2017-09-26 Twilio, Inc. System and method for managing media and signaling in a communication platform
US9516101B2 (en) 2014-07-07 2016-12-06 Twilio, Inc. System and method for collecting feedback in a multi-tenant communication platform
US9246694B1 (en) 2014-07-07 2016-01-26 Twilio, Inc. System and method for managing conferencing in a distributed communication network
US9251371B2 (en) 2014-07-07 2016-02-02 Twilio, Inc. Method and system for applying data retention policies in a computing platform
EP3207452A4 (en) * 2014-10-15 2018-06-20 Ayla Networks, Inc. Registration framework for connected consumer devices
US9749428B2 (en) 2014-10-21 2017-08-29 Twilio, Inc. System and method for providing a network discovery service platform
CN104320456B (zh) * 2014-10-22 2018-04-20 迈普通信技术股份有限公司 一种页面推送方法及相关设备
US10050912B2 (en) * 2014-10-27 2018-08-14 At&T Intellectual Property I, L.P. Subscription-based media push service
WO2016078006A1 (zh) * 2014-11-19 2016-05-26 华为技术有限公司 一种定向统计流量的方法、设备及系统
KR20160077856A (ko) 2014-12-24 2016-07-04 삼성전자주식회사 알림 정보 제공 방법 및 장치
CN104580490B (zh) * 2015-01-20 2018-09-18 无线生活(杭州)信息科技有限公司 命令传输方法及装置
US10015236B2 (en) * 2015-01-30 2018-07-03 Ricoh Company, Ltd. Cloud application activation and update service
US9477975B2 (en) 2015-02-03 2016-10-25 Twilio, Inc. System and method for a media intelligence platform
CN105991412B (zh) * 2015-02-12 2019-03-19 阿里巴巴集团控股有限公司 消息推送方法及装置
US9693207B2 (en) * 2015-02-26 2017-06-27 Sony Corporation Unified notification and response system
JP6227583B2 (ja) * 2015-03-25 2017-11-08 Kddi株式会社 情報配信装置、プッシュ通知送信方法、及び、コンピュータプログラム
JP6251210B2 (ja) * 2015-03-25 2017-12-20 Kddi株式会社 端末装置、通信セッション確立方法、及び、プログラム
US11496430B2 (en) * 2015-04-13 2022-11-08 Citrix Systems, Inc. Configurable offline messaging management using user presence information
US10419891B2 (en) 2015-05-14 2019-09-17 Twilio, Inc. System and method for communicating through multiple endpoints
US9948703B2 (en) 2015-05-14 2018-04-17 Twilio, Inc. System and method for signaling through data storage
US10216709B2 (en) 2015-05-22 2019-02-26 Microsoft Technology Licensing, Llc Unified messaging platform and interface for providing inline replies
US20160344677A1 (en) 2015-05-22 2016-11-24 Microsoft Technology Licensing, Llc Unified messaging platform for providing interactive semantic objects
US10491708B2 (en) 2015-06-05 2019-11-26 Apple Inc. Context notifications
EP3342193B1 (en) * 2015-08-27 2023-06-28 Pivotal Software, Inc. Notification system for providing a network service
CN105245577B (zh) * 2015-09-11 2018-09-04 腾讯科技(深圳)有限公司 信息推送方法、装置及系统
US10178194B2 (en) * 2015-10-13 2019-01-08 Adobe Systems Incorporated Intelligent notifications to devices with multiple applications
US11328590B2 (en) * 2015-10-29 2022-05-10 InterNetwork Media, LLC System and method for internet radio automatic content management
CN105871680A (zh) * 2015-11-18 2016-08-17 乐视致新电子科技(天津)有限公司 通信方法和通信系统以及显示装置
US20170171332A1 (en) * 2015-12-15 2017-06-15 Le Holdings (Beijing) Co., Ltd. Message pushing method, electronic device and non-transitory computer-readable storage medium
US10659349B2 (en) 2016-02-04 2020-05-19 Twilio Inc. Systems and methods for providing secure network exchanged for a multitenant virtual private cloud
US10728164B2 (en) 2016-02-12 2020-07-28 Microsoft Technology Licensing, Llc Power-aware network communication
US10135946B2 (en) 2016-04-11 2018-11-20 Verizon Patent And Licensing Inc. Sending messages to mobile devices
US10075583B2 (en) * 2016-04-13 2018-09-11 Microsoft Technology Licensing, Llc Suppressing indications of incoming communications in user interfaces
US10686902B2 (en) 2016-05-23 2020-06-16 Twilio Inc. System and method for a multi-channel notification service
US10063713B2 (en) 2016-05-23 2018-08-28 Twilio Inc. System and method for programmatic device connectivity
CN106095220B (zh) * 2016-05-30 2019-09-27 北京小米移动软件有限公司 通知消息提示方法及装置
US10511542B2 (en) * 2016-06-10 2019-12-17 Microsoft Technology Licensing, Llc Multi-interface power-aware networking
US10225359B2 (en) * 2016-09-22 2019-03-05 International Business Machines Corporation Push notifications from multiple tenant servers
CN107067244B (zh) * 2016-11-03 2020-09-29 阿里巴巴集团控股有限公司 业务实现方法、支付方法、业务实现装置及支付服务端
CN108111565B (zh) * 2016-11-25 2020-08-04 腾讯科技(深圳)有限公司 消息传输方法和装置
US20180367629A1 (en) * 2017-06-20 2018-12-20 Develapp, LLC Platform and Related Process for Providing Push Notifications Via Unique Subscriber Applications
US9935984B1 (en) * 2017-07-31 2018-04-03 Malwarebytes Inc. Scalable cloud-based endpoint security system
CN108337296B (zh) * 2018-01-12 2021-01-01 深圳壹账通智能科技有限公司 消息推送处理方法、装置、计算机设备和存储介质
CN108519922B (zh) * 2018-04-12 2022-07-12 珠海市魅族科技有限公司 信息推送方法及装置、终端设备及计算机可读存储介质
US10855670B2 (en) * 2018-05-03 2020-12-01 Vmware, Inc. Polling service
US10972454B2 (en) * 2018-05-29 2021-04-06 Apple Inc. Conversation merging for electronic devices
US11303627B2 (en) 2018-05-31 2022-04-12 Oracle International Corporation Single Sign-On enabled OAuth token
US11070548B2 (en) * 2018-12-21 2021-07-20 Paypal, Inc. Tokenized online application sessions
CN110012083B (zh) * 2019-03-26 2022-07-01 青岛聚好联科技有限公司 一种数据传输方法、服务器及数据传输装置
US20210142328A1 (en) * 2019-11-13 2021-05-13 Early Warning Services, Llc System and method for preventing fraud in real-time payment transactions
CN111212062B (zh) * 2019-12-31 2022-09-30 航天信息股份有限公司 信息补全的方法、装置、存储介质及电子设备
CN111200656A (zh) * 2020-01-03 2020-05-26 北京小米移动软件有限公司 通知推送方法、装置及系统
CN111310043B (zh) * 2020-02-14 2023-07-28 北京百度网讯科技有限公司 用于推送信息的方法和装置
AU2020356802B2 (en) * 2020-04-14 2021-12-23 Citrix Systems, Inc. Triggering event notifications based on messages to application users
CN114553814B (zh) * 2020-10-27 2024-02-09 花瓣云科技有限公司 处理推送消息的方法和装置
US11558468B2 (en) * 2020-11-03 2023-01-17 T-Mobile Usa, Inc. Mobile client recovery using push notifications to execute exponential back-off procedure
CN114900489B (zh) * 2021-01-26 2023-10-13 腾讯科技(深圳)有限公司 一种消息处理方法、装置、电子设备及存储介质

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6259446B1 (en) 1992-12-23 2001-07-10 Object Technology Licensing Corporation Menu state system
JPH10190879A (ja) * 1996-12-27 1998-07-21 Casio Comput Co Ltd 通信端末、サーバ装置、及び着信通知システム
CA2307635C (en) 1997-11-05 2004-07-06 Microsoft Corporation Notification scheduling system on a mobile device
US6512930B2 (en) 1997-12-30 2003-01-28 Telefonaktiebolaget Lm Ericsson (Publ) On-line notification in a mobile communications system
US6223046B1 (en) 1998-12-15 2001-04-24 Telefonaktiebolaget Lm Ericsson (Publ) System and method for coordinating notification requests for terminal availability
US7552200B2 (en) 2000-10-19 2009-06-23 Cisco Technology Apparatus and methods for requesting an event notification over a network
US8474693B1 (en) * 2000-12-05 2013-07-02 Diebold, Incorporated Automated banking machine security system and method
ATE244423T1 (de) * 2001-02-28 2003-07-15 Sap Ag Computersystem für geschäftsanwendungen mit alarmmeldung und bedingter inkraftsetzung
US20030061365A1 (en) 2001-03-14 2003-03-27 Microsoft Corporation Service-to-service communication for network services
JP2002344529A (ja) * 2001-05-21 2002-11-29 Sharp Corp プッシュ型サービスシステム
US7192235B2 (en) 2001-11-01 2007-03-20 Palm, Inc. Temporary messaging address system and method
AU2003245766B2 (en) 2002-11-04 2007-05-24 Blackberry Limited Method and apparatus for packet data service discovery
US20040186918A1 (en) * 2003-03-21 2004-09-23 Lonnfors Mikko Aleksi Method and apparatus for dispatching incoming data in a multi-application terminal
JP4401729B2 (ja) * 2003-09-30 2010-01-20 京セラ株式会社 携帯通信端末
JP2005107897A (ja) * 2003-09-30 2005-04-21 Dainippon Printing Co Ltd アクセスポイント、配信システム及びプログラム
US20050080898A1 (en) 2003-10-08 2005-04-14 Block Jerald J. System and method for managing computer usage
US7529801B2 (en) * 2003-11-06 2009-05-05 International Business Machines Corporation Method and system for multiple instant messaging login sessions
US7383307B2 (en) 2004-01-07 2008-06-03 International Business Machines Corporation Instant messaging windowing for topic threads
US8856346B2 (en) 2004-01-15 2014-10-07 Unwired Planet, Llc Stateful push notifications
US20060009243A1 (en) 2004-07-07 2006-01-12 At&T Wireless Services, Inc. Always-on mobile instant messaging of a messaging centric wireless device
US7818379B1 (en) * 2004-08-31 2010-10-19 Aol Inc. Notification and disposition of multiple concurrent instant messaging sessions involving a single online identity
US7970823B2 (en) * 2004-09-02 2011-06-28 Broadway Technology, Llc System for sharing data objects among applications
US7978618B2 (en) * 2004-10-08 2011-07-12 Sharp Laboratories Of America, Inc. Methods and systems for user interface customization
US7617162B2 (en) * 2005-03-04 2009-11-10 Atul Saini Real time push notification in an event driven network
US7499995B2 (en) 2005-06-28 2009-03-03 International Business Machines Corporation Managing permission for accessing third party applications on a telecommunications network
US20070156693A1 (en) * 2005-11-04 2007-07-05 Microsoft Corporation Operating system roles
US8693995B2 (en) * 2007-12-13 2014-04-08 Michelle Fisher Customized mobile applications for special interest groups
US8280979B2 (en) * 2006-02-27 2012-10-02 Microsoft Corporation Persistent public machine setting
EP3575951A1 (en) * 2007-04-17 2019-12-04 Visa USA, Inc. Method and system for authenticating a party to a transaction
US8630625B2 (en) * 2007-09-14 2014-01-14 At&T Intellectual Property I, L.P. System and method for personalized messaging
JP2009157650A (ja) * 2007-12-26 2009-07-16 Softbank Mobile Corp コンテンツ提供システム、コンテンツ提供方法およびコンテンツ提供プログラム
US9363745B2 (en) 2008-03-26 2016-06-07 Srinivasan Balasubramanian Device managed access point lists in wireless communications
US8719420B2 (en) 2008-05-13 2014-05-06 At&T Mobility Ii Llc Administration of access lists for femtocell service
US8364123B2 (en) 2009-02-25 2013-01-29 Apple Inc. Managing notification messages
US8565730B2 (en) * 2008-06-19 2013-10-22 Blackberry Limited User interface for configuring service account-specific user notifications for inbound electronic messages
US9135433B2 (en) * 2008-08-29 2015-09-15 Adobe Systems Incorporated Identifying reputation and trust information for software
US8315395B2 (en) * 2008-12-10 2012-11-20 Oracle America, Inc. Nearly-stateless key escrow service
US20100161747A1 (en) * 2008-12-22 2010-06-24 Cyril Rayan System and method for two-way anonymous communication
US8630624B2 (en) * 2009-02-25 2014-01-14 Apple Inc. Managing notification messages
CN101854338B (zh) * 2009-03-31 2014-02-26 国际商业机器公司 订户设备及其订阅管理方法、实时通信方法和系统
US20100274691A1 (en) * 2009-04-28 2010-10-28 Ayman Hammad Multi alerts based system
US8417231B2 (en) 2009-05-17 2013-04-09 Qualcomm Incorporated Method and apparatus for programming a mobile device with multiple service accounts
US8826304B2 (en) * 2009-08-13 2014-09-02 Google Inc. Virtual object indirection in a hosted computer environment
US20110195695A1 (en) * 2010-02-11 2011-08-11 Rashim Gupta Managing event distribution to applications within a wireless communications device

Also Published As

Publication number Publication date
US20120173610A1 (en) 2012-07-05
KR20130109229A (ko) 2013-10-07
CN103348663A (zh) 2013-10-09
EP2649781B1 (en) 2019-04-10
WO2012094253A1 (en) 2012-07-12
KR101510977B1 (ko) 2015-04-10
EP2649781A1 (en) 2013-10-16
CN103348663B (zh) 2015-08-19
BR112013017443A2 (pt) 2016-09-27
US11057484B2 (en) 2021-07-06
US8924489B2 (en) 2014-12-30
JP5719453B2 (ja) 2015-05-20
US20150067062A1 (en) 2015-03-05
MX2013007842A (es) 2013-10-03
AU2011353561B2 (en) 2015-10-08
AU2011353561A1 (en) 2013-07-25
JP2014503152A (ja) 2014-02-06
EP2649781A4 (en) 2014-06-18

Similar Documents

Publication Publication Date Title
BR112013017443B1 (pt) Melhorias para cliente de notificação de envio automático de mensagem para dispositivos multiusuário
US9985917B2 (en) Managing notification messages
US10454856B2 (en) Instant message processing method, apparatus, and system
CN110839078B (zh) 代理推送
EP2898420B1 (en) A data-sharing method, terminal, server, and system
US20150256415A1 (en) Browser notifications
US9432437B1 (en) Dynamic telemetry client message routing
JP2017510882A (ja) チャット情報伝送方法および装置、ならびにチャット情報プッシュ方法およびサーバ
CN108234422A (zh) 资源调度方法及装置
US10952038B2 (en) Method and system for providing calendar services in a universal plug and play home network environment
CN109906453B (zh) 建立用于有状态云服务的安全会话的方法、系统
US20140089430A1 (en) Data-sharing method, terminal, server, and system
JP2012099132A (ja) クライアント装置及びプログラム
US20230075085A1 (en) End-to-end encryption for multiple recipient devices
JP2014032691A (ja) サーバ装置及びプログラム

Legal Events

Date Code Title Description
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: A CLASSIFICACAO ANTERIOR ERA: H04M 1/725

Ipc: H04L 12/46 (2006.01), H04L 29/08 (2006.01)

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 30/12/2011, OBSERVADAS AS CONDICOES LEGAIS.