BR112015025636B1 - Método, sistema e meio de armazenamento legível por computador não-transitório para processar transmissões de entrada de aplicativos de agenda - Google Patents
Método, sistema e meio de armazenamento legível por computador não-transitório para processar transmissões de entrada de aplicativos de agenda Download PDFInfo
- Publication number
- BR112015025636B1 BR112015025636B1 BR112015025636-8A BR112015025636A BR112015025636B1 BR 112015025636 B1 BR112015025636 B1 BR 112015025636B1 BR 112015025636 A BR112015025636 A BR 112015025636A BR 112015025636 B1 BR112015025636 B1 BR 112015025636B1
- Authority
- BR
- Brazil
- Prior art keywords
- data structure
- string
- record
- agenda
- calendar
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/109—Time management, e.g. calendars, reminders, meetings or time accounting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/109—Time management, e.g. calendars, reminders, meetings or time accounting
- G06Q10/1091—Recording time for administrative or management purposes
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Educational Administration (AREA)
- User Interface Of Digital Computer (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Circuits Of Receivers In General (AREA)
- Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
- Telephone Function (AREA)
Abstract
SISTEMAS E MÉTODOS DE PROCESSAMENTO DE FLUXOS DE ENTRADA APLICAÇÕES DE CALENDÁRIO. Sistemas e métodos para o processamento de fluxos de entrada de aplicações de calendário. Um método exemplo, realizados por um sistema de computador, pode compreender a receber um fluxo de entrada; processamento da corrente de entrada para produzir uma sequência de caracteres; responsivo a determinação de que a sequência de caracteres compreende uma referência de tempo, armazenar numa memória, uma entrada de agenda na estrutura de dados de um primeiro tipo em primeiro lugar, a entrada da agenda que compreende um identificador de um tempo referenciado pela referência de tempo; responsivo a determinação de que a sequência de caracteres não compreende uma referência de tempo, armazenar, na memória, uma nota numa segunda estrutura de dados de um segundo tipo, o memorando que compreende pelo menos parte da sequência de caracteres.
Description
[001] A presente revelação refere-se geralmente a sistemas computacionais e refere-se mais especificamente a sistemas e métodos para processar transmissões de entrada heterogêneas de aplicativos de agenda.
[002] Aplicativos de agenda podem ser utilizados para facilitar o agendamento de eventos e rastreamento de usuários individuais e/ou grupos de usuários. Um aplicativo de agenda pode ser executado por um sistema computacional que compreenda um ou mais computadores servidores e/ou um ou mais dispositivos de cliente.
[003] A presente revelação é ilustrada por meio de exemplos, e não por meio de limitação, e pode ser mais completamente compreendida com referência à descrição detalhada a seguir quando considerada em conexão com as figuras, nas quais: a Fig. 1 representa um diagrama de nível de rede de uma modalidade ilustrativa de um sistema computacional que executa um aplicativo de agenda de acordo com um ou mais aspectos da presente revelação; a Fig. 2 ilustra esquematicamente diversas estruturas de dados suportadas pelo sistema computacional que executa um aplicativo de agenda de acordo com um ou mais aspectos da presente revelação; as Figs. 3a-3b ilustram esquematicamente exemplos de exibições de agendas representadas pelo sistema computacional que executa um aplicativo de agenda de acordo com um ou mais aspectos da presente revelação; as Figs. 4a-4b ilustram esquematicamente exemplos de exibições de computadores portáteis representadas pelo sistema computacional que executa um aplicativo de agenda de acordo com um ou mais aspectos da presente revelação; a Fig. 5 representa um fluxograma de um método para processar entradas de aplicativos de agenda, de acordo com um ou mais aspectos da presente revelação; e a Fig. 6 representa um diagrama de blocos de um sistema computacional ilustrativo de acordo com exemplos da presente revelação.
[004] São descritos neste documento métodos e sistemas para processar transmissões de entrada heterogêneas de aplicativos de agenda. Um "aplicativo de agenda" neste documento deverá referir-se a um aplicativo que facilite o agendamento de eventos e o rastreamento de usuários individuais e/ou grupos de usuários.
[005] Os Aplicativos de agenda descritos neste documento podem ser executados por sistemas computacionais que compreendem um ou mais dispositivos computacionais, incluindo servidores e dispositivos de cliente, os quais podem estar interconectados por uma ou mais redes. Os usuários podem acessar um aplicativo de agenda por meio de diversos dispositivos computacionais de cliente, incluindo, por exemplo, computadores pessoais e dispositivos móveis, tais como telefones inteligentes. Um dispositivo de cliente pode introduzir informações por meio de uma variedade de interfaces, incluindo, por exemplo, um teclado, uma tela sensível ao toque, uma interface de rede, um microfone, uma câmera de vídeo, uma câmera de imagem estática, e/ou um microfone. Portanto, uma transmissão de entrada de um aplicativo de agenda pode ser representada, por exemplo, por uma transmissão de texto, uma ou mais imagens estáticas, uma transmissão de vídeo, e/ou uma transmissão de áudio. Um sistema computacional que executa um aplicativo de agenda pode converter entradas não-textuais em texto (por exemplo, conversão de imagem em texto usando métodos de reconhecimento ótico de caracteres (OCR), conversão de voz em texto, etc.).
[006] Em algumas implementações, um sistema computacional que executa um aplicativo de agenda pode processar uma ou mais transmissões de entrada para produzir registros de agenda e itens textuais não-agenda (memorandos). O sistema computacional pode então representar, em um dispositivo de cliente, registros de agenda e memorandos por meio de diversas visualizações, incluindo, por exemplo, visualização de agenda e visualização de computador portátil. Diversos aspectos dos sistemas e métodos mencionados acima são descritos em detalhe abaixo neste documento por meio de exemplos, ao invés de por meio de limitação.
[007] A Fig. 1 representa um diagrama de nível de rede de uma modalidade ilustrativa de um sistema computacional 1000 de acordo com um ou mais aspectos da presente revelação. O sistema computacional 1000 pode compreender um ou mais servidores 110 que executam porções do lado do servidor 120 de um aplicativo de agenda. Um ou mais computadores de cliente 130 que executam porções do lado do cliente 125 do aplicativo de agenda podem estar conectados ao computador servidor 110 por meio de uma pluralidade de redes de interconexão 115. Um "computador" neste documento deve referir-se a um equipamento que inclui um processador, uma memória, e ao menos uma interface entrada/saída (I/O). Um computador pode ser representado, por exemplo, por um servidor, uma máquina virtual que funciona em um sistema computacional hospedeiro, um computador portátil ou computador pessoal de mesa (PC), um computador tablet, ou um telefone inteligente. Além disso, o termo "computador" deve incluir qualquer coleção de computadores que individual ou conjuntamente executam um conjunto (ou múltiplos conjuntos) de instruções para executar qualquer um ou mais dos métodos descritos neste documento.
[008] Uma "rede" neste documento deve referir-se a um sistema de comunicação distribuído que interconecta dois ou mais computadores. Uma rede pode ser representada, por exemplo, por uma rede de área local (LAN), uma rede de área ampla (WAN), ou uma rede privada virtual (VPN). Em algumas implementações, a pluralidade de redes de interconexão 115 pode incluir a Internet.
[009] As funções do sistema computacional 1000 podem ser fornecidas a um usuário final por meio de um ou mais dispositivos de cliente 130, tais como, por exemplo, um computador portátil ou pessoal de mesa (PC), um computador tablet, ou um telefone inteligente. Em um exemplo, um ou mais dispositivos de cliente 130 podem fornecer funções de interface de usuário e comunicar-se com um ou mais servidores 110 que podem executar processamento de solicitação de cliente, equilíbrio de cargas, autenticação de cliente, autorização, armazenamento e recuperação de registros de agenda, faturamento e outras funções. Estas e outras funções podem ser distribuídas entre um ou mais servidores 110 residentes em uma ou mais instalações físicas.
[010] Em outro exemplo, ao menos algumas das funções do lado do servidor listadas acima podem ser executadas por um ou mais dispositivos de cliente 130. Em algumas implementações, um dispositivo de cliente 130 pode executar ao menos um subconjunto de suas funções embora não estando conectado a um servidor 110. Este modo de processamento é também denominado de modo operacional desligado de cliente.
[011] Algumas das funções listadas acima, tais como, por exemplo, processamento de solicitação de cliente, equilíbrio de cargas, autenticação de cliente, autorização, armazenamento e recuperação de registros de agenda, e/ou faturamento, podem ser denominadas como pertencentes à funcionalidade do lado do servidor. Outras funções, tais como, por exemplo, aceitação de entrada de usuário e/ou representação de informações em visualizações de agenda e/ou computador portátil, podem ser denominadas como pertencentes à funcionalidade do lado do cliente. Contudo, em algumas implementações, o sistema de agenda 1000 pode incluir um ou mais computadores que executam ao menos alguma da funcionalidade do lado do servidor pertencente à funcionalidade do lado do servidor e ao menos algumas das funções pertencentes à funcionalidade do lado do cliente. Portanto, a designação de funcionalidade do lado do cliente e do lado do servidor, como pode ser referenciada neste documento, destina-se a fins de ilustração não tendo qualquer relevância sobre a operação dos componentes do sistema computacional 1000.
[012] Em um exemplo, o sistema computacional 1000 pode suportar um modelo de dados que compreende registros de agenda e memorandos, como ilustrado esquematicamente pela Fig. 2. Um registro de agenda pode ser representado por uma estrutura de dados 210 que compreende um identificador 212 e um tempo 214. Em algumas implementações, o identificador 212 pode ser fornecido por uma sequência legível por humanos de caracteres alfanuméricos que compreendem um título e/ou descrição de um registro de agenda. Alternativamente, o identificador de registro de agenda pode ser fornecido por um identificador alfanumérico ou não-alfanumérico que não se destina a ser legível por humanos.
[013] Em algumas implementações, o tempo 214 pode ser representado por um instante inicial de um evento identificado pelo registro de agenda e duração do evento. Alternativamente, o tempo 214 pode ser representado por um instante inicial e um instante final do evento. O instante inicial e/ou o instante final do evento pode ser representado por uma data (por exemplo, compreendendo dia, mês e ano) e hora do dia (por exemplo, compreendendo horas, minutos e segundos). O tempo 214 pode compreender ainda um identificador de fuso horário.
[014] A estrutura de dados 210 pode compreender ainda um título de registro de agenda 216, descrição 218, localização 220, um identificador de um iniciador 222 do evento identificado pelo registro de agenda, uma lista de participantes 224 do evento, agendamento recorrente 226, e/ou outros campos. Em algumas implementações, a estrutura de dados 210 pode compreender um identificador de tipo 211 do registro de agenda. Exemplos de registros de agenda representados pela estrutura de dados 210 podem incluir compromissos, solicitações de reuniões, lembretes, etc. Em algumas implementações, a estrutura de dados 210 pode compreender um ou mais ponteiros 228 para conjuntos de dados que podem ser denominados de anexos. Em um exemplo, um anexo pode ser fornecido por um arquivo de um tipo arbitrário, tal como texto, transmissão de áudio, transmissão de vídeo, imagem estática, etc.
[015] Um memorando pode ser representado por uma estrutura de dados 240 que compreende um texto de memorando 248. Em algumas implementações, a estrutura de dados 240 pode compreender ainda um identificador de tipo 241, um identificador de memorando 242, o instante de criação e/ou modificação 244 do memorando, e/ou um título 246 do memorando. O instante 244 pode ser representado por uma data (por exemplo, compreendendo dia, mês e ano) e hora do dia (por exemplo, compreendendo horas, minutos e segundos). O tempo 244 pode compreender ainda um identificador de fuso horário.
[016] Em algumas implementações, a estrutura de dados 240 pode compreender um ou mais ponteiros 250 para conjuntos de dados que podem ser denominados de anexos. Em um exemplo, um anexo pode ser fornecido por um arquivo de um tipo arbitrário, tal como texto, transmissão de áudio, transmissão de vídeo, imagem estática, etc.
[017] Em algumas implementações, o sistema computacional 1000 pode armazenar as estruturas de dados descritas acima em uma base relacional que reside em um ou mais computadores, incluindo um ou mais servidores 110 e/ou um ou mais dispositivos de cliente 130. Em algumas implementações, podem ser utilizados pelo sistema computacional 1000 outros métodos de armazenamento do modelo de dados descrito acima, incluindo, por exemplo, um banco de dados hierárquico, ou um ou mais arquivos simples, para armazenar os dados de agenda de acordo com o modelo de dados descrito acima.
[018] Em algumas implementações, o sistema computacional 1000 pode armazenar um diretório de usuário associado ao sistema de agenda em um servidor de diretório, tal como um servidor de Protocolo de Acesso de Diretório Leve (LDAP). Em algumas implementações, podem ser utilizados pelo sistema computacional 1000 outros métodos de armazenamento do diretório de usuário, incluindo, por exemplo, um diretório de usuário nativo fornecido pelo sistema operacional de um servidor 110.
[019] O sistema computacional 1000 que executa um aplicativo de agenda pode aceitar uma ou mais transmissões de entrada por meio de uma ou mais interfaces de entrada de um dispositivo de cliente 130. Em um exemplo, o sistema computacional 1000 pode aceitar, por meio de um teclado e/ou uma tela sensível ao toque de um dispositivo de cliente 130, uma entrada de usuário de um texto que compreende uma sequência de caracteres alfanuméricos e não- alfanuméricos. Em outro exemplo, o sistema computacional 1000 pode aceitar, por meio de um microfone do dispositivo de cliente 130, uma transmissão de voz, e em seguida converter a entrada de voz em um texto. Em um exemplo adicional, o sistema computacional 1000 pode aceitar, por meio de uma câmera de vídeo do dispositivo de cliente 130, uma transmissão de vídeo, e em seguida converter a transmissão de vídeo em um texto. Em um outro exemplo, o sistema computacional 1000 pode adquirir, por meio de um dispositivo gerador de imagem, uma imagem de um objeto focalizado pela lente geradora de imagem do dispositivo gerador de imagem, e em seguida converter a imagem em um texto. Em algumas implementações, o sistema computacional 1000 pode receber entradas de qualquer dos tipos acima mencionados ou de outros tipos por meio de uma interface de rede.
[020] O sistema computacional 1000 pode em seguida processar a transmissão de entrada para produzir uma sequência de caracteres que representa um item de entrada, tal como um registro de agenda ou um memorando. Em algumas implementações, o texto introduzido pode ser dividido em dois ou mais itens de entrada com base em um ou mais caracteres predefinidos encontrados no texto. Por exemplo, um divisor que indica uma fronteira de um item de entrada pode ser representado por um caractere de pontuação, tal como uma vírgula (,). Em outro exemplo, um divisor pode ser representado por dois ou mais caracteres, tais como uma vírgula seguida por um caractere de controle de "nova linha", duas vírgulas consecutivas, ou dois caracteres consecutivos de controle de "nova linha".
[021] Em algumas implementações, a transmissão de entrada pode ser dividida em dois ou mais itens de entrada antes da conversão daqueles itens em um texto. Em um exemplo, uma transmissão de vídeo que contém imagens de objetos suportando texto manuscrito e/ou digitado pode ser dividida em dois ou mais itens de entrada, cada item contendo uma imagem de um texto suportando objeto. Em outro exemplo, uma imagem estática de um texto suportando objeto pode ser dividida em duas ou mais imagens baseadas em dois ou mais divisores gráficos distintos encontrados dentro da imagem, tais como linhas ou formas que visualmente dividem o texto em diversas porções. Em ainda outro exemplo, uma transmissão de áudio pode ser dividida em duas ou mais porções baseadas em dois ou mais divisores de áudio distintos encontrados dentro da transmissão de áudio (por exemplo, um som predefinido, incluindo sons audíveis e não- audíveis; uma frase predefinida; ou um fragmento silencioso com uma duração que excede um limite predefinido).
[022] O sistema computacional 1000 pode em seguida analisar o item de entrada para determinar se o item de entrada contém uma referência de tempo e, portanto, se o item de entrada pode ser classificado como representando um registro de agenda ou um memorando. O sistema computacional 1000 pode utilizar diversos métodos de análise do item de entrada. Em um exemplo, o sistema computacional 1000 pode armazenar um ou mais formatos de tempo, tais como, por exemplo, MM/DD/AA, MM/DD/AAAA, e/ou MM/DD/AAAA hh:mm:ss. Cada sequência de formatos pode incluir um ou mais campos de texto e um ou mais símbolos separadores. Um campo de texto pode ser designado para armazenar um número definido de caracteres de um alfabeto predefinido, e pode representar uma parte predefinida de uma data e/ou hora (por exemplo, o campo MM pode armazenar dois dígitos e pode representar um mês). Em resposta ao estabelecimento de que uma porção de um texto introduzido corresponde a um formato de tempo predefinido, o sistema computacional 1000 pode decodificar a referência de tempo com base no formato identificado, e armazenar a referência de tempo em uma estrutura de dados de tempo.
[023] Em um exemplo, a estrutura de dados de tempo pode compreender uma data (por exemplo, incluindo dia, mês e ano) e hora do dia (por exemplo, incluindo horas, minutos e segundos). Alternativamente, a estrutura de dados de tempo pode ser representada por uma variável de tempo tipo POSIX que compreende um campo inteiro que contém um número de segundos decorridos a partir de um tempo predefinido no passado (por exemplo, meia-noite de 01 de janeiro de 1970). Em algumas implementações, a estrutura de dados de tempo pode ainda compreender um identificador de fuso horário. Alternativamente, todos os valores de tempo podem ser armazenados pelo sistema computacional 1000 em uma zona de tempo predefinida, tal como, por exemplo, Tempo Coordenado Universal (UTC).
[024] Em um exemplo, o sistema computacional 1000 pode detectar referências de tempo relativas representadas por um ou mais lexemas predefinidos que indicam um dia em relação ao instante atual, tais como, por exemplo, hoje, amanhã, etc. Em outro exemplo, o sistema computacional 1000 pode reconhecer referências de tempo relativas que podem ser representadas por um ou mais lexemas predefinidos que indicam um momento do dia, tais como, por exemplo, manhã, tarde, noitinha, noite, etc. Em outro exemplo, o sistema computacional 1000 pode reconhecer referências de tempo relativas que podem ser representadas por um ou mais lexemas predefinidos que indicam um dia da semana, tais como, por exemplo, domingo, segunda-feira, terça-feira, etc.
[025] Em algumas implementações, o sistema computacional 1000 pode converter uma referência de tempo textual relativa imprecisa em uma estrutura de dados de tempo, pela aplicação de uma ou mais regras de conversão e/ou parâmetros de configuração predefinidos que fazem corresponder referências de tempo imprecisas a tempos, tais como, por exemplo, "após o almoço", "encerramento dos negócios", "fim do dia", etc.
[026] Em algumas implementações, o sistema computacional 1000 pode reconhecer uma ou mais linguagens naturais sendo usadas na transmissão de entrada. Alternativamente, uma ou mais linguagens naturais a ser usadas na transmissão de entrada podem ser especificadas como parâmetros de configuração do sistema computacional 1000.
[027] Como observado anteriormente neste documento, em resposta à determinação de que um item de entrada compreende uma referência de tempo, o sistema computacional 1000 pode classificar o item de entrada como representando um registro de agenda, e armazenar na estrutura de dados de registros de agenda o tempo identificado pela referência de tempo junto com zero ou mais campos opcionais, como descrito em maior detalhe neste documento abaixo. Em resposta à determinação de que um item de entrada não compreende uma referência de tempo, o sistema computacional 1000 pode classificar o item de entrada como representando um memorando, e armazenar na estrutura de dados de memorandos ao menos parte do texto do item de entrada, junto com outros campos opcionais, incluindo o tempo atual e um ou mais ponteiros para anexos.
[028] Em algumas implementações, o sistema computacional 1000 pode processar o item de entrada designado como representando um registro de agenda para extrair um ou mais elementos de registro de agenda, tais como, por exemplo, um identificador de tipo, um título, uma descrição, uma localização do evento identificado pelo registro de agenda, um iniciador do evento, uma lista de participantes do evento, agendamento recorrente do evento, e/ou um ou mais anexos.
[029] O campo de identificador de tipo pode ser representado por um valor numérico ou de sequência que identifica o tipo do registro de agenda, por exemplo, compromisso, solicitação de reunião, lembrete, etc. O campo de título pode ser representado por uma sequência alfanumérica que contém um identificador legível por humanos do evento referenciado pelo registro de agenda, tal como, por exemplo, "Reunião de estado de projeto", "Almoço de trabalho", etc. O campo de descrição pode ser representado por uma sequência alfanumérica que contém informações legíveis por humanos relacionadas com o evento, tais como, por exemplo, uma agenda de reunião. O campo de localização pode ser representado por uma sequência alfanumérica que contém uma descrição legível por humanos da localização do evento, tal como, por exemplo, "Sala de Conferências 100". Em algumas implementações, o campo de localização pode ser representado por um identificador de uma estrutura de dados em um sistema externo, tal como um sistema de gerenciamento de espaço de escritórios. O campo de iniciador de evento pode ser representado por uma sequência alfanumérica que contém um identificador da pessoa que inicia o evento (tal como, por exemplo, o presidente da reunião). Em algumas implementações, o campo de identificador de evento pode ser representado por um identificador de uma estrutura de dados em um sistema externo, tal como um diretório de usuário (por exemplo, um diretório LDAP). A lista de participantes pode ser representada por uma lista de sequências alfanuméricas que contêm identificadores de participantes do evento (tal como, por exemplo, os participantes da reunião). Em algumas implementações, um identificador de participante de evento pode ser representado por um identificador de uma estrutura de dados em um sistema externo, tal como um diretório de usuário (por exemplo, um diretório LDAP). O campo de agendamento recorrente pode ser representado por uma lista de datas e horários do evento, e/ou um ou mais atributos de recorrência (por exemplo, semanalmente, mensalmente, etc.). Pode ser fornecido um anexo por meio de um arquivo de um tipo arbitrário, tal como texto, transmissão de áudio, transmissão de vídeo, imagem estática, etc.
[030] Após recepção de um comando de interface de usuário, o sistema computacional 1000 pode representar, em um dispositivo de cliente, um ou mais registros de agenda e/ou memorandos por meio de diversas visualizações que incluem, por exemplo, visualização da agenda e visualização do computador portátil.
[031] A visualização de agenda pode compreender um ou mais registros de agenda representados em uma tela com referências visuais a um ou mais indicadores de tempo. Em um exemplo, como ilustrado esquematicamente pela Fig. 3a, a visualização de agenda 300 pode compreender uma ou mais visualizações semanais 310. A visualização semanal 310 pode compreender até sete áreas de tela visualmente distintas correspondentes a dias da semana (visualizações diárias 312). Cada visualização diária pode ser visualmente dividida em diversas áreas de tela 314 correspondentes a horas do dia. Um ou mais valores de horas do dia podem ser colocados dentro de uma visualização diária. Um ou mais registros de agenda 316 podem ser mostrados dentro de uma visualização diária 312. Em outro exemplo, como ilustrado esquematicamente pela Fig. 3b, a visualização de agenda 300 pode compreender uma ou mais visualizações mensais 320. A visualização mensal 320 pode compreender uma pluralidade de visualizações semanais 310. A visualização semanal 310 pode compreender até sete áreas de tela visualmente distintas correspondentes aos dias da semana (visualizações diárias 312). Cada visualização diária pode ser dividida visualmente em diversas áreas de tela 314 correspondentes às horas do dia. Um ou mais valores de horas do dia podem ser colocados dentro de uma visualização diária. Um ou mais registros de agenda 316 podem ser mostrados dentro de uma visualização diária 312. Em um exemplo adicional, a visualização de agenda pode compreender visualização quadrimestral, visualização anual, e/ou outras visualizações.
[032] A visualização de computador portátil compreende um ou mais memorandos representados em uma tela. Em um exemplo, como ilustrado esquematicamente pela Fig. 4a, um ou mais memorandos 410 representados dentro do computador portátil 400 podem ser armazenados alfabeticamente e/ou por título/assunto. Em outro exemplo, como ilustrado esquematicamente pela Fig. 4b, um ou mais memorandos representados dentro do computador portátil 400 podem ser armazenados cronologicamente pela data do instante de criação ou modificação do memorando.
[033] Em algumas implementações, o sistema computacional 1000 pode representar um ou mais eventos de agenda e um ou mais memorandos em uma visualização mista, por exemplo, selecionar e/ou classificar eventos de agenda e memorandos por título, palavra-chave, autor, e/ou data e instante de criação ou modificação do evento de agenda ou do memorando.
[034] Em algumas implementações, o sistema computacional 1000 pode aceitar uma entrada de usuário que edita um registro de agenda existente ou um memorando existente. Em um exemplo, em resposta à aceitação de uma entrada de usuário que edita um memorando, o sistema computacional 1000 pode determinar que o texto recentemente adicionado compreende uma referência de tempo. A seguir a tal determinação, o sistema computacional 1000 pode converter o memorando em um registro de agenda, e armazenar na estrutura de dados de registros de agenda o tempo identificado pela referência de tempo junto com zero ou mais campos opcionais, como descrito em maiores detalhes anteriormente neste documento.
[035] A Fig. 5 representa um fluxograma de uma modalidade de um método 500 para processar transmissões de entrada de aplicativos de agenda. O método 500 pode ser executado por um sistema computacional que pode compreender hardware (por exemplo, circuitos, lógica dedicada, e/ou lógica programável), software (por exemplo, instruções executáveis em um sistema computacional para executar simulação de hardware), ou uma combinação destes. O método 500 e/ou cada uma das suas funções, rotinas, sub-rotinas, ou operações individuais pode ser executado por um ou mais processadores físicos do sistema computacional que executa o método. Duas ou mais funções, rotinas, sub-rotinas, ou operações do método 500 podem ser executadas em paralelo ou em uma ordem que difira da ordem descrita acima.
[036] O processamento pode começar pelo sistema computacional recebendo, no bloco 510, uma transmissão de entrada por meio de uma ou mais interfaces de entrada de um dispositivo de cliente. Em um exemplo, o sistema computacional pode aceitar, por meio de um teclado e/ou uma tela sensível ao toque de um dispositivo de cliente, uma entrada de usuário de um texto que compreende uma sequência de caracteres alfanuméricos e não-alfanuméricos. Em outro exemplo, o sistema computacional pode aceitar, por meio de um microfone do dispositivo de cliente, uma transmissão de voz. Em um outro exemplo, o sistema computacional pode aceitar, por meio de uma câmera de vídeo do dispositivo de cliente, uma transmissão de vídeo. Em ainda outro exemplo, o sistema computacional pode adquirir, por meio de um dispositivo gerador de imagem, uma imagem de um objeto focalizado pela lente geradora de imagem do dispositivo gerador de imagem. Em algumas implementações, o sistema computacional pode receber entradas de qualquer dos tipos citados acima ou de outros tipos por meio de uma interface de rede.
[037] No bloco 520, o sistema computacional pode processar a transmissão de entrada para produzir uma sequência de caracteres que representam um item de entrada, tal como um registro de agenda ou um memorando. Como observado neste documente anteriormente, uma ou mais transmissões de entrada não-textuais podem ser convertidas em texto. A transmissão de entrada pode ser dividida em dois ou mais itens de entrada, com base em um ou mais divisores textuais, gráficos e/ou de outro tipo predefinidos.
[038] Em resposta à determinação, no bloco 530, de que o item de entrada compreende uma referência de tempo, o sistema computacional pode continuar o processamento no bloco 540; caso contrário, o método pode ramificar-se para o bloco 550.
[039] No bloco 540, o sistema computacional pode criar e armazenar na sua memória um novo registro de agenda usando uma estrutura de dados de registros de agenda. O registro de agenda pode compreender um identificador de um tempo referenciado pela referência de tempo. Em algumas implementações, o sistema computacional pode ainda processar o item de entrada designado como representando um registro de agenda para extrair um ou mais elementos, tais como, por exemplo, um identificador de tipo, um título, uma descrição, uma localização do evento identificado pelo registro de agenda, um iniciador do evento, uma lista de participantes do evento, agendamento recorrente do evento, e/ou um ou mais anexos, como descrito em maiores detalhes neste documento anteriormente.
[040] No bloco 550, o sistema computacional pode criar e armazenar na sua memória um novo memorando usando uma estrutura de dados de memorandos. O memorando pode compreender ao menos parte do texto do item de entrada. Em algumas implementações, o sistema computacional pode ainda processar o item de entrada designado como representando um memorando para extrair um ou mais elementos, tais como, por exemplo, um título, um assunto, e/ou um ou mais anexos, como descrito em maiores detalhes neste documento anteriormente.
[041] No bloco 560, o sistema computacional pode receber uma entrada de usuário que seleciona uma visualização de agenda ou uma visualização de computador portátil para a representação de um ou mais registros de agenda ou memorandos.
[042] No bloco 570, o sistema computacional pode representar uma visualização de agenda, como descrito em maiores detalhes neste documento anteriormente. No bloco 580, o sistema computacional pode representar uma visualização de computador portátil, como descrito em maiores detalhes neste documento anteriormente. Em resposta ao término das operações referenciadas pelos blocos 570 ou 580, o método pode terminar.
[043] A Fig. 6 representa um sistema computacional exemplificativo 100 capaz de executar instruções que façam com que o computador execute um ou mais dos métodos descritos neste documento. Em algumas modalidades, o sistema computacional 100 pode corresponder a um ou mais servidores 110 e/ou dispositivos de cliente da Fig. 1.
[044] Em algumas modalidades, o sistema computacional 100 pode estar conectado (por exemplo, por meio de uma rede, uma Rede de Área Local (LAN), uma intranet, uma extranet, ou a Internet) a outros sistemas computacionais. O sistema computacional 100 pode operar na capacidade de um servidor ou de um computador de cliente em um ambiente cliente-servidor, ou como um computador de mesmo nível em um ambiente entre pares ou de rede distribuída. O sistema computacional 100 pode ser propiciado por um computador pessoal (PC), um PC tablet, um decodificador digital (STB), um Assistente Pessoal Digital (PDA), um telefone celular, um aparelho da Web, um servidor, um roteador, comutador ou ponte de rede, ou qualquer dispositivo capaz de executar um conjunto de instruções (sequenciais ou outras) que especifiquem ações a serem tomadas por aquele dispositivo.
[045] Em um aspecto adicional, o sistema computacional 100 pode incluir um processador 1002, uma memória volátil 1004 (por exemplo, memória de acesso aleatório (RAM)), uma memória não-volátil 1006 (por exemplo, memória apenas de leitura (ROM) ou ROM programável eletricamente apagável (EEPROM)), e uma memória secundária 1016 (por exemplo, dispositivo de armazenamento de dados), os quais se podem comunicar entre si por meio de um barramento 1008. O processador 1002 pode ser propiciado por um ou mais processadores tais como um processador de uso geral (tal como, por exemplo, um microprocessador de computação de conjunto complexo de instruções (CISC), um microprocessador de computação de conjunto reduzido de instruções (RISC), um microprocessador de palavras muito longas de instruções (VLIW), um microprocessador que implementa outros tipos de conjuntos de instruções, ou um microprocessador que implementa uma combinação de tipos de conjuntos de instruções) ou um processador especializado (tal como, por exemplo, um circuito integrado de aplicação específica (ASIC), uma disposição de portas programáveis de campo (FPGA), um processador digital de sinais (DSP), ou um processador de rede).
[046] O sistema computacional 100 pode ainda incluir um dispositivo de interface de rede 1022. O sistema computacional 100 pode também incluir uma unidade de exibição de vídeo 1010 (por exemplo , um LCD), um dispositivo alfanumérico de entrada 1012 (por exemplo, um teclado), um dispositivo de ponteiro 1014 (por exemplo, um mouse), e um dispositivo de saída de áudio 1020 (por exemplo, um alto-falante).
[047] A memória secundária 1016 pode incluir um meio de armazenamento legível por computador não-transitório 1024 no qual podem ser armazenadas instruções do aplicativo de agenda 120, 125. Instruções do aplicativo de agenda 120, 125 podem também residir, completa ou parcialmente, dentro da memória principal 1004 e/ou dentro do processador 1002 durante sua execução pelo sistema computacional 1000, pelo que a memória principal 1004 e o processador 1002 podem também constituir meios de armazenamento legíveis por máquina. Embora o meio de armazenamento legível por computador 1024 seja mostrado na modalidade ilustrativa como um meio único, o termo "meio de armazenamento legível por computador" deverá incluir um meio único ou múltiplos meios (por exemplo, um banco de dados centralizado ou distribuído, e/ou caches e servidores associados) que armazena o um ou mais conjuntos de instruções executáveis. O termo "meio de armazenamento legível por computador" deverá incluir também qualquer meio não-transitório que seja capaz de armazenar ou codificar um conjunto de instruções para execução por um computador que faça com que o computador execute qualquer um ou mais dos métodos descritos neste documento. O termo "meio de armazenamento legível por computador" deverá incluir memórias de estado sólido, meios óticos e meios magnéticos, mas não limitado a estes.
[048] Os métodos, componentes e recursos descritos neste documento podem ser implementados por componentes discretos de hardware ou podem ser integrados na funcionalidade do outros componentes de hardware tais como ASICs, FPGAs, DSPs ou dispositivos similares. Além disso, os métodos, componentes e recursos podem ser implementados por módulos de firmware ou circuitos funcionais dentro dos dispositivos de hardware. Os métodos, componentes e recursos podem ainda ser implementados em qualquer combinação de dispositivos de hardware e componentes de software, ou apenas em software.
[049] A não ser que especificamente mencionado de outro modo, termos como "atualizando", "identificando", "determinando", "transmitindo", "designando", ou similares, referem-se a ações e processos executados ou implementados por sistemas computacionais que manipulam e transformam dados representados como quantidades físicas (eletrônicas) dentro dos registros e memórias do sistema computacional em outros dados similarmente representados como quantidades físicas dentro dos registros e memórias do sistema computacional ou outros dispositivos similares de armazenamento, transmissão ou exibição.
[050] Modalidades descritas neste documento também se referem a um equipamento para executar os métodos descritos neste documento. Este equipamento pode ser especialmente construído para os fins exigidos, ou pode compreender um sistema computacional de uso geral programado seletivamente por um programa de computador armazenado no sistema computacional. Um tal programa de computador pode ser armazenado em um meio de armazenamento legível por computador não-transitório.
[051] Os métodos e exemplos ilustrados descritos neste documento não estão inerentemente relacionados com qualquer computador específico ou outro equipamento. Podem ser usados diversos sistemas de uso geral de acordo com os ensinamentos descritos neste documento, ou pode revelar-se conveniente construir equipamentos mais especializados para executar as funções, rotinas, sub-rotinas ou operações de método necessárias. A estrutura exigida para uma variedade destes sistemas aparecerá como apresentado na descrição acima.
[052] A descrição acima destina-se a ser ilustrativa e não restritiva. Embora a presente revelação tenha sido descrita com referência a exemplos e modalidades ilustrativos específicos, será reconhecido que a presente revelação não está limitada à modalidade descrita. O âmbito da revelação deverá ser determinado com referência às reivindicações a seguir, junto com o âmbito total de equivalentes aos quais as reivindicações fazem jus.
Claims (14)
1. Método para processar transmissões de entrada de aplicativos de agenda que compreende: receber, por um sistema computacional, uma primeira transmissão de entrada compreendendo ao menos um dentre: uma transmissão de texto, uma imagem, uma transmissão de vídeo ou uma transmissão de áudio; processar a primeira transmissão de entrada para produzir uma sequência de caracteres; em resposta à determinação de que a sequência de caracteres não compreende referências de tempo, armazenar, em uma primeira estrutura de dados de um primeiro tipo, um memorando compreendendo ao menos parte da primeira sequência de caracteres; receber uma segunda transmissão de entrada modificando o memorando; processar a segunda transmissão de entrada para produzir uma segunda sequência de caracteres; caracterizado pelo fato de que em resposta à determinação de que a segunda sequência de caracteres compreende uma referência de tempo imprecisa relativa que se refere a um tempo impreciso usando uma expressão indicando uma ação de usuário, converter o memorando em um registro de agenda; converter, aplicando uma ou mais regras de conversão predefinidas, a referência de tempo imprecisa relativa em uma referência de tempo absoluta; armazenar, em uma segunda estrutura de dados de um segundo tipo, o registro de agenda compreendendo a referência de tempo absoluta; analisar a segunda sequência de caracteres para produzir um ou mais itens de dados que representam ao menos um dentre: um identificador de tipo do registro de agenda, um título do registro de agenda, uma descrição do registro de agenda, uma localização de um evento identificado pelo registro de agenda, um identificador de um iniciador do evento identificado pelo registro de agenda, uma lista de participantes do evento identificado pelo registro de agenda; e armazenar o um ou mais itens de dados na segunda estrutura de dados.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO por compreender ainda armazenar um ponteiro para um anexo em ao menos uma dentre: a primeira estrutura de dados ou a segunda estrutura de dados.
3. Método, de acordo com a reivindicação 1, CARACTERIZADO por compreender ainda armazenar um tempo atual em ao menos uma dentre: a primeira estrutura de dados ou a segunda estrutura de dados.
4. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato da referência de tempo compreender ao menos um dentre: uma data, uma hora, um minuto e um segundo, ou um identificador de fuso horário.
5. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato da referência de tempo compreender ao menos um dentre: um instante inicial de um evento identificado pelo registro de agenda, um instante final do evento identificado pelo registro de agenda, ou uma duração do evento identificado pelo registro de agenda.
6. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato do processamento da transmissão de entrada compreender converter a imagem em uma sequência de caracteres.
7. Método, de acordo com a reivindicação 1, CARACTERIZADO por compreender ainda representar ao menos um dentre ao menos parte da primeira estrutura de dados ou ao menos parte da segunda estrutura de dados em uma dentre: uma visualização de agenda ou uma visualização de computador portátil.
8. Método, de acordo com a reivindicação 7, CARACTERIZADO pelo fato da representação compreender a representação de ao menos parte da primeira estrutura de dados com uma referência gráfica a um indicador de tempo.
9. Sistema que compreende: uma memória; e um processador acoplado à memória, o processador configurado para: receber uma primeira transmissão de entrada compreendendo ao menos um dentre: uma transmissão de texto, uma imagem, uma transmissão de vídeo ou uma transmissão de áudio; processar a primeira transmissão de entrada para produzir uma sequência de caracteres; em resposta à determinação de que a sequência de caracteres não compreende referências de tempo, armazenar, em uma primeira estrutura de dados de um primeiro tipo, um memorando compreendendo ao menos parte da primeira sequência de caracteres; receber uma segunda transmissão de entrada modificando o memorando; processar a segunda transmissão de entrada para produzir uma segunda sequência de caracteres; caracterizado pelo fato de que em resposta à determinação de que a segunda sequência de caracteres compreende uma referência de tempo imprecisa relativa que se refere a um tempo impreciso usando uma expressão indicando uma ação de usuário, converter o memorando em um registro de agenda; converter, aplicando uma ou mais regras de conversão predefinidas, a referência de tempo imprecisa relativa em uma referência de tempo absoluta; armazenar, em uma segunda estrutura de dados de um segundo tipo, o registro de agenda compreendendo a referência de tempo absoluta; analisar a segunda sequência de caracteres para produzir um ou mais itens de dados que representam ao menos um dentre: um identificador de tipo do registro de agenda, um título do registro de agenda, uma descrição do registro de agenda, uma localização de um evento identificado pelo registro de agenda, um identificador de um iniciador do evento identificado pelo registro de agenda, uma lista de participantes do evento identificado pelo registro de agenda; e armazenar o um ou mais itens de dados na segunda estrutura de dados.
10. Sistema, de acordo com a reivindicação 9, CARACTERIZADO pelo fato do processador ser ainda configurado para representar ao menos uma dentre ao menos parte da primeira estrutura de dados ou ao menos parte da segunda estrutura de dados em uma dentre: uma visualização de agenda ou uma visualização de computador portátil.
11. Meio de armazenamento legível por computador não- transitório, por compreender instruções executáveis que, quando executadas por um sistema computacional, fazem com que o sistema computacional: receba uma primeira transmissão de entrada compreendendo ao menos um dentre: uma transmissão de texto, uma imagem, uma transmissão de vídeo ou uma transmissão de áudio; processe a primeira transmissão de entrada para produzir uma sequência de caracteres; em resposta à determinação de que a sequência de caracteres não compreende referências de tempo, armazene, em uma primeira estrutura de dados de um primeiro tipo, um memorando compreendendo ao menos parte da primeira sequência de caracteres; receba uma segunda transmissão de entrada modificando o memorando; processe a segunda transmissão de entrada para produzir uma segunda sequência de caracteres; caracterizado pelo fato de que em resposta à determinação de que a segunda sequência de caracteres compreende uma referência de tempo imprecisa relativa que se refere a um tempo impreciso usando uma expressão indicando uma ação de usuário, converta o memorando em um registro de agenda; converta, aplicando uma ou mais regras de conversão predefinidas, a referência de tempo imprecisa relativa em uma referência de tempo absoluta; armazene, em uma segunda estrutura de dados do segundo tipo, o registro de agenda compreendendo a referência de tempo absoluta; analise a segunda sequência de caracteres para produzir um ou mais itens de dados que representam ao menos um dentre: um identificador de tipo do registro de agenda, um título do registro de agenda, uma descrição do registro de agenda, uma localização de um evento identificado pelo registro de agenda, um identificador de um iniciador do evento identificado pelo registro de agenda, uma lista de participantes do evento identificado pelo registro de agenda; e armazene o um ou mais itens de dados na segunda estrutura de dados.
12. Meio de armazenamento legível por computador não- transitório, de acordo com a reivindicação 11, CARACTERIZADO por compreender ainda instruções executáveis que fazem com que o sistema computacional: armazene um ponteiro para um anexo em ao menos uma dentre: a primeira estrutura de dados ou a segunda estrutura de dados.
13. Meio de armazenamento legível por computador não- transitório, de acordo com a reivindicação 11, CARACTERIZADO pelo fato do processamento da transmissão de entrada compreender converter a imagem em uma sequência de caracteres.
14. Meio de armazenamento legível por computador não- transitório, de acordo com a reivindicação 11, CARACTERIZADO por compreender ainda instruções executáveis que fazem com que o sistema computacional: represente ao menos uma dentre ao menos parte da primeira estrutura de dados ou ao menos parte da segunda estrutura de dados em uma dentre: uma visualização de agenda ou uma visualização de computador portátil.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/RU2013/000306 WO2014168502A1 (en) | 2013-04-10 | 2013-04-10 | Systems and methods for processing input streams of calendar applications |
Publications (3)
Publication Number | Publication Date |
---|---|
BR112015025636A2 BR112015025636A2 (pt) | 2017-07-18 |
BR112015025636A8 BR112015025636A8 (pt) | 2019-12-17 |
BR112015025636B1 true BR112015025636B1 (pt) | 2023-03-14 |
Family
ID=51689806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR112015025636-8A BR112015025636B1 (pt) | 2013-04-10 | 2013-04-10 | Método, sistema e meio de armazenamento legível por computador não-transitório para processar transmissões de entrada de aplicativos de agenda |
Country Status (9)
Country | Link |
---|---|
US (2) | US11074409B2 (pt) |
EP (1) | EP2984574A4 (pt) |
JP (1) | JP2016524733A (pt) |
KR (2) | KR20150143600A (pt) |
CN (1) | CN105247501B (pt) |
BR (1) | BR112015025636B1 (pt) |
CA (2) | CA3199033A1 (pt) |
RU (1) | RU2636691C2 (pt) |
WO (1) | WO2014168502A1 (pt) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2984574A4 (en) | 2013-04-10 | 2016-10-19 | Ruslan Albertovich Shigabutdinov | SYSTEMS AND METHODS FOR PROCESSING ENTRIES OF AGENDA APPLICATION ENTRIES |
US11036919B2 (en) * | 2015-03-02 | 2021-06-15 | Citrix Systems, Inc. | Enabling file attachments in calendar events |
CN106409295B (zh) * | 2015-07-31 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 从自然语音信息中识别时间信息的方法和装置 |
US11449368B2 (en) | 2016-01-08 | 2022-09-20 | Nasdaq, Inc. | Systems and methods for calendar synchronization with enterprise web applications |
US20200090130A1 (en) * | 2018-09-17 | 2020-03-19 | Servicenow, Inc. | System and method for custom calendaring |
Family Cites Families (76)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5392447A (en) * | 1992-01-10 | 1995-02-21 | Eastman Kodak Compay | Image-based electronic pocket organizer with integral scanning unit |
JPH08147329A (ja) * | 1994-11-18 | 1996-06-07 | Casio Comput Co Ltd | 読み取りイメージ処理装置 |
US6026410A (en) * | 1997-02-10 | 2000-02-15 | Actioneer, Inc. | Information organization and collaboration tool for processing notes and action requests in computer systems |
US7146381B1 (en) * | 1997-02-10 | 2006-12-05 | Actioneer, Inc. | Information organization and collaboration tool for processing notes and action requests in computer systems |
KR100348603B1 (ko) * | 1998-07-02 | 2002-08-13 | 엘지전자 주식회사 | 지능형 개인정보 관리 시스템의 메모 등록 및 검색방법 |
US6741994B1 (en) * | 1998-07-27 | 2004-05-25 | Hewlett-Packard Development Company, L.P. | Method and automatic organization of data |
US6675356B1 (en) * | 1998-12-22 | 2004-01-06 | Xerox Corporation | Distributed document-based calendaring system |
JP2000222522A (ja) * | 1999-02-04 | 2000-08-11 | Matsushita Electric Ind Co Ltd | 認識処理装置 |
US6587895B1 (en) * | 1999-08-03 | 2003-07-01 | Xerox Corporation | Method for accepting a freeform input containing message with time reference thereupon providing an alert message according to the time reference |
KR100425831B1 (ko) * | 2001-01-08 | 2004-04-03 | 엘지전자 주식회사 | 개인정보 단말기에서의 데이터 저장방법 |
JP2002215541A (ja) | 2001-01-23 | 2002-08-02 | Needs Creator Kk | 情報管理システム |
JP2002297847A (ja) * | 2001-03-28 | 2002-10-11 | Just Syst Corp | スケジュール管理装置、スケジュール管理方法およびその方法をコンピュータに実行させるプログラム |
JP2003044415A (ja) | 2001-07-26 | 2003-02-14 | Nec Saitama Ltd | 端末装置及びプログラム |
US8370763B1 (en) * | 2001-10-31 | 2013-02-05 | At&T Intellectual Property I, L. P. | System and method for creating an electronic-calendar entry |
JP2004046325A (ja) | 2002-07-09 | 2004-02-12 | Sharp Corp | データ入力装置、データ入力プログラムおよびデータ入力プログラムを記録した記録媒体 |
US20080140384A1 (en) * | 2003-06-12 | 2008-06-12 | George Landau | Natural-language text interpreter for freeform data entry of multiple event dates and times |
TWI239754B (en) * | 2003-08-18 | 2005-09-11 | Primax Electronics Ltd | Mobile phone system with card character recognition function |
US7475021B2 (en) * | 2003-10-22 | 2009-01-06 | International Business Machines Corporation | Method and storage medium for importing calendar data from a computer screen into a calendar application |
US7245765B2 (en) * | 2003-11-11 | 2007-07-17 | Sri International | Method and apparatus for capturing paper-based information on a mobile computing device |
FI115274B (fi) * | 2003-12-19 | 2005-03-31 | Nokia Corp | Puhekäyttöliittymällä varustettu elektroninen laite ja menetelmä elektronisessa laitteessa käyttöliittymäkieliasetuksien suorittamiseksi |
US7707039B2 (en) * | 2004-02-15 | 2010-04-27 | Exbiblio B.V. | Automatic modification of web pages |
US9116890B2 (en) * | 2004-04-01 | 2015-08-25 | Google Inc. | Triggering actions in response to optically or acoustically capturing keywords from a rendered document |
US7533116B2 (en) * | 2004-04-30 | 2009-05-12 | Lacy Donald D | Method and system for displaying files to a user |
US20060031326A1 (en) * | 2004-07-06 | 2006-02-09 | Francis Ovenden | Managing personal communications from a calendar scheduling application |
US8239375B2 (en) * | 2004-08-31 | 2012-08-07 | Research In Motion Limited | Method of searching for personal information management (PIM) information and handheld electronic device employing the same |
JP4385918B2 (ja) | 2004-10-18 | 2009-12-16 | オムロン株式会社 | スケジュール情報作成用のプログラム、情報処理装置、およびスケジュール情報の作成方法 |
KR20060075986A (ko) | 2004-12-29 | 2006-07-04 | 삼성전자주식회사 | 자동 일정관리 및 실행을 위한 장치 및 방법 |
JP2006222727A (ja) | 2005-02-10 | 2006-08-24 | Matsushita Electric Ind Co Ltd | 携帯電話装置 |
FI20055111A0 (fi) * | 2005-03-11 | 2005-03-11 | Nokia Corp | Informaation muodostaminen elektronisen laitteen kalanterisovellukselle |
US20070006082A1 (en) * | 2005-06-30 | 2007-01-04 | Microsoft Corporation | Speech application instrumentation and logging |
ZA200802175B (en) * | 2005-09-09 | 2009-08-26 | Microsoft Corp | Thread navigation |
US8060567B2 (en) | 2006-04-12 | 2011-11-15 | Google Inc. | Method, system, graphical user interface, and data structure for creating electronic calendar entries from email messages |
US8014040B2 (en) * | 2006-04-21 | 2011-09-06 | Microsoft Corporation | Dynamic scanner system |
US8115948B2 (en) * | 2006-04-21 | 2012-02-14 | Microsoft Corporation | Interactive paper system |
US7757181B2 (en) | 2006-05-05 | 2010-07-13 | Microsoft Corporation | Agenda and day hybrid calendar view |
US20070288279A1 (en) * | 2006-06-07 | 2007-12-13 | Microsoft Corporation | Entering And Using Time Ranges |
US20080005168A1 (en) * | 2006-06-30 | 2008-01-03 | Microsoft Corporation | Managing family information |
US20080175104A1 (en) * | 2007-01-23 | 2008-07-24 | Microsoft Corporation | Flexible electronic calendar integrating tasks and appointments |
US20100103779A1 (en) * | 2007-02-21 | 2010-04-29 | Manjusha Kakirde | Event-based reminder system |
US7912828B2 (en) * | 2007-02-23 | 2011-03-22 | Apple Inc. | Pattern searching methods and apparatuses |
US7930640B2 (en) * | 2007-07-31 | 2011-04-19 | International Business Machines Corporation | Methods for splitting and merging calendar entries |
US8131778B2 (en) * | 2007-08-24 | 2012-03-06 | Microsoft Corporation | Dynamic and versatile notepad |
JP2009093503A (ja) * | 2007-10-10 | 2009-04-30 | Nec Corp | スケジュール登録支援システム、スケジュール登録支援方法及びプログラム |
KR101414465B1 (ko) * | 2007-10-26 | 2014-07-03 | 에스케이플래닛 주식회사 | 통신 단말 장치 및 이를 이용한 일정 관리 방법 |
US7970793B2 (en) * | 2008-02-01 | 2011-06-28 | International Business Machines Corporation | Generating, and updating calendar events from non-calendar sources |
JP2009218771A (ja) | 2008-03-10 | 2009-09-24 | Nec Corp | 携帯情報端末、プログラム及びスケジュール管理方法 |
US8887066B1 (en) * | 2008-04-02 | 2014-11-11 | Facebook, Inc. | Communicating plans for users of a social networking system |
JP5402102B2 (ja) | 2008-07-11 | 2014-01-29 | カシオ計算機株式会社 | スケジュール管理装置およびスケジュール管理プログラム |
US20100331043A1 (en) * | 2009-06-23 | 2010-12-30 | K-Nfb Reading Technology, Inc. | Document and image processing |
US20110141855A1 (en) * | 2009-12-11 | 2011-06-16 | General Motors Llc | System and method for updating information in electronic calendars |
US8868427B2 (en) * | 2009-12-11 | 2014-10-21 | General Motors Llc | System and method for updating information in electronic calendars |
JP2011128927A (ja) | 2009-12-18 | 2011-06-30 | Fujitsu Ltd | 情報端末、情報処理方法及びコンピュータプログラム |
US8346589B1 (en) * | 2010-01-27 | 2013-01-01 | Google Inc. | Just-in-time conference room scheduling |
WO2011097740A1 (en) * | 2010-02-15 | 2011-08-18 | Research In Motion Limited | Methods and apparatus for a comprehensive searching on a mobile device |
EP2362327A1 (en) * | 2010-02-19 | 2011-08-31 | Research In Motion Limited | Method, device and system for image capture, processing and storage |
US8346879B2 (en) * | 2010-06-04 | 2013-01-01 | Xerox Corporation | Detecting conflicts in email messages |
US9009592B2 (en) * | 2010-06-22 | 2015-04-14 | Microsoft Technology Licensing, Llc | Population of lists and tasks from captured voice and audio content |
US8370767B2 (en) * | 2010-06-22 | 2013-02-05 | Microsoft Corporation | List authoring surface |
EP2413568A1 (en) | 2010-07-29 | 2012-02-01 | Research In Motion Limited | Identification and scheduling of events on a communication device |
US20120083294A1 (en) | 2010-09-30 | 2012-04-05 | Apple Inc. | Integrated image detection and contextual commands |
US20120278408A1 (en) * | 2011-04-29 | 2012-11-01 | Crestron Electronics Inc. | Meeting Management System Including Automated Equipment Setup |
JP2013025836A (ja) * | 2011-07-19 | 2013-02-04 | Sony Corp | 光発振装置及び記録装置 |
KR101870773B1 (ko) * | 2011-08-31 | 2018-06-26 | 삼성전자 주식회사 | 광학식 문자 판독기를 이용한 스케줄 관리 방법 및 장치 |
CN102945074B (zh) | 2011-10-12 | 2016-04-27 | 微软技术许可有限责任公司 | 根据所捕捉的语音和音频内容来填充列表和任务 |
EP2626822A1 (en) * | 2012-02-13 | 2013-08-14 | HTC Corporation | Method and electronic apparatus for associating note and calendar event |
US10032135B2 (en) * | 2012-03-19 | 2018-07-24 | Microsoft Technology Licensing, Llc | Modern calendar system including free form input electronic calendar surface |
WO2014065808A1 (en) * | 2012-10-26 | 2014-05-01 | Blackberry Limited | Text and context recognition through images and video |
US20140146200A1 (en) * | 2012-11-28 | 2014-05-29 | Research In Motion Limited | Entries to an electronic calendar |
EP2984574A4 (en) | 2013-04-10 | 2016-10-19 | Ruslan Albertovich Shigabutdinov | SYSTEMS AND METHODS FOR PROCESSING ENTRIES OF AGENDA APPLICATION ENTRIES |
US20150193392A1 (en) * | 2013-04-17 | 2015-07-09 | Google Inc. | User Interface for Quickly Checking Agenda and Creating New Events |
US9760644B2 (en) * | 2013-04-17 | 2017-09-12 | Google Inc. | Embedding event creation link in a document |
US20140337751A1 (en) * | 2013-05-13 | 2014-11-13 | Microsoft Corporation | Automatic creation of calendar items |
US10007897B2 (en) * | 2013-05-20 | 2018-06-26 | Microsoft Technology Licensing, Llc | Auto-calendaring |
US20180114193A1 (en) * | 2013-10-09 | 2018-04-26 | Google Inc. | Calendar event templates |
US20190122526A1 (en) * | 2017-10-23 | 2019-04-25 | Qualcomm Incorporated | Automatic reminders generated through real time data |
US11100160B2 (en) * | 2018-07-31 | 2021-08-24 | International Business Machines Corporation | Intelligent image note processing |
-
2013
- 2013-04-10 EP EP13881529.5A patent/EP2984574A4/en not_active Ceased
- 2013-04-10 RU RU2015143049A patent/RU2636691C2/ru active
- 2013-04-10 KR KR1020157031964A patent/KR20150143600A/ko active Search and Examination
- 2013-04-10 CA CA3199033A patent/CA3199033A1/en active Pending
- 2013-04-10 WO PCT/RU2013/000306 patent/WO2014168502A1/en active Application Filing
- 2013-04-10 US US14/783,022 patent/US11074409B2/en active Active
- 2013-04-10 CA CA2909155A patent/CA2909155A1/en not_active Abandoned
- 2013-04-10 BR BR112015025636-8A patent/BR112015025636B1/pt active IP Right Grant
- 2013-04-10 KR KR1020197022165A patent/KR102149478B1/ko active IP Right Grant
- 2013-04-10 CN CN201380075567.9A patent/CN105247501B/zh active Active
- 2013-04-10 JP JP2016507511A patent/JP2016524733A/ja active Pending
-
2021
- 2021-05-11 US US17/317,545 patent/US20210334460A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20160055131A1 (en) | 2016-02-25 |
EP2984574A1 (en) | 2016-02-17 |
RU2015143049A (ru) | 2017-05-15 |
EP2984574A4 (en) | 2016-10-19 |
JP2016524733A (ja) | 2016-08-18 |
CA2909155A1 (en) | 2014-10-16 |
US20210334460A1 (en) | 2021-10-28 |
RU2636691C2 (ru) | 2017-11-27 |
WO2014168502A1 (en) | 2014-10-16 |
CN105247501A (zh) | 2016-01-13 |
US11074409B2 (en) | 2021-07-27 |
BR112015025636A2 (pt) | 2017-07-18 |
KR102149478B1 (ko) | 2020-08-28 |
CA3199033A1 (en) | 2014-10-16 |
KR20190107682A (ko) | 2019-09-20 |
KR20150143600A (ko) | 2015-12-23 |
BR112015025636A8 (pt) | 2019-12-17 |
CN105247501B (zh) | 2018-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Poorthuis et al. | Making big data small: strategies to expand urban and geographical research using social media | |
US20200081985A1 (en) | Method And Apparatus For Expressing Time In An Output Text | |
US20210334460A1 (en) | Systems and methods for processing input streams of calendar applications | |
US20230161798A1 (en) | Computerized assistance using artificial intelligence knowledge base | |
JP6033326B2 (ja) | コンテンツベースの自動的な入力プロトコルの選択 | |
US20180032499A1 (en) | Automatically Generating Spelling Suggestions and Corrections Based on User Context | |
US20180213046A1 (en) | Organization, Analysis, and Management of Digital Interactions on Networked Computers | |
US9485209B2 (en) | Marking of unfamiliar or ambiguous expressions in electronic messages | |
CN107465599A (zh) | 一种即时通讯中的日程设置方法及装置 | |
US20130103772A1 (en) | Method for an instant messaging system and instant messaging system | |
ES2814957T3 (es) | Sistemas y métodos para la gestión de archivos por dispositivos informáticos móviles | |
US10650098B2 (en) | Content analyzer and recommendation tool | |
WO2020211352A1 (zh) | 基于语义分析的事项提醒方法、装置及计算机设备 | |
US10091011B2 (en) | System for differential notification | |
JP6554512B2 (ja) | カレンダアプリケーションの入力ストリームを処理するシステムおよび方法 | |
US11531707B1 (en) | Personalized search based on account attributes | |
CN110348763A (zh) | 一种电子阅读管理系统 | |
Ford et al. | Using the iPhone for assistive technology; a case study | |
Lai | Fitting Race in a Box. | |
Alquaddoomi et al. | The Email Analysis Framework: Aiding the Analysis of Personal Natural Language Texts. | |
Martin | A mixture of support and unease in a South Carolina crowd | |
King | Data Science: A Study from the Scientometric, Curricular, and Altmetric Perspectives | |
Wixted | The importance of students in the March for Our Lives | |
Saltzman | Fides est servanda: Keeping the faith | |
Witte | British Parliament pummels Trump but doesn't ban him from the UK |
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] | ||
B06A | Patent application procedure suspended [chapter 6.1 patent gazette] | ||
B09A | Decision: intention to grant [chapter 9.1 patent gazette] | ||
B16A | Patent or certificate of addition of invention granted [chapter 16.1 patent gazette] |
Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 10/04/2013, OBSERVADAS AS CONDICOES LEGAIS |