Session Wrapper Mapper for Failover Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In server environments with multiple user sessions, non-volatile application data is often duplicated, leading to high memory consumption due to the need for session-local and cross-session data management, which results in inefficient memory usage and increased memory consumption.

Innovation Solution

A wrapper system that stores references to cross-session and session-local objects, using a mapper object to facilitate recovery after session failover, allowing for on-demand creation and caching of data objects, thereby reducing unnecessary memory usage and optimizing data access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If wrappers store complete copies of data graphs for each session, then session-local data access is fast and reliable, but memory consumption increases significantly

Engineering Contradiction:
Improvesession-local data accessVSAvoidmemory consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The data graph is segmented into session-specific portions (stored in individual wrappers) and cross-session portions (stored once in the application). Each wrapper contains only the subset of data objects relevant to its session, rather than storing complete copies of the entire data graph. This segmentation reduces redundant storage while maintaining fast access to session-local data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Cross-session data objects serve multiple sessions simultaneously, acting as a shared resource. Instead of duplicating these objects in each wrapper, the system allows multiple wrappers to reference the same cross-session data objects, making them universal across session boundaries. This multi-functionality reduces memory consumption while ensuring data availability to all sessions that need it.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If wrappers are created for all data objects in a graph, then complete data access is available, but memory is wasted on unused wrappers

Engineering Contradiction:
Improvedata access completenessVSAvoidmemory usage
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

Each wrapper is tailored to the specific needs of its session, containing only the data objects that are locally relevant to that session. Rather than creating uniform wrappers for all data objects, the system applies local quality by customizing wrapper contents based on session-specific requirements, thereby avoiding allocation of memory for wrappers that would not be used by particular sessions.

Inventive Principle:
Principle #3Local quality

3Speed

If complete data graphs are cached for each session, then data access speed is improved, but memory consumption increases

Engineering Contradiction:
Improvedata access speedVSAvoidmemory consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The data cache is segmented into session-specific cached portions and shared cross-session cached portions. Each session caches only its relevant data objects locally for fast access, while cross-session data objects are cached once and shared among multiple sessions. This segmentation maintains fast data access speeds by keeping frequently accessed session-local data in memory, while avoiding the memory waste of duplicating cross-session data across all sessions.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7752484B2On-demand wrappers of application data with session failover recovery
Publication Date: 2010.07.06 SAP SE
  • US7752484B2 patent drawing
  • US7752484B2 patent drawing
  • US7752484B2 patent drawing

AI summary

A wrapper can receive a request for application data. The wrapper wraps a first reference to a cross-session object and a second reference to a wrapper mapper object. Thereafter, the cross-session object can be accessed using the first reference and the wrapper mapper object is polled using the second reference to access a session-local object. The wrapper mapper object includes a wrapper list references the wrapper and any wrappers contained therein to facilitate recovery after session failover. Related apparatus, systems, methods, and articles are also described.