Systems and methods for processing input streams of calendar applications
Summary by NHIP
Calendar Entry Processing
The system processes input images to generate character sequences and stores them as memoranda or calendar entries based on detected time references. It converts imprecise relative time references into absolute references using pre-defined rules and links event locations to an office space management system record.
Claim Score by NHIP
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.

Term
6.5 yearsleft in the term
Expires 10 April 2033.
- Priority and filed
- Granted
- Today
- Expires
20 claims: 3 independent, 17 dependent
- 1A 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, wherein the natural language is specified by a configuration parameter of the computer system;responsive to determining that the first sequence of characters comprises no time references, storing, in a 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, wherein the identifier of the location is provided by a reference to a record in an office space management system;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.
- 18Broadest claimClaim Score 23, narrow(NHIP)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, wherein the natural language is specified by a configuration parameter of the computer system;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, wherein the identifier of the location is provided by a reference to a record in an office space management system;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.
- 19A 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, wherein the natural language is specified by a configuration parameter of the computer system;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, wherein the identifier of the location is provided by a reference to a record in an office space management system;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.
Independent claims3
59 paragraphs in 5 sections, as filed
CROSS-REFERENCE TO RELATED APPLICATIONS
This is a national phase application filed under 35 U.S.C. § 371 as a national stage of PCT/RU2013/000306, titled “Systems and Methods for Processing Input Streams of Calendar Applications,” filed Apr. 10, 2013, the content of which is hereby incorporated by reference in its entirety.
TECHNICAL FIELD
The present disclosure is generally related to computer systems, and is more specifically related to systems and methods for processing heterogeneous input streams of calendar applications.
BACKGROUND
Calendar applications may be employed to facilitate event scheduling and tracking for 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.
BRIEF DESCRIPTION OF THE DRAWINGS
The present disclosure is illustrated by way of examples, and not by way of limitation, and may be more fully understood with references to the following detailed description when considered in connection with the figures, in which:
<figref idref="DRAWINGS">FIG. 1</figref> depicts a network-level diagram of one illustrative embodiment of a computer system executing a calendar application in accordance with one or more aspects of the present disclosure;
<figref idref="DRAWINGS">FIG. 2</figref> schematically illustrates several data structures supported by the computer system executing a calendar application in accordance with one or more aspects of the present disclosure;
<figref idref="DRAWINGS">FIGS. 3<i>a</i>-3<i>b </i></figref>schematically illustrate examples of calendar views rendered by the computer system executing a calendar application in accordance with one or more aspects of the present disclosure;
<figref idref="DRAWINGS">FIGS. 4<i>a</i>-4<i>b </i></figref>schematically illustrate examples of notebook views rendered by the computer system executing a calendar application in accordance with one or more aspects of the present disclosure;
<figref idref="DRAWINGS">FIG. 5</figref> depicts a flow diagram of a method for processing inputs of calendar applications, in accordance with one or more aspects of the present disclosure; and
<figref idref="DRAWINGS">FIG. 6</figref> depicts a block diagram of an illustrative computer system operating in accordance with examples of the present disclosure.
DETAILED DESCRIPTION
Described herein are methods and systems for processing heterogeneous input streams of calendar applications. A “calendar application” herein shall refer to an application facilitating event scheduling and tracking for individual users and/or groups of users.
Calendar applications described herein may be executed by computer systems comprising one or more computing devices, including servers and client devices, which may be interconnected over one or more networks. Users may access a calendar application by various client computing devices, including, e.g., personal computers and mobile devices, such as smart phones. A client device may input information over a variety of interfaces, including, e.g., a keyboard, a touch screen, a network interface, a microphone, a video camera, a still image camera, and/or a microphone. Hence, an input stream of a calendar application may be represented, e.g., by a text stream, one or more still images, a video stream, and/or an audio stream. A computer system executing a calendar application may convert non-textual inputs into text (e.g., image to text conversion using optical character recognition (OCR) methods, voice into text conversion, etc.).
In certain implementations, a computer system executing a calendar application may process one or more input streams to produce calendar entries and non-calendar textual items (memorandums). The computer system may then render, on a client device, calendar entries and memorandums via various views, including, e.g., calendar view and notebook view. Various aspects of the above referenced systems and methods are described in details herein below by way of examples, rather than by way of limitation.
<figref idref="DRAWINGS">FIG. 1</figref> depicts a network-level diagram of one illustrative embodiment of a computer system <b>1000</b> in accordance with one or more aspects of the present disclosure. The computer system <b>1000</b> may comprise one or more servers <b>110</b> executing server-side portions <b>120</b> of a calendar application. One or more client computers <b>130</b> executing client-side portions <b>125</b> of the calendar application may be connected to the server computer <b>110</b> over a plurality of interconnecting networks <b>115</b>. A “computer” herein shall refer to an apparatus including a processor, a memory, and at least one input/output (I/O) interface. A computer may be represented, e.g., by a server, a virtual machine running on a host computer system, a portable or desktop personal computer (PC), a tablet computer, or a smartphone. Further, 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 herein.
A “network” herein shall refer to a distributed communication system interconnecting two or more computers. A network may be represented, e.g., by a local area network (LAN), a wide area network (WAN), or a virtual private network (VPN). In certain implementations, the plurality of interconnecting networks <b>115</b> may include the Internet.
Functions of the computer system <b>1000</b> may be delivered to an end user via one or more client devices <b>130</b>, such as, for example, a portable or desktop personal computer (PC), a tablet computer, or a smartphone. In one example, one or more client devices <b>130</b> may provide user interface functions and communicate to one or more servers <b>110</b> which may perform client request processing, load balancing, client authentication, authorization, calendar entry storage and retrieval, billing, and other functions. These and other functions may be distributed among one or more servers <b>110</b> residing in one or more physical facilities.
In another example, at least some of the above listed server-side functions may be performed by one or more client devices <b>130</b>. In certain implementations, a client device <b>130</b> may perform at least a subset of its functions while not being connected to a server <b>110</b>. This processing mode is also referred to as the offline client operational mode.
Some of the above listed functions, such as, for example, client request processing, load balancing, client authentication, authorization, calendar entry storage and retrieval, and/or billing, may be referred to as pertaining to the server-side functionality. Other functions, such as, for example, accepting user input and/or rendering information in calendar and/or notebook views, may be referred to as pertaining to the client-side functionality. However, in certain implementations, the calendar system <b>1000</b> may include one or more computers performing 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. Hence, the client-side and server-side functionality designation as may be referenced herein is intended for illustration purposes having no bearing on operation of the components of the computer system <b>1000</b>.
In one example, the computer system <b>1000</b> may support a data model comprising calendar entries and memorandums, as schematically illustrated by <figref idref="DRAWINGS">FIG. 2</figref>. A calendar entry may be represented by a data structure <b>210</b> comprising an identifier <b>212</b> and a time <b>214</b>. In certain implementations, the identifier <b>212</b> may be provided by a human readable sequence of alphanumeric characters comprising a title and/or description of a calendar entry. Alternatively, the calendar entry identifier may be provided by an alphanumeric or non-alphanumeric identifier which is not intended to be human-readable.
In certain implementations, the time <b>214</b> may be represented by a start time of an event identified by the calendar entry and duration of the event. Alternatively, the time <b>214</b> may be represented by a start time and end time of the event. The start time and/or end time of the event may be represented by a date (e.g., comprising a day, a month, and a year) and time of day (e.g., comprising an hour, a minute, and a second). The time <b>214</b> may further comprise a time zone identifier.
The data structure <b>210</b> may further comprise a calendar entry title <b>216</b>, description <b>218</b>, location <b>220</b>, an identifier of an initiator <b>222</b> of the event identified by the calendar entry, a list of participants <b>224</b> of the event, recurring schedule <b>226</b>, and/or other fields. In certain implementations, the data structure <b>210</b> may comprise a type identifier <b>211</b> of the calendar entry. Examples of calendar entries represented by the data structure <b>210</b> may include appointments, meeting requests, reminders, etc. In certain implementations, the data structure <b>210</b> may comprise one or more pointers <b>228</b> to data sets which may be referred to as 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.
A memorandum may be represented by a data structure <b>240</b> comprising a memorandum text <b>248</b>. In certain implementations, the data structure <b>240</b> may further comprise a type identifier <b>241</b>, a memorandum identifier <b>242</b>, the time of creation and/or modification <b>244</b> of the memorandum, and/or a title <b>246</b> of the memorandum. The time <b>244</b> may be represented by a date (e.g., comprising a day, a month, and a year) and time of day (e.g., comprising an hour, a minute, and a second). The time <b>244</b> may further comprise a time zone identifier.
In certain implementations, the data structure <b>240</b> may comprise one or more pointers <b>250</b> to data sets which may be referred to as 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.
In certain implementations, the computer system <b>1000</b> may store the above described data structures in a relational database residing on one or more computers, including one or more servers <b>110</b> and/or one or more client devices <b>130</b>. In certain implementations, other methods of storing the above described data model, including, e.g., a hierarchical database, or one or more flat files, may be employed by the computer system <b>1000</b> for storing the calendar data according to the above described data model.
In certain implementations, the computer system <b>1000</b> may store a user directory associated with the calendar system in a directory server, such as a Lightweight Directory Access Protocol (LDAP) server. In certain implementations, other methods of storing the user directory, including, e.g., a native user directory provided by the operating system of a server <b>110</b>, may be employed by the computer system <b>1000</b>.
The computer system <b>1000</b> executing a calendar application may accept one or more input streams via one or more input interfaces of a client device <b>130</b>. In one example, the computer system <b>1000</b> may accept, via a keyboard and/or a touchscreen of a client device <b>130</b>, a user input of a text comprising a sequence of alphanumeric and non-alphanumeric characters. In another example, the computer system <b>1000</b> may accept, via a microphone of the client device <b>130</b>, a voice stream, and then convert the voice input into a text. In a further example, the computer system <b>1000</b> may accept, via a video camera of the client device <b>130</b>, a video stream, and then convert the video stream into a text. In a further example, the computer system <b>1000</b> may acquire, via an imaging device, an image of an object focused onto by the imaging lens of the imaging device, and then convert the image into a text. In certain implementations, the computer system <b>1000</b> may receive inputs of any of the above listed or other types via a network interface.
The computer system <b>1000</b> may then process the input stream to produce a sequence of characters representing an input item, such as a calendar entry or a memorandum. In certain implementations, the inputted text may be split into two or more input items based on one or more pre-defined characters found in the text. For example, a divider indicating a boundary of an input item may be represented by a punctuation character, such as a comma (.). In another example, a divider may be represented by two or more characters, such as a comma followed by a “new line” control character, two consecutive commas, or two consecutive “new line” control characters.
In certain implementations, the input stream may be split into two or more input items before converting those items into a text. In one example, a video stream containing images of objects bearing handwritten and/or typed text may be split into two or more input items, each item containing an image of one text bearing object. In another example, a still image of a text bearing object may be split into two or more images based on two or more distinctive graphical dividers found within the image, such as lines or shapes visually dividing the text into several portions. In a further example, an audio stream may be split into two or more portions based on two or more distinctive audio dividers found within the audio stream (e.g., a pre-defined sound, including audible and non-audible sounds; a pre-defined phrase; or a silent fragment having a duration exceeding a pre-defined threshold).
The computer system <b>1000</b> may then parse the input item to determine whether the input item contains a time reference, and hence whether the input item may be classified as representing a calendar entry or a memorandum. The computer system <b>1000</b> may employ various methods of parsing the input item. In one example, the computer system <b>1000</b> 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 may include one or more text fields and one or more separator symbols. A text field may be designated to store a defined number of characters from a pre-defined alphabet, and may represent a pre-defined part of a date and/or time (e.g., MM field may store two digits and may represent a month). Responsive to establishing that a portion of an inputted text matches a pre-defined time format, the computer system <b>1000</b> may decode the time reference based on the identified format, and store the time reference in a time data structure.
In one example, the time data structure may comprise a date (e.g., including a day, a month, and a year) and time of day (e.g., including an hour, a minute, and a second). Alternatively, the time data structure may be represented by a POSIX-style time variable comprising an integer field containing a number of seconds elapsed since a pre-defined time in the past (e.g., midnight 1 Jan. 1970). In certain implementations, the time data structure may further comprise a time zone identifier. Alternatively, all time values may be stored by the computer system <b>1000</b> in a pre-defined time zone, such as, for example, Universal Coordinated Time (UTC).
In one example, the computer system <b>1000</b> may detect relative time references represented by one or more pre-defined lexemes indicating a day relative to the current time, such as, e.g., today, tomorrow, etc. In another example, the computer system <b>1000</b> may recognize relative time references which may be represented by one or more pre-defined lexemes indicating a time of day, such as, e.g., morning, afternoon, evening, night, etc. In another example, the computer system <b>1000</b> may recognize relative time references which may be represented by or more pre-defined lexemes indicating a day of week, such as, e.g., Sunday, Monday, Tuesday, etc.
In certain implementations, the computer system <b>1000</b> may convert an imprecise relative textual time reference into a time data structure, by applying one or more pre-defined conversion rules and/or configuration parameters mapping imprecise time references to times, such as, for example, “after lunch,” “close of business,” “end of day,” etc.
In certain implementations, the computer system <b>1000</b> may recognize one or more natural languages being used in the input stream. Alternatively, one or more the natural languages to be used in the input stream may be specified as configuration parameters of the computer system <b>1000</b>.
As noted herein above, responsive to determining that an input item comprises a time reference, the computer system <b>1000</b> may classify the input item as representing a calendar entry, and store in the calendar entry data structure the time identified by the time reference along with zero or more optional fields, as described in more details herein below. Responsive to determining that an input item does not comprise a time reference, the computer system <b>1000</b> may classify the input item as representing a memorandum, and store in the memorandum data structure at least part of the text of the input item, along with other optional fields, including the current time and one or more pointers to attachments.
In certain implementations, the computer system <b>1000</b> may process the input item designated as a representing calendar entry to extract one or more calendar entry elements, such as, for example, a type identifier, a title, a description, a location of the event identified by the calendar entry, an initiator of the event, a list of participants of the event, recurring schedule of the event, and/or one or more attachments.
The type identifier field may be represented by a numeric or string value identifying the type of the calendar entry, for example, appointment, meeting request, reminder, etc. The title filed may be represented by an alphanumeric string containing a human readable identifier of the event referenced by the calendar entry, such as, for example “Project status meeting,” “Working lunch,” etc. The description filed may be represented by an alpha-numeric string containing human readable information related to the event, such as, e.g., a meeting agenda. The location filed may be represented by an alphanumeric string containing a human readable description of the event location, such as, for example, “Conference Room 100.” In certain implementations, the location field may be represented by an identifier of a data structure in an external system, such as an office space management system. The event initiator field may be represented by an alphanumeric string containing an identifier of the person initiating the event (such as, for example, the meeting chair). In certain implementations, the event initiator field may be represented by an identifier of a data structure in an external system, such as a user directory (e.g., an LDAP directory). The list of participants may be represented by a list of alphanumeric strings containing identifiers of participants of the event (such as, for example, the meeting attendees). In certain implementations, an event participant identifier may be represented by an identifier of a data structure in an external system, such as a user directory (e.g., an LDAP directory). The recurring schedule field may be represented by a list of dates and times of the event, and/or one or more recurrence attribute (e.g., weekly, monthly, etc.). An attachment may be provided by a file of an arbitrary type, such as text, audio stream, video stream, still image, etc.
Upon receiving a user interface command, the computer system <b>1000</b> may render, on a client device, one or more calendar entries and/or memorandums via various views, including, e.g., calendar view and notebook view.
The calendar view may comprise one or more calendar entries rendered on a screen with visual references to one or more time indicators. In one example, as schematically illustrated by <figref idref="DRAWINGS">FIG. 3<i>a</i></figref>, the calendar view <b>300</b> may comprise one or more week views <b>310</b>. The week view <b>310</b> may comprise up to seven visually distinct screen areas corresponding to days of the week (day views <b>312</b>). Each day view may be visually divided into several screen areas <b>314</b> corresponding to time of day. One or more time of day values may be placed within a day view. One or more calendar entries <b>316</b> may be shown within a day view <b>312</b>. In another example, as schematically illustrated by <figref idref="DRAWINGS">FIG. 3<i>b</i></figref>, the calendar view <b>300</b> may comprise one or more month views <b>320</b>. The month view <b>320</b> may comprise a plurality of week views <b>310</b>. The week view <b>310</b> may comprise up to seven visually distinct screen areas corresponding to days of the week (day views <b>312</b>). Each day view may be visually divided into several screen areas <b>314</b> corresponding to time of day. One or more time of day values may be placed within a day view. One or more calendar entries <b>316</b> may be shown within a day view <b>312</b>. In a further example, the calendar view may comprise quarter view, year view, and/or other views.
The notebook view may comprise one or more memorandums rendered on a screen. In one example, as schematically illustrated by <figref idref="DRAWINGS">FIG. 4<i>a</i></figref>, one or more memorandums <b>410</b> rendered within the notebook view <b>400</b> may be sorted alphabetically by title/subject. In another example, as schematically illustrated by <figref idref="DRAWINGS">FIG. 4<i>b</i></figref>, one or more memorandums rendered within the notebook view <b>400</b> may be sorted chronologically by the date of time of creation or modification of the memorandum.
In certain implementations, the computer system <b>1000</b> may render one or more calendar event and one or more memorandums in a mixed view, e.g., selecting and/or sorting calendar events and memorandums by title, keyword, author, and/or date and time of creation or modification of the calendar event or the memorandum.
In certain implementations, the computer system <b>1000</b> may accept a user input editing an existing calendar entry or an existing memorandum. In one example, responsive to accepting a user input editing a memorandum, the computer system <b>1000</b> may determine that the newly added text comprises a time reference. Following such a determination, the computer system <b>1000</b> may convert the memorandum into a calendar entry, and store in the calendar entry data structure the time identified by the time reference along with zero or more optional fields, as described in more details herein above.
<figref idref="DRAWINGS">FIG. 5</figref> depicts a flow diagram of one embodiment of a method <b>500</b> for processing input streams of calendar applications. The method <b>500</b> 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 on a computer system to perform hardware simulation), or a combination thereof. The method <b>500</b> 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 the method <b>500</b> may be performed in parallel or in an order which may differ from the order described above.
The processing may commence by the computer system receiving, at block <b>510</b>, an input stream via one or more input interfaces of a client device. In one example, the computer system may accept, via a keyboard and/or a touchscreen of a client device, a user input of a text comprising a sequence of alphanumeric and non-alphanumeric characters. In another example, the computer system may accept, via a microphone of the client device, a voice stream. In a further example, the computer system may accept, via a video camera of the client device, a video stream. In a further example, the computer system may acquire, via an imaging device, an image of an object focused onto by the imaging lens of the imaging device. In certain implementations, the computer system may receive inputs of any of the above listed or other types via a network interface.
At block <b>520</b>, the computer system may process the input stream to produce a sequence of characters representing an input item, such as a calendar entry or a memorandum. As noted herein above, one or more non-textual input streams may be converted into text. The input stream may be split into two or more input items, based on one or more pre-defined textual, graphical, and/or other type of divider.
Responsive to determining, at block <b>530</b>, that the input item comprises a time reference, the computer system may continue processing at block <b>540</b>; otherwise, the method may branch to block <b>550</b>.
At block <b>540</b>, the computer system may create and store in its memory a new calendar entry using a calendar entry data structure. The calendar entry may comprise an identifier of a time referenced by the time reference. In certain 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 event identified by the calendar entry, an initiator of the event, a list of participants of the event, recurring schedule of the event, and/or one or more attachments, as described in more details herein above.
At block <b>550</b>, the computer system may create and store its memory a new memorandum using a memorandum data structure. The memorandum may comprise at least part of the input item text. In certain implementations, the computer system may further process the input item designated as representing a memorandum to extract one or more elements, such as, for example, a title, a subject, and/or one or more attachments, as described in more details herein above.
At block <b>560</b>, the computer system may receive a user input selecting a calendar view or a notebook view for rendering one or more calendar entries or memorandums.
At block <b>570</b>, the computer system may render a calendar view, as described in more details herein above. At block <b>580</b>, the computer system may render a notebook view, as described in more details herein above. Responsive to completing the operations references by blocks <b>570</b> or <b>580</b>, the method may terminate.
<figref idref="DRAWINGS">FIG. 6</figref> depicts an example computer system <b>100</b> capable of executing instructions causing the computer to perform one or more of the methods described herein. In certain embodiments, the computer system <b>100</b> may correspond to one or more servers <b>110</b> and/or client devices of <figref idref="DRAWINGS">FIG. 1</figref>.
In certain embodiments, the computer system <b>100</b> may be connected (e.g., via a network, such as a Local Area Network (LAN), an intranet, an extranet, or the Internet) to other computer systems. The computer system <b>100</b> may operate in the capacity of a server or a client computer in a client-server environment, or as a peer computer in a peer-to-peer or distributed network environment. The computer system <b>100</b> may be provided by a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a server, a network router, switch or bridge, or any device capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that device.
In a further aspect, the computer system <b>100</b> may include a processor <b>1002</b>, a volatile memory <b>1004</b> (e.g., random access memory (RAM)), a non-volatile memory <b>1006</b> (e.g., read-only memory (ROM) or electrically-erasable programmable ROM (EEPROM)), and a secondary memory <b>1016</b> (e.g., a data storage device), which may communicate with each other via a bus <b>1008</b>. The processor <b>1002</b> may be provided by one 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 instruction word (VLIW) microprocessor, a microprocessor implementing other types of instruction sets, or a microprocessor implementing a combination of types of instruction sets) 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).
The computer system <b>100</b> may further include a network interface device <b>1022</b>. The computer system <b>100</b> also may include a video display unit <b>1010</b> (e.g., an LCD), an alphanumeric input device <b>1012</b> (e.g., a keyboard), a pointing device <b>1014</b> (e.g., a mouse), and an audio output device <b>1020</b> (e.g., a speaker).
The secondary memory <b>1016</b> may include a non-transitory computer-readable storage medium <b>1024</b> on which may be stored instructions of the calendar application <b>120</b>, <b>125</b>. Instructions of the calendar application <b>120</b>, <b>125</b> may also reside, completely or partially, within the main memory <b>1004</b> and/or within the processor <b>1002</b> during execution thereof by the computer system <b>1000</b>, hence, the main memory <b>1004</b> and the processor <b>1002</b> may also constitute machine-readable storage media. While the computer-readable storage medium <b>1024</b> is shown in the 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 associated caches and servers) that store the one or more sets of executable instructions. The term “computer-readable storage medium” shall also include any non-transitory medium that is capable of storing or encoding a set of instructions for execution by a computer that cause the computer to perform any one or more of the methods described herein. The term “computer-readable storage medium” shall include, but not be limited to, solid-state memories, optical media, and magnetic media.
The methods, components, and features described herein may be implemented by discrete hardware components or may be integrated in the functionality of other hardware components such as ASICS, FPGAs, DSPs or similar devices. In addition, the methods, components, and features may be implemented by firmware modules or functional circuitry within hardware devices. Further, the methods, components, and features may be implemented in any combination of hardware devices and software components, or only in software.
Unless specifically stated otherwise, terms such as “updating”, “identifying”, “determining”, “sending”, “assigning”, or the like, refer to actions and processes performed or implemented by computer systems 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 memories or registers or other such information storage, transmission or display devices.
Embodiments described herein also relate to an apparatus for performing the methods described herein. This apparatus may be specially constructed for the required purposes, 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 in a computer-readable non-transitory storage medium.
The methods and illustrative examples described herein are not inherently related to any particular computer or other apparatus. Various general purpose systems may be used in accordance with the teachings described herein, or it may prove convenient to construct more specialized apparatus to perform the required method functions, routines, subroutines, or operations. The required structure for a variety of these systems will appear as set forth in the description above.
The above description is intended to be illustrative, and not restrictive. Although the present disclosure has been described with references to specific illustrative examples and embodiments, it will be recognized that the present disclosure is not limited to the embodiments described. The scope of the disclosure should be determined with reference to the following claims, along with the full scope of equivalents to which the claims are entitled.
Contents5
7 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7
Every citation, both waysCites: the store holds 143 of 144
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US10007897B2 | Cites | United States of America | Search report |
| CN101258517A | Cites | China | Applicant |
| CN101589427A | Cites | China | Applicant |
| CN102945074A | Cites | China | Applicant |
| CN102947787A | Cites | China | Applicant |
| US10872316B2 | Cites | United States of America | Search report |
| JP2000222522A | Cites | Japan | Applicant |
| JP2001084228A | Cites | Japan | Applicant |
| JP2002215541A | Cites | Japan | Applicant |
| JP2002297847A | Cites | Japan | Applicant |
| JP2003044415A | Cites | Japan | Applicant |
| JP2004046325A | Cites | Japan | Applicant |
| US2005041862A1 | Cites | United States of America | Search report |
| US2005091095A1 | Cites | United States of America | Applicant |
| US2005100216A1 | Cites | United States of America | Search report |
| US2005246640A1 | Cites | United States of America | Search report |
| KR20060075986A | Cites | Republic of Korea | Applicant |
| US2006031326A1 | Cites | United States of America | Applicant |
| US2006041828A1 | Cites | United States of America | Search report |
| US2006047644A1 | Cites | United States of America | Search report |
| WO2006095053A2 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| JP2006113956A | Cites | Japan | Applicant |
| JP2006222727A | Cites | Japan | Applicant |
| US2007073530A1 | Cites | United States of America | Search report |
| US2007083552A1 | Cites | United States of America | Search report |
| WO2007130266A1 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| US2007247665A1 | Cites | United States of America | Search report |
| US2007247673A1 | Cites | United States of America | Search report |
| US2007288279A1 | Cites | United States of America | Search report |
| US2008005168A1 | Cites | United States of America | Search report |
| US2008140384A1 | Cites | United States of America | Applicant |
| US2008175104A1 | Cites | United States of America | Search report |
| US2008243841A1 | Cites | United States of America | Search report |
| US2008263087A1 | Cites | United States of America | Search report |
| US2009037843A1 | Cites | United States of America | Applicant |
| US2009055415A1 | Cites | United States of America | Applicant |
| US2009198728A1 | Cites | United States of America | Search report |
| JP2009218771A | Cites | Japan | Applicant |
| JP2010040027A | Cites | Japan | Applicant |
| US2010103779A1 | Cites | United States of America | Applicant |
| US2010331043A1 | Cites | United States of America | Search report |
| JP2011128927A | Cites | Japan | Applicant |
| US2011141855A1 | Cites | United States of America | Search report |
| US2011144980A1 | Cites | United States of America | Search report |
| US2012035925A1 | Cites | United States of America | Search report |
| US2012083294A1 | Cites | United States of America | Applicant |
| US2012102415A1 | Cites | United States of America | Search report |
| US2012265753A1 | Cites | United States of America | Search report |
| US2012278408A1 | Cites | United States of America | Search report |
| US2012317219A1 | Cites | United States of America | Applicant |
| US2013050533A1 | Cites | United States of America | Applicant |
| US2013073662A1 | Cites | United States of America | Search report |
| US2013117059A1 | Cites | United States of America | Search report |
| US2013205225A1 | Cites | United States of America | Search report |
| US2013212492A1 | Cites | United States of America | Search report |
| US2013218870A1 | Cites | United States of America | Search report |
| US2014146200A1 | Cites | United States of America | Search report |
| WO2014168502A1 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| US2014294302A1 | Cites | United States of America | Search report |
| US2014337751A1 | Cites | United States of America | Search report |
| US2014344745A1 | Cites | United States of America | Search report |
| US2015193391A1 | Cites | United States of America | Search report |
| US2015193392A1 | Cites | United States of America | Search report |
| US2015254518A1 | Cites | United States of America | Search report |
| US2018114193A1 | Cites | United States of America | Search report |
| US2018240070A1 | Cites | United States of America | Search report |
| US2019122526A1 | Cites | United States of America | Search report |
| US2020042621A1 | Cites | United States of America | Search report |
| EP2362327A1 | Cites | European Patent Office (EPO) | Search report |
| RU2392663C2 | Cites | Russian Federation | Applicant |
| RU2439655C2 | Cites | Russian Federation | Applicant |
| CA2745616A1 | Cites | Canada | Applicant |
| US5392447A | Cites | United States of America | Search report |
| US6026410A | Cites | United States of America | Search report |
| US6675356B1 | Cites | United States of America | Search report |
| US6741994B1 | Cites | United States of America | Search report |
| US7146381B1 | Cites | United States of America | Search report |
| US7245765B2 | Cites | United States of America | Search report |
| US7596269B2 | Cites | United States of America | Search report |
| US7970793B2 | Cites | United States of America | Search report |
| US8014040B2 | Cites | United States of America | Search report |
| US8069030B2 | Cites | United States of America | Search report |
| US8115948B2 | Cites | United States of America | Search report |
| US8239375B2 | Cites | United States of America | Search report |
| US8363943B2 | Cites | United States of America | Search report |
| US8370763B1 | Cites | United States of America | Search report |
| US8495059B2 | Cites | United States of America | Search report |
| US8868427B2 | Cites | United States of America | Search report |
| US9009592B2 | Cites | United States of America | Search report |
| US9116890B2 | Cites | United States of America | Search report |
| US9223479B2 | Cites | United States of America | Search report |
| US9436649B2 | Cites | United States of America | Search report |
| US9514134B2 | Cites | United States of America | Search report |
| US9633013B2 | Cites | United States of America | Search report |
| US9760644B2 | Cites | United States of America | Search report |
| US20050041862A1 | Cites | United States of America | Search report |
| US20050091095A1 | Cites | United States of America | Applicant |
| US20050100216A1 | Cites | United States of America | Search report |
| US20050246640A1 | Cites | United States of America | Search report |
| US20060031326A1 | Cites | United States of America | Applicant |
20 members in 9 offices
Priority claims4
| Document | Office | Kind | Date |
|---|---|---|---|
| 2013000306 | Russian Federation | W | |
| 2013000306 | Russian Federation | W | |
| PCTRU2013000306 | – | – | – |
| WO2013RU00306 | – | – | – |
Members20
| Document | Office | Kind | |
|---|---|---|---|
| CA2909155A1 | Canada | A1 | |
| CA3199033A1 | Canada | A1 | |
| WO2014168502A1 | World Intellectual Property Organization (WIPO) | A1 | |
| KR20150143600A | Republic of Korea | A | |
| CN105247501A | China | A | |
| EP2984574A1 | European Patent Office (EPO) | A1 | |
| US2016055131A1 | United States of America | A1 | |
| JP2016524733A | Japan | A | |
| EP2984574A4 | European Patent Office (EPO) | A4 | |
| RU2015143049A | Russian Federation | A | |
| BR112015025636A2 | Brazil | A2 | |
| RU2636691C2 | Russian Federation | C2 | |
| CN105247501B | China | B | |
| KR20190107682A | Republic of Korea | A | |
| BR112015025636A8 | Brazil | A8 | |
| KR102149478B1 | Republic of Korea | B1 | |
| US11074409B2This record | United States of America | B2 | |
| US2021334460A1 | United States of America | A1 | |
| BR112015025636B1 | Brazil | B1 | |
| US12118305B2 | United States of America | B2 |
124 transactions on the USPTO file
Allowed after 4 non-final rejections, 4 final rejections, 4 RCEs and 1 appeal.
- Non-final rejections
- 4
- Final rejections
- 4
- RCEs
- 4
- Appeals
- 1
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Workflow - Drawings FinishedDRWF | DRWF | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Reasons for AllowanceEX.R | EX.R | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail PUB other miscellaneous communication to applicantMM327-D | MM327-D | |
| PUB Other miscellaneous communication to applicantM327-D | M327-D | |
| Email NotificationEML_NTR | EML_NTR | |
| Filing Receipt - CorrectedFLRCPT.C | FLRCPT.C | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Examiner's Amendment CommunicationEX.A | EX.A | |
| Reasons for AllowanceEX.R | EX.R | |
| Appeal Brief Review CompleteAPBR | APBR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| track 1 OFFT1OFF | T1OFF | |
| Appeal Brief FiledAP.B | AP.B | |
| Notice of Appeal FiledN/AP | N/AP | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Advisory Action (PTOL - 303)MCTAV | MCTAV | |
| After Final Consideration Program Additional Consideration and/or updated searchAFAC | AFAC | |
| Interview Summary - Applicant Initiated - TelephonicEXAT | EXAT | |
| Advisory Action (PTOL-303)CTAV | CTAV | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| PILOT- Request for After Final Consideration ProgramRAFC | RAFC | |
| Response after Final ActionA.NE | A.NE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC |
15 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| Information on status: patent application and granting procedure in generalPUBLICATIONS -- ISSUE FEE PAYMENT VERIFIEDSTPP | STPP | |
| Information on status: patent application and granting procedure in generalPUBLICATIONS -- ISSUE FEE PAYMENT RECEIVEDSTPP | STPP | |
| Information on status: patent application and granting procedure in generalNOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONSSTPP | STPP | |
| Information on status: patent application and granting procedure in generalDOCKETED NEW CASE - READY FOR EXAMINATIONSTPP | STPP | |
| Information on status: appeal procedureAppealNOTICE OF APPEAL FILEDSTCV | STCV | |
| Information on status: application discontinuationFINAL REJECTION MAILEDSTCB | STCB | |
| Information on status: patent application and granting procedure in generalFINAL REJECTION MAILEDSTPP | STPP | |
| Information on status: patent application and granting procedure in generalRESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINERSTPP | STPP | |
| Information on status: patent application and granting procedure in generalNON FINAL ACTION MAILEDSTPP | STPP | |
| Information on status: patent application and granting procedure in generalDOCKETED NEW CASE - READY FOR EXAMINATIONSTPP | STPP | |
| Information on status: patent application and granting procedure in generalRESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINERSTPP | STPP | |
| Information on status: application discontinuationFINAL REJECTION MAILEDSTCB | STCB | |
| Information on status: patent application and granting procedure in generalFINAL REJECTION MAILEDSTPP | STPP | |
| Information on status: patent application and granting procedure in generalRESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINERSTPP | STPP |
Numbers
- Publication
- 11074409
- Publication, DOCDB
- 11074409
- Publication, EPODOC
- US11074409
- Application
- 14783022
- Application, DOCDB
- 201314783022
- Application, EPODOC
- US201314783022
Titles
- English
- Systems and methods for processing input streams of calendar applications
Patent term adjustment
- A delay
- +32 daysthe office missed an examination deadline
- Applicant delay
- −184 days
- Net adjustment
- 0 days
Classification
- CPC, 4
- G06F40/279
- G06Q10/109
- G06F40/205
- G06Q10/1091
- IPC, 4
- G06F40 279
- G06Q10 10
- G06F40 205
- G06F3 048