IP Library Granted Patent US 11,176,139
Granted Patent B2
US 11,176,139 · App. 16/688,065 · Granted Nov 16, 2021

Systems and methods for accelerated contextual delivery of data

Inventors: Yan Li (Fairfax, VA); Don Punnoose (Aldie, VA); Hui Yuan (Fairfax, VA); Jinliang Zeng (Vienna, VA); Liang Chen (Fairfax, VA)
Assignee: MicroStrategy Incorporated
G06F16/24552G06F16/2379G06F16/248G06F16/252G06F16/90348G06F2221/2143
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,176,139
App. No.
16/688,065
Granted
Nov 16, 2021
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs stored on computer-readable media, for accelerated contextual delivery of content. In some implementations, a data cache associated with the application may be identified, the data cache comprising a plurality of data chunks. At least a portion of the plurality of data chunks may be received. Upon completed receipt of a first data chunk, the text associated with the user interface may be searched for at least one term associated with the first data chunk to identify one or more matched terms. Additional data may be determined associated with the one or more matched terms, and the text associated with the user interface may be updated with at least one annotation corresponding to the one or more matched terms, the at least one annotation corresponding to the additional data.

Claims (57)

1. A method for accelerating contextual delivery of data, the method comprising:

receiving text associated with a user interface of an application at an electronic device;

identifying a data cache associated with the application, the data cache comprising a plurality of data chunks, wherein the plurality of data chunks includes a first data chunk and a second data chunk, and wherein each data chunk of the plurality of data chunks comprises at least one term of a plurality of terms;

receiving at least a portion of the plurality of data chunks, wherein the at least a portion of the plurality of data chunks received includes the first data chunk and the second data chunk;

upon completed receipt of the first data chunk of the plurality of data chunks, searching the text associated with the user interface for at least one term associated with the first data chunk to identify one or more matched terms;

determining additional data associated with the one or more matched terms; and

updating the text associated with the user interface with at least one annotation corresponding to the one or more matched terms, the at least one annotation corresponding to the additional data.

2. The method of claim 1 , wherein searching the text is initiated before the second data chunk is fully received.

3. The method of claim 1 , wherein receiving at least a portion of the plurality of data chunks further comprises:

receiving a list of information card sets, each information card set of the information card sets comprising a category of terms; and

receiving terms associated with the information card sets in alphabetical or reverse alphabetical order.

4. The method of claim 1 , wherein a refresh of the data cache is performed at predetermined time intervals and/or upon predetermined user events.

5. The method of claim 1 , wherein the first data chunk corresponds to a first information card set and the second data chunk corresponds to a second information card set, and wherein the searching of the text for the at least one term is performed upon receipt of the first information card set regardless of whether the second information card set has been received.

6. The method of claim 1 , wherein identifying a data cache associated the application further comprises:

determining that a saved session exists, associated with the data cache, from a prior use of the application; and

upon receiving a user login, loading the data cache associated with the saved session.

7. The method of claim 1 , wherein the received first data chunk corresponds to a first information card set and the received second data chunk corresponds to a second information card set, and further comprising:

upon completed receipt of the first information card set and the second information card set, searching the text associated with the user interface for at least one first term associated with the first information card set and at least one second term associated with the second information card set;

determining at least one matched term associated with the first information card set; and

upon determining at least one matched term associated with the first information card set, updating the text associated with the user interface with at least one annotation, wherein searching the text for at least one second term associated with the second information card set is not yet completed.

8. The method of claim 1 , wherein data elements associated with the first data chunk and data elements associated with the second data chunk are downloaded concurrently.

9. The method of claim 1 , further comprising:

upon receiving a predetermined interaction from a user on the user interface, displaying at least a portion of the additional data on an information card, wherein the information card is rendered according to a style sheet stored in memory across multiple uses of the application by a user.

10. The method of claim 1 , further comprising:

upon receiving a predetermined interaction from a user on the user interface, displaying at least a portion of the additional data on an information card, wherein one or more web elements are generated for the additional data, and wherein the one or more web elements are deleted from memory when the information card is no longer visible to a user.

11. A system for accelerating contextual delivery of data comprising:

one or more processors; and

one or more machine-readable media storing software including instructions that, when executed by the one or more processors, cause the system to perform operations comprising:

receiving text associated with a user interface of an application at an electronic device;

identifying a data cache associated with the application, the data cache comprising a plurality of data chunks, wherein the plurality of data chunks includes a first data chunk and a second data chunk, and wherein each data chunk of the plurality of data chunks comprises at least one term of a plurality of terms;

receiving at least a portion of the plurality of data chunks, wherein the at least a portion of the plurality of data chunks received includes the first data chunk and the second data chunk;

upon completed receipt of the first data chunk of the plurality of data chunks, searching the text associated with the user interface for at least one term associated with the first data chunk to identify one or more matched terms;

determining additional data associated with the one or more matched terms; and

updating the text associated with the user interface with at least one annotation corresponding to the one or more matched terms, the at least one annotation corresponding to the additional data.

12. The system of claim 11 , wherein searching the text is initiated before the second data chunk is fully received.

13. The system of claim 11 , wherein receiving at least a portion of the plurality of data chunks further comprises:

receiving a list of information card sets, each information card set of the information card sets comprising a category of terms; and

receiving terms associated with the information card sets in alphabetical or reverse alphabetical order.

14. The system of claim 11 , wherein a refresh of the data cache is performed at predetermined time intervals and/or upon predetermined user events.

15. The system of claim 11 , wherein the first data chunk corresponds to a first information card set and the second data chunk corresponds to a second information card set, and wherein the searching of the text for the at least one term is performed upon receipt of the first information card set regardless of whether the second information card set has been received.

16. The system of claim 11 , wherein identifying a data cache associated the application further comprises:

determining that a saved session exists, associated with the data cache, from a prior use of the application; and

upon receiving a user login, loading the data cache associated with the saved session.

17. The system of claim 11 , wherein the received first data chunk corresponds to a first information card set and the received second data chunk corresponds to a second information card set, and further comprising:

upon completed receipt of the first information card set and the second information card set, searching the text associated with the user interface for at least one first term associated with the first information card set and at least one second term associated with the second information card set; and

upon determining at least one matched term associated with the first information card set, updating the text associated with the user interface with at least one annotation, wherein searching the text for at least one second term associated with the second information card set is not yet completed.

18. The system of claim 11 , further comprising:

upon receiving a predetermined interaction from a user on the user interface, displaying at least a portion of the additional data on an information card, wherein the information card is rendered according to a style sheet stored in memory across multiple uses of the application by a user.

19. The system of claim 11 , further comprising:

upon receiving a predetermined interaction from a user on the user interface, displaying at least a portion of the additional data on an information card, wherein one or more web elements are generated for the additional data, and wherein the one or more web elements are deleted from memory when the information card is no longer visible to a user.

20. One or more non-transitory machine-readable media storing instructions that, when executed by one or more processors, cause the performance of operations for accelerating contextual delivery of data comprising:

receiving text associated with a user interface of an application at an electronic device;

identifying a data cache associated with the application, the data cache comprising a plurality of data chunks, wherein the plurality of data chunks includes a first data chunk and a second data chunk, and wherein each data chunk of the plurality of data chunks comprises at least one term of a plurality of terms;

receiving at least a portion of the plurality of data chunks, wherein the at least a portion of the plurality of data chunks received includes the first data chunk and the second data chunk;

upon completed receipt of the first data chunk of the plurality of data chunks, searching the text associated with the user interface for at least one term associated with the first data chunk to identify one or more matched terms;

determining additional data associated with the one or more matched terms; and

updating the text associated with the user interface with at least one annotation corresponding to the one or more matched terms, the at least one annotation corresponding to the additional data.

Assignments (5)
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 →
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 →
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 Nov 20, 2019
From: LI, YAN; PUNNOOSE, DON; YUAN, HUI; ZENG, JINLIANG; CHEN, LIANG
To: MICROSTRATEGY INCORPORATED
Reel/Frame 051069/0325 →