I/O Level Virtualization for Cloud Gaming Resource Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtual environment systems require each virtual machine to have its own operating system, leading to inefficient resource allocation and increased complexity in supporting multiple independent applications on a single hardware device.
Innovation Solution
Implementing I/O level virtualization, where multiple video game environments share a common operating system and resources like memory and processor time, with separate virtual I/O shells for each game to manage inputs and outputs, allowing for parallel execution of multiple games on the same operating system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If each virtual machine is allocated a separate operating system, then isolation and independence are improved, but resource efficiency and system complexity deteriorate
Solution Approach 1:
The patent segments the virtualization architecture into multiple levels: full virtualization for complete isolation when needed, and I/O level virtualization for shared resource efficiency. This allows different games to use different virtualization modes based on their requirements, improving both isolation where needed and resource efficiency where possible.
Solution Approach 2:
The patent creates a universal base operating system that can serve multiple virtual machines simultaneously through I/O level virtualization. This base OS provides common services to multiple games, improving resource efficiency while maintaining game-specific functionality through virtualized I/O channels.
2Adaptability or versatility
If each virtual machine is allocated a separate operating system, then independence is improved, but device complexity deteriorates
Solution Approach 1:
The patent segments the virtualization approach into two distinct modes: full virtualization for games requiring complete independence, and I/O level virtualization for games that can share system resources. This segmentation allows the system to manage complexity by offering different levels of isolation rather than forcing a single complex architecture on all games.
Solution Approach 2:
The patent introduces a virtual I/O shell as an intermediary layer between the base operating system and individual games. This mediator handles I/O virtualization, allowing games to access resources independently through virtual channels while sharing the underlying OS, thus reducing overall system complexity.
3Productivity
If I/O level virtualization is implemented, then resource sharing efficiency is improved, but I/O isolation deteriorates
Solution Approach 1:
The patent introduces a virtual I/O shell as an intermediary that provides both resource sharing and I/O isolation. This mediator layer allows efficient resource sharing through the base OS while simultaneously providing game-specific I/O channels that maintain isolation, resolving the contradiction between sharing efficiency and isolation.
Solution Approach 2:
The patent segments I/O resources into virtual channels that are assigned to individual games within the I/O shell. This segmentation provides I/O isolation at the channel level while allowing efficient sharing of underlying hardware resources through the base operating system.
Data Source
AI summary
Systems and methods are provided for cloud gaming. One system includes a plurality of computing resources in one or more data centers. The plurality of computing resources is configured to execute instances of games for client devices that are remote from the one or more data centers. Each instance for an executable game is associated with a processor, a graphics processing unit (GPU), and memory for storing video frames generated for the executable game. The video frames are compressed for video game streaming to one or more client devices. The executable game provides video and audio and receives input from said one or more client devices. The input is provided to control interactivity of the executable game during said video game streaming. The cloud gaming system uses said received input from said one or more client devices to drive instances of the executable game when executed by the computing resources of the one or more data centers.


