Virtualized Rendering Engine for Shared Content Tiles
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional approaches to rendering content for multiple clients require significant resource capacity and lead to redundant rendering, increasing costs and latency as each client necessitates a discrete rendering component, despite significant overlap in content.
Innovation Solution
Implementing a virtualized rendering engine scheme that reuses already-rendered content by creating a hierarchy of rendering engines, where a parent virtual rendering engine renders initial content, and subsequent requests reference existing tiles, reducing redundant rendering and utilizing thin clients and virtual machines to manage resource allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a discrete rendering component is used for each client, then content can be rendered for each client individually, but resource capacity requirements increase significantly and redundant rendering occurs
Solution Approach 1:
Multiple discrete rendering components are merged into a shared rendering pool where rendering resources are consolidated. The system combines rendering capabilities across multiple clients by identifying common content and using a single rendering instance to serve multiple clients simultaneously, thereby reducing total resource capacity requirements.
Solution Approach 2:
The rendering system is transformed from specialized discrete components into a universal shared rendering pool that can serve multiple clients with different content needs. The shared rendering pool performs multiple rendering functions for different clients using common infrastructure, achieving multi-functionality and reducing overall resource requirements.
2Adaptability or versatility
If a discrete rendering component is used for each client, then content can be customized for each client, but operational costs increase due to duplication of work
Solution Approach 1:
The system performs preliminary rendering of common content in advance within the shared rendering pool, storing the rendered output for subsequent reuse. When multiple clients request similar content, the pre-rendered version is already available, eliminating the need to re-render and thereby reducing operational costs and energy consumption.
Solution Approach 2:
The system discards redundant rendering operations by identifying and reusing previously rendered content. Instead of performing duplicate rendering work for each client, the system recovers and reutilizes existing rendered content where applicable, thereby eliminating wasted energy and reducing operational costs.
3Productivity
If conventional rendering approaches are used, then each client receives rendered content, but latency increases due to redundant rendering operations
Solution Approach 1:
The system merges redundant rendering operations into a single shared rendering process. When multiple clients request similar content, the shared rendering pool performs the rendering operation once and serves all clients simultaneously, thereby eliminating the time waste associated with duplicate rendering and reducing overall latency.
Solution Approach 2:
The system performs rendering operations in advance within the shared rendering pool and caches the results. When clients request content, the pre-rendered content is already available for immediate delivery, significantly reducing the time required compared to rendering at the moment of request and thereby decreasing latency.
Data Source
AI summary
Content rendered for display on a first client device can be referenced for similar pages to be displayed on other client devices such that similar content does not need to be re-rendered. Each client can have a respective virtual rendering engine on a host device, and the content rendered by those virtual engines can be mapped and used to generate content trees for different pages or other groupings of content. When a new page is to be rendered, the tiles or other portions matching previously-rendered tiles can be referenced, so that only new or unique portions need to be rendered for a particular page. The content can come from multiple locations as rendered by multiple virtual clients, such that for many clients the respective virtual engine may not render any content but instead reference rendered content from one or more locations as determined according to the page tree.


