# US 12,182,902 B2 · Creating secure pipeline cache objects using differential privacy techniques

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

- Number: US 12,182,902 B2
- Document ID: US12182902B2
- Status: Granted
- Kind: B2
- Application number: 18/210,974
- Filed: 2023-06-16
- Published: 2023-10-12
- Granted: 2024-12-31
- Earliest claimed: 2021-09-23
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Robert Fraser; Chetan Kakkar; Derek Bulner; Jean-François Roy; Kevin Moule; Nicholas Deakin
- Web page: https://patentgrep.com/patent/US12182902B2

## CPC

- G06T 1/60: Memory management
- A63F 13/352: involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
- G06F 9/3869: {Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking}
- G06F 11/3428: {Benchmarking}
- G06F 12/0855: Overlapped cache accessing, e.g. pipeline (G06F12/0846 takes precedence)
- G06F 12/0875: with dedicated cache, e.g. instruction or stack
- G06T 1/20: Processor architectures; Processor configuration, e.g. pipelining
- G06T 15/005: {General purpose rendering architectures}
- G06F 2212/1024: Latency reduction
- G06F 2212/455: Image or video data
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- A63F: CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A graphics pipeline cache reconstruction operation is implemented to reconstruct one or more graphics pipeline caches for a current client gaming session based on one or more pipeline structures. The pipeline structures each represent a graphical object rendered during a respective previous client gaming session and are used to reconstruct one or more graphics pipeline caches that include graphics pipeline cache objects related to the graphical objects of the pipeline structures. These graphics pipeline cache objects are used to initialize one or more graphics pipelines used to render the graphical objects in a gaming application for a current client gaming session.

## Claims

### Claim 1

A method, comprising:
storing a plurality of pipeline structures in a pipeline structure library associated with an application, wherein each pipeline structure of the plurality of pipeline structures represents a respective previously rendered graphical object for the application rendered using a graphics pipeline; and
designating at least one pipeline structure of the plurality of pipeline structures as available to a computing device executing the application for initializing the graphics pipeline, wherein designating the at least one pipeline as available is based on a number of related pipeline structures in the plurality of pipeline structures.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
in response to the number of related pipeline structures in the plurality of pipeline structures being equal to or exceeding a predetermined threshold number, designating the at least one pipeline structure as available.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
in response to the number of related pipeline structures in the plurality of pipeline structures being equal to or exceeding a predetermined threshold number, purging the at least one pipeline structure from the pipeline structure library.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
generating a representation of a rendered graphical object associated with a client session, wherein the representation of the rendered graphical object indicates the graphics pipeline associated with the rendered graphical object.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
hashing the representation of the rendered graphical object to produce a pipeline structure of the plurality of pipeline structures.

### Claim 6 (depends on 4)

The method of claim 4, wherein hashing the representation of the rendered graphical object includes removing data indicating the client session from the representation of the rendered graphical object.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
purging the plurality of pipeline structures from the pipeline structure library after a predetermined amount of time has elapsed.

### Claim 8

A system, comprising:
a memory configured to store a pipeline structure library associated with an application, wherein the pipeline structure library includes a plurality of pipeline structures each representing a respective previously rendered graphical object for the application rendered using a graphics pipeline; and
a processor coupled to the memory and configured to designate at least one pipeline structure of the plurality of pipeline structures as available to a computing device executing the application for initializing the graphics pipeline, wherein designating the at least one pipeline as available is based on a number of related pipeline structures in the plurality of pipeline structures.

### Claim 9 (depends on 8)

The system of claim 8, wherein the processor is configured to:
in response to the number of related pipeline structures in the plurality of pipeline structures being equal to or exceeding a predetermined threshold number, designate the at least one pipeline structure as available.

### Claim 10 (depends on 8)

The system of claim 8, wherein the processor is configured to:
in response to the number of related pipeline structures in the plurality of pipeline structures being equal to or exceeding a predetermined threshold number, purge the at least one pipeline structure from the pipeline structure library.

### Claim 11 (depends on 8)

The system of claim 8, wherein the processor is configured to:
generate a representation of a rendered graphical object associated with a client session, wherein the representation of the rendered graphical object indicates the graphics pipeline associated with the rendered graphical object.

### Claim 12 (depends on 11)

The system of claim 11, wherein the processor is configured to:
hash the representation of the rendered graphical object for the application to produce a pipeline structure of the plurality of pipeline structures.

### Claim 13 (depends on 12)

The system of claim 12, wherein hashing the representation of the rendered graphical object includes removing data indicating the client session from the representation of the rendered graphical object.

### Claim 14 (depends on 8)

The system of claim 8, wherein the processor is configured to:
purge the plurality of pipeline structures from the pipeline structure library after a predetermined amount of time has elapsed.

### Claim 15

A system, comprising:
a memory configured to store a pipeline structure library associated with an application, wherein the pipeline structure library includes a plurality of pipeline structures each representing a respective previously rendered graphical object for the application rendered using a graphics pipeline; and
a processor coupled to the memory and configured to:
group two or more pipeline structures of the plurality of pipeline structures to produce a pipeline structure grouping; and
designate the pipeline structure grouping as available to a computing device executing the application for initializing the graphics pipeline.

### Claim 16 (depends on 15)

The system of claim 15, wherein the processor is configured to randomly group the two or more pipeline structures to produce the pipeline structure grouping.

### Claim 17 (depends on 15)

The system of claim 15, wherein the processor is configured to measure one or more performance metrics associated with the computing device executing the application.

### Claim 18 (depends on 17)

The system of claim 17, wherein the processor is configured to purge the pipeline structure grouping from the pipeline structure library based on the one or more performance metrics.

### Claim 19 (depends on 18)

The system of claim 18, wherein the processor is configured to, in response to purging the pipeline structure grouping from the pipeline structure library, group two or more other pipeline structures of the plurality of pipeline structures to produce a second pipeline structure grouping.

### Claim 20 (depends on 15)

The system of claim 15, wherein each pipeline structure of the pipeline structure grouping represents a respective and distinct previously rendered graphical object for the application.
