Shared State Server Data Grid Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current synchronization methods for application state information across multiple devices are inefficient and unpredictable, leading to inconsistent user experiences and unnecessary periodic synchronization processes.

Innovation Solution

A method and system that utilize a shared state server and data grid architecture to distribute state information across partitions, allowing for efficient and scalable synchronization by using an in-memory cache and routing table to determine the location of requested state information, eliminating the need for periodic synchronization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If periodic synchronization is used to maintain application state consistency across multiple devices, then synchronization reliability is improved, but synchronization timing becomes unpredictable and efficiency deteriorates

Engineering Contradiction:
Improveapplication state consistencyVSAvoidsynchronization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements periodic synchronization where application instances on different devices periodically communicate with a remote service to exchange state information. This periodic action ensures that state changes are propagated across devices at regular intervals, maintaining consistency while allowing the system to function efficiently between synchronization cycles.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The synchronization mechanism uses feedback by having application instances report their state changes to a remote service, which then notifies other instances. This feedback loop ensures that state information is propagated reliably across devices, with each instance receiving updates about changes made on other devices.

Inventive Principle:
Principle #23Feedback

2Reliability

If remote service interface is used for synchronization, then application state can be synchronized across devices, but synchronization timing becomes unpredictable

Engineering Contradiction:
Improvestate synchronizationVSAvoidsynchronization timing uncertainty
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent establishes a remote service interface in advance that application instances can use for synchronization. This preliminary setup allows instances to synchronize at predictable intervals or upon specific events, rather than waiting for unpredictable conditions. The remote service is pre-configured to handle state exchange, enabling timely and predictable synchronization.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If multiple application instances synchronize periodically, then state consistency is maintained, but unnecessary synchronization processes occur

Engineering Contradiction:
Improveapplication state consistencyVSAvoidcomputational resource waste
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent implements synchronization that performs only the necessary state exchange rather than complete periodic synchronization. Instances synchronize state information selectively, updating only when changes occur rather than performing full synchronization cycles regardless of state changes. This partial action approach maintains consistency while reducing unnecessary computational overhead.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10225341B2Implementing synchronization of state information between instances of an application as well as between different applications in an efficient, scalable manner
Publication Date: 2019.03.05 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10225341B2 patent drawing
  • US10225341B2 patent drawing
  • US10225341B2 patent drawing

AI summary

A method, system and computer program product for implementing synchronization of state information in an efficient, scalable manner. A shared state server receives a request from a client device to access a scope containing state information. The scope is distributed over a partition(s) via the use of a "data grid" thereby increasing scalability. The shared state server relays the request to a data grid server responsible for maintaining the data grid comprised of an in-memory cache and partitions outside of the in-memory cache. The request includes a key associated with a value corresponding to the requested state information. The data grid server obtains the value associated with the key from its data grid and sends it to the shared state server to be relayed to the requesting client device. In this manner, the state information is stored in a scalable manner thereby improving the efficiency in synchronizing state information.