BR102013013868B1 - dispositivo de armazenamento de programa não-transitório e método - Google Patents

dispositivo de armazenamento de programa não-transitório e método Download PDF

Info

Publication number
BR102013013868B1
BR102013013868B1 BR102013013868-1A BR102013013868A BR102013013868B1 BR 102013013868 B1 BR102013013868 B1 BR 102013013868B1 BR 102013013868 A BR102013013868 A BR 102013013868A BR 102013013868 B1 BR102013013868 B1 BR 102013013868B1
Authority
BR
Brazil
Prior art keywords
context
optional
user
response
responses
Prior art date
Application number
BR102013013868-1A
Other languages
English (en)
Other versions
BR102013013868A2 (pt
Inventor
Elizabeth C. Cranfill
Donald W. Pitschel
Alessandro F. Sabatelli
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 BR102013013868A2 publication Critical patent/BR102013013868A2/pt
Publication of BR102013013868B1 publication Critical patent/BR102013013868B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72457User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to geographic location

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

GERAÇÃO DE OPÇÕES COM BASE EM CONTEXTO PARA RESPONDER A UMA NOTIFICAÇÃO. A presente invenção refere-se a um usuário de um dispositivo programável que tem um contexto que pode ser avaliado e comparado a um contexto de uma notificação gerada pelo sistema operacional ou por uma aplicação em execução no dispositivo programável. A comparação pode ser usada para gerar uma ou mais respostas opcionais para a notificação de que pode permitir a funcionalidade adicional além de descartar a notificação ou a abertura de uma entrada do evento correspondente.

Description

ANTECEDENTES
[0001] A presente descrição refere-se em geral ao campo da programação de computadores. Mais particularmente, mas não por meio de limitação, se refere a técnicas para proporcionar respostas adicionais para um lembrete de calendário.
[0002] Os sistemas de calendários atuais oferecem lembretes que podem ser exibidos associados a uma entrada em um calendário associado a uma pessoa. Estes lembretes são normalmente exibidos durante um certo tempo antes da hora real do evento, dando à pessoa a posibilidade de ações que possam ser necessárias ou desejáveis antes da hora prevista para a entrada de calendário. Por exemplo, quando uma entrada de calendário se refere a um evento em um local diferente do local da pessoa, um lembrete pode ser configurado para ser exibido para permitir que a pessoa tenha tempo suficiente para viajar para o local do evento.
[0003] Quando o lembrete é exibido, em alguns sistemas de calendário o usuário do dispositivo exibindo o lembrete pode descartar o lembrete ou abrir a entrada de calendário correspondente para visualizar mais informações sobre o evento. Ao abrir a entrada de calendário, o usuário pode modificar o evento, conforme o desejado, inclusive modificando as definições ao pré-evento do lembrete. Em alguns sistemas de calendário, o lembrete também pode permitir que o usuário reinicie o lembrete para um tempo diferente, geralmente referidos como "cochilando", por analogia com o que é geralmente conhecido como um "botão de soneca" em despertadores comuns. A permissão de opções adicionais seria útil.
SUMÁRIO
[0004] Um usuário de um dispositivo programável tem um contexto, que pode ser avaliado e comparado a um contexto de uma notificação gerada pelo sistema operacional ou por uma aplicação em execução no dispositivo programável. A comparação pode ser usada para gerar uma ou mais respostas opcionais para a notificação de que pode permitir a funcionalidade adicional além de descartar a notificação ou a abertura de uma entrada do evento correspondente.
[0005] Um método é divulgado. O método inclui a recepção de uma notificação de um serviço de comunicação de um sistema de operação de um dispositivo programável; avaliação de um primeiro contexto da notificação; avaliar um segundo contexto de um usuário do dispositivo programável; e oferecendo ao usuário uma primeira resposta opcional para a notificação com base, pelo menos em parte, sobre o primeiro e o segundo contexto.
[0006] É apresentado um dispositivo programável. O dispositivo programável inclui um dispositivo de controle programável; uma memória, acoplada ao dispositivo de controlo programável, e um sistema operacional armazenado na memória. O sistema operativo inclui uma lógica para gerar notificações para um usuário do dispositivo programável; e lógica para oferecer uma resposta opcional a uma notificação, com base, pelo menos em parte, em um contexto de notificação e um contexto do usuário.
[0007] Um meio de armazenamento legível por máquina não transitório é apresentado. As instruções são armazenadas no meio que, quando executado por um dispositivo programável, faça com que o dispositivo programável: gere uma notificação para um usuário do dispositivo programável de um evento; compare um contexto de notificação com um contexto do usuário; ofereça uma resposta opcional para a notificação em resposta à comparação do contexto da notificação com o contexto do usuário; receba uma seleção de resposta opcional; e efetue uma ação correspondente à resposta opcional.
BREVE DESCRIÇÃO DOS DESENHOS
[0008] A Figura 1 é um fluxograma que ilustra uma técnica para a oferta a um usuário de uma resposta opcional a uma notificação com base nas informações de contexto.
[0009] A Figura 2 é um fluxograma que ilustra uma técnica para determinar que resposta opcional que deve ser oferecida a um usuário.
[0010] A Figura 3 é um diagrama de blocos que ilustra um dispositivo programável para a implementação das técnicas das Figuras 1 e 2.
[0011] A Figura 4 é um diagrama de blocos que ilustra uma rede de ligação de dispositivos programáveis que implementam as técnicas das Figuras 1 e 2.
DESCRIÇÃO DETALHADA
[0012] Na descrição a seguir, para fins explicativos, numerosos detalhes específicos são estabelecidos para proporcionar uma compreensão profunda da invenção. Será evidente, contudo, para um perito na técnica que o invento pode ser praticado sem estes detalhes específicos. Em outros casos, a estrutura e os dispositivos são mostrados na forma de diagrama de blocos, a fim de evitar o obscurecimento da invenção. As referências a números sem subscritos ou sufixos são entendidas como referência a todas as instâncias de subscritos e sufixos correspondentes ao número referenciado. Além disso, a linguagem utilizada na presente apresentação foi escolhida principalmente para facilitar a leitura e os propósitos de instrução e podem não ter sido selecionadas para delinear ou circunscrever o assunto inventivo, recorrer às reivindicações, sendo necessário determinar tal assunto inventivo. A referência na especificação de "uma modalidade" ou "a modalidade" significa que um determinado recurso, estrutura, ou característica descrita em ligação com as modalidades está incluído em pelo menos uma modalidade da invenção, e várias referências a "uma modalidade" ou "a modalidade" não devem ser entendidas como necessariamente se referindo a todas as mesmas modalidades.
[0013] No desenvolvimento de qualquer implementação atual (como em qualquer projeto de desenvolvimento), inúmeras decisões devem ser tomadas para alcançar os objetivos específicos dos desenvolvedores (por exemplo, a conformidade com as restrições do sistema e negócios relacionados), e que esses objetivos possam variar de uma implementação para outra. Também será apreciado que tais esforços de desenvolvimento possam ser complexos e demorados, mas que, no entanto, poderia ser uma tarefa rotineira para os que têm conhecimento no projeto de um sistema de notificação de implantação tendo o benefício da presente apresentação.
[0014] A descrição a seguir é escrita em termos de notificações geradas como resultado de entradas de calendário. Entretanto, as técnicas e os sistemas abaixo descritos não estão limitados à utilização com as notificações associadas com entradas de agenda, mas pode ser usado com outros tipos de notificações com base em eventos, incluindo as notificações com as tarefas associadas ou para fazer listas, convites, etc.
[0015] A figura 1 é um fluxograma que ilustra uma técnica 100 para oferecer a um usuário uma resposta opcional a uma notificação com base na informação contextual. No bloco 110, um evento de notificação ocorre, provocando a geração de uma notificação por um serviço de comunicação de um sistema de operação de um dispositivo programável. O serviço de comunicação fornece uma interface padrão para notificações a serem geradas pelos aplicativos. Ao receber a notificação, no bloco 120 a notificação é exibida para o usuário. Além das opções convencionais para permitir que o usuário feche e ignore a notificação ou veja o evento associado, outras opções acessíveis (affordance) podem ser fornecidas ao usuário. Tal como ilustrado na figura 1, uma opção "Soneca" pode ser fornecida, assim como uma opção "Outro". Em algumas implementações, a opção "Soneca" pode ser controlada através da opção "Outro", como uma das respostas opcionais previstas para o usuário ao selecionar a opção "Outro".
[0016] No bloco 130, se o usuário responde a notificação, selecionando uma das opções apresentadas, uma ação correspondente à opção pode ser realizada, ilustrada na figura 1 como o fechamento da notificação (140), o evento "soneca" (160), a abertura do evento (170), e tendo uma ação "Outro" (150). Se a ação "Outro" será realizada no bloco 150, um elemento interface secundário do usuário pode ser exibido oferecendo ao usuário as opções adicionais para ações que possam ser realizadas. O usuário pode selecionar (e, portanto, executar) uma das ações "Outro" do elemento de interface secundário do usuário.
[0017] Várias implementações podem esconder automaticamente notificações depois de um tempo predeterminado, eliminando a notificação do visor. Outras implementações podem deixar as notificações visíveis por tempo indeterminado, à espera de uma resposta do usuário.
[0018] Algumas implementações podem fornecer a identificação de uma das possíveis respostas à notificação como uma ação predefinida.
[0019] As outras respostas opcionais para a notificação disponibilizadas após o usuário selecionar a opção "Outro" não podem ser pré-determinadas, mas podem ser dinamicamente geradas ou selecionadas a partir de uma lista de possíveis respostas opcionais. A configuração deve permitir que o usuário selecione uma ou limite a lista de possíveis respostas opcionais. De preferência, as respostas opcionais para oferecer ao usuário são contextualmente determinadas com base, pelo menos em parte, por um contexto relacionado com o usuário e um contexto relacionado com a notificação.
[0020] A figura 2 é um fluxograma que ilustra uma técnica 200 para determinar quais as respostas opcionais para oferecer a um usuário. Esta técnica pode ser realizada antes de apresentar a notificação do usuário, ou pode ser realizada após o usuário ter selecionado a opção "Outro". No bloco 210, um contexto do usuário pode ser obtido e avaliado. Esta avaliação de contexto pode incluir um ou mais dados contextuais associados com o usuário, incluindo determinar a localização atual do usuário, uma rota atual que esteja sendo tomada pelo usuário, e um modo de transporte sendo utilizado pelo usuário. Outros dados contextuais que podem ser avaliados podem incluir informações relacionadas a outros eventos associados com o usuário, tais como outros eventos programados no calendário do usuário. Por exemplo, o usuário pode ter eventos sem identificação prevista no calendário e, nesse contexto podem ser úteis para a geração das respostas opcionais. Estes dados contextuais são ilustrativos e por meio apenas de exemplo, e qualquer outra informação associada com o usuário pode ser avaliada como os dados contextuais para esta finalidade.
[0021] No bloco 220, um contexto de notificação pode ser obtido e avaliado. Tal como acontece com o contexto de usuário, o contexto da notificação pode incluir um ou mais dados contextuais associados com a notificação, incluindo a determinação do local do evento correspondente à notificação, a identificação de outras pessoas associadas com o evento, a hora atual, e o momento do evento. A avaliação do contexto de notificação pode também incluir a avaliação de outros tipos de informação, tais como a determinação de um tipo de evento correspondente à notificação. Tal como acontece com o contexto de usuário, os dados de contexto são ilustrativos e apenas a título de exemplo, e qualquer informação associada com o usuário pode ser considerada como dados contextuais para esta finalidade.
[0022] O contexto do usuário e o contexto da notificação são determinados e avaliados no momento da notificação. Assim, estes contextos podem mudar ao longo do tempo. Por exemplo, a determinação do contexto do usuário pode descobrir que o usuário está em um automóvel, com base em um dispositivo "Bluetooth" em uso no momento da notificação. Usando esse exemplo do usuário, as respostas opcionais oferecidas para o mesmo podem ser adaptadas para aquelas que são próprias para uma pessoa em um carro, como se esconder ou aplacar respostas opcionais que necessitariam de uma entrada de texto ou outras atividades que são inadequadas para um motorista enquanto dirige.
[0023] No bloco 240, as respostas opcionais para oferecer são determinadas com base, pelo menos em parte, no contexto do usuário e no âmbito da notificação. Tipicamente, a interseção do contexto do usuário e da notificação fornece informação para selecionar ou gerar as respostas opcionais.
[0024] Além das respostas opcionais, algumas implementações podem permitir a determinação de ações automáticas a serem tomadas em resposta à notificação. Estas ações automáticas são tipicamente baseadas nos antecedentes no bloco 240 sobre o visor da notificação. Por exemplo, as ações automáticas podem desencadear notificações adicionais. Em outro exemplo, uma ação automática pode ser um pedido de um agente como a Apple Inc. SIRI® de um aplicativo assistente pessoal inteligente para executar ações, como a informação pré-carregamento que o usuário possa precisar com base no contexto do usuário e/ou a contexto notificação. (SIRI é uma marca registrada da Apple Inc.).
[0025] Uma vez que as respostas opcionais tenham sido geradas, em seguida no bloco 250 as respostas opcionais podem ser oferecidas ao usuário quando o mesmo selecionar a opção "Outros" (contudo designado na interface do usuário). Em algumas implementações, uma das respostas opcionais pode ser indicada como um padrão de resposta opcional.
[0026] Muitos tipos de respostas opcionais e as ações correspondentes podem ser geradas com base, pelo menos em parte, no contexto de usuário e no contexto de notificação. Uma resposta pode causar a transmissão de uma mensagem a outros participantes de um evento no qual o usuário esteja atrasado ou pedir a outra pessoa para tomar uma providência. Outra resposta pode ser para gerar outra notificação que lembre ao usuário quando o usuário deve deixar de participar do evento. Outra resposta pode ser um pedido para transmitir a um agente para pesquisar as informações sobre um estacionamento perto do local do evento. Ainda outra resposta pode ser para transmitir um pedido a um usuário de um outro dispositivo programável para tomada de uma providência. Ao utilizar informações contextuais, diferentes respostas podem ser oferecidas dependendo de quão longe no futuro esteja o evento associado com a notificação. Por exemplo, se a localização do usuário é conhecida por ser muito longe do local do evento para que este chegue a tempo, uma das respostas opcionais pode ser para enviar uma mensagem ao organizador do evento que o usuário irá se atrasar. Alternativamente, se a localização do usuário é conhecida por ser próxima, uma das respostas opcionais pode ser para solicitar informações sobre um estacionamento perto do local do evento.
[0027] As respostas opcionais que podem ser geradas baseadas, pelo menos em parte, no contexto do usuário e no contexto de notificação podem ser determinadas utilizando qualquer dado do contexto que possa ser relevante, incluindo a informação com base no tempo (por exemplo, o início de uma reunião) ou a informação baseada na localização (por exemplo, a localização do usuário ou do local do evento).
[0028] As técnicas descritas acima também podem também ser usadas para expandir a gama de possibilidades relativas a opções tais como a opção "Soneca". Por exemplo, em vez de oferecer uma lista fixa de ações possíveis de "Soneca", através da análise do contexto do usuário e do contexto da notificação, a oferta de opções contextuais de "Soneca" pode ser fornecida. Por exemplo, além de solicitar uma nova notificação em um determinado período de tempo ou um certo período de tempo antes da hora do evento, uma informação contextual pode permitir um oferecimento ao usuário da possibilidade de solicitar uma nova notificação quando o usuário chega (ou parte) da localização, tal como "Lembre-me de quando eu chegar ao trabalho" ou "Lembre-me de quando eu sair para ir para casa".
[0029] As técnicas descritas acima podem ser implementadas de várias maneiras, uma das quais pode ser a utilização de um agente, tal como o assistente pessoal inteligente SIRI fornecido pela Apple Inc. para dar procedimento ao usuário e à interseção do contexto de notificação a geração das respostas opcionais para exibir ao mesmo, semelhante à maneira pela qual o agente pode fornecer uma escolha de vários números de telefone a serem usados para ligar para alguém.
[0030] As respostas opcionais geradas pela técnica 200 da figura 02 podem criar uma hierarquia, tal como uma árvore, de respostas opcionais que possam ser oferecidas ao usuário. As implementações podem usar informações de contexto do usuário para podar ou organizar a hierarquia das possíveis respostas opcionais a oferecer de modo que apenas as respostas que o usuário provavelmente deseja ver possam ser oferecidas ou para que as respostas mais prováveis estejam posicionadas para facilitar a seleção. Por exemplo, uma implementação pode gerar ou selecionar uma ou mais respostas opcionais para oferecer ao usuário, e uma ou mais dessas respostas podem ser selecionadas para oferecer ao usuário baseadas em uma avaliação do histórico de respostas previamente selecionado pelo usuário. Algumas implementações podem determinar o tipo de notificação e avaliar a história ou as respostas do usuário previamente selecionadas pelo mesmo para as notificações desse tipo.
[0031] As respostas opcionais podem optar por uma comunicação a ser enviada em nome do usuário a alguém, como um organizador de evento, ou alguém a quem o usuário provavelmente deve encontrar no evento. Estas comunicações, embora descritas acima, como mensagens, não se limitam a um tipo de transporte, mas podem usar qualquer tipo de mecanismo de transporte, incluindo as chamadas telefônicas, serviço de mensagens curtas (SMS), mensagens, chamadas de vídeo, e-mail, etc. Por exemplo, pode ser oferecida a um usuário a oportunidade de usar um recurso de chamada de vídeo em um dispositivo móvel, como o software FACETIME ® fornecido pela Apple Inc., para fazer uma chamada de vídeo em uma reunião de um evento se o organizador ou outro participante tiver também capacidade para uma chamada de vídeo.
[0032] Qualquer interface de usuário desejada pode ser fornecida para exibir as respostas de notificação opcionais. Em algumas implementações, a notificação pode ser exibida usando os serviços de exibição de notificação convencionais fornecidos pelo sistema operacional ou pelo aplicativo gerador da notificação. Ao selecionar a resposta "Outro" à notificação, as respostas opcionais podem ser exibidas como elementos adicionados para exibir a notificação ou em um elemento de exibição separado conforme o desejado. A seleção das respostas opcionais pode ser realizada utilizando qualquer técnica disponível e que tenha condições (affordance) de processamento, incluindo toque, a seleção do ponteiro, ou comandos de voz. Implementação de um dispositivo eletrônico
[0033] A figura 3 é um diagrama de blocos funcional simplificado que ilustra um dispositivo eletrônico 300 de acordo com uma modalidade que pode implementar as técnicas descritas acima. O dispositivo eletrônico 300 pode incluir um processador 316, um display 320, um microfone 306, um codificador de áudio/vídeo 302, um alto- falante 304, um circuito de comunicações 310, uma interface de usuário 318, uma memória 312, um dispositivo de armazenamento 314 e um barramento de comunicação 322. O processador 316 pode ser qualquer dispositivo de controle programável adequado e podem controlar a operação de várias funções, tais como a produção e/ou o processamento de eventos e notificações, bem como outras funções desempenhadas pelo dispositivo eletrônico 300. O processador 316 pode conduzir o display 320 e pode receber entradas do usuário vindas da sua interface 318. Um processador integrado proporciona um dispositivo de controle programável versátil e robusto, que pode ser utilizado para a realização das técnicas divulgadas.
[0034] Um dispositivo de armazenamento 314 pode armazenar mídia (por exemplo, arquivos de imagem e vídeo), software (por exemplo, para a implementação de várias funções no dispositivo 300), informações de preferência, as informações do perfil do dispositivo, e quaisquer outros dados adequados. O dispositivo de armazenamento 314 pode incluir mais de uma mídia de armazenamento de dados de imagem de forma tangível de gravação e as instruções do programa, incluindo, por exemplo, um disco rígido, uma memória permanente, como ROM, uma memória semipermanente, tal como RAM ou memória-cache. As instruções de programas podem compreender uma aplicação de software codificada em qualquer idioma desejado (por exemplo, C ou C + +).
[0035] A memória 312 pode incluir um ou mais tipos diferentes de memória que podem ser utilizados para executar as funções do dispositivo. Por exemplo, a memória 312 pode incluir memória-cache, ROM, e/ou RAM. O barramento de comunicações 322 pode proporcionar um caminho de transferência de dados para a transferência de dados para, a partir de, ou entre, pelo menos, um dispositivo de armazenamento 314, de memória 312, e um processador 316. Embora referido como um barramento, o barramento de comunicação 322 não está limitado a qualquer tecnologia de transferência de dados específicos. A interface de usuário 318 pode permitir ao usuário interagir com o dispositivo eletrônico 300. Por exemplo, a interface de usuário 318 pode tomar uma variedade de formas, tais como um botão, um teclado, uma conexão discada, um trackball, ou uma tela sensível ao toque. O dispositivo eletrônico 300 pode ser um dispositivo, tal como um telefone móvel, um assistente pessoal de dados (PDA), um leitor de música portátil, um monitor, uma televisão, um laptop, um desktop, um tablet e um computador, ou outro dispositivo pessoal adequado.
[0036] A figura 4 é um diagrama de blocos que ilustra uma rede 420 conectando diversos dispositivos de usuários, cada um dos quais inclui geralmente os elementos do dispositivo programável 600, incluindo um computador de mesa 410, um telefone inteligente 450, um tablet 460, e um computador portátil 470 que implementam as técnicas descritas acima. Um usuário de cada um dos dispositivos pode receber notificações e serem oferecidas respostas opcionais contextualmente relevantes, como descrito acima. O servidor 430 e o banco de dados 440 podem ser acessados por um agente assistente pessoal inteligente rodando em um dos dispositivos do usuário para fornecer informações para as respostas opcionais. Apesar de uma rede 420 estar ilustrada na figura 4 como comunicativamente conectando todos os vários dispositivos, qualquer um dos dispositivos de usuário pode ser operado sem uma conexão de rede para executar as técnicas descritas acima, como desejado. Além disso, apesar de apenas uma única rede 420 estar ilustrada, os dispositivos podem ser conectados através de múltiplas redes interligadas, incluindo redes locais, redes de área ampla, e na Internet, e podem usar conexões às redes com ou sem fio.
[0037] Deve ser entendido que a descrição acima se destina a ser ilustrativa, e não restritiva. Por exemplo, as modalidades acima descritas podem ser utilizadas em combinação umas com as outras. Muitas outras modalidades serão evidentes para os peritos na técnica após revisão da descrição anterior. O âmbito da invenção deverá, portanto, ser determinado com referência às reivindicações anexas, juntamente com o escopo completo de equivalentes aos quais tais reivindicações têm direito.

Claims (11)

1. Dispositivo de armazenamento de programa não- transitório legível por um dispositivo de controle programável, caracterizado pelo fato de que compreende instruções nele armazenadas para fazer o dispositivo de controle programável: receber uma notificação de evento a partir de um serviço de notificação de um sistema operacional de um dispositivo programável; avaliar um primeiro contexto da notificação de evento; avaliar um segundo contexto de um usuário do dispositivo programável, no momento em que a notificação de evento é recebida, em que as instruções para avaliar o segundo contexto compreendem instruções, fazendo com que o dispositivo programável: determinar um tipo da notificação de evento, e determinar um histórico de respostas selecionadas em resposta a notificações anteriores com o tipo de notificação determinado; gerar, no momento em que a notificação de evento é recebida, uma ou mais respostas opcionais para a notificação de evento com base, pelo menos em parte, do primeiro e do segundo contexto; causar a exibição de pelo menos uma dentre a uma ou mais respostas opcionais; e transmitir automaticamente, em resposta à causação da exibição da pelo menos uma resposta opcional, uma solicitação para um agente para carregar previamente informações correspondentes à notificação de evento com base no primeiro contexto e no segundo contexto.
2. Dispositivo de armazenamento de programa, de acordo com a reivindicação 1, caracterizado pelo fato de que as instruções armazenadas nele ainda compreendem instruções para fazer o dispositivo de controle programável: causar a exibição de uma resposta opcional padrão para a notificação de evento.
3. Dispositivo de armazenamento do programa, de acordo com a reivindicação 1, caracterizado pelo fato de que as instruções para fazer com que o dispositivo de controle programável avalie um primeiro contexto da notificação de evento para compreender as instruções para fazer o dispositivo de controle programável: determinar um local e uma hora de um evento correspondente à notificação de evento.
4. Dispositivo de armazenamento do programa, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende instruções para fazer o dispositivo de controle programável: causar a remoção, a partir da exibição, de pelo menos uma das uma ou mais respostas opcionais em resposta a uma determinação de que nenhuma seleção foi feita dentro de um período de tempo predeterminado.
5. Dispositivo de armazenamento de programa, de acordo com a reivindicação 1, caracterizado pelo fato de que as instruções para fazer com que o dispositivo de controle programável avalie um segundo contexto de um usuário do dispositivo programável compreendem instruções para fazer o dispositivo de controle programável: determinar a localização do dispositivo programável.
6. Dispositivo de armazenamento de programa, de acordo com a reivindicação 1, caracterizado pelo fato de que as instruções para fazer com que o dispositivo de controle programável gere uma ou mais respostas opcionais compreendem instruções para fazer o dispositivo de controle programável: gerar uma pluralidade de respostas à notificação de evento com base, pelo menos em parte, no primeiro e no segundo contexto; e selecionar a uma ou mais respostas opcionais a partir da pluralidade de respostas com base, pelo menos em parte, no histórico de respostas selecionado em resposta a notificações de evento anteriores com o tipo determinado da notificação de evento.
7. Dispositivo de armazenamento de programa, de acordo com a reivindicação 1, caracterizado pelo fato de que as instruções para fazer com que o dispositivo de controle programável cause a exibição de pelo menos uma dentre a uma ou mais respostas opcionais compreendem instruções para fazer o dispositivo de controle programável configure uma primeira resposta opcional para gerar uma segunda comunicação com o serviço de notificação.
8. Método caracterizado pelo fato de que compreende as etapas de: gerar uma notificação de evento para um usuário do dispositivo programável de um evento; comparar um contexto da notificação de evento com um contexto do usuário; em resposta à comparação do contexto da notificação de evento com o contexto do usuário: gerar uma ou mais respostas opcionais para a notificação de evento; exibir pelo menos uma dentre a uma ou mais respostas opcionais; transmitir automaticamente, em resposta à causação da exibição da pelo menos uma resposta opcional, uma solicitação para um agente para carregar previamente informações correspondentes à notificação de evento com base no primeiro contexto e no segundo contexto; receber uma seleção de uma resposta opcional a partir das respostas opcionais exibidas; e executar uma ação correspondente à resposta opcional selecionada e com base na informação carregada previamente correspondente à notificação de evento.
9. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que executar uma ação correspondente à resposta opcional selecionada compreende transmitir uma mensagem para o usuário de outro dispositivo programável.
10. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que executar uma ação correspondente à resposta opcional selecionada compreende transmitir um pedido para um agente para executar uma ação correspondente ao contexto do usuário e ao contexto da notificação.
11. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que gerar a pluralidade de respostas opcionais compreende: criar uma hierarquia para uma pluralidade de possíveis respostas opcionais, em que a hierarquia organiza as possíveis respostas opcionais de acordo com uma probabilidade de interesse do usuário nas possíveis respostas opcionais; e omitir pelo menos uma possível resposta opcional com base em um histórico das respostas selecionadas em resposta a notificações de eventos anteriores do tipo determinado de notificação de eventos.
BR102013013868-1A 2012-06-06 2013-06-05 dispositivo de armazenamento de programa não-transitório e método BR102013013868B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/489,547 US9804740B2 (en) 2012-06-06 2012-06-06 Generating context-based options for responding to a notification
US13/489,547 2012-06-06

Publications (2)

Publication Number Publication Date
BR102013013868A2 BR102013013868A2 (pt) 2015-06-23
BR102013013868B1 true BR102013013868B1 (pt) 2021-03-02

Family

ID=48607087

Family Applications (1)

Application Number Title Priority Date Filing Date
BR102013013868-1A BR102013013868B1 (pt) 2012-06-06 2013-06-05 dispositivo de armazenamento de programa não-transitório e método

Country Status (7)

Country Link
US (1) US9804740B2 (pt)
EP (2) EP3125181A1 (pt)
JP (1) JP6000191B2 (pt)
KR (2) KR20130137098A (pt)
CN (1) CN103473039B (pt)
AU (1) AU2013205561B2 (pt)
BR (1) BR102013013868B1 (pt)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6011100B2 (ja) * 2012-07-20 2016-10-19 カシオ計算機株式会社 通信装置及び通信システム
US20140280561A1 (en) * 2013-03-15 2014-09-18 Fujifilm North America Corporation System and method of distributed event based digital image collection, organization and sharing
US20150106741A1 (en) * 2013-10-15 2015-04-16 Microsoft Corporation Managing conversations
US8996639B1 (en) * 2013-10-15 2015-03-31 Google Inc. Predictive responses to incoming communications
US10587541B2 (en) * 2014-12-02 2020-03-10 Facebook, Inc. Device, method, and graphical user interface for lightweight messaging
US20170185650A1 (en) * 2015-12-24 2017-06-29 Intel Corporation Contextual based notification management system for wearable devices
US11003627B2 (en) 2016-04-21 2021-05-11 Microsoft Technology Licensing, Llc Prioritizing thumbnail previews based on message content
US10686740B2 (en) 2016-09-09 2020-06-16 Microsoft Technology Licensing, Llc Learned user preference- and behavior-based notification filtering
CN109716370B (zh) * 2016-09-20 2023-09-01 谷歌有限责任公司 用于在消息应用中传送响应的系统和方法
US11170285B2 (en) * 2017-05-05 2021-11-09 Google Llc Virtual assistant configured to recommended actions in furtherance of an existing conversation
US10735365B2 (en) * 2018-01-11 2020-08-04 International Business Machines Corporation Conversation attendant and assistant platform
WO2019139192A1 (ko) 2018-01-12 2019-07-18 라인플러스 주식회사 메시징 서비스 환경에서의 사용자 상황 감지 및 사용자 상황에 기반한 메시징 서비스와의 인터랙션
WO2020052731A1 (en) * 2018-09-11 2020-03-19 Huawei Technologies Co., Ltd. Apparatus and method for managing event notifications in mobile devices and computer program product therefor
CN114173288A (zh) 2019-04-17 2022-03-11 苹果公司 用于跟踪和查找物品的用户界面
CN114637418A (zh) 2019-04-28 2022-06-17 苹果公司 生成与对象相关联的触觉输出序列
US11005790B2 (en) 2019-04-30 2021-05-11 International Business Machines Corporation Enabling attention by leveraging a user-effective communication channel
US11379798B2 (en) 2020-05-28 2022-07-05 Microsoft Technology Licensing, Llc Identification and surfacing of contextual data related to electronic calendar events
CN116261708A (zh) 2020-09-25 2023-06-13 苹果公司 用于跟踪和查找物品的用户界面

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5420975A (en) * 1992-12-28 1995-05-30 International Business Machines Corporation Method and system for automatic alteration of display of menu options
JP2002108829A (ja) 2000-09-28 2002-04-12 Casio Comput Co Ltd スケジュール通知装置、スケジュール通知方法およびスケジュール通知プログラムを格納したコンピュータ読み取り可能な記録媒体
JP2003308420A (ja) 2002-04-17 2003-10-31 Nippon Telegr & Teleph Corp <Ntt> 移動体通信端末に対するスケジュール管理サポートシステムおよびサポート方法、ならびにそれに用いるサーバ装置
US6850949B2 (en) * 2002-06-03 2005-02-01 Right Now Technologies, Inc. System and method for generating a dynamic interface via a communications network
US20040100505A1 (en) * 2002-11-21 2004-05-27 Cazier Robert Paul System for and method of prioritizing menu information
US7653191B1 (en) * 2003-06-26 2010-01-26 Microsoft Corporation Voice call routing by dynamic personal profile
US7925525B2 (en) * 2005-03-25 2011-04-12 Microsoft Corporation Smart reminders
US8037421B2 (en) * 2005-10-11 2011-10-11 Research In Motion Limited System and method for organizing application indicators on an electronic device
US7836400B2 (en) * 2006-03-31 2010-11-16 Research In Motion Limited Snooze support for event reminders
US7649454B2 (en) * 2006-09-28 2010-01-19 Ektimisi Semiotics Holdings, Llc System and method for providing a task reminder based on historical travel information
US7941133B2 (en) 2007-02-14 2011-05-10 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for schedule management based on locations of wireless devices
CN201054130Y (zh) 2007-07-03 2008-04-30 袁萌 移动存储视窗操作系统
US8423288B2 (en) * 2009-11-30 2013-04-16 Apple Inc. Dynamic alerts for calendar events
US8560371B2 (en) 2008-09-26 2013-10-15 Microsoft Corporation Suggesting things to do during time slots in a schedule
NZ596948A (en) * 2009-05-08 2014-05-30 Obdedge Llc Systems, methods, and devices for policy-based control and monitoring of use of mobile devices by vehicle operators
US8583784B2 (en) * 2009-06-05 2013-11-12 Palm, Inc. Dynamic communication integration with calendar
US8490018B2 (en) * 2009-11-17 2013-07-16 International Business Machines Corporation Prioritization of choices based on context and user history
US8423508B2 (en) 2009-12-04 2013-04-16 Qualcomm Incorporated Apparatus and method of creating and utilizing a context
US9753605B2 (en) * 2010-05-27 2017-09-05 Oracle International Corporation Action tool bar for mobile applications
US8336664B2 (en) * 2010-07-09 2012-12-25 Telecommunication Systems, Inc. Telematics basic mobile device safety interlock
EP2413578A1 (en) 2010-07-29 2012-02-01 Research In Motion Limited Method and apparatus for changing a profile of an electronic device
WO2012044539A2 (en) 2010-10-01 2012-04-05 Imerj, Llc Multi-operating system

Also Published As

Publication number Publication date
EP3125181A1 (en) 2017-02-01
JP6000191B2 (ja) 2016-09-28
KR20150073907A (ko) 2015-07-01
JP2014029676A (ja) 2014-02-13
KR20130137098A (ko) 2013-12-16
EP2672441A1 (en) 2013-12-11
BR102013013868A2 (pt) 2015-06-23
CN103473039A (zh) 2013-12-25
CN103473039B (zh) 2017-08-11
US20130328665A1 (en) 2013-12-12
AU2013205561A1 (en) 2014-01-09
KR101574925B1 (ko) 2015-12-04
US9804740B2 (en) 2017-10-31
AU2013205561B2 (en) 2015-04-30

Similar Documents

Publication Publication Date Title
BR102013013868B1 (pt) dispositivo de armazenamento de programa não-transitório e método
Selwyn et al. Left to their own devices: the everyday realities of one-to-one classrooms
US11411900B2 (en) Off-platform messaging system
US10459985B2 (en) Managing behavior in a virtual collaboration session
US20200111060A1 (en) Task reminder method and apparatus, and method and apparatus for generating and presenting reminder message
BR112017022028B1 (pt) Sistema, método realizado por um computador e dispositivo de computação para extração automática de compromissos e solicitações a partir de comunicações e conteúdo
JP2018014087A (ja) スマートな通知スケジューリング及びモダリティ選択の方法、システム、及び非一時的なコンピュータ可読媒体
TW201927014A (zh) 通訊方法及裝置
TWI601089B (zh) 活動出席通知系統及方法
US10607191B2 (en) Efficient calendar creation
JP2019121360A (ja) 機械学習に基づくコンテキスト認識会話型エージェントのためのシステム及び方法、コンテキスト認識ジャーナリングの方法、システム、プログラム、コンピュータ装置
WO2021012583A1 (zh) 教学系统及方法、电子设备和存储介质
EP3360056B1 (en) Facilitating awareness and conversation throughput in an augmentative and alternative communication system
US11824647B2 (en) Promotion of users in collaboration sessions
Patterson et al. Nomatic: Location by, for, and of crowds
US10296723B2 (en) Managing companionship data
Fetter New Concepts for Presence and Availability in Ubiquitous and Mobile Computing: Enabling Selective Availability through Stream-Based Active Learning
Amsellem Machine aurality: uncanny resonances and the sonic anxieties of surveillance capitalism
JP7236585B2 (ja) 音声メッセージのためのユーザインタフェース
US20180052756A1 (en) Media content monitoring method, system and device
US20230107375A1 (en) Method and system for predicting response and behavior on chats
WO2017083875A1 (en) A system and method for recording and displaying a reaction to a focus
WO2023097055A1 (en) Using a canvas with content stickers to collaboratively share and consume content between users
KR20220135968A (ko) 전문가의 코칭 제공 시스템 및 그 방법
Morgan et al. The use of interactive theatre in digital technology research and awareness raising

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
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]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 05/06/2013, OBSERVADAS AS CONDICOES LEGAIS.