Application State Synchronization Across Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing devices lack seamless continuity of application execution when switching between different devices, such as mobile devices and computing devices, leading to loss of user context in applications like web pages, emails, or multimedia files.

Innovation Solution

Implementing a system where a client device determines its current application state, sends this information to a server, and upon detecting another device's execution of the same application, stops sending updates to prevent collisions, allowing the second device to resume the application from the server-stored state.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a client device continuously sends application state updates to a server, then the application state is kept synchronized across devices, but data collisions occur when multiple devices attempt to update simultaneously

Engineering Contradiction:
Improveapplication state synchronizationVSAvoiddata collisions
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

Solution Approach 1:

The system applies preliminary anti-action by having the server send a notification to the first client device before the second client device updates the application state. This advance warning allows the first device to stop sending updates proactively, preventing data collisions before they occur. The server acts as a coordinator that anticipates potential conflicts and takes preventive action.

Inventive Principle:
Principle #9Preliminary anti-action

Solution Approach 2:

The system implements feedback by having the server monitor application state updates from multiple devices and send notifications back to the first client device when a second device is about to update. This feedback loop enables the first device to adjust its behavior (stop sending updates) based on real-time information from the server, ensuring synchronized state management without collisions.

Inventive Principle:
Principle #23Feedback

2Ease of operation

If application state information is transmitted between devices, then seamless continuity is achieved, but network bandwidth and energy are consumed

Engineering Contradiction:
Improveseamless continuityVSAvoidenergy consumption
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The system extracts only the essential application state information needed for continuity (such as current position, playback state, or document location) and transmits only these critical data elements between devices. By taking out only the necessary state parameters rather than transmitting complete application data, the system achieves seamless continuity while minimizing energy consumption and network bandwidth usage.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If multiple devices can execute the same application, then device versatility is improved, but maintaining consistent application state becomes complex

Engineering Contradiction:
Improvemulti-device executionVSAvoidstate management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The server acts as an intermediary that centralizes application state management for multiple devices. Instead of each device independently managing state synchronization (which would be complex), the server mediates all state updates, coordinates between devices, and ensures consistency. This intermediary approach enables multi-device execution versatility while simplifying state management complexity by centralizing coordination logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8260879B2Continuous application execution between multiple devices
Publication Date: 2012.09.04 GOOGLE LLC
  • US8260879B2 patent drawing
  • US8260879B2 patent drawing
  • US8260879B2 patent drawing

AI summary

In one example, a device includes a display, an interface configured to exchange data with external devices, a control unit configured to execute an application to cause the display to display a current visual representation of the application, determine a current application state of the application, wherein the current application state includes at least a portion of the current visual representation of the application, and means for sending, without user intervention, an indication of the determined current application state from the device to a second, different device via the interface, wherein the indication of the determined current application state comprises information for recreating at least the portion of the current visual representation of the application, wherein the control unit is configured to prevent subsequent indications of the current application state from being sent to the second device in response to an indication that a third device is executing the application.