# US 11,308,263 B2 · Multi-stage data page rendering

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,308,263 B2
- Document ID: US11308263B2
- Status: Granted
- Kind: B2
- Application number: 17/372,281
- Filed: 2021-07-09
- Published: 2021-10-28
- Granted: 2022-04-19
- Earliest claimed: 2018-04-03
- Assignees: Palantir Technologies Inc.
- Applicants: Palantir Technologies Inc.
- Inventors: Brian Lee; Gaspard van Koningsveld; Kevin Morgan; Michael Kross
- Web page: https://patentgrep.com/patent/US11308263B2

## CPC

- G06F 40/143: Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
- G06F 3/048: Interaction techniques based on graphical user interfaces [GUI]
- G06F 3/0483: Interaction with page-structured environments, e.g. book metaphor
- G06F 3/0484: for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The present disclosure relates to systems and techniques for multi-stage rendering of data pages for display in a data page display window. The present disclosure also relates to rendering data as part of a background instance of a data page renderer. The present disclosure also relates to displaying data requested from a workspace application in a data page window once the requested data is sufficiently rendered as part of a background instance of a data page renderer. The present disclosure also relates to providing a pool of background instances of multiple data page renderers for rendering and pre-rendering data pages for storage and eventual display in a data page window.

## Claims

### Claim 1

A computing system comprising:
a computer readable storage medium having program instructions embodied therewith; and
one or more computer hardware processors configured to execute the program instructions to cause the computing system to:
render a first data page with a first data page renderer;
display the rendered first data page within a data page window;
in response to a user input, initiate render of a second data page with a second data page renderer; and
upon the second data page renderer rendering at least a threshold percentage of the second data page, update the data page window to display the second data page in place of the first data page while the second data page renderer continues to render the second data page.

### Claim 2 (depends on 1)

The computing system of claim 1, wherein the program instructions further cause the computing system to store the second data page in a memory device until the second data page renderer has rendered at least the threshold percentage of the second data page.

### Claim 3 (depends on 1)

The computing system of claim 1, wherein the second data page renderer comprises a second instance of the first data page renderer.

### Claim 4 (depends on 1)

The computing system of claim 1, wherein a plurality of instances of the first data page renderer are selectable for pre-rendering data pages.

### Claim 5 (depends on 1)

The computing system of claim 1, wherein the program instructions further cause the computing system to:
determine an amount of memory required to render the second data page; and
render the second data page with the second data page renderer based at least in part on the amount of memory required to render the second data page.

### Claim 6 (depends on 1)

The computing system of claim 1, wherein the first data page comprises one of a web page, data item, or a helper application.

### Claim 7 (depends on 1)

The computing system of claim 1, wherein the first data page renderer comprises a web browser.

### Claim 8 (depends on 1)

The computing system of claim 1, wherein the program instructions further cause the computing system to display a processing indicator in the data page window while the second data page is being rendered.

### Claim 9 (depends on 1)

The computing system of claim 1, wherein displaying the second data page in place of the first data page occurs near real-time relative to when the update of the data page window occurs.

### Claim 10 (depends on 1)

The computing system of claim 1, wherein one or more additional data pages are rendered by one or more other instances of the second data page renderer based at least in part on the user input.

### Claim 11

A method comprising:
rendering a first data page with a first data page renderer;
displaying the rendered first data page within a data page window;
in response to a user input, initiating render of a second data page with a second data page renderer; and
upon the second data page renderer rendering at least a threshold percentage of the second data page, updating the data page window to display the second data page in place of the first data page while the second data page renderer continues to render the second data page.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
storing the second data page in a memory device until the second data page renderer has rendered at least the threshold percentage of the second data page.

### Claim 13 (depends on 11)

The method of claim 11, wherein the second data page renderer comprises a second instance of the first data page renderer.

### Claim 14 (depends on 11)

The method of claim 11, wherein a pool of instances of a plurality of data page renderers are selectable for pre-rendering data pages.

### Claim 15 (depends on 11)

The method of claim 11, further comprising:
determining an amount of memory required to render the second data page; and
rendering the second data page with the second data page renderer based at least in part on the amount of memory required to render the second data page.

### Claim 16 (depends on 11)

The method of claim 11, wherein displaying the second data page in place of the first data page occurs near real-time relative to when the data page window is updating.

### Claim 17 (depends on 11)

The method of claim 11, wherein one or more additional data pages are rendered by one or more other instances of the second data page renderer based at least in part on the user input.

### Claim 18

A non-transitory computer-readable medium having software instructions stored thereon, the software instructions executable by a hardware computer processor to cause a computing system to perform operations comprising:
rendering a first data page with a first data page renderer;
displaying the rendered first data page within a data page window;
in response to a user input, initiating render of a second data page with a second data page renderer; and
upon the second data page renderer rendering at least a threshold percentage of the second data page, updating the data page window to display the second data page in place of the first data page while the second data page renderer continues to render the second data page.

### Claim 19 (depends on 18)

The non-transitory computer-readable medium of claim 18, wherein the software instructions, when executed by the hardware computer processor, further cause the computing system to perform operations comprising:
storing the second data page in a memory device until the second data page renderer has rendered at least the threshold percentage of the second data page.

### Claim 20 (depends on 18)

The non-transitory computer-readable medium of claim 18, wherein one or more additional data pages are rendered by one or more other instances of the second data page renderer based at least in part on the user input.
