Streaming Application State Persistence Across Cloud and Local Transitions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Users interacting with streaming applications lose their progress when switching to locally installed versions, as existing technologies do not effectively persist the state of streaming applications across transitions.

Innovation Solution

Incorporating code in both the virtual machine and client device to store and retrieve the state data of streaming applications, allowing the cloud to manage and synchronize state information between streaming and locally installed versions, ensuring that users can resume their progress from where they left off.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If a user streams an application from the cloud, then the user can access the application without downloading it, but the user's progress is lost when switching to a locally installed version

Engineering Contradiction:
Improveease of application accessVSAvoidloss of application state
Core Design Contradiction:
Ease of manufactureVSLoss of information

Solution Approach 1:

The system performs preliminary actions by capturing and storing the application state in the cloud during the streaming phase. The state data is saved before the user switches to local installation, ensuring that progress is preserved and can be retrieved later when the user reinstalls or accesses the application locally.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The cloud-based service acts as an intermediary between the streaming application environment and the locally installed application. It stores state data and provides it back to the local application, mediating the transition and ensuring continuity of application state across different execution environments.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the cloud stores state data for all streaming applications, then user progress is preserved, but storage resources and system complexity increase

Engineering Contradiction:
Improvestate data persistenceVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system applies different storage strategies based on the specific application and user needs. Not all applications have their state data stored in the cloud - only those that require persistence across streaming and local installations. This selective approach reduces overall system complexity while maintaining reliability where needed.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically adjusts storage parameters such as storage duration, data retention policies, and cloud storage allocation based on application type, user preferences, and resource availability. This allows the system to maintain state data reliability while adapting storage complexity to actual requirements rather than applying a uniform complex solution to all cases.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11463498B2Persisting state of a streaming application
Publication Date: 2022.10.04 GOOGLE LLC
  • US11463498B2 patent drawing
  • US11463498B2 patent drawing
  • US11463498B2 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for persisting state of a streaming application are disclosed. In one aspect, a method includes the actions of receiving data indicating interaction with third-party content that is displayed with first-party content at a client device. The interaction with the third-party content initiates an application request for a streaming version of an application (“streaming application”). The actions further include generating a representation of the streaming application in response to the interaction with the third-party content at the client device. The actions further include receiving data indicating a user interaction with the representation of the streaming application at the client device. The actions further include generating and storing data indicating a first state of the streaming application at a first time based on the user interaction with the representation of the streaming application.