Incremental Save Recovery for Content Streaming Sessions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Content streaming systems often lose user progress during gaming sessions due to unexpected terminations, as they only save updates at the end of the session, failing to recover the current state if the session crashes or loses connectivity.

Innovation Solution

Implement incremental saves during sessions, generating data packages for file changes to reload the most current state if a termination event occurs, using techniques like directory notifications and logs to track file changes and generate data packages during quiet states.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the system only saves updates at the end of the session, then storage space is conserved and save operations are simple, but user progress is lost when the session terminates unexpectedly

Engineering Contradiction:
Improveuser progress preservationVSAvoidsave mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary save actions by creating data packages that capture file changes as they occur during the session. These data packages are generated incrementally and stored in memory, preparing the progress data in advance before the session ends, whether normally or unexpectedly.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The save mechanism is segmented into incremental data packages that capture changes to individual files or portions of files. Each data package represents a discrete unit of progress that can be independently stored and recovered, rather than saving the entire application state as a single unit.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the system generates and stores data packages during the session, then user progress can be recovered after unexpected termination, but storage space is consumed and system resources are used

Engineering Contradiction:
Improvesession recovery capabilityVSAvoidstorage space consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system uses in-memory storage for data packages during the session, treating these temporary data structures as disposable objects that exist only for the duration of the gaming session. This avoids permanent storage consumption while still enabling recovery.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

The system extracts only the essential progress information needed for recovery into compact data packages. Rather than storing complete file copies or entire application states, it extracts and stores only the critical change data required to restore progress after termination.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If the system takes a snapshot of the entire disk at the end of the session, then all progress is saved, but the save operation is time-consuming and may not complete before unexpected termination

Engineering Contradiction:
Improveprogress save completenessVSAvoidsave operation duration
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs save actions preliminarily and incrementally throughout the session by generating data packages as files are modified. This continuous incremental saving eliminates the need for a time-consuming final snapshot operation, as progress is captured continuously in the background.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses periodic monitoring of file system changes to generate data packages at regular intervals or upon detecting specific change events. This periodic capture mechanism ensures progress is saved frequently without requiring continuous full-disk snapshotting.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS20250352897A1Incremental application saves for content streaming systems
Publication Date: 2025.11.20 NVIDIA CORP
  • US20250352897A1 patent drawing
  • US20250352897A1 patent drawing
  • US20250352897A1 patent drawing

AI summary

In various examples, incremental application saves for content streaming systems is described herein. Systems and methods are disclosed that perform incremental saves during sessions associated with applications, such as a gaming application, and then use the incremental saves to retrieve most current states associated with the applications if one or more termination events occur. For instance, during a session of an application, data packages may be generated that represent changes to the application, such as changes to one or more files and/or one or more portions (e.g., a block(s)) of the file(s). As such, if a termination event occurs during the session, such as the session crashing, user data may be used to reload an initial state of the application at the beginning of the session while the data packages are then used to reload a most current state of the application before the termination event(s) occurred.