Dual-mode Game Execution with Server-to-Client Transition
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computer game execution models either require immediate execution on a single device or remote server execution, lacking a seamless transition between server-side and client-side rendering, which can lead to inefficiencies in resource management and user experience.
Innovation Solution
A dual-mode model that initially renders video on a server and streams it to the client, while simultaneously downloading and executing client-side game logic, allowing for dynamic transition between server-side and client-side rendering based on game state and bandwidth conditions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If program execution occurs on a remote server, then resource management efficiency is improved, but execution speed and user experience deteriorate due to network latency
Solution Approach 1:
The system dynamically switches between server-side rendering mode and client-side rendering mode based on real-time conditions. Initially, the server renders video frames and streams them to the client. As client-side game logic is downloaded and becomes available, the system transitions to client-side rendering, optimizing the balance between resource management and execution speed.
Solution Approach 2:
The system performs preliminary actions by downloading client-side game logic and assets in parallel with streaming video frames from the server. This preparation enables a smooth transition to client-side rendering without interrupting game playback, thus improving execution speed while maintaining resource efficiency.
2Speed
If client-side rendering is used, then execution speed is improved, but device complexity increases due to requiring full game client installation
Solution Approach 1:
The game client is segmented into essential components: video decoding capabilities that are already present in most devices, and game logic that is downloaded on-demand. This segmentation allows the system to use client-side rendering for speed improvement without requiring full game client installation, thus reducing device complexity.
Solution Approach 2:
Instead of requiring the full game client to be installed on the device, the system downloads only the necessary game logic and assets as needed. This copying approach enables client-side rendering for improved execution speed while avoiding the complexity of complete client installation.
3Ease of operation
If server-side rendering is used, then ease of operation is improved, but bandwidth consumption increases
Solution Approach 1:
The system uses periodic action by initially streaming video frames from the server in a continuous manner, then periodically transitioning to client-side rendering as game logic is downloaded. This periodic switching optimizes bandwidth consumption while maintaining ease of operation, as the server handles rendering initially and the client takes over later.
4Loss of time
If immediate execution is required, then user experience is improved, but resource management efficiency deteriorates
Solution Approach 1:
The system merges server-side rendering with client-side video decoding capabilities to achieve immediate execution. The server renders video frames and streams them to the client, which decodes and displays them in real-time. This combination provides immediate execution for improved user experience while maintaining resource management efficiency by leveraging both server and client resources.
Data Source
AI summary
A computing system is configured to execute a computer program on a server and to provide a video stream of the program output to a geographically remote client over a communication network. The computing system is further configured to provide executable content of the computer program to the client over the communication network in parallel with the video stream. When a sufficient amount of the executable content has been provided to the client execution of the computer program is transitioned from the server to the client. The transition optionally includes communicating a state of the computer program from the server to the client. The executable content can be provided to the client in an order that is determined based on the state of the computer program. Those parts of the executable content deemed most likely to be necessary to support game play on the client are given priority.


