Video Server Segmentation for MMO Game Streaming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current approaches to executing computer programs, such as games, either require local execution on a single device or remote server execution, leading to inefficiencies in resource utilization and user experience, particularly in providing immediate and seamless gameplay with real-time video streaming.
Innovation Solution
A dual mode model of program execution is implemented, where initial video rendering occurs on a server and is streamed to clients, with client-side game logic and content downloaded in parallel, allowing for a transition from server-side to client-side execution based on game state and bandwidth conditions, enabling efficient and immediate gameplay.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If server-side rendering is used to provide immediate gameplay, then video streaming quality and responsiveness are improved, but network bandwidth consumption and server load increase
Solution Approach 1:
The system segments video content into discrete blocks that can be independently downloaded and cached. Instead of continuously streaming entire video sequences, the server divides content into manageable segments that clients can download in parallel, reducing peak bandwidth requirements while maintaining fast access to individual video portions.
Solution Approach 2:
The system performs preliminary rendering of video content on the server side and prepares video blocks in advance before client requests. Video content is pre-processed and staged on the server, allowing immediate delivery when clients request content without requiring real-time rendering during gameplay.
2Productivity
If client-side execution is implemented to reduce server load, then server resource utilization is improved, but initial game setup time and complexity increase
Solution Approach 1:
The system performs preliminary downloads of video blocks and game assets to client devices before gameplay begins. During the initial setup phase, clients download and cache video content segments, so that when gameplay starts, the content is already available locally without requiring real-time server delivery.
Solution Approach 2:
The system creates and distributes copies of video content blocks to multiple client devices. Instead of serving all video content from a single server instance, the system replicates video blocks across the network to various clients, reducing the burden on any single server and enabling faster local access.
3Duration of action of stationary object
If video blocks are downloaded in parallel with gameplay, then seamless continuous playback is achieved, but network bandwidth requirements and data transmission complexity increase
Solution Approach 1:
The system divides video content into discrete blocks that can be downloaded independently in parallel. Each video block is a self-contained unit that can be fetched, cached, and played without requiring other blocks, enabling simultaneous downloads while maintaining simple individual block structures.
Solution Approach 2:
The system introduces a video block caching layer as an intermediary between the server and client playback. This caching mechanism buffers downloaded video blocks and manages their delivery to the playback system, decoupling the complexity of parallel downloads from the simplicity of continuous playback.
4Loss of energy
If adaptive bitrate streaming is used to optimize bandwidth usage, then network efficiency is improved, but video quality consistency and rendering precision may deteriorate
Solution Approach 1:
The system segments video content into blocks that can be delivered at different quality levels. Each video block can be rendered and delivered in multiple bitrate versions, allowing the system to select appropriate quality levels based on current network conditions while maintaining overall video quality through selective delivery of high-quality blocks when bandwidth is available.
Data Source
AI summary
Video server systems and methods for providing video streams to a plurality of remote clients are described. In one implementation, the video streams are based on game states received from a remote game server. The game states are dependent on game commands received by the video server system from the remote clients and forwarded to the remote game server. The video server system is configured to appear, from the point of view of the game server, as more than one client. For example, the video server system may receive game states from the remote game server at more than one different Internet Protocol address and each of these Internet Protocol addresses may be associated with a different game session.


