Distributed Scene Rendering via Server-Client Data Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern video games with complex scenes and interactive light sources require significant computing resources, often overwhelming systems and diverting resources from other important operations, especially when rendering detailed graphics and shadows.

Innovation Solution

A distributed scene rendering system where scene information is determined by both server and client components, with pre-computed and user-input dependent data combined to generate images and audio, utilizing virtual machine instances and deferred rendering techniques to optimize resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If complex scenes with detailed objects and multiple light sources are rendered, then visual quality and scene detail are improved, but computing resource consumption increases significantly

Engineering Contradiction:
Improvescene rendering qualityVSAvoidcomputing resource consumption
Core Design Contradiction:
Manufacturing precisionVSUse of energy by moving object

Solution Approach 1:

The patent segments scene information into multiple portions, with server components determining a first portion (non-user-dependent elements) and client components determining a second portion (user-dependent elements). This segmentation allows distributed processing of rendering tasks, reducing the computational burden on any single system while maintaining high visual quality through coordinated processing of scene geometries, lighting information, and material properties.

Inventive Principle:
Principle #1Segmentation

2Productivity

If pre-computation is used for non-user-dependent scene information, then rendering efficiency is improved, but initial processing time increases

Engineering Contradiction:
Improverendering efficiencyVSAvoidpre-computation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by having server components pre-determine a first portion of scene information (including scene geometries, lighting information, and material properties that are not dependent on user input) before the content item is executed by the client. This pre-computed data is then transmitted to the client, where it is combined with user-dependent elements during runtime, significantly improving rendering efficiency while the pre-computation occurs in advance during system setup or scene loading.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If distributed processing is implemented between server and client components, then resource utilization is optimized, but system complexity increases

Engineering Contradiction:
Improveresource utilization flexibilityVSAvoidsystem architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary communication mechanism between server components and client components that facilitates the exchange of scene information portions. The server transmits the first portion of scene information (pre-determined non-user-dependent data) to the client, which then combines it with the second portion (user-dependent data). This intermediary data exchange protocol manages the complexity of distributed processing by establishing clear interfaces and communication protocols between system components.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10471351B1Distributed determination of scene information
Publication Date: 2019.11.12 AMAZON TECH INC
  • US10471351B1 patent drawing
  • US10471351B1 patent drawing
  • US10471351B1 patent drawing

AI summary

Techniques for distributed determination of scene information are described herein. Scene information may include, for example, information associated with geometries, lighting, colors, texture, shading, shadows, audio, camera attributes, and other information associated with a scene. A first portion of scene information may, for example, be determined by one or more first components, while a second portion of scene information may, for example, be determined by one or more second components. In some cases, at least part of the first portion of scene information may be provided from the one or more first components to the one or more second components. The one or more second components may use the at least part of the first portion of scene information in combination with at least part of the second portion of scene information to generate at least part of a resulting image and/or resulting audio associated with the scene.