Connection Manager Shared Memory Session Failover

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing application servers face inefficiencies and session loss due to the overhead of establishing connections between the connection manager and J2EE dispatcher, as well as the risk of virtual machine crashes leading to session drops, particularly in handling distributed and non-distributed computing sessions.

Innovation Solution

Implementing a connection manager that utilizes shared memory regions for request/response data transfer, including a request/response shared memory for normal operations and shared closure-based shared memory for session state information, along with request notification queues to facilitate fast session failover and manage worker nodes, thereby reducing overhead and ensuring session reliability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If connection manager establishes separate connections for each worker node in J2EE standards-based software suite, then request routing capability is improved, but connection overhead and system complexity increase

Engineering Contradiction:
Improverequest routing capabilityVSAvoidconnection overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges multiple worker nodes into a single shared memory space, allowing the connection manager to communicate with all worker nodes through one connection rather than establishing separate connections to each worker node. This reduces connection overhead while maintaining the ability to route requests to appropriate worker nodes through memory-based coordination.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces shared memory as an intermediary between the connection manager and worker nodes. Instead of direct connections between the connection manager and each worker node, all communication passes through the shared memory region, which acts as a mediator to reduce connection complexity while preserving routing functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If virtual machine crashes are allowed to occur, then system resilience is improved, but session loss increases

Engineering Contradiction:
Improvesystem resilienceVSAvoidsession loss
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent implements session state information storage in shared memory before worker node failures can occur. By maintaining session state in a location accessible to all worker nodes and the connection manager, the system prepares in advance for potential crashes, allowing failed sessions to be recovered by other worker nodes without data loss.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Solution Approach 2:

The patent implements session failover mechanisms that monitor worker node health and automatically redirect sessions from failed worker nodes to healthy ones. This feedback loop ensures that when a virtual machine crashes, the system detects the failure and redistributes sessions, preventing session loss while maintaining system resilience.

Inventive Principle:
Principle #23Feedback

3Productivity

If shared memory is used for request/response data transfer, then data transfer efficiency is improved, but memory management complexity increases

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidmemory management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the shared memory into distinct regions for different purposes: request data, response data, and session state information. This segmentation allows efficient data transfer while simplifying memory management by providing clear boundaries and access patterns for different types of data, reducing the complexity of managing the shared memory space.

Inventive Principle:
Principle #1Segmentation

4Reliability

If request notification queues are implemented, then session failover speed is improved, but system complexity increases

Engineering Contradiction:
Improvesession failover speedVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements request notification queues that pre-process and organize incoming requests before they need to be routed to worker nodes. By preparing requests in advance and maintaining ready queues, the system can rapidly failover sessions when worker nodes fail without needing to reprocess requests, achieving fast failover while managing complexity through structured queue management.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7945677B2Connection manager capable of supporting both distributed computing sessions and non distributed computing sessions
Publication Date: 2011.05.17 SAP SE
  • US7945677B2 patent drawing
  • US7945677B2 patent drawing
  • US7945677B2 patent drawing

AI summary

A method is described that involves establishing a connection over a shared memory between a connection manager and a worker node. The shared memory is accessible to multiple worker nodes. Then sending, from the connection manager to the worker node over the connection, a first request containing a method call to a remote object on the worker node. Also sending, from the connection manager to the worker node over the connection, a second request containing a second method call to a second remote object on the worker node.