# US 2019/0378236 A1 · System and method for distributed processing of graphic server components

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

- Number: US 2019/0378236 A1
- Document ID: US20190378236A1
- Status: Published application
- Kind: A1
- Application number: 16/003,363
- Filed: 2018-06-08
- Published: 2019-12-12
- Earliest claimed: 2018-06-08
- Assignees: Honeywell International Inc.
- Applicants: Honeywell International Inc.
- Inventors: Richard Wendlandt; Edward Colin Layden; Scott Hammond; Kannan Kathirvel; Adam Folts
- Web page: https://patentgrep.com/patent/US20190378236A1

## CPC

- G06F 9/5044: {considering hardware capabilities}
- G06T 1/20: Processor architectures; Processor configuration, e.g. pipelining
- G09G 5/14: Display of multiple viewports
- G09G 5/363: {Graphics controllers}
- G09G 2370/022: Centralised management of display operation, e.g. in a server instead of locally
- G09G 2380/12: Avionics applications
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G09G: ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION (arrangements for transferring data between digital computers and displays G06F3/14; static indicating arrangements comprising an association of a number of separate sources or light control cells G09F9/00; static indicating arrangements comprising integral associations of a number of light sources H01J, H01K, H10H, H05B33/12; scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission, details thereof H04N1/00)

## Abstract

A method in a multi-core processing system for generating graphical commands is provided. The method includes generating a unique layer task for each of a plurality of layers that forms the current display frame in a cockpit display system (CDS), wherein the CDS is configured to display a plurality of windows, each window includes a plurality of layers, each layer includes one or more widgets that belong to a single user application, and each layer task includes information for a processor core in the multi-core processing system to generate graphical commands that when executed cause the rendering of the graphics described by the layer. The method further includes executing a plurality of layer tasks in parallel by a plurality of the processor cores in the multi-core processing system to generate graphical commands for execution by a GPU to render another display frame in the CDS.

## Claims

### Claim 1

A method in a multi-core processing system for generating graphical commands, the method comprising:
generating, by a processor core, a unique layer task for each of a plurality of layers that forms the current display frame in a cockpit display system (CDS), wherein the CDS is configured to display a plurality of windows, each window comprising a plurality of layers, each layer configured to be displayed within a specific viewing area within a window, each layer comprising one or more widgets that belong to a single user application, and wherein each layer task includes information for a processor core in the multi-core processing system to use to generate graphical commands that when executed by a graphical processing unit (GPU) cause the rendering of the graphics described by the layer; and
executing a plurality of layer tasks in parallel by a plurality of the processor cores in the multi-core processing system to generate graphical commands for execution by the GPU to render another display frame in the CDS.

### Claim 2 (depends on 1)

The method of claim 1, wherein generating the unique layer task for each of the plurality of layers comprises:
identifying layers to be displayed by the CDS;
extracting graphical preconditions for each layer; and
creating a layer task for each layer, wherein each layer task includes the necessary information to generate the graphics described by the layer.

### Claim 3 (depends on 2)

The method of claim 2, wherein the necessary information to generate the graphics described by the layer comprises a layer identifier, a layer task type, a layer task sequence number, an identifier for the window in the cockpit display system that owns the layer, and graphical settings under which the layer needs to get displayed.

### Claim 4 (depends on 2)

The method of claim 2, wherein extracting graphical preconditions for each layer comprises parsing the definition file for the layer and determining whether parameter values other than default parameter values specified in the definition file are being used for the layer.

### Claim 5 (depends on 2)

The method of claim 2, wherein identifying layers to be displayed by a cockpit display system comprises identifying top-level layers and connected layers.

### Claim 6 (depends on 1)

The method of claim 1, wherein executing a plurality of the sets of layer tasks in parallel comprises scheduling each layer task to one of the plurality of processor cores in the multi-core processor, wherein the layer tasks are scheduled one at a time to an available processor core.

### Claim 7 (depends on 6)

The method of claim 6, wherein executing a plurality of the sets of layer tasks in parallel further comprises generating, using the processor cores, graphical commands for each layer task per the state of the widgets in the layer associated with the layer task and the widget graphical definitions.

### Claim 8 (depends on 7)

The method of claim 7, wherein executing a plurality of the sets of layer tasks in parallel further comprises storing the generated graphical commands for a layer task in one or more unique graphical command buffers for the layer task.

### Claim 9 (depends on 8)

The method of claim 8, further comprising re-ordering the graphical commands in proper visual order by re-ordering the unique graphical command buffers.

### Claim 10

A multi-core processing system in an integrated circuit configured by programming instructions in non-transient computer readable media, the multi-core processing system configured to:
generate, by a processor core, a unique set of layer tasks for each of a plurality of layers that forms the current display frame in a cockpit display system (CDS), wherein the CDS is configured to display a plurality of windows, each window comprising a plurality of layers, each layer configured to be displayed within a specific viewing area within a window, each layer comprising one or more widgets that belong to a single user application, and wherein the layer tasks for a layer comprise tasks for the processor cores in the multi-core processing system to perform to generate graphical commands that when executed by a graphical processing unit (GPU) cause the rendering of the widgets in the layer; and
execute a plurality of the sets of layer tasks in parallel by a plurality of processor cores to generate graphical commands for execution by the GPU to render another display frame in the CDS.

### Claim 11 (depends on 10)

The multi-core processing system of claim 10, wherein to generate a unique set of layer tasks, the processor core is configured to:
identify layers to be displayed by a cockpit display system;
extract graphical preconditions for each layer; and
create a layer task for each layer, wherein each layer task includes the necessary information to generate the graphics described by the layer.

### Claim 12 (depends on 11)

The multi-core processing system of claim 11, wherein the necessary information to generate the graphics described by the layer comprises a layer identifier, a layer task type, a layer task sequence number, an identifier for the window in the cockpit display system that owns the layer, and graphical settings under which the layer needs to get displayed.

### Claim 13 (depends on 11)

The multi-core processing system of claim 11, wherein to extract graphical preconditions for each layer, the processor core is configured to parse the definition file for the layer and determine whether parameter values other than default parameter values specified in the definition file are being used for the layer.

### Claim 14 (depends on 11)

The multi-core processing system of claim 11, wherein the processor core is configured to identify top-level layers and connected layers when identifying layers to be displayed by a cockpit display system.

### Claim 15 (depends on 10)

The multi-core processing system of claim 10, wherein to execute a plurality of the sets of layer tasks in parallel, the system is configured to schedule each layer task to one of the plurality of processor cores in the multi-core processor, wherein the layer tasks are scheduled one at a time to an available processor core.

### Claim 16 (depends on 15)

The multi-core processing system of claim 15, wherein to execute a plurality of the sets of layer tasks in parallel the system is further configured to generate, using the processor cores, graphical commands for each layer task per the state of the widgets in the layer associated with the layer task and the widget graphical definitions.

### Claim 17 (depends on 16)

The multi-core processing system of claim 16, wherein to execute a plurality of the sets of layer tasks in parallel, the system is further configured to store the generated graphical commands for a layer task in one or more unique graphical command buffers for the layer task.

### Claim 18 (depends on 17)

The multi-core processing system of claim 17, wherein the system is further configured to re-order the graphical commands in proper visual order by re-ordering the unique graphical command buffers.

### Claim 19 (depends on 18)

The multi-core processing system of claim 18, further comprising a GPU configured to execute the re-ordered graphical commands for rendering on the CDS.

### Claim 20

A multi-core processing system configured to:
identify a plurality of graphical window segments in a graphical window;
generate, by a processor core, a unique set of segment tasks for each of the plurality of graphical window segments that forms a current display frame for the graphical window, wherein the segment tasks for a graphical window segment comprise tasks for the processor cores in the multi-core processing system to perform to generate graphical commands that when executed by a graphical processing unit (GPU) cause the rendering of the graphical elements in the graphical window segment; and
execute a plurality of the sets of segment tasks in parallel by a plurality of processor cores to generate graphical commands for execution by the GPU to render another display frame.
