State Service Proxies for Cloud Session Affinity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud computing architectures often fail to guarantee session affinity, particularly in connectionless scenarios, making it difficult to deploy stateful applications as they lack mechanisms to maintain session state across service instances, leading to inefficiencies and the need for extensive rewriting of applications to become stateless.

Innovation Solution

A state service system generates client and storage proxies that log messages and interactions, allowing session state to be replayed to new service instances, ensuring session affinity and state preservation across instance changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If cloud computing architecture uses scaling out with multiple service instances, then productivity and scalability are improved, but session affinity and session state continuity deteriorate

Engineering Contradiction:
Improveservice scalabilityVSAvoidsession state continuity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent extracts session state management from individual service instances and centralizes it in a separate state service component. This allows service instances to be stateless while session state is preserved and managed centrally, enabling both scalability and session continuity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces proxies as intermediary components between clients and service instances, and between service instances and the state service. These proxies handle session state persistence and retrieval, allowing service instances to scale without losing session affinity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of substance

If cloud computing architecture removes service instances to optimize resource usage, then loss of substance is reduced, but session state information is lost

Engineering Contradiction:
Improveresource efficiencyVSAvoidsession state
Core Design Contradiction:
Loss of substanceVSLoss of information

Solution Approach 1:

The patent implements preliminary action by having proxies log and persist session state to the state service component before service instances are removed. This ensures session state is saved in advance, allowing instances to be removed for resource optimization without losing session information.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates copies of session state from service instances and stores them in the centralized state service component. This copying mechanism ensures that when instances are removed, their session state information is preserved in the state service and can be restored to new instances.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If stateful applications are deployed in cloud environment without session affinity, then adaptability to cloud architecture is improved, but application functionality deteriorates

Engineering Contradiction:
Improvecloud deployment compatibilityVSAvoidapplication state management
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the application into two distinct parts: stateless service instances that handle request processing and a centralized state service component that manages session state. This segmentation allows the application to adapt to cloud architecture while maintaining stateful functionality through the separation of concerns.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9110844B2State maintenance as a service
Publication Date: 2015.08.18 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9110844B2 patent drawing
  • US9110844B2 patent drawing
  • US9110844B2 patent drawing

AI summary

When a stateful service is implemented in a cloud architecture, a state service system receives a user interface definition for a service and generates a client proxy and optionally a storage proxy. The stateful service implements service instances to service requests from clients. The client proxy receives and logs messages from a client in a state service component and a storage proxy logs interactions with a data store. When a service instance serving existing clients is changed, the proxies replay the logged information to the new service instance to recover or maintain state for individual client sessions.