# US 2021/0279937 A1 · Multi-process compositor

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

- Number: US 2021/0279937 A1
- Document ID: US20210279937A1
- Status: Published application
- Kind: A1
- Application number: 17/327,860
- Filed: 2021-05-24
- Published: 2021-09-09
- Earliest claimed: 2018-05-25
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Joshua Gargus; Jeffrey Brown; Michael Jurka
- Web page: https://patentgrep.com/patent/US20210279937A1

## CPC

- G06T 15/005: {General purpose rendering architectures}
- G06T 15/503: {Blending, e.g. for anti-aliasing}
- G06T 2210/61: Scene description
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

This technology relates to rendering content from discrete applications. In this regard, one or more computing devices may receive a global scene graph containing resources provided by two or more discrete processes, wherein the global scene graph is instantiated by a first process of the two or more discrete processes. The one or more computing devices may render and output for display, the global scene graph in accordance with the resources contained there.

## Claims

### Claim 1

A computer implemented method of controlling a multi-process compositor to generate one or more global scene graphs, the method comprising:
loading, by one or more computing devices, a plurality of processes and the multi-process compositor;
generating, by the one or more computing devices for each respective one of the plurality of processes, a respective first end-point for a respective communication channel that is provided to the respective one of the plurality of processes;
generating, by the one or more computing device, a respective second end-point for the respective communication channel that is provided to the multi-process compositor; and
establishing, by the one or more computing devices for each respective one of the plurality of processes, a session in the multi-process compositor through the respective communication channel.

### Claim 2 (depends on 1)

The method of claim 1, further comprising storing each respective second end-point in a session corresponding to the respective one of the plurality of processes which has the respective first end-point.

### Claim 3 (depends on 1)

The method of claim 1, wherein the session includes a resource map.

### Claim 4 (depends on 3)

The method of claim 3, wherein the resource map includes identification values of respective ones of the plurality of processes assigned to nodes, and resources associated therewith.

### Claim 5 (depends on 1)

The method of claim 1, wherein the multi-process compositor includes a resource map which maps each of a plurality of resources, and maps respective nodes processes associated with respective ones of the plurality of resources.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
sending, by the computing device, commands from the respective first end-point to the respective second end-point.

### Claim 7 (depends on 6)

The method of claim 6, wherein the commands instruct the multi-process compositor to generate a set of resources.

### Claim 8 (depends on 6)

The method of claim 6, wherein the commands instruct respective ones of the plurality of processes to generate a set of resources.

### Claim 9 (depends on 6)

The method of claim 6, wherein the commands instruct the multi-process compositor to generate nodes corresponding to resources.

### Claim 10 (depends on 6)

The method of claim 6, wherein the commands instruct the multi-process compositor to ignore or disallow certain commands.

### Claim 11 (depends on 6)

The method of claim 6, wherein each of the commands includes an identification value such that a resource map can correctly coordinate a delivery of a resource to a respective node.

### Claim 12 (depends on 6)

The method of claim 6, wherein each of the commands includes an identification value such that a resource map can correctly coordinate a delivery of a resource to a respective node.

### Claim 13 (depends on 1)

The method of claim 1, wherein the plurality of processes include one or more head processes that define nodes and arcs of a global scene graph.

### Claim 14

A system for generating one or more global scene graphs, the system comprising:
one or more computing devices configured to:
load a plurality of processes and a multi-process compositor;
generate, for each respective one of the plurality of processes, a respective first end-point for a respective communication channel that is provided to the respective one of the plurality of processes;
generate a respective second end-point for the respective communication channel that is provided to the multi-process compositor; and
establish, for each respective one of the plurality of processes, a session in the multi-process compositor through the respective communication channel.

### Claim 15 (depends on 14)

The system of claim 14, wherein the multi-process compositor stores each respective second end-point in a session corresponding to the respective one of the plurality of processes which has the respective first end-point.

### Claim 16 (depends on 14)

The system of claim 14, wherein the session includes a resource map.

### Claim 17 (depends on 16)

The system of claim 16, wherein the resource map includes identification values of respective ones of the plurality of processes assigned to nodes, and resources associated therewith.

### Claim 18 (depends on 14)

The system of claim 14, wherein the multi-process compositor includes a resource map which maps each of a plurality of resources, and maps respective nodes processes associated with respective ones of the plurality of resources.

### Claim 19 (depends on 14)

The system of claim 14, wherein the computing device is further configured to send commands from the respective first end-point to the respective second end-point.

### Claim 20 (depends on 19)

The system of claim 19, wherein the commands instruct the multi-process compositor to generate a set of resources.

### Claim 21 (depends on 19)

The system of claim 19, wherein the commands instruct respective ones of the plurality of processes to generate a set of resources.

### Claim 22 (depends on 19)

The system of claim 19, wherein the commands instruct the multi-process compositor to generate nodes corresponding to resources.

### Claim 23 (depends on 19)

The system of claim 19, wherein the commands instruct the multi-process compositor to ignore or disallow certain commands.
