Session State Serialization Using Change Tokens

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As the number of users and sessions increases, the existing method of maintaining a secondary computer system's state synchronization with a primary system becomes inefficient due to increased communication requirements, leading to potential service disruptions when the primary system fails.

Innovation Solution

Implementing a process where only components that have changed since the last serialization are transmitted from the primary to the secondary system, using tokens to indicate unchanged components and retrieving previously cached versions for unchanged components, thereby reducing unnecessary communication and maintaining a transparent failover.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the second computer continuously updates its state to match the first computer system, then the system availability is improved, but the communication overhead increases significantly as the number of users and sessions grows

Engineering Contradiction:
Improvesystem availabilityVSAvoidcommunication overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts only the changed components from the full system state for transmission. Instead of sending complete state updates, the system identifies and transmits only the specific components that have modified since the last update, significantly reducing communication overhead while maintaining state synchronization.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements preliminary action by maintaining a cache of previously transmitted state components at the second computer. When receiving updates, the system can quickly retrieve and apply only the changed components from the cache, avoiding the need to process complete state transmissions and reducing communication requirements.

Inventive Principle:
Principle #10Preliminary action

2Stability of the object's composition

If all components are serialized and transmitted to the secondary system, then complete state synchronization is achieved, but the communication bandwidth consumption increases with more users and sessions

Engineering Contradiction:
Improvestate synchronizationVSAvoidcommunication bandwidth
Core Design Contradiction:
Stability of the object's compositionVSQuantity of substance

Solution Approach 1:

The system extracts only the modified components from the complete state for serialization and transmission. By identifying which components have changed since the last serialization, the system sends minimal data necessary to maintain synchronization, reducing bandwidth consumption while preserving state integrity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by transmitting only the necessary portion of the state (changed components) rather than the complete state. This selective transmission provides sufficient information for the secondary system to maintain accurate synchronization without consuming excessive bandwidth.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If the system transmits only changed components using tokens, then communication efficiency is improved, but the complexity of tracking and managing component versions increases

Engineering Contradiction:
Improvecommunication efficiencyVSAvoidcomponent version management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces tokens as intermediary elements to manage component versioning. Each component is associated with a token that tracks its version and change status. This intermediary mechanism simplifies the tracking of component versions by providing a standardized way to identify and manage changes without requiring complex version control logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system uses parameter changes (specifically, component modification status) to determine what needs to be transmitted. By monitoring whether components have changed since the last serialization, the system efficiently identifies which components require updates, balancing the need for accurate tracking with communication efficiency.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8131860B1Serialization and deserialization
Publication Date: 2012.03.06 DELL EMC
  • US8131860B1 patent drawing
  • US8131860B1 patent drawing
  • US8131860B1 patent drawing

AI summary

Serialization is disclosed. It is detected if a component included in a graph of components associated with a user session on a first system has not changed since a prior serialization to a second system. A token is sent to the second system during a current serialization, instead of the component, indicating the component has not changed since the prior serialization. De-serialization is disclosed. a token is received at a first system from a second system, in a stream of serialized data from the second system, that indicates that a component on the second system has not changed since a prior serialization. A cached version of the component is retrieved. The cached copy is used to reconstruct on the second system a state of a user session with which the component is associated on the second system.