Game Data Read Tracking for Instant Play and Smart Prefetch
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video game distribution systems require significant download times and local storage, leading to latency and inefficient use of resources, as users must wait for the entire game to download before playing, and local storage is often limited and slow.
Innovation Solution
Implementing a file system proxy component on client machines to track read operations, generate access data, and send it to a remote system for analysis, allowing for intelligent download sequencing, block dependency prediction, and unused data discard to enable instant play and reduce latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the entire video game is downloaded before playing, then the game can be played without latency, but the download time and storage space required increase significantly
Solution Approach 1:
The game data is divided into multiple blocks that can be downloaded and accessed independently. The system tracks which blocks are actually read during gameplay and prioritizes downloading those blocks first, allowing the game to be played with progressively more data available rather than requiring the complete game download upfront.
Solution Approach 2:
The system performs preliminary actions by tracking read operations and analyzing access patterns before the complete game data is downloaded. This allows intelligent prefetching of frequently accessed blocks and enables the game to start playing with a subset of data while continuing to download and cache additional blocks in the background.
2Reliability
If the entire video game is downloaded and stored locally, then the game can be played offline, but the storage space required increases significantly
Solution Approach 1:
The system identifies and discards game data blocks that are not accessed during gameplay. By analyzing read operation patterns, the system determines which blocks are unnecessary and can be removed from local storage, freeing up space while maintaining full game functionality for accessed content. Unused blocks can be recovered by redownloading them if needed.
Solution Approach 2:
The system extracts and removes unnecessary game data blocks from local storage based on access pattern analysis. By taking out only the unused portions of the game data, the system significantly reduces the storage footprint while preserving all necessary game functionality that is actually utilized during play.
3Volume of stationary object
If game data is stored on HDD for large capacity, then more game data can be stored, but read access speed decreases causing latency
Solution Approach 1:
The system performs preliminary actions by tracking read operations and identifying frequently accessed game data blocks before they are needed. It prefetches these identified blocks from the slow HDD storage into faster cache memory in advance, so that when the game needs to access them, the data is already available in high-speed memory, eliminating latency while maintaining the ability to store large amounts of data on the HDD.
Solution Approach 2:
The system applies different storage qualities to different parts of the game data based on access patterns. Frequently accessed blocks are cached in fast memory with high-speed access characteristics, while less frequently accessed blocks remain on the大容量 HDD. This local differentiation of storage quality optimizes both overall storage capacity and read access speed for critical data.
4Reliability
If the game requires all game data to be downloaded, then complete game functionality is available, but users must wait until download finishes to play
Solution Approach 1:
The system implements partial action by allowing the game to function with a subset of the complete game data. By tracking read operations and identifying the minimum necessary blocks required for gameplay, the system enables users to start playing before the entire game download is complete, while still providing full functionality for the portions of the game that have been downloaded and are accessible.
Solution Approach 2:
The system performs preliminary tracking of read operations and analysis of access patterns to identify which game data blocks are essential for immediate gameplay. This preliminary analysis enables the system to prioritize downloading and making available the critical blocks needed to start playing, rather than waiting for the complete download, thus reducing wait time while maintaining complete game functionality for accessed content.
Data Source
AI summary
Client machines running game executables of a video game(s) may utilize a file system proxy component that is configured to track read operations made by the game executable during a game session, to generate access data based on the tracked read operations, and to report the access data to a remote system. This telemetry approach allows the remote system to collect access data reported by multiple client machines, to catalogue the access data according to client system configuration, and to analyze the access data to generate data that is usable by client machines to implement various game-related features including, without limitation, “instant play” of video games, discarding of unused blocks of game data to free up local memory resources, and/or local prefetching of game data for reducing latency during gameplay.


