Session State Serialization Using Change Tokens
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


