IP Library Granted Patent US 12,164,857
Granted Patent B2
US 12,164,857 · App. 17/587,810 · Granted Dec 10, 2024

Generating and presenting customized information cards

Inventors: Siamak Ziraknejad (Reston, VA); Jiao Xu (Oakton, VA); Boyu Li (Herndon, VA); Quan Jia (Oakton, VA); Saurabh Abhyankar (McLean, VA); Timothy Lang (McLean, VA)
Assignee: MicroStrategy Incorporated
G06F40/106G06F16/90328G06F16/9038G06F21/31G06N20/00G06F2221/2141
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 12,164,857
App. No.
17/587,810
Granted
Dec 10, 2024
Kind
B2
Abstract

Methods, systems, apparatus, and computer-readable media for generating and presenting customized information cards. In some implementations, an indication of a data set is received. Data indicating a selection of an element of the data set is received. An indication of items in the data set that are associated with the selected element is received. Data is received indicating a selection of one or more of the items that are associated with the selected element of the data set. Card data defining an information card for the selected element of the data set is stored. The card definition data can indicate the selected one or more items and a reference to the data set.

Claims (59)

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

receiving, by the computing device, keyword data from a server system over a communication network, the keyword data indicating a set of terms determined based at least in part on an identity of a user of the computing device or an organization associated with the user;

analyzing, by the computing device, text of a user interface of the computing device;

based on the analysis of the text of the user interface, determining, by the computing device, that the text of a user interface of the computing device includes a keyword indicated in the keyword data;

based on determining that the text of the user interface of the computing device includes the keyword, adjusting, by the computing device, the user interface to make the keyword interactive and to annotate the keyword in a manner that distinguishes the keyword from other text in the user interface;

after adjusting the user interface, detecting, by the computing device, user interaction with the keyword in the user interface; and

in response to detecting the user interaction with the keyword, displaying, by the computing device, a card having content determined based on the keyword.

2. The method of claim 1 , wherein the text of the user interface is text of a web page or web application presented in a web browser;

wherein adjusting the user interface comprises causing the web browser to adjust presentation of the web page or web application to annotate the keyword in the presented web page or web application; and

wherein detecting the user interaction with the keyword comprises receiving event data from the web browser, the event data indicating the user interaction with the annotated keyword in the text of the web page or web application.

3. The method of claim 1 , wherein the card is an information card having values populated into a card template selected based on the keyword.

4. The method of claim 1 , further comprising:

identifying an entity based on the keyword; and

obtaining information about the entity from a database;

wherein the content of the card comprises the information about the entity obtained from the database.

5. The method of claim 1 , wherein the content of the card is obtained from a private database for the organization associated with the user.

6. The method of claim 1 , wherein the content of the card is selected based on one or more other terms in the user interface other than the keyword.

7. The method of claim 1 , wherein the content of the card is further determined based on an indication in the user interface of a geographical location, a time, a person, or information relevant to a current task of a user of the computing devices.

8. The method of claim 1 , wherein the content of the card is determined based on the identity of a user or a role of the user in an organization.

9. The method of claim 1 , further comprising:

before detecting user interaction with the keyword in the user interface:

in response to determining that the text of a user interface includes the keyword indicated in the keyword data, sending a request to a server system that indicates the keyword; and

receiving a response from the server system over the communication network, wherein the network comprises the content for the card; and

wherein displaying the card comprises displaying the card to include the content received from the server system before detecting the user interaction with the keyword in the user interface.

10. A computing device comprising:

one or more processors; and

one or more machine-readable media storing instructions that are operable, when executed by the one or more processors, to cause the computing device to perform operations comprising:

receiving, by the computing device, keyword data from a server system over a communication network, the keyword data indicating a set of terms determined based at least in part on an identity of a user of the computing device or an organization associated with the user;

analyzing, by the computing device, text of a user interface of the computing device;

based on the analysis of the text of the user interface, determining, by the computing device, that the text of a user interface of the computing device includes a keyword indicated in the keyword data;

based on determining that the text of the user interface of the computing device includes the keyword, adjusting, by the computing device, the user interface to make the keyword interactive and to annotate the keyword in a manner that distinguishes the keyword from other text in the user interface;

after adjusting the user interface, detecting, by the computing device, user interaction with the keyword in the user interface; and

in response to detecting the user interaction with the keyword, displaying, by the computing device, a card having content determined based on the keyword.

11. The computing device of claim 10 , wherein the text of the user interface is text of a web page or web application presented in a web browser;

wherein adjusting the user interface comprises causing the web browser to adjust presentation of the web page or web application to annotate the keyword in the presented web page or web application; and

wherein detecting the user interaction with the keyword comprises receiving event data from the web browser, the event data indicating the user interaction with the annotated keyword in the text of the web page or web application.

12. The computing device of claim 10 , wherein the card is an information card having values populated into a card template selected based on the keyword.

13. The computing device of claim 10 , wherein the operations further comprise:

identifying an entity based on the keyword; and

obtaining information about the entity from a database;

wherein the content of the displayed card comprises the information about the entity obtained from the database.

14. The computing device of claim 10 , wherein the content of the displayed card is obtained from a private database for the organization associated with the user.

15. The computing device of claim 10 , wherein the content of the card is selected based on one or more other terms in the user interface other than the keyword.

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

receiving, by the computing device, keyword data from a server system over a communication network, the keyword data indicating a set of terms determined based at least in part on an identity of a user of the computing device or an organization associated with the user;

analyzing, by the computing device, text of a user interface of the computing device;

based on the analysis of the text of the user interface, determining, by the computing device, that the text of a user interface of the computing device includes a keyword indicated in the keyword data;

based on determining that the text of the user interface of the computing device includes the keyword, adjusting, by the computing device, the user interface to make the keyword interactive and to annotate the keyword in a manner that distinguishes the keyword from other text in the user interface;

after adjusting the user interface, detecting, by the computing device, user interaction with the keyword in the user interface; and

in response to detecting the user interaction with the keyword, displaying, by the computing device, a card having content determined based on the keyword.

17. The one or more non-transitory machine-readable media of claim 16 , wherein the text of the user interface is text of a web page or web application presented in a web browser;

wherein adjusting the user interface comprises causing the web browser to adjust presentation of the web page or web application to annotate the keyword in the presented web page or web application; and

wherein detecting the user interaction with the keyword comprises receiving event data from the web browser, the event data indicating the user interaction with the annotated keyword in the text of the web page or web application.

18. The one or more non-transitory machine-readable media of claim 16 , wherein the card is an information card having values populated into a card template selected based on the keyword.

19. The one or more non-transitory machine-readable media of claim 16 , wherein the operations further comprise:

identifying an entity based on the keyword; and

obtaining information about the entity from a database;

wherein the content of the displayed card comprises the information about the entity obtained from the database.

20. The one or more non-transitory machine-readable media of claim 16 , wherein the content of the displayed card is obtained from a private database for the organization associated with the user.

Assignments (4)
CHANGE OF NAME Recorded Sep 19, 2025
From: MICROSTRATEGY INCORPORATED
To: STRATEGY INC
Reel/Frame 072974/0529 →
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 →
SUPPLEMENTARY PATENT SECURITY AGREEMENT Recorded Feb 18, 2022
From: MICROSTRATEGY INCORPORATED; MICROSTRATEGY SERVICES CORPORATION
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 059256/0247 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2022
From: ZIRAKNEJAD, SIAMAK; XU, JIAO; LI, BOYU; JIA, QUAN; ABHYANKAR, SAURABH; LANG, TIMOTHY
To: MICROSTRATEGY INCORPORATED
Reel/Frame 058834/0418 →
Continuity (7)
Continuation 16730417 · Dec 30, 2019
Continuation In Part 16247892 · Jan 15, 2019
Continuation In Part 16248659 · Jan 15, 2019
Provisional Application 62810498 · Feb 26, 2019
Provisional Application 62802047 · Feb 6, 2019
Provisional Application 62720955 · Aug 22, 2018
Related Publication 20220222418A1 · Jul 14, 2022