Transparent Stateful Execution for Stateless Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Stateless applications face inefficiencies due to the need for constant reinitialization and state management, which can lead to slowed processing and increased resource usage, while stateful applications struggle with scalability and memory requirements.

Innovation Solution

Implementing a system that allows stateless applications to dynamically switch between stateless and stateful modes based on environmental and user inputs, enabling stateful execution when necessary for transactions and stateless execution for browsing, thereby optimizing resource usage and scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If stateless applications are used to improve scalability and reduce memory usage, then more users can be served by the same machine, but processing speed decreases due to constant reinitialization and reidentification of application state

Engineering Contradiction:
Improvememory usageVSAvoidprocessing speed
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent implements dynamic mode switching that allows the application to transition between stateless and stateful execution modes based on runtime conditions. The system determines whether to execute in stateless mode (for scalability) or stateful mode (for processing efficiency) by evaluating environmental factors and user inputs, thereby optimizing both memory usage and processing speed according to current operational context

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If stateless applications are used to reduce server memory requirements, then scalability increases, but resource usage increases due to constant exchange to maintain state information between client and server

Engineering Contradiction:
Improveserver memoryVSAvoidresource usage
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The patent extracts the state management burden from the server by implementing stateless execution mode where the application does not maintain session state on the server. Instead, state information is managed through request parameters, URL rewriting, or client-side storage, thereby reducing server memory requirements while minimizing the constant exchange overhead through efficient state passing mechanisms

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If stateful applications are used to maintain application state on the server, then processing efficiency improves, but scalability decreases due to memory constraints and single-user CPU loads

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidmemory requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system dynamically adjusts between stateful and stateless execution modes based on runtime conditions. When processing efficiency is prioritized and resources are available, the application executes in stateful mode with server-maintained session state. When scalability is prioritized or memory constraints exist, it switches to stateless mode, thereby adaptively balancing processing efficiency against memory requirements

Inventive Principle:
Principle #15Dynamics

4Quantity of substance

If stateless applications restart and reinitialize upon each request to maintain statelessness, then memory usage is optimized, but processing time increases

Engineering Contradiction:
Improvememory usageVSAvoidprocessing time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-initializing the application in stateless mode during deployment or caching frequently accessed application components. This allows the application to avoid full reinitialization upon each request, instead performing lighter-weight state restoration from cached data or request parameters, thereby reducing processing time while maintaining optimized memory usage

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9749387B2Transparently stateful execution of stateless applications
Publication Date: 2017.08.29 SAP SE
  • US9749387B2 patent drawing
  • US9749387B2 patent drawing
  • US9749387B2 patent drawing

AI summary

This disclosure provides various embodiments for providing transparently stateful execution of stateless applications. A request associated with an application is received and includes at least one operation to be executed by the application as well as a set of first state information. The application determines if the operations are to be executed statelessly or not. If the application is to be executed statelessly, the first state information is retrieved from the request and used to initialize the application. If not, then the first state of the application is retrieved from a location other than the received request. The operations are then executed by the application in the application's appropriate first state. A response including the relevant information associated with the response as well as an updated set of state information identifying the application's second state is generated and transmitted to the client.