IP Library Granted Patent US 11,301,539
Granted Patent B2
US 11,301,539 · App. 16/281,268 · Granted Apr 12, 2022

Just-in-time front end template generation using logical document object models

Inventors: Mardochee Macxis, Jr. (Concord, NC); Sandeep Gandhi (Charlotte, NC); Christopher Smith (Charlotte, NC); Eugene Rohrwasser (Charlotte, NC); Brandon Minton (Charlotte, NC); Sunny Singh (Gastonia, NC)
Assignee: Bank of America Corporation
G06F16/972G06F16/252G06F16/9538G06F40/106G06F40/117G06F40/166G06F40/205
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,301,539
App. No.
16/281,268
Granted
Apr 12, 2022
Kind
B2
Abstract

Aspects of the disclosure relate to processing systems for performing just-in-time front end template generation using a logical DOM. A computing device may receive, from a web server host platform, an HTML page with a DOM structure. The computing device may parse the DOM structure to generate a logical DOM, which may include a key value store identifying dynamic elements to be updated based on data received from a data source different from the web server host platform. The computing device may receive, from a data source computer system, source data. The computing device may modify the logical DOM, based on the source data, by replacing the dynamic elements with corresponding values from the source data. This may produce a first updated real DOM. The computing device may render a first graphical user interface based on the first updated real DOM, and may display the first graphical user interface.

Claims (65)

1. A computing device comprising:

at least one processor;

a communication interface communicatively coupled to the at least one processor; and

memory storing computer-readable instructions that, when executed by the processor, cause the computing device to:

receive, from a web server host platform, a HyperText Markup Language (HTML) page comprising a document object model (DOM) structure, wherein the DOM structure includes one or more dynamic elements;

parse the DOM structure associated with the HTML page received from the web server host platform to generate a logical DOM, wherein the logical DOM comprises a key value store identifying a subset of one or more dynamic elements to be updated based on data received from at least one data source different from the web server host platform, wherein the key value store does not include remaining dynamic elements of the one or more dynamic elements and wherein the remaining dynamic elements are not to be updated;

receive, from a data source computer system, source data;

modify the logical DOM based on the source data, wherein modifying the logical DOM based on the source data comprises replacing the subset of the one or more dynamic elements with corresponding values from the source data received from the data source computer system and wherein modifying the logical DOM produces a first updated real DOM;

render, after completing the modification of the logical DOM and without displaying the logical DOM, a first graphical user interface based on the first updated real DOM; and

display the first graphical user interface.

2. The computing device of claim 1 , wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, further cause the computing device to:

receive, after displaying the first graphical user interface, updated source data from the data source computer system;

modify the modified logical DOM based on the updated source data, wherein modifying the modified logical DOM based on the updated source data comprises replacing the one or more dynamic elements with corresponding values from the updated source data received from the data source computer system, and wherein modifying the modified logical DOM produces a second updated real DOM;

re-render the graphical user interface based on the second updated real DOM; and

display the re-rendered graphical user interface.

3. The computing device of claim 2 , wherein receiving the source data comprises receiving user account data.

4. The computing device of claim 3 , wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, further cause the computing device to:

retrieve, after receiving the updated source data, the first updated real DOM; and

determine, based on the first updated real DOM, the modified logical DOM.

5. The computing device of claim 2 , wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, further cause the computing device to:

receive a user input corresponding to the source data; and

send an indication of the user input corresponding to the source data to the data source computer system, wherein sending the indication of the user input corresponding to the source data causes the data source computer system to generate the updated source data.

6. The computing device of claim 1 , wherein the key value store maintains a reference from each of the one or more dynamic elements to the DOM structure.

7. The computing device of claim 1 , wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, further cause the computing device to receive user input requesting access to the first graphical user interface.

8. The computing device of claim 1 , wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, further cause the computing device to:

identify, based on one or more bind attributes associated with tags in the HTML page, the one or more dynamic elements.

9. The computing device of claim 1 , wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, further cause the computing device to store, locally on the computing device, the key value store.

10. A method comprising:

at a computing device comprising at least one processor, a communication interface, and memory:

receiving, from a web server host platform, a HyperText Markup Language (HTML) page comprising a document object model (DOM) structure, wherein the DOM structure includes one or more dynamic elements;

parsing the DOM structure associated with the HTML page received from the web server host platform to generate a logical DOM, wherein the logical DOM comprises a key value store identifying a subset of one or more dynamic elements to be updated based on data received from at least one data source different from the web server host platform, wherein the key value store does not include remaining dynamic elements, and wherein the remaining dynamic elements are not to be updated;

receiving, from a data source computer system, source data;

modifying the logical DOM based on the source data, wherein modifying the logical DOM based on the source data comprises replacing the subset of the one or more dynamic elements with corresponding values from the source data received from the data source computer system, and wherein modifying the logical DOM produces a first updated real DOM;

rendering, after completing the modification of the logical DOM and without displaying the logical DOM, a first graphical user interface based on the first updated real DOM; and

displaying the first graphical user interface.

11. The method of claim 10 , further comprising:

receiving, after displaying the first graphical user interface, updated source data from the data source computer system;

modifying the modified logical DOM based on the updated source data, wherein modifying the modified logical DOM based on the updated source data comprises replacing the one or more dynamic elements with corresponding values from the updated source data received from the data source computer system, and wherein modifying the modified logical DOM produces a second updated real DOM;

re-rendering the graphical user interface based on the second updated real DOM; and

display the re-rendered graphical user interface.

12. The method of claim 11 , wherein receiving the source data comprises receiving user account data.

13. The method of claim 12 , further comprising:

retrieving, after receiving the updated source data, the first updated real DOM; and

determining, based on the first updated real DOM, the modified logical DOM.

14. The method of claim 11 , further comprising:

receiving a user input corresponding to the source data; and

sending an indication of the user input corresponding to the source data to the data source computer system, wherein sending the indication of the user input corresponding to the source data causes the data source computer system to generate the updated source data.

15. The method of claim 10 , wherein the key value store maintains a reference from each of the one or more dynamic elements to the DOM structure.

16. The method of claim 10 , further comprising receiving user input requesting access to the first graphical user interface.

17. The method of claim 10 , further comprising:

identifying, based on one or more bind attributes associated with tags in the HTML page, the one or more dynamic elements.

18. The method of claim 10 , further comprising:

storing, locally on the computing device, the key value store.

19. One or more non-transitory computer-readable media storing instructions that, when executed by a computing device comprising at least one processor, a communication interface, and memory, cause the computing device to:

receive, from a web server host platform, a HyperText Markup Language (HTML) page comprising a document object model (DOM) structure, wherein the DOM structure includes one or more dynamic elements;

parse the DOM structure associated with the HTML page received from the web server host platform to generate a logical DOM, wherein the logical DOM comprises a key value store identifying a subset of one or more dynamic elements to be updated based on data received from at least one data source different from the web server host platform, wherein the key value store does not include remaining dynamic elements of the one or more dynamic elements and wherein the remaining dynamic elements are not to be updated;

receive, from a data source computer system, source data;

modify the logical DOM based on the source data, wherein modifying the logical DOM based on the source data comprises replacing the subset of the one or more dynamic elements with corresponding values from the source data received from the data source computer system, and wherein modifying the logical DOM produces a first updated real DOM;

render, after completing the modification of the logical DOM and without displaying the logical DOM, a first graphical user interface based on the first updated real DOM; and

display the first graphical user interface.

20. The one or more non-transitory computer-readable media of claim 19 , wherein the memory stores additional instructions that, when executed by the at least one processor, further cause the computing device to:

receive, after displaying the first graphical user interface, updated source data from the data source computer system;

modify the modified logical DOM based on the updated source data, wherein modifying the modified logical DOM based on the updated source data comprises replacing the one or more dynamic elements with corresponding values from the updated source data received from the data source computer system, and wherein modifying the modified logical DOM produces a second updated real DOM;

re-render the graphical user interface based on the second updated real DOM; and

display the re-rendered graphical user interface.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2019
From: MACXIS, MARDOCHEE, JR.; GANDHI, SANDEEP; SMITH, CHRISTOPHER; ROHRWASSER, EUGENE; MINTON, BRANDON; SINGH, SUNNY
To: BANK OF AMERICA CORPORATION
Reel/Frame 048393/0807 →
Continuity (1)
Related Publication 20200272681A1 · Aug 27, 2020
Cited By (5)
US 12,316,905 US 12,399,820 US 12,450,306 US 12,487,924 US 12,671,869