IP Library Granted Patent US 11,815,936
Granted Patent B2
US 11,815,936 · App. 16/248,659 · Granted Nov 14, 2023

Providing contextually-relevant database content based on calendar data

Inventors: Abhijeet Roy (South Riding, VA); Hui Yuan (Fairfax, VA); Nida Imtiaz (Vienna, VA); Timothy Lang (Vienna, VA)
Assignee: MicroStrategy Incorporated
G06F9/451G06F3/04842G06F16/248G06F16/24575G06F16/9558G06F21/62G06F40/205G06F40/295H04L67/60G06F3/0481H04L67/01H04L67/306
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,815,936
App. No.
16/248,659
Granted
Nov 14, 2023
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs stored on computer-readable media, for providing contextually-relevant database content. Techniques are described for monitoring conditions of a computing device and detecting when database content is relevant to a current context of the computing device. In some implementations, a first computing device is monitored to detect actions of the first computing device that involve calendar data for a user. In response, a determination that text corresponding to the calendar appointment includes a term associated with a particular entity is made. Data for a user information card including information related to the particular entity is obtained. The first computing device is then caused to display the user information card or an interactive control configured to initiate display of the user information card.

Claims (51)

1. A method performed by a computing device, the method comprising:

monitoring, using software of the computing device, data generated by the computing device that indicates one or more notifications issued by the computing device for presentation on a user interface of the computing device;

based on the monitoring, detecting, using software of the computing device, that the computing device issued a first notification for a calendar appointment, wherein the first notification for the calendar appointment is presented on a lock screen of the computing device;

determining, using software of the computing device, that text corresponding to the calendar appointment includes a term associated with a particular entity;

obtaining, using software of the computing device, data for an information card for the particular entity, wherein the information card comprises additional information from a database that describes the particular entity and is not included in the calendar appointment; and

in response to (i) detecting that the computing device issued the first notification for presentation and (ii) determining that the text corresponding to the calendar appointment includes the term associated with the particular entity:

causing, using software of the computing device, the computing device to automatically display, separate from the first notification for the calendar appointment and not as a response to user interaction with the user interface, a second notification for the information card such that the second notification for the information card is displayed on the lock screen concurrently with the first notification for the calendar appointment, wherein the second notification is configured to initiate display of the information card for the particular entity in response to user interaction with the second notification.

2. The method of claim 1 , further comprising:

receiving, by the computing device, an indication that a user has selected the second notification for the information card; and

in response to receiving the indication and after the user has logged into the computing device, causing, by the computing device, the computing device to display the information card.

3. The method of claim 1 , wherein the method further comprises, in response to determining that the text corresponding to the calendar appointment includes the term associated with the particular entity:

selecting, by the computing device, a template for the information card from among a plurality of templates that each specify a different information card format for a different type of entity; and

generating, by the one or more computing device, the information card based on the template selected for the information card and information for the particular entity obtained for each of multiple fields indicated in the selected template.

4. The method of claim 1 , wherein:

the computing device is monitored by an application that runs on the computing device;

the application is configured to detect actions performed by the computing device that use calendar data for a user; and

the application determines that the text corresponding to the calendar appointment includes the term associated with the particular entity.

5. The method of claim 1 , wherein the first notification for the calendar appointment includes an identifier for the particular entity for which information is provided in the information card.

6. The method of claim 1 , wherein determining that text corresponding to the calendar appointment includes a term associated with a particular entity comprises determining that text of the first notification for the calendar appointment includes a name of the particular entity.

7. The method of claim 1 , wherein detecting that the computing device issued the first notification comprises detecting presentation of the first notification for the calendar appointment on the user interface of the computing device.

8. The method of claim 1 , wherein obtaining the data for the information card comprises:

sending, by the computing device, a request to a server system over a communication network, wherein the request identifies the particular entity; and

receiving, by the computing device, response data provided over the communication network by the server system in response to the request, the response data including the information related to the particular entity for presentation in the information card.

9. The method of claim 8 , wherein the request includes a user identifier for a user of the computing device or a device identifier for the computing device; and

wherein content of the response data is determined based on the user identifier or the device identifier in order to customize the information card for the user.

10. The method of claim 1 , further comprising determining that a current time is within a predetermined threshold amount of time of a start time for the calendar appointment,

wherein causing the computing device to automatically display the second notification for the information card is performed in response to determining that the current time is within the predetermined threshold amount of time of a start time for the calendar appointment.

11. The method of claim 1 , wherein obtaining the data for the information card comprises obtaining values, determined for the particular entity from contents of a database, for a predetermined set of information fields.

12. The method of claim 11 , comprising selecting a template for the information card based on the particular entity,

wherein obtaining values for the predetermined set of information fields comprises obtaining values for a predetermined set of information fields specified by the template for the information card.

13. The method of claim 1 , wherein determining that text corresponding to the calendar appointment includes a term associated with a particular entity comprises determining, from calendar data for the calendar appointment, that text of the calendar appointment includes the term associated with the particular entity.

14. The method of claim 1 , wherein the first notification for the calendar appointment is a reminder notification for the calendar appointment, wherein the reminder notification is generated by the computing device based on calendar data specifying appointments of a user of the computing device.

15. The method of claim 1 , wherein the first notification for the calendar appointment is generated by a first application of the computing device,

wherein the second notification for the information card is provided by a second application of the computing device, and

wherein the second application is configured to (i) detect calendar appointment reminders issued by the first application for presentation to a user and (ii) provide separate, supplemental notifications for information cards determined to be relevant to the calendar appointment reminders, wherein the supplemental notifications from the second application are triggered by detection of the calendar appointment reminders issued by the first application.

16. A system comprising:

a computing device; and

one or more storage devices storing instructions that, when executed by the computing device, cause the system to perform operations comprising:

monitoring, using software of the computing device, data generated by the computing device that indicates one or more notifications issued by the computing device for presentation on a user interface of the computing device;

based on the monitoring, detecting, using software of the computing device, that the computing device issued a first notification for a calendar appointment, wherein the first notification for the calendar appointment is presented on a lock screen of the computing device;

determining, using software of the computing device, that text corresponding to the calendar appointment includes a term associated with a particular entity;

obtaining, using software of the computing device, data for an information card for the particular entity, wherein the information card comprises additional information from a database that describes the particular entity and is not included in the calendar appointment; and

in response to (i) detecting that the computing device issued the first notification for presentation on the user interface of the computing device and (ii) determining that the text corresponding to the calendar appointment includes the term associated with the particular entity:

causing, using software of the computing device, the computing device to automatically display, separate from the first notification for the calendar appointment and not as a response to user interaction with the user interface, a second notification for the information card such that the second notification for the information card is displayed on the lock screen concurrently with the first notification for the calendar appointment, wherein the second notification is configured to initiate display of the information card for the particular entity in response to user interaction with the second notification.

17. One or more non-transitory computer-readable media storing instructions that are operable, when executed by a computing device, to cause the computing device to perform operations comprising:

monitoring, using software of the computing device, data generated by the computing device that indicates one or more notifications issued by the computing device for presentation on a user interface of the computing device;

based on the monitoring, detecting, using software of the computing device, that the computing device issued a first notification for a calendar appointment, wherein the first notification for the calendar appointment is presented on a lock screen of the computing device;

determining, using software of the computing device, that text corresponding to the calendar appointment includes a term associated with a particular entity;

obtaining, using software of the computing device, data for an information card for the particular entity, wherein the information card comprises additional information from a database that describes the particular entity and is not included in the calendar appointment; and

in response to (i) detecting that the computing device issued the first notification for presentation on the user interface of the computing device and (ii) determining that the text corresponding to the calendar appointment includes the term associated with the particular entity:

causing, using software of the computing device, the computing device to automatically display, separate from the first notification for the calendar appointment and not as a response to user interaction with the user interface, a second notification for the information card such that the second notification for the information card is displayed on the lock screen concurrently with the first notification for the calendar appointment, wherein the second notification is configured to initiate display of the information card for the particular entity in response to user interaction with the second notification.

Assignments (5)
CHANGE OF NAME Recorded Sep 19, 2025
From: MICROSTRATEGY INCORPORATED
To: STRATEGY INC
Reel/Frame 072910/0511 →
CHANGE OF NAME Recorded Aug 19, 2025
From: MICROSTRATEGY INCOPORATED
To: STRATEGY INC
Reel/Frame 072513/0437 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT REEL/FRAME: 056647/0687, REEL/FRAME: 057435/0023, REEL/FRAME: 059256/0247, REEL/FRAME: 062794/0255 AND REEL/FRAME: 066663/0713 Recorded Sep 26, 2024
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS SUCCESSOR IN INTEREST TO U.S. BANK NATIONAL ASSOCIATION, IN ITS CAPACITY AS COLLATERAL AGENT FOR THE SECURED PARTIES
To: MICROSTRATEGY INCORPORATED; MICROSTRATEGY SERVICES CORPORATION
Reel/Frame 069065/0539 →
SECURITY INTEREST Recorded Jun 22, 2021
From: MICROSTRATEGY INCORPORATED
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 056647/0687 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2019
From: ROY, ABHIJEET; YUAN, HUI; IMTIAZ, NIDA; LANG, TIMOTHY
To: MICROSTRATEGY INCORPORATED
Reel/Frame 049414/0541 →