Distributed Session State Storage Using Hash-Based Node Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional approaches to storing session state data in multimedia delivery systems, such as those used in adaptive bitrate streaming, often rely on centralized managers that are difficult to scale and can create single points of failure, making it challenging to maintain session resilience across distributed systems.
Innovation Solution
A method for storing session state data across a plurality of nodes in a distributed system, where the location of the data is determined using a unique session identifier, allowing any node to locate and retrieve the data without relying on a centralized mechanism, enabling seamless session resumption across different nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a centralized manager is used to store session state data, then session management is simplified and data location can be easily tracked, but the system becomes difficult to scale and creates a single point of failure
Solution Approach 1:
The patent segments the centralized session state storage into distributed storage across multiple nodes. Each node maintains session state data locally, eliminating the single point of failure while maintaining session management functionality through decentralized architecture.
Solution Approach 2:
The patent introduces a hashing mechanism as an intermediary that maps session identifiers to specific node locations. This allows any node to determine where session state data is stored without requiring a centralized manager, resolving the contradiction between simplicity and resilience.
2Reliability
If session state data is distributed across multiple nodes, then system scalability and resilience are improved, but determining data location becomes more complex without a centralized mechanism
Solution Approach 1:
Each node in the distributed system performs self-service by independently determining the location of session state data using the hashing mechanism. Nodes do not need to query a centralized directory or other nodes, as the hashing function directly provides the location information based on the session identifier.
Solution Approach 2:
The patent transforms the complex problem of distributed data location determination into a simple parameter-based lookup. By using the session identifier as input to a hashing function, the system converts an otherwise complex search problem into a direct calculation that yields the node location.
3Ease of operation
If a centralized manager is used for session state storage, then data location is easily determined, but the system cannot easily scale to handle millions of concurrent sessions
Solution Approach 1:
The patent segments session state storage across multiple nodes in the distributed system, allowing each node to handle a portion of the total session load. This segmentation enables linear scaling as nodes are added to the system, directly addressing the productivity limitation of centralized storage.
Solution Approach 2:
The patent transitions from a single-dimension centralized storage model to a multi-dimensional distributed storage architecture. By introducing the node dimension and using hashing to map session identifiers to nodes, the system gains the ability to scale horizontally across multiple dimensions rather than being constrained by a single centralized point.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method for storing session state data of a session between a system having a plurality of nodes and a client device includes delivering a service to the client device during a session identified or otherwise specified by a session identifier. The service is delivered by a first of the plurality of nodes in the system. During the session, at least a second node in the system is selected on which session state data associated with the session is to be saved. The second node is selected based on the session identifier such that another node in the system is able to locate the session state data when stored on the second node from the session identifier without contacting a centralized mechanism that specifies where session state data is stored. The session state data is saved to the second node that is selected.