IP Library Granted Patent US 10,248,641
Granted Patent B2
US 10,248,641 · App. 15/476,544 · Granted Apr 2, 2019

Method, apparatus, and computer program product for managing retrieval of content for display by a browser

Inventors: Rakesh Wagh (Foster City, CA); Shridhar Upadhyaya (Fremont, CA)
Assignee: McKesson Corporation
G06F17/245G06F3/0485G06F17/212G06F17/2247
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 10,248,641
App. No.
15/476,544
Granted
Apr 2, 2019
Kind
B2
Abstract

A method is provided for managing retrieval of content for display in a table by a browser. When large tables of data are displayed by browsers, not all the data can be viewed at once. To improve performance, only the data in the visible portion of table may be downloaded when the user first accesses the page. The table may be divided into tiles such that each tile comprises multiple table cells, each tile to be treated as a separate component to be independent loaded and rendered. When a user accesses the page, the relevant data for the initially displayed tile(s) is downloaded from the server, stored in the browser's document object model (DOM), and rendered for display. As the user scrolls, additional data not yet stored in the DOM is downloaded, cached in the DOM and rendered.

Claims (61)

1. A method for managing retrieval of content for display of a table by a browser, the method comprising:

determining a tile layout comprising a plurality of tiles representing the table, wherein a tile comprises multiple table cells;

receiving a first indication of a first subset of the plurality of tiles to be rendered;

in response to the first indication, causing data associated with the first subset of tiles to be transmitted, stored in a document object model (DOM), and rendered;

receiving a second indication of a second subset of tiles to be rendered;

determining whether each tile of the second subset of tiles is associated with data stored in the DOM;

in an instance a particular tile of the second subset is associated with data stored in the DOM, causing the data to be accessed from the DOM and rendered; and

in an instance the particular tile of the second subset is not associated with data stored in the DOM, causing the data associated with the particular tile to be transmitted.

2. The method of claim 1 , further comprising:

optimizing the data associated with the first subset of tiles prior to the first subset of tiles being transmitted.

3. The method of claim 1 , wherein the second subset of tiles and the first subset of tiles are contiguous.

4. The method of claim 1 , wherein the second subset of tiles is determined based on a user input to change the displayed portion of the table.

5. The method of claim 1 , wherein the tile layout is determined such that a predetermined number of tiles covers a portion of the table determined to be initially displayed.

6. The method of claim 1 , wherein the tile layout is determined such that no tile spans multiple functional categories, wherein a functional category is defined based on at least one of a type of data or a user interface operation.

7. The method of claim 1 , wherein the tile layout is determined based on data returned from a database.

8. The method of claim 1 , further comprising:

in response to determining the tile layout, instantiating a virtual table of empty cells in the DOM, wherein the virtual table size is determined based on the tile layout; and

applying a visual effect to the empty cells.

9. The method of claim 8 , further comprising:

when downloaded data is stored in the DOM, overriding the applied visual effect.

10. The method of claim 8 , further comprising:

causing a tile state to be stored in association with a session;

maintaining session information and associated tile states;

monitoring for updates to particular data associated with cached tiles; and

in an instance the particular data has changed, transmitting changed data.

11. A system for managing retrieval of content for display of a table by a browser, the system comprising:

(a) a server comprising at least processing circuitry configured to cause the server to at least:

determine a tile layout comprising a plurality of tiles representing the table, wherein a tile comprises multiple table cells;

receive a first indication of a first subset of the plurality of tiles to be rendered; and

in response to the first indication, causing data associated with the first subset of tiles to be transmitted to a client device;

and

(b) the client device, configured to at least:

in response to determining the tile layout, instantiate a virtual table of empty cells in a document object model (DOM), wherein the virtual table size is determined based on the tile layout;

apply a visual effect to the empty cells of the virtual table;

receive the data associated with the first subset of tiles from the server;

store the data in the DOM; and

cause the data to be rendered for display.

12. The system of claim 11 , wherein the processing circuitry is further configured to cause the server to:

optimize the data associated with the first subset of tiles prior to the first subset of tiles being transmitted.

13. The system of claim 11 , wherein the client device is further configured to:

receive a second indication of a second subset of tiles to be rendered;

determining whether each tile of the second subset of tiles is associated with data stored in the DOM;

in an instance a particular tile of the second subset is associated with data stored in the DOM, cause the data to be accessed from the DOM and rendered; and

in an instance the particular tile of the second subset is not associated with data stored in the DOM, cause the data associated with the particular tile to be transmitted.

14. The system of claim 13 , wherein the second subset of tiles is determined based on a user input to change the displayed portion of the table.

15. The system of claim 11 , wherein the tile layout is determined such that a predetermined number of tiles covers a portion of the table determined to be initially displayed.

16. The system of claim 11 , wherein the tile layout is determined such that no tile spans multiple functional categories, wherein a functional category is defined based on at least one of a type of data or a user interface operation.

17. The system of claim 11 , wherein the tile layout is determined based on data returned from a database.

18. The system of claim 11 , wherein the virtual table comprises a number of empty cells that is less than a number of the multiple table cells.

19. The system of claim 11 , wherein the processing circuitry is further configured to cause the server to:

cause a tile state to be stored in association with a session;

maintain session information and associated tile states;

monitor for updates to particular data associated with cached tiles; and

in an instance the particular data has changed, transmit changed data.

20. A computer program product for managing retrieval of content for display of a table by a browser, the computer program product comprising at least one non-transitory computer-readable medium having computer-readable program instructions stored therein, the computer-readable program instructions comprising instructions, which when performed by an apparatus, are configured to cause the apparatus to perform at least:

determine a tile layout comprising a plurality of tiles representing the table, wherein a tile comprises multiple table cells;

in response to determining the tile layout, instantiate a virtual table of empty cells in a document object model (DOM), wherein the virtual table size is determined based on the tile layout;

apply a visual effect to the empty cells of the virtual table;

receive a first indication of a first subset of the plurality of tiles to be rendered;

in response to the first indication, cause data associated with the first subset of tiles to be transmitted, stored in the DOM, and rendered; and

override the applied visual effect when downloaded data is stored in the DOM.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2019
From: WAGH, RAKESH
To: MCKESSON CORPORATION
Reel/Frame 048223/0106 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2019
From: UPADHYAYA, SHRIDHAR
To: MCKESSON CORPORATION
Reel/Frame 048223/0135 →
Continuity (1)
Related Publication 20180285337A1 · Oct 4, 2018
Cited By (8)
US 12,314,744 US 12,314,745 US 12,327,198 US 12,373,265 US 12,395,457 US 12,608,203 US 12,626,308 US 12,675,291