Cloud-Local App Split for Media Device Rendering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Media devices, such as streaming devices and TVs, have limited computing capabilities compared to generic computing devices, restricting the functionality of applications running on them, particularly in terms of processing and storage demands, which prevents support for normal web browsers and other advanced computing tasks.
Innovation Solution
A cloud-based execution environment separates application functions into a user renderer context executed on the media device for input/output operations and a user programmer context executed in the cloud for business logic, allowing applications to be developed and operated using standard languages like JavaScript, with the cloud maintaining a container for rendering UIs across multiple devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Power
If applications are executed locally on media devices, then input/output operations and UI rendering can be performed in real-time, but computing capabilities are limited and processing/storage demands cannot be met
Solution Approach 1:
The application is divided into two separate contexts: a user renderer context that runs locally on the media device for real-time input/output operations and UI rendering, and a user programmer context that runs in the cloud for computationally intensive business logic and data processing. This segmentation allows each part to execute in its optimal environment.
Solution Approach 2:
A communication interface acts as an intermediary between the local renderer context and the cloud-based programmer context, enabling real-time data exchange and coordination. The renderer context can send input events to the cloud and receive updated UI instructions, maintaining real-time responsiveness while leveraging cloud computing power.
2Power
If cloud computing is used for application execution, then processing and storage demands are met, but real-time input/output operations and UI rendering may be affected
Solution Approach 1:
The application is divided into two separate contexts: a user renderer context that runs locally on the media device for real-time input/output operations and UI rendering, and a user programmer context that runs in the cloud for computationally intensive business logic and data processing. This segmentation allows each part to execute in its optimal environment.
Solution Approach 2:
The local renderer context continuously operates on the media device, maintaining an ever-ready state for immediate input processing and UI rendering. The cloud-based programmer context continuously processes business logic and synchronizes with the renderer through the communication interface, ensuring uninterrupted real-time responsiveness while leveraging cloud computing power.
3Power
If proprietary languages are used for application development on media devices, then device-specific optimization is achieved, but development speed and ease of use are reduced
Solution Approach 1:
The system allows application development using universal standard languages like JavaScript in the cloud-based programmer context, eliminating the need for proprietary media device languages. The compiled or interpreted code is then deployed to run in the cloud, providing device-agnostic development while maintaining device-specific optimization through the renderer context on the media device.
Data Source
AI summary
Disclosed herein are system, apparatus, article of manufacture, method and/or computer program product embodiments, and/or combinations and sub-combinations thereof, for operating a user application including a user rendered context operating on a user device and maintaining a current render tree, and a user programmer context operating on a cloud computing system. The user rendered context of the user application can receive an input; and send, responsive to receiving the input, an event notification to the user programmer context of the user application. The user rendered context can further receive, from the user programmer context, a difference tree to update the current render tree, and update the current render tree based on the difference tree.


