BR112015025636B1 - METHOD, SYSTEM AND MEDIA OF NON-TRANSITORY COMPUTER READABLE STORAGE FOR PROCESSING INPUT TRANSMISSIONS FROM CALENDAR APPLICATIONS - Google Patents

METHOD, SYSTEM AND MEDIA OF NON-TRANSITORY COMPUTER READABLE STORAGE FOR PROCESSING INPUT TRANSMISSIONS FROM CALENDAR APPLICATIONS Download PDF

Info

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
Application number
BR112015025636-8A
Other languages
Portuguese (pt)
Other versions
BR112015025636A8 (en
BR112015025636A2 (en
Inventor
Ruslan Albertovich Shigabutdinov
Original Assignee
Ruslan Albertovich Shigabutdinov
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 Ruslan Albertovich Shigabutdinov filed Critical Ruslan Albertovich Shigabutdinov
Publication of BR112015025636A2 publication Critical patent/BR112015025636A2/en
Publication of BR112015025636A8 publication Critical patent/BR112015025636A8/en
Publication of BR112015025636B1 publication Critical patent/BR112015025636B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • 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
    • G06Q10/1091Recording time for administrative or management purposes

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.INPUT FLOW PROCESSING SYSTEMS AND METHODS CALENDAR APPLICATIONS. Systems and methods for processing calendar application input streams. An example method, performed by a computer system, might comprise receiving an input stream; processing the input stream to produce a sequence of characters; responsive to determining that the string comprises a time reference, storing in memory a schedule entry in the data structure of a first type first, the schedule entry comprising a time identifier referenced by the time reference time; responsive to determining that the string does not comprise a time reference, storing, in memory, a note in a second data structure of a second type, the memo comprising at least part of the string.

Description

CAMPO TÉCNICOTECHNICAL FIELD

[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.[001] The present disclosure relates generally to computer systems and more specifically relates to systems and methods for processing heterogeneous incoming transmissions from calendar applications.

FUNDAMENTOSFUNDAMENTALS

[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.[002] Calendar applications can be used to facilitate event scheduling and tracking of individual users and/or groups of users. A calendar application may be executed by a computer system comprising one or more server computers and/or one or more client devices.

BREVE DESCRIÇÃO DOS DESENHOSBRIEF DESCRIPTION OF THE DRAWINGS

[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.[003] The present disclosure is illustrated by way of example, and not by way of limitation, and may be more fully understood with reference to the following detailed description when considered in connection with the figures, in which: Fig. 1 depicts a network-level diagram of an illustrative embodiment of a computer system running a calendar application in accordance with one or more aspects of the present disclosure; the Fig. 2 schematically illustrates various data structures supported by the computer system running a diary application in accordance with one or more aspects of the present disclosure; Figs. 3a-3b schematically illustrate example calendar views represented by the computer system running a calendar application in accordance with one or more aspects of the present disclosure; Figs. 4a-4b schematically illustrate examples of portable computer displays represented by the computer system running a calendar application in accordance with one or more aspects of the present disclosure; the Fig. 5 depicts a flowchart of a method for processing calendar application entries in accordance with one or more aspects of the present disclosure; and Fig. 6 depicts a block diagram of an illustrative computer system in accordance with examples of the present disclosure.

DESCRIÇÃO DETALHADADETAILED DESCRIPTION

[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.[004] This document describes methods and systems for processing heterogeneous incoming transmissions from calendar applications. A "schedule application" in this document shall refer to an application that facilitates event scheduling and tracking of individual users and/or groups of users.

[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.).[005] The agenda applications described in this document can be executed by computing systems comprising one or more computing devices, including servers and client devices, which can be interconnected by one or more networks. Users can access a calendar application through a variety of client computing devices, including, for example, personal computers and mobile devices such as smart phones. A client device may input information through a variety of interfaces, including, for example, a keyboard, a touchscreen, a network interface, a microphone, a video camera, a still image camera, and/or or a microphone. Therefore, an incoming stream from a calendar application can be represented, for example, by a text stream, one or more still images, a video stream, and/or an audio stream. A computer system running a organizer application can convert non-textual inputs to text (eg, image-to-text conversion using optical character recognition (OCR) methods, voice-to-text conversion, 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.[006] In some implementations, a computer system running a diary application may process one or more incoming streams to produce diary records and non-diary textual items (memos). The computer system can then represent, on a client device, calendar entries and memos through various views, including, for example, calendar view and laptop view. Various aspects of the systems and methods mentioned above are described in detail below in this document by way of examples, rather than by way of limitation.

[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.[007] Fig. 1 depicts a network-level diagram of an illustrative embodiment of a computer system 1000 in accordance with one or more aspects of the present disclosure. Computing system 1000 may comprise one or more servers 110 that run server-side portions 120 of a calendar application. One or more client computers 130 running client-side portions 125 of the organizer application may be connected to server computer 110 via a plurality of interconnect networks 115. A "computer" in this document shall refer to equipment that includes a processor, memory, and at least one input/output (I/O) interface. A computer can be represented, for example, by a server, a virtual machine running on a host computing system, a laptop or desktop personal computer (PC), a tablet computer, or a smart phone. In addition, the term "computer" shall include any collection of computers that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methods described in this document.

[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.[008] A "network" in this document shall refer to a distributed communication system that interconnects two or more computers. A network can be represented, for example, by a local area network (LAN), a wide area network (WAN), or a virtual private network (VPN). In some implementations, the plurality of interconnection networks 115 may include the 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.[009] The functions of the computer system 1000 may be provided to an end user via one or more client devices 130, such as, for example, a portable or desktop personal computer (PC), a tablet computer, or a smart phone. In one example, one or more client devices 130 can provide user interface functions and communicate with one or more servers 110 that can perform client request processing, load balancing, client authentication, authorization, storage and retrieval. of calendar records, billing and other functions. These and other functions may be distributed among one or more servers 110 residing in one or more physical facilities.

[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.[010] In another example, at least some of the server-side functions listed above may be performed by one or more client devices 130. In some implementations, a client device 130 may perform at least a subset of its functions although not being connected to a server 110. This processing mode is also called client-off operating mode.

[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.[011] Some of the functions listed above, such as, for example, client request processing, load balancing, client authentication, authorization, storage and retrieval of agenda records, and/or billing, can be referred to as belonging to server-side functionality. Other functions, such as, for example, accepting user input and/or representing information in calendar and/or laptop views, may be referred to as belonging to client-side functionality. However, in some implementations, the scheduling system 1000 may include one or more computers that perform at least some of the server-side functionality pertaining to the server-side functionality and at least some of the functions pertaining to the client-side functionality. Therefore, the designation of client-side and server-side functionality, as it may be referenced in this document, is for illustration purposes and has no bearing on the operation of the components of the computer system 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.[012] In one example, the computer system 1000 can support a data model comprising diary records and memos, as schematically illustrated by Fig. 2. A calendar entry may be represented by a data structure 210 comprising an identifier 212 and a time 214. In some implementations, the identifier 212 may be provided by a human readable sequence of alphanumeric characters comprising a title and/or or description of a calendar entry. Alternatively, the agenda entry identifier may be provided by an alphanumeric or non-alphanumeric identifier that is not intended to be human readable.

[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.[013] In some implementations, the time 214 can be represented by an initial instant of an event identified by the agenda record and duration of the event. Alternatively, time 214 may be represented by a start time and an end time of the event. The start time and/or the end time of the event can be represented by a date (for example, comprising day, month and year) and time of day (for example, comprising hours, minutes and seconds). Time 214 may further comprise a time zone identifier.

[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.[014] The data structure 210 may further comprise a schedule record title 216, description 218, location 220, an identifier of an event initiator 222 identified by the schedule record, a list of participants 224 of the event, recurring schedule 226 , and/or other fields. In some implementations, the data structure 210 may comprise a diary record type identifier 211. Examples of calendar entries represented by data structure 210 might include appointments, meeting requests, reminders, etc. In some implementations, data structure 210 may comprise one or more pointers 228 to sets of data that may be called attachments. In one example, an attachment may be provided by a file of an arbitrary type, such as text, audio stream, video stream, still image, 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.[015] A memo may be represented by a data structure 240 comprising a memo text 248. In some implementations, the data structure 240 may further comprise a type identifier 241, a memo identifier 242, the creation time and/or modification 244 of the memo, and/or a title 246 of the memo. Time 244 may be represented by a date (eg comprising day, month and year) and time of day (eg comprising hours, minutes and seconds). Time 244 may further comprise a time zone identifier.

[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.[016] In some implementations, the data structure 240 may comprise one or more pointers 250 to sets of data that may be called attachments. In one example, an attachment may be provided by a file of an arbitrary type, such as text, audio stream, video stream, still image, 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.[017] In some implementations, the computer system 1000 can store the data structures described above in a relational database that resides on one or more computers, including one or more servers 110 and/or one or more client devices 130. In some implementations, 1000 other methods of storing the data model described above may be used by the computer system, including, for example, a hierarchical database, or one or more flat files, to store the diary data according to the model of data. data described above.

[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.[018] In some implementations, computer system 1000 may store a user directory associated with the calendar system on a directory server, such as a Lightweight Directory Access Protocol (LDAP) server. In some implementations, 1000 other methods of storing the home directory may be utilized by the computer system, including, for example, a native home directory provided by the operating system of a server 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.[019] The computer system 1000 running a calendar application can accept one or more input transmissions through one or more input interfaces from a client device 130. In one example, the computer system 1000 can accept, through from a keyboard and/or a touch screen of a client device 130, a user input of a text comprising a sequence of alphanumeric and non-alphanumeric characters. In another example, computer system 1000 may accept, via a microphone from client device 130, a voice transmission, and then convert the voice input into text. In a further example, computer system 1000 may accept, via a video camera from client device 130, a video stream, and then convert the video stream into text. In another example, the computer system 1000 can acquire, via an image generating device, an image of an object focused by the image generating lens of the image generating device, and then convert the image into text. In some implementations, computer system 1000 may receive inputs of any of the aforementioned or other types via a network interface.

[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".[020] The computer system 1000 may then process the input stream to produce a string representing an input item, such as a calendar entry or memo. In some implementations, entered text may be split into two or more input items based on one or more predefined characters found in the text. For example, a divisor that indicates a boundary of an input item can be represented by a punctuation character, such as a comma (,). In another example, a divisor can be represented by two or more characters, such as a comma followed by a "newline" control character, two consecutive commas, or two consecutive "newline" control characters.

[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).[021] In some implementations, the input stream may be split into two or more input items before converting those items to text. In one example, a video stream containing images of objects supporting handwritten and/or typed text can be split into two or more input items, each item containing an image of a text supporting object. In another example, a static image of a text supporting object can be split into two or more images based on two or more distinct graphic dividers found within the image, such as lines or shapes that visually divide the text into several portions. In yet another example, an audio stream can be split into two or more portions based on two or more distinct audio splitters found within the audio stream (e.g., a preset sound, including audible and non-audible sounds; a phrase preset; or a silent fragment with a duration that exceeds a preset threshold).

[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.[022] The computer system 1000 can then analyze the input item to determine whether the input item contains a time reference and, therefore, whether the input item can be classified as representing a calendar entry or a memo. The computer system 1000 can utilize various methods of parsing the input item. In one example, computer system 1000 may store one or more time formats, such as, for example, MM/DD/YY, MM/DD/YYYY, and/or MM/DD/YYYY hh:mm:ss. Each format string can include one or more text fields and one or more separator symbols. A text field can be designed to store a defined number of characters from a predefined alphabet, and can represent a predefined part of a date and/or time (for example, the MM field can store two digits and can represent a month). In response to establishing that a portion of an inputted text corresponds to a predefined time format, computer system 1000 may decode the time reference based on the identified format, and store the time reference in a time data structure.

[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).[023] In one example, the time data structure may comprise a date (eg, including day, month, and year) and time of day (eg, including hours, minutes, and seconds). Alternatively, the time data structure can be represented by a POSIX-type time variable comprising an integer field containing a number of seconds elapsed from a predefined time in the past (e.g., midnight January 1, 1970). In some implementations, the time data structure may further comprise a time zone identifier. Alternatively, all time values may be stored by computer system 1000 in a predefined time zone, such as, for example, Coordinated Universal Time (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.[024] In one example, the computer system 1000 can detect relative time references represented by one or more predefined lexemes that indicate a day in relation to the current instant, such as, for example, today, tomorrow, etc. In another example, the computer system 1000 can recognize relative time references that can be represented by one or more predefined lexemes that indicate a time of day, such as, for example, morning, afternoon, evening, night, etc. In another example, computer system 1000 can recognize relative time references that can be represented by one or more predefined lexemes that indicate a day of the week, such as, for example, Sunday, Monday, Tuesday, 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.[025] In some implementations, the computer system 1000 can convert an imprecise relative textual time reference into a time data structure by applying one or more conversion rules and/or predefined configuration parameters that match time references inaccurate at times, such as, for example, "after lunch", "end of business", "end of day", 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.[026] In some implementations, the computer system 1000 may recognize one or more natural languages being used in the input transmission. Alternatively, one or more natural languages to be used in the input transmission may be specified as configuration parameters of the computer system 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.[027] As noted earlier in this document, in response to determining that an input item comprises a time reference, the computer system 1000 may classify the input item as representing a schedule record, and store in the record data structure of schedule the time identified by the time reference along with zero or more optional fields, as described in more detail in this document below. In response to a determination that an input item does not comprise a time reference, computer system 1000 may classify the input item as representing a memo, and store at least part of the text of the input item in the memo data structure, along with other optional fields, including the current time and one or more pointers to attachments.

[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.[028] In some implementations, the computer system 1000 can process the input item designated as representing a schedule record to extract one or more elements from the schedule record, such as, for example, a type identifier, a title, a description, a location of the event identified by the agenda entry, an initiator of the event, a list of participants for the event, a recurring schedule for the event, and/or one or more attachments.

[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.[029] The type identifier field can be represented by a numerical or string value that identifies the type of agenda entry, for example, appointment, meeting request, reminder, etc. The title field can be represented by an alphanumeric string that contains a human-readable identifier of the event referenced by the agenda entry, such as, for example, "Project Status Meeting", "Working Lunch", etc. The description field may be represented by an alphanumeric string that contains human readable information related to the event, such as, for example, a meeting agenda. The location field may be represented by an alphanumeric string containing a human readable description of the location of the event, such as, for example, "Conference Room 100". In some implementations, the location field may be represented by an identifier in a data structure in an external system, such as an office space management system. The event initiator field can be represented by an alphanumeric string that contains an identifier of the person initiating the event (such as the chair of the meeting). In some implementations, the event identifier field may be represented by an identifier of a data structure in an external system, such as a user directory (for example, an LDAP directory). The participant list can be represented by a list of alphanumeric strings that contain event participant identifiers (such as, for example, meeting participants). In some implementations, an event participant identifier may be represented by an identifier of a data structure in an external system, such as a user directory (for example, an LDAP directory). The recurring schedule field can be represented by a list of event dates and times, and/or one or more recurrence attributes (eg, weekly, monthly, etc.). An attachment can be provided via a file of an arbitrary type, such as text, audio stream, video stream, still image, 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.[030] Upon receipt of a user interface command, the computer system 1000 can represent, on a client device, one or more calendar records and/or memos through various views that include, for example, viewing the calendar and viewing from laptop computer.

[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.[031] The agenda view can comprise one or more agenda records represented on a screen with visual references to one or more time indicators. In one example, as illustrated schematically by Fig. 3a, the agenda view 300 may comprise one or more week views 310. The week view 310 may comprise up to seven visually distinct screen areas corresponding to days of the week (daily views 312). Each day view can be visually divided into several 314 screen areas corresponding to times of day. One or more time-of-day values can be placed within a day view. One or more calendar entries 316 may be displayed within a day view 312. In another example, as illustrated schematically by Fig. 3b, the calendar view 300 may comprise one or more monthly views 320. The monthly view 320 may comprise a plurality of weekly views 310. The weekly view 310 may comprise up to seven visually distinct screen areas corresponding to the days of the week (daily views 312). Each day view can be visually divided into several 314 screen areas corresponding to the times of day. One or more time-of-day values can be placed within a day view. One or more calendar records 316 may be shown within a day view 312. In a further example, the calendar view may comprise quarterly view, yearly view, and/or other views.

[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.[032] The portable computer view comprises one or more memos represented on a screen. In one example, as illustrated schematically by Fig. 4a, one or more memos 410 represented within laptop computer 400 may be stored alphabetically and/or by title/subject. In another example, as illustrated schematically by Fig. 4b, one or more memos represented within laptop computer 400 may be chronologically stored by date at which the memo was created or modified.

[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.[033] In some implementations, the computer system 1000 may represent one or more calendar events and one or more memos in a mixed view, for example, selecting and/or sorting calendar events and memos by title, keyword, author , and/or date and time of creation or modification of the calendar event or memo.

[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.[034] In some implementations, the computer system 1000 may accept user input that edits an existing calendar entry or an existing memo. In one example, in response to acceptance of user input editing a memo, computer system 1000 may determine that the newly added text comprises a time reference. Following such a determination, computer system 1000 may convert the memo into a schedule record, and store in the schedule record data structure the time identified by the time reference along with zero or more optional fields, as described in greater detail. earlier in this document.

[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.[035] Fig. 5 depicts a flowchart of one embodiment of a method 500 for processing incoming transmissions from organizer applications. Method 500 may be performed by a computer system that may comprise hardware (e.g., circuitry, dedicated logic, and/or programmable logic), software (e.g., instructions executable in a computer system to perform hardware simulation), or a combination of these. Method 500 and/or each of its individual functions, routines, subroutines, or operations may be performed by one or more physical processors of the computer system executing the method. Two or more functions, routines, subroutines, or operations of method 500 may be performed in parallel or in an order that differs from the order described above.

[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.[036] Processing may begin by the computer system receiving, at block 510, an input transmission through one or more input interfaces of a client device. In one example, the computer system may accept, via a keyboard and/or a touch screen of a client device, user input of text comprising a sequence of alphanumeric and non-alphanumeric characters. In another example, the computer system may accept, via a microphone on the client device, a voice transmission. In another example, the computer system may accept, via a video camera on the client device, a video stream. In yet another example, the computer system may acquire, via an image generating device, an image of an object focused by the image generating lens of the image generating device. In some implementations, the computer system may receive input of any of the above or other types through a network interface.

[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.[037] At block 520, the computer system may process the input transmission to produce a sequence of characters representing an input item, such as a calendar entry or a memo. As noted earlier in this document, one or more non-text input streams can be converted to text. The incoming stream can be split into two or more input items based on one or more predefined textual, graphic and/or other dividers.

[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.[038] In response to the determination, at block 530, that the input item comprises a time reference, the computer system may continue processing at block 540; otherwise, the method may branch to block 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.[039] In block 540, the computer system can create and store in its memory a new agenda record using a data structure of agenda records. The schedule record may comprise an identifier of a time referenced by the time reference. In some implementations, the computer system may further process the input item designated as representing a calendar entry to extract one or more elements, such as, for example, a type identifier, a title, a description, a location of the identified event. by the agenda entry, an event initiator, an event attendee list, recurring event scheduling, and/or one or more attachments, as described in greater detail earlier in this document.

[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.[040] At block 550, the computer system can create and store in its memory a new memo using a memo data structure. The memo may comprise at least part of the entry item's text. In some implementations, the computer system may further process the input item designated as representing a memo to extract one or more elements, such as, for example, a title, a subject, and/or one or more attachments, as described in greater detail. details in this document earlier.

[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.[041] At block 560, the computer system may receive user input that selects a calendar view or a portable computer view for representing one or more calendar records or memos.

[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.[042] In block 570, the computer system can represent a view of the agenda, as described in greater detail in this document earlier. At block 580, the computer system may represent a portable computer display, as described in greater detail hereinbefore. In response to the completion of operations referenced by blocks 570 or 580, the method may terminate.

[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.[043] Fig. 6 depicts an exemplary computer system 100 capable of executing instructions that cause the computer to perform one or more of the methods described herein. In some embodiments, computer system 100 may correspond to one or more servers 110 and/or client devices of 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.[044] In some embodiments, the computer system 100 may be connected (for example, via a network, a Local Area Network (LAN), an intranet, an extranet, or the Internet) to other computer systems. Computing system 100 can operate in the capacity of a server or client computer in a client-server environment, or as a peer computer in a peer-to-peer or distributed network environment. The computer system 100 may be provided by a personal computer (PC), a tablet PC, a digital set-top box (STB), a Personal Digital Assistant (PDA), a cell phone, a web appliance, a server, a router, switch or network bridge, or any device capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that device.

[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).[045] In a further aspect, the computer system 100 may include a processor 1002, volatile memory 1004 (for example, random access memory (RAM)), non-volatile memory 1006 (for example, read-only memory ( ROM) or electrically erasable programmable ROM (EEPROM)), and a secondary memory 1016 (e.g., data storage device), which can communicate with each other via a bus 1008. The processor 1002 can be provided by a or more processors such as a general purpose processor (such as, for example, a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long word microprocessor (VLIW), a microprocessor that implements other types of instruction sets, or a microprocessor that implements a combination of instruction set types) or a specialized processor (such as, for example, an application-specific integrated circuit (ASIC) , a field programmable gate array (FPGA), a digital signal processor (DSP), or a network processor).

[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).[046] The computer system 100 may further include a network interface device 1022. The computer system 100 may also include a video display unit 1010 (for example, an LCD), an alphanumeric input device 1012 (for example, a keyboard), a pointing device 1014 (for example, a mouse), and an audio output device 1020 (for example, a speaker).

[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.[047] The secondary memory 1016 may include a non-transient computer-readable storage medium 1024 in which calendar application instructions 120, 125 may be stored. Calendar application instructions 120, 125 may also reside, in whole or in part, within main memory 1004 and/or within processor 1002 during execution by computer system 1000, whereby main memory 1004 and processor 1002 may also constitute machine-readable storage media. Although computer-readable storage medium 1024 is shown in illustrative embodiment as a single medium, the term "computer-readable storage medium" shall include a single medium or multiple media (e.g., a centralized or distributed database, and /or caches and associated servers) that stores the one or more sets of executable instructions. The term "computer-readable storage medium" shall also include any non-transient medium that is capable of storing or encoding a set of instructions for execution by a computer that causes the computer to execute any one or more of the methods described in this document. . The term "computer readable storage medium" shall include but not limited to solid state memory, optical media and magnetic media.

[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.[048] The methods, components and features described in this document can be implemented by discrete hardware components or can be integrated into the functionality of other hardware components such as ASICs, FPGAs, DSPs or similar devices. Furthermore, methods, components and features can be implemented by firmware modules or functional circuits within hardware devices. The methods, components and features can be implemented in any combination of hardware devices and software components, or in software only.

[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.[049] Unless specifically mentioned otherwise, terms such as "updating", "identifying", "determining", "transmitting", "assigning", or similar, refer to actions and processes performed or implemented by systems computational processes that manipulate and transform data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system's registers and memories or other similar storage, transmission, or display devices.

[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.[050] Modalities described in this document also refer to equipment to perform the methods described in this document. This equipment may be specially constructed for the required purpose, or it may comprise a general purpose computer system selectively programmed by a computer program stored in the computer system. Such a computer program may be stored on a non-transient computer readable storage medium.

[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.[051] The methods and illustrated examples described in this document are not inherently related to any specific computer or other equipment. Various general purpose systems can be used in accordance with the teachings described in this document, or it may be convenient to build more specialized equipment to perform the necessary functions, routines, subroutines or method operations. The structure required for a variety of these systems will appear as shown in the description above.

[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.[052] The above description is intended to be illustrative and not restrictive. While the present disclosure has been described with reference to specific examples and illustrative embodiments, it will be recognized that the present disclosure is not limited to the described embodiment. The scope of the disclosure shall be determined by reference to the following claims, together with the total scope of equivalents to which the claims are entitled.

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.1. Method for processing incoming transmissions of calendar applications comprising: receiving, by a computer system, a first incoming transmission comprising at least one of: a text transmission, an image, a video transmission or an audio transmission ; processing the first input stream to produce a string; in response to determining that the string does not comprise time references, storing, in a first data structure of a first type, a memo comprising at least part of the first string; receiving a second incoming transmission modifying the memo; processing the second input stream to produce a second string; characterized in that in response to determining that the second string comprises an imprecise relative time reference that refers to an imprecise time using an expression indicating a user action, converting the memo into a calendar entry; convert, applying one or more predefined conversion rules, the relative imprecise time reference into an absolute time reference; storing, in a second data structure of a second type, the schedule record comprising the absolute time reference; parsing the second string to produce one or more data items representing at least one of: a calendar entry type identifier, a calendar record title, a calendar record description, a location of an identified event by the agenda record, an identifier of an initiator of the event identified by the agenda record, a list of participants in the event identified by the agenda record; and storing the one or more data items in the second data structure. 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.2. Method, according to claim 1, characterized by further comprising storing a pointer to an attachment in at least one of: the first data structure or the second data structure. 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.3. Method, according to claim 1, CHARACTERIZED by further comprising storing a current time in at least one of: the first data structure or the second data structure. 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.4. Method, according to claim 1, CHARACTERIZED by the fact that the time reference comprises at least one of: a date, an hour, a minute and a second, or a time zone identifier. 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.5. Method, according to claim 1, CHARACTERIZED by the fact that the time reference comprises at least one of: an initial instant of an event identified by the agenda record, a final instant of the event identified by the agenda record, or a duration of the event identified by the agenda entry. 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.6. Method, according to claim 1, CHARACTERIZED by the fact that processing the input transmission comprises converting the image into a sequence of characters. 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.7. Method, according to claim 1, characterized by further comprising representing at least one of at least part of the first data structure or at least part of the second data structure in one of: an agenda view or a computer view portable. 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.8. Method, according to claim 7, CHARACTERIZED by the fact that the representation comprises the representation of at least part of the first data structure with a graphic reference to a time indicator. 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.9. System comprising: a memory; and a memory-coupled processor, the processor configured to: receive a first input stream comprising at least one of: a text stream, an image, a video stream, or an audio stream; processing the first input stream to produce a string; in response to determining that the string does not comprise time references, storing, in a first data structure of a first type, a memo comprising at least part of the first string; receiving a second incoming transmission modifying the memo; processing the second input stream to produce a second string; characterized in that in response to determining that the second string comprises an imprecise relative time reference that refers to an imprecise time using an expression indicating a user action, converting the memo into a calendar entry; convert, applying one or more predefined conversion rules, the relative imprecise time reference into an absolute time reference; storing, in a second data structure of a second type, the schedule record comprising the absolute time reference; parsing the second string to produce one or more data items representing at least one of: a calendar entry type identifier, a calendar record title, a calendar record description, a location of an identified event by the agenda record, an identifier of an initiator of the event identified by the agenda record, a list of participants in the event identified by the agenda record; and storing the one or more data items in the second data structure. 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.10. System, according to claim 9, CHARACTERIZED by the fact that the processor is further configured to represent at least one of at least part of the first data structure or at least part of the second data structure in one of: an agenda view or a laptop visualization. 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.11. Non-transient computer-readable storage medium, comprising executable instructions that, when executed by a computer system, cause the computer system to: receive a first incoming transmission comprising at least one of: a text transmission, a image, a video stream or an audio stream; process the first input stream to produce a string; in response to determining that the string does not comprise time references, storing, in a first data structure of a first type, a memo comprising at least part of the first string; receive a second incoming transmission modifying the memo; process the second input stream to produce a second string; characterized in that in response to determining that the second string comprises an imprecise relative time reference that refers to an imprecise time using an expression indicating a user action, converts the memo into a calendar entry; convert, applying one or more predefined conversion rules, the imprecise relative time reference into an absolute time reference; store, in a second data structure of the second type, the diary record comprising the absolute time reference; parse the second string to produce one or more data items that represent at least one of: a calendar entry type identifier, a calendar entry title, a calendar entry description, a location of an identified event by the agenda record, an identifier of an initiator of the event identified by the agenda record, a list of participants in the event identified by the agenda record; and store the one or more data items in the second data structure. 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.12. Non-transient computer-readable storage medium, according to claim 11, further comprising executable instructions that cause the computational system to: store a pointer to an attachment in at least one of: the first data structure or the second data structure. 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.13. Non-transient computer-readable storage medium, according to claim 11, CHARACTERIZED in that the processing of the input transmission comprises converting the image into a sequence of characters. 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.14. Non-transient computer-readable storage medium, according to claim 11, further comprising executable instructions that make the computational system: represent at least one of at least part of the first data structure or at least part of the second data structure into one of: a calendar view or a laptop view.
BR112015025636-8A 2013-04-10 2013-04-10 METHOD, SYSTEM AND MEDIA OF NON-TRANSITORY COMPUTER READABLE STORAGE FOR PROCESSING INPUT TRANSMISSIONS FROM CALENDAR APPLICATIONS BR112015025636B1 (en)

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 (en) 2017-07-18
BR112015025636A8 BR112015025636A8 (en) 2019-12-17
BR112015025636B1 true BR112015025636B1 (en) 2023-03-14

Family

ID=51689806

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112015025636-8A BR112015025636B1 (en) 2013-04-10 2013-04-10 METHOD, SYSTEM AND MEDIA OF NON-TRANSITORY COMPUTER READABLE STORAGE FOR PROCESSING INPUT TRANSMISSIONS FROM CALENDAR APPLICATIONS

Country Status (9)

Country Link
US (2) US11074409B2 (en)
EP (1) EP2984574A4 (en)
JP (1) JP2016524733A (en)
KR (2) KR20150143600A (en)
CN (1) CN105247501B (en)
BR (1) BR112015025636B1 (en)
CA (2) CA3199033A1 (en)
RU (1) RU2636691C2 (en)
WO (1) WO2014168502A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016524733A (en) 2013-04-10 2016-08-18 ラスラン・アルベルトヴィチ・シガブトディノフ System and method for processing calendar application input streams
US11036919B2 (en) 2015-03-02 2021-06-15 Citrix Systems, Inc. Enabling file attachments in calendar events
CN106409295B (en) * 2015-07-31 2020-06-16 腾讯科技(深圳)有限公司 Method and device for recognizing time information from natural voice information
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)

* Cited by examiner, † Cited by third party
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 (en) * 1994-11-18 1996-06-07 Casio Comput Co Ltd Reading image processor
US7146381B1 (en) * 1997-02-10 2006-12-05 Actioneer, Inc. Information organization and collaboration tool for processing notes and action requests in computer systems
US6026410A (en) * 1997-02-10 2000-02-15 Actioneer, Inc. Information organization and collaboration tool for processing notes and action requests in computer systems
KR100348603B1 (en) * 1998-07-02 2002-08-13 엘지전자 주식회사 Memo registration and search method for a intellectual type personal information manegement system
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 (en) * 1999-02-04 2000-08-11 Matsushita Electric Ind Co Ltd Recognition and processing device
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 (en) * 2001-01-08 2004-04-03 엘지전자 주식회사 Method of stroing data in a personal information terminal
JP2002215541A (en) 2001-01-23 2002-08-02 Needs Creator Kk Information management system
JP2002297847A (en) * 2001-03-28 2002-10-11 Just Syst Corp Schedules management device, schedule management method and program for making computer execute the method
JP2003044415A (en) 2001-07-26 2003-02-14 Nec Saitama Ltd Terminal device and program
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 (en) * 2002-07-09 2004-02-12 Sharp Corp Data input device, data input program, and recording medium recorded with the data input program
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
WO2005048188A2 (en) * 2003-11-11 2005-05-26 Sri International Method and apparatus for capturing paper-based information on a mobile computing device
FI115274B (en) * 2003-12-19 2005-03-31 Nokia Corp Electronic device e.g. palm computer selects language package for use in voice user interface used for controlling device functions
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 (en) 2004-10-18 2009-12-16 オムロン株式会社 Program for creating schedule information, information processing apparatus, and method for creating schedule information
KR20060075986A (en) 2004-12-29 2006-07-04 삼성전자주식회사 Apparatus and method for structural managing and automatic performing of schedules
JP2006222727A (en) 2005-02-10 2006-08-24 Matsushita Electric Ind Co Ltd Mobile phone device
FI20055111A0 (en) * 2005-03-11 2005-03-11 Nokia Corp Creating information for a calendar application in an electronic device
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
WO2007121329A1 (en) * 2006-04-12 2007-10-25 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
WO2008102376A2 (en) * 2007-02-21 2008-08-28 Hughes Systique 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 (en) * 2007-10-10 2009-04-30 Nec Corp Schedule registration support system, schedule registration support method and program
KR101414465B1 (en) * 2007-10-26 2014-07-03 에스케이플래닛 주식회사 A communication terminal apparatus and schedule management method using by it
US7970793B2 (en) * 2008-02-01 2011-06-28 International Business Machines Corporation Generating, and updating calendar events from non-calendar sources
JP2009218771A (en) 2008-03-10 2009-09-24 Nec Corp Personal digital assistant, program, and schedule management method
US8887066B1 (en) * 2008-04-02 2014-11-11 Facebook, Inc. Communicating plans for users of a social networking system
JP5402102B2 (en) 2008-07-11 2014-01-29 カシオ計算機株式会社 Schedule management apparatus and schedule management program
US20100331043A1 (en) * 2009-06-23 2010-12-30 K-Nfb Reading Technology, Inc. Document and image processing
US8868427B2 (en) * 2009-12-11 2014-10-21 General Motors Llc System and method for updating information in electronic calendars
US20110141855A1 (en) * 2009-12-11 2011-06-16 General Motors Llc System and method for updating information in electronic calendars
JP2011128927A (en) 2009-12-18 2011-06-30 Fujitsu Ltd Information terminal, information processing method, and computer program
US8346589B1 (en) * 2010-01-27 2013-01-01 Google Inc. Just-in-time conference room scheduling
US9824126B2 (en) * 2010-02-15 2017-11-21 Blackberry 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
US8370767B2 (en) * 2010-06-22 2013-02-05 Microsoft Corporation List authoring surface
US9009592B2 (en) * 2010-06-22 2015-04-14 Microsoft Technology Licensing, Llc Population of lists and tasks from captured voice and audio content
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 (en) * 2011-07-19 2013-02-04 Sony Corp Optical oscillation device and recording unit
KR101870773B1 (en) 2011-08-31 2018-06-26 삼성전자 주식회사 Method and apparatus for managing schedule using optical character reader
CN102945074B (en) * 2011-10-12 2016-04-27 微软技术许可有限责任公司 List and task is filled according to caught voice and audio content
TWI494877B (en) * 2012-02-13 2015-08-01 Htc Corp 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
US20150254518A1 (en) * 2012-10-26 2015-09-10 Blackberry Limited Text recognition through images and video
US20140146200A1 (en) * 2012-11-28 2014-05-29 Research In Motion Limited Entries to an electronic calendar
JP2016524733A (en) 2013-04-10 2016-08-18 ラスラン・アルベルトヴィチ・シガブトディノフ System and method for processing calendar application input streams
US9760644B2 (en) * 2013-04-17 2017-09-12 Google Inc. Embedding event creation link in a document
US20150193392A1 (en) * 2013-04-17 2015-07-09 Google Inc. User Interface for Quickly Checking Agenda and Creating New Events
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

Also Published As

Publication number Publication date
US11074409B2 (en) 2021-07-27
CN105247501A (en) 2016-01-13
EP2984574A4 (en) 2016-10-19
CA3199033A1 (en) 2014-10-16
RU2636691C2 (en) 2017-11-27
KR20190107682A (en) 2019-09-20
RU2015143049A (en) 2017-05-15
KR20150143600A (en) 2015-12-23
CA2909155A1 (en) 2014-10-16
EP2984574A1 (en) 2016-02-17
BR112015025636A8 (en) 2019-12-17
WO2014168502A1 (en) 2014-10-16
KR102149478B1 (en) 2020-08-28
BR112015025636A2 (en) 2017-07-18
CN105247501B (en) 2018-07-24
US20160055131A1 (en) 2016-02-25
JP2016524733A (en) 2016-08-18
US20210334460A1 (en) 2021-10-28

Similar Documents

Publication Publication Date Title
US10853584B2 (en) Method and apparatus for expressing time in an output text
Poorthuis et al. Making big data small: strategies to expand urban and geographical research using social media
US20210334460A1 (en) Systems and methods for processing input streams of calendar applications
US20150186478A1 (en) Method and System for Tree Representation of Search Results
WO2022001901A1 (en) Message reminding method and apparatus, and electronic device
WO2018022439A1 (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 (en) Schedule method to set up and device in a kind of instant messaging
US20130103772A1 (en) Method for an instant messaging system and instant messaging system
ES2814957T3 (en) Systems and methods for file management by mobile computing devices
US20180349787A1 (en) Analyzing communication and determining accuracy of analysis based on scheduling signal
WO2020211352A1 (en) Item reminding method and apparatus based on semantic analysis, and computer device
US20190392036A1 (en) Content analyzer and recommendation tool
JP6554512B2 (en) System and method for processing calendar application input streams
US11531707B1 (en) Personalized search based on account attributes
CN110348763A (en) A kind of electronic reading management system
Ibrahim et al. Mobile Qibla and prayer time finder using external GPS and digital compass
Lai Fitting Race in a Box.
Martin A mixture of support and unease in a South Carolina crowd
King Data Science: A Study from the Scientometric, Curricular, and Altmetric Perspectives
Saltzman Fides est servanda: Keeping the faith
CN116954939A (en) Conference reminding method, device, medium and electronic equipment
CN110909139A (en) Question answering method and device and electronic equipment
Maris-Wolf The Maroons of Prospect Bluff and Their Quest for Freedom in the Atlantic World

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