Proxy Object Rendering API Runtime Environment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current video rendering technologies, such as HTML5, face limitations in user experience and developer efficiency due to the need for multiple runtime environments and separate libraries for different devices, which complicates content distribution and compatibility.

Innovation Solution

Implementing a proxy object within a computing device's runtime environment to expose rendering APIs not natively supported, allowing developers to write code that invokes the HTML5 API consistently across platforms, leveraging both browser and runtime environment capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple runtime environments and separate libraries are used for different devices, then device compatibility is improved, but system complexity increases

Engineering Contradiction:
Improvedevice compatibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal runtime environment that can execute both native browser code and Flash content, allowing a single environment to serve multiple functions across different devices and content types, thereby reducing the need for separate runtime environments while maintaining broad compatibility

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

Solution Approach 2:

The Flash Player acts as an intermediary layer between the browser and various content delivery mechanisms, providing a unified interface that handles HTML5 video, Flash video, and other formats through a single runtime environment, simplifying the system architecture

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If developers write separate code for different runtime environments, then platform-specific optimization is improved, but development efficiency decreases

Engineering Contradiction:
Improveplatform-specific optimizationVSAvoiddevelopment efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

By making the Flash Player universally compatible with multiple video formats and delivery mechanisms through the ProxyObject architecture, developers can write a single codebase that works across different platforms and runtime environments, eliminating the need for separate optimization code while maintaining platform-specific performance

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

Solution Approach 2:

Instead of having the browser adapt to different video formats through multiple plugins, the patent inverts the approach by having the Flash Player adapt to handle multiple formats natively, allowing developers to write standard Flash code that automatically works across platforms without modification

Inventive Principle:
Principle #13The other way round (Inversion)

3Ease of operation

If a runtime environment exposes rendering APIs not natively supported, then API consistency is improved, but runtime environment complexity increases

Engineering Contradiction:
ImproveAPI consistencyVSAvoidruntime environment complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The ProxyObject serves as an intermediary that intercepts rendering API calls and translates them into appropriate native calls for the underlying video player, allowing the runtime environment to expose a consistent API surface without requiring complex native support for every feature in every platform

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The ProxyObject creates a virtual copy of the rendering API interface that mirrors the expected behavior and properties, allowing developers to interact with a consistent API model while the actual implementation details are handled by the underlying native players through the proxy layer

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9286142B2Methods and systems for supporting a rendering API using a runtime environment
Publication Date: 2016.03.15 ADOBE INC
  • US9286142B2 patent drawing
  • US9286142B2 patent drawing
  • US9286142B2 patent drawing

AI summary

A computing device can comprise an I/O interface and a processing element connected to the I/O interface and implementing a runtime environment. The processing element can implement a program component that causes the processing element to expose a rendering API not natively supported by the runtime environment, the rendering API invocable by code comprised in a markup document accessed by the processor over the I/O interface. The rendering API can be exposed by causing the runtime environment to respond to and update a proxy object that mirrors properties, methods, and behaviors defined by the rendering API.