WebRTC Session State Storage on Client Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing WebRTC communication systems face challenges in maintaining session state information during server failures, requiring shared memory for failover, which limits scalability and flexibility in replacing servers without disrupting ongoing communications sessions.
Innovation Solution
Storing session state information locally on client devices and encrypting it for secure transfer to replacement servers, allowing client devices to manage session state backup and forwarding it to new servers upon connection loss, thereby eliminating the need for shared memory and enhancing server replacement and addition processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If shared memory is used for session state storage to enable server failover, then reliability is improved, but device complexity and scalability are worsened
Solution Approach 1:
The patent extracts the session state storage function from the server's shared memory infrastructure and relocates it to the client device's local storage. This eliminates the need for complex shared memory systems between servers while maintaining session continuity during failover, as the client retains session state independently of server changes.
Solution Approach 2:
The client device acts as an intermediary that stores and manages session state information locally. Instead of servers sharing memory directly, the client serves as the mediator that preserves session state across server transitions, simplifying the architecture while ensuring reliability during failover events.
2Reliability
If shared memory is used for session state storage, then failover support is improved, but scalability and flexibility in server replacement are worsened
Solution Approach 1:
By extracting session state storage from the server infrastructure to client-side local storage, the system eliminates dependencies on shared memory configurations. This enables servers to be replaced, added, or scaled without affecting session state preservation, as the client independently maintains session information.
Solution Approach 2:
The system segments the session state management responsibility from the server layer to the client layer. This segmentation allows servers to be independently replaceable and scalable without impacting failover capabilities, since each client independently manages its own session state without relying on server-side shared memory.
3Adaptability or versatility
If session state is stored on client devices, then scalability and server replacement flexibility are improved, but security requirements are worsened
Solution Approach 1:
The patent changes the security parameter by implementing encryption for session state data stored on client devices. This transforms the security approach from relying on server-side protection to enabling secure client-side storage through cryptographic measures, allowing scalability improvements while mitigating security risks.
Data Source
AI summary
Methods and apparatus related to the storage and/or recovery of session state information are described. A communications server, e.g., a web RTC server, supporting a communications session, stores session state information corresponding to the communications session in a client device, e.g., a user device including a web browser, participating in the communications session. Following a failure of the communications server, the client device establishes a new connection with a replacement communications server and communicates the stored session state information to the replacement communications server. In some embodiments, the session state information is communicated between a communications server and a client device in encrypted form via a secure HTTP web socket connection. In various embodiments, both the communications server and the replacement communications server include or have access to a shared encryption key.


