Virtualized Graphics Processing with Overlay Server

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing and provisioning resources in large-scale distributed systems, particularly in virtualized environments, is complex due to the need for efficient graphics processing and overlays without modifying existing applications, which existing technologies struggle to address effectively.

Innovation Solution

The implementation of virtualized graphics processing in a provider network, where virtual compute instances are provisioned with virtual GPUs, and graphics overlays are generated at a graphics server or dedicated overlay server, allowing for trustworthy modification of graphical output without altering the original application code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If graphics overlays are added by modifying existing application code, then overlay functionality can be integrated, but system complexity and maintenance difficulty increase

Engineering Contradiction:
Improveoverlay functionality integrationVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a graphics server as an intermediary component between the application and the display system. The graphics server intercepts graphical output from the application, adds overlays, and returns the composite image to the application. This mediator approach enables overlay functionality without modifying the application code, thus reducing system complexity while maintaining versatility

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the graphics processing functionality into separate modular components: the application generates base graphics, the graphics server handles overlay addition, and the display system renders the final output. This segmentation allows each component to be developed, maintained, and modified independently, reducing overall system complexity while enabling flexible overlay integration

Inventive Principle:
Principle #1Segmentation

2Device complexity

If graphics processing is centralized in a single system, then resource management is simplified, but scalability and performance are limited

Engineering Contradiction:
Improveresource management complexityVSAvoidprocessing scalability
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The graphics server is designed as a universal component that can serve multiple applications and virtual machines simultaneously. It provides multi-functional capabilities including overlay generation, composition, and rendering for diverse workloads. This universal design simplifies resource management while enabling scalable performance through efficient resource sharing and allocation across multiple clients

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If application code is modified to add overlay features, then overlay functionality is achieved, but security and trustworthiness are compromised

Engineering Contradiction:
Improveoverlay functionalityVSAvoidsecurity and trustworthiness
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The graphics server acts as a trusted intermediary that adds overlays without requiring modifications to the application code. By maintaining the application code unchanged and performing overlay operations in the secure graphics server environment, the system preserves the original application's security properties while achieving overlay functionality through a trusted mediation layer

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10430911B1Graphics overlays with virtualized graphics processing
Publication Date: 2019.10.01 AMAZON TECH INC
  • US10430911B1 patent drawing
  • US10430911B1 patent drawing
  • US10430911B1 patent drawing

AI summary

Methods, systems, and computer-readable media for graphics overlays with virtualized graphics processing are disclosed. A virtual GPU is attached to a virtual compute instance. The virtual compute instance is implemented using a physical compute instance, and the virtual GPU is implemented using a physical GPU accessible to the physical instance over a network. An application is executed on the virtual compute instance. One or more graphics instructions associated with the application are sent to the virtual GPU. The virtual GPU is used to generate graphical output based (at least in part) on execution of the one or more graphics instructions. A graphics overlay comprising one or more additional graphical elements is added to the graphical output based (at least in part) on execution of one or more additional graphics instructions. The one or more additional graphics instructions are not generated by the execution of the application.