# US 12,118,305 B2 · Systems and methods for processing input streams of calendar applications

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,118,305 B2
- Document ID: US12118305B2
- Status: Granted
- Kind: B2
- Application number: 17/317,545
- Filed: 2021-05-11
- Published: 2021-10-28
- Granted: 2024-10-15
- Earliest claimed: 2021-05-11
- Applicants: Ruslan Shigabutdinov
- Inventors: Ruslan Shigabutdinov
- Web page: https://patentgrep.com/patent/US12118305B2

## CPC

- G06F 40/279: Recognition of textual entities
- G06F 40/205: Parsing
- G06Q 10/109: Time management, e.g. calendars, reminders, meetings or time accounting
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

Systems and methods for processing input streams of calendar applications. An example method, performed by a computer system, may comprise receiving an input stream; processing the input stream to produce a sequence of characters; responsive to determining that the sequence of characters comprises a time reference, storing, in a memory, a calendar entry in a first data structure of a first type, the calendar entry comprising an identifier of a time referenced by the time reference; responsive to determining that the sequence of characters does not comprise a time reference, storing, in the memory, a memorandum in a second data structure of a second type, the memorandum comprising at least part of the sequence of characters.

## Claims

### Claim 1

A method, comprising:
receiving, by an image capturing device of a computer system, an input image, wherein the image capturing device is provided by one of:
a still image camera or a video camera;
processing the input image to produce a first sequence of characters of a natural language;
responsive to determining that the first sequence of characters comprises no time references, storing, in a first data structure of a first type, a memorandum comprising at least part of the first sequence of characters;
receiving a user input modifying the memorandum;
processing the user input to produce a second sequence of characters;
responsive to determining that the second sequence of characters comprises an imprecise relative time reference, converting the memorandum stored in the first data structure of the first type into a calendar entry stored in a second data structure of a second type;
converting, by applying one or more pre-defined conversion rules, the imprecise relative time reference into an absolute time reference;
storing, in the second data structure of the second type, an identifier of a time referenced by the absolute time reference;
storing, in the second data structure, an identifier of an event and an identifier of a location of the event;
parsing the second sequence of characters to produce a data item representing a type identifier of the calendar entry, wherein the type identifier is provided by one of: an appointment, a meeting request, or a reminder; and
rendering at least part of the first data structure and at least part of the second data structure in a mixed view showing calendar entries and memorandums.

### Claim 2 (depends on 1)

The method of claim 1, further comprising: storing a pointer to an attachment in at least one of: the first data structure or the second data structure.

### Claim 3 (depends on 1)

The method of claim 1, further comprising: storing a current time in at least one of: the first data structure or the second data structure.

### Claim 4 (depends on 1)

The method of claim 1, wherein the absolute time reference comprises at least one of: a date, an hour, a minute, a second, or a time zone identifier.

### Claim 5 (depends on 1)

The method of claim 1, wherein the absolute time reference identifies at least one of: a start time of the event identified by the calendar entry, an end time of the event identified by the calendar entry, or a duration of the event identified by the calendar entry.

### Claim 6 (depends on 1)

The method of claim 1, wherein the rendering further comprises: rendering at least part of the second data structure with a visual reference to a time indicator.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
splitting the input image into two or more input items based on a graphic divider visually dividing the input image.

### Claim 8 (depends on 1)

The method of claim 1, wherein the second data structure comprises at least one of: a time of the event, a title of the event, a description of the event, an initiator of the event, a list of participants of the event, or a recurring schedule of the event.

### Claim 9 (depends on 1)

The method of claim 1, wherein the second data structure comprises a start time of the event, an end time of the event, and a timezone identifier.

### Claim 10 (depends on 1)

The method of claim 1, wherein the second data structure comprises an identifier of a participant of the event, wherein the identifier of the participant references a data structure in a user directory.

### Claim 11 (depends on 1)

The method of claim 1, wherein the second data structure comprises an identifier of an initiator of the event, wherein the identifier of the initiator references a data structure in a user directory.

### Claim 12 (depends on 1)

The method of claim 1, wherein the first data structure comprises at least one of: an identifier of a memorandum, a creation time of the memorandum, a modification time of the memorandum, a title of the memorandum, or a text of the memorandum.

### Claim 13 (depends on 1)

The method of claim 1, wherein the imprecise relative time reference is relative to a specified event.

### Claim 14 (depends on 1)

The method of claim 1, wherein processing the input image to produce a first sequence of characters further comprises:
recognizing one or more natural languages used in the input image.

### Claim 15 (depends on 1)

The method of claim 1, wherein the calendar entries and the memorandums are sorted by respective titles of the calendar entries and the memorandums.

### Claim 16 (depends on 1)

The method of claim 1, wherein the calendar entries and the memorandums are sorted by respective modification times of the calendar entries and the memorandums.

### Claim 17 (depends on 1)

The method of claim 1, further comprising:
splitting the first sequence of characters into two or more input items based on a pre-defined combination of a punctuation character and a control character.

### Claim 18

A system comprising:
a memory;
an image capturing device provided by one of: a still image camera or a video camera; and
a processor coupled to the memory and to the image capturing device, the processor configured to:
receive, by the image capturing device, an input image;
process the input image to produce a first sequence of characters of a natural language;
responsive to determining that the first sequence of characters comprises no time references, store, in a first data structure of a first type, a memorandum comprising at least part of the first sequence of characters;
receive a user input modifying the memorandum;
process the user input to produce a second sequence of characters;
responsive to determining that the second sequence of characters comprises a time reference, convert the memorandum stored in the first data structure of the first type into a calendar entry stored in a second data structure of a second type;
store, in the second data structure of the second type, an identifier of a time referenced by the time reference;
store, in the second data structure, an identifier of an event and an identifier of a location of the event;
parse the second sequence of characters to produce a data item representing a type identifier of the calendar entry, wherein the type identifier is provided by one of: an appointment, a meeting request, or a reminder; and
render at least part of the first data structure and at least part of the second data structure in a mixed view showing calendar entries and memorandums.

### Claim 19 (depends on 18)

The system of claim 18, wherein the rendering further comprises: rendering at least part of the second data structure with a visual reference to a time indicator.

### Claim 20

A computer-readable non-transitory storage medium comprising executable instructions that, when executed by a computer system, cause the computer system to:
receive, by an image capturing device of the computer system, an input image, wherein the image capturing device is provided by one of: a still image camera or a video camera;
process the input image to produce a first sequence of characters of a natural language;
responsive to determining that the first sequence of characters comprises no time references, store, in a first data structure of a first type, a memorandum comprising at least part of the first sequence of characters;
receive a user input modifying the memorandum;
process the user input to produce a second sequence of characters;
responsive to determining that the sequence of characters comprises an imprecise relative time reference, convert the memorandum stored in the first data structure of the first type into a calendar entry stored in a second data structure of a second type;
convert, by applying one or more pre-defined conversion rules, the imprecise relative time reference into an absolute time reference;
store, in a second data structure of a second type, the calendar entry comprising an identifier of a time referenced by the absolute time reference;
store, in the second data structure, an identifier of an event and an identifier of a location of the event;
parse the second sequence of characters to produce a data item representing a type identifier of the calendar entry, wherein the type identifier is provided by one of: an appointment, a meeting request, or a reminder; and
render at least part of the first data structure and at least part of the second data structure in a mixed view showing calendar entries and memorandums.
