Stateless Application Framework Resource Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Stateless applications in distributed environments face inefficiencies due to the need for storing state and context data, which consumes computer resources and can lead to inconsistencies when multiple instances access and update this data, especially when external data processing components take extended times to respond.
Innovation Solution
A stateless application framework that utilizes a stateless application module, a context database for persistent storage, and a messaging queue to manage state data and workflows, ensuring data consistency through a locking pattern mechanism and version number management to prevent conflicts between instances.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If state and context data are stored in the memory of the data processing systems during idle sessions, then the state machines can quickly access and update the data, but the computer resources (memory and processing resources) are consumed inefficiently
Solution Approach 1:
The patent extracts the state and context data storage from the in-memory storage of data processing systems and places it in an external database. This allows the state machines to access data externally without consuming system memory resources during idle sessions, while still enabling quick access when needed.
Solution Approach 2:
The patent introduces an external database as an intermediary between the state machines and the state/context data. This mediator enables persistent storage outside the data processing system memory while maintaining efficient access paths through the state machine interface.
2Productivity
If multiple instances of state machines access and update state data simultaneously, then the system can handle increased data processing requests, but data inconsistencies occur
Solution Approach 1:
The patent implements a feedback mechanism where the state machine receives confirmation from the database about the current state before making updates. The system checks the current state, determines the appropriate transition, executes the update, and verifies the result, creating a closed-loop feedback system that prevents inconsistencies even with multiple concurrent instances.
Solution Approach 2:
The patent performs preliminary actions by checking the current state and validating the proposed transition before actually updating the state data. This preliminary validation ensures that only consistent state transitions are executed, preventing data inconsistencies from occurring in the first place rather than correcting them afterward.
3Reliability
If the data processing system waits for external data processing components to return results, then accurate processing can be performed, but the session time extends and memory resources remain occupied
Solution Approach 1:
The patent extracts the state data from volatile memory to persistent external storage during idle periods. This allows the data processing system to release memory resources while the session is waiting for external components, and the state data remains safely stored and accessible when needed.
Solution Approach 2:
The patent changes the storage parameter of state data from volatile in-memory storage to persistent external database storage. This parameter change enables the system to maintain data availability while freeing up memory resources and allowing sessions to extend without occupying system memory.
Data Source
AI summary
Methods and systems for providing an external scheduler in a stateless application framework are presented. A first instance of a stateless application transmits a job request to a data processing engine, and submits a message to a messaging queue. The message indicates a task to be performed according to a delayed schedule. The first instance of the stateless application terminates after submitting the message. The messaging queue transmits the message to the stateless application framework according to the delayed schedule. Upon receiving the message, a second instance of the stateless application is instantiated. The second instance of the stateless application performs an action based on the message and terminates.


