Single RJVM Connection Management in Multitenant Servers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In a multitenant application server environment, existing technologies face challenges in efficiently supporting the T3 protocol, leading to increased resource usage and network traffic due to the need for multiple remote Java virtual machines (RJVMs) to manage connections across server instances.

Innovation Solution

A system and method that utilizes a single remote Java virtual machine (RJVM) per server instance to manage connections through a single server channel, associating each connection with a partition using a token and employing a smart stub for failed connection recovery, thereby reducing resource usage and improving deployment density.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple remote Java virtual machines (RJVMs) are used to manage connections across server instances, then connection management capability is improved, but resource usage and network traffic increase

Engineering Contradiction:
Improveconnection management capabilityVSAvoidresource usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges multiple RJVMs into a single RJVM that manages connections for multiple partitions. The single RJVM maintains multiple T3 connections to different server instances, eliminating the need for separate RJVMs per partition and thereby reducing resource usage while preserving connection management capability.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The single RJVM is designed to perform multiple functions by managing connections for different partitions simultaneously. It serves as a universal connection manager that can establish and maintain T3 connections to various server instances, replacing the specialized one-RJVM-per-partition approach.

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

2Reliability

If multiple remote Java virtual machines (RJVMs) are used to manage connections across server instances, then connection management capability is improved, but network traffic increases

Engineering Contradiction:
Improveconnection management capabilityVSAvoidnetwork traffic
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

By consolidating multiple RJVMs into one, the system reduces the number of network communication paths between server instances. The single RJVM manages all T3 connections through a unified approach, reducing redundant network traffic that would occur with multiple separate RJVMs establishing and maintaining individual connections.

Inventive Principle:
Principle #5Merging (Combining)

3Quantity of substance

If a single remote Java virtual machine (RJVM) is used to manage connections, then resource usage is reduced, but connection management complexity increases

Engineering Contradiction:
Improveresource usageVSAvoidconnection management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent segments the connection management responsibilities by associating each T3 connection with a specific partition using a token. This token-based segmentation allows the single RJVM to organize and manage multiple connections systematically, reducing the complexity burden through structured categorization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a smart stub as an intermediary component that assists the single RJVM in managing connections. The smart stub handles connection recovery and management tasks, offloading complexity from the RJVM and enabling reliable connection management with reduced resource usage.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If a single remote Java virtual machine (RJVM) is used per server instance, then deployment density is improved, but connection recovery complexity increases

Engineering Contradiction:
Improvedeployment densityVSAvoidconnection recovery complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The smart stub serves as a specialized intermediary that handles connection recovery operations. When a T3 connection fails, the smart stub manages the recovery process by establishing new connections to alternative server instances, thereby enabling high deployment density while containing recovery complexity in a dedicated component.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system prepares multiple server instances and their associated T3 connections in advance. When a connection failure occurs, the preliminary configuration allows for rapid recovery by having alternative connections pre-established and ready, thus improving deployment density while simplifying the recovery process through pre-prepared infrastructure.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9843629B2System and method for protocol support in a multitenant application server environment
Publication Date: 2017.12.12 ORACLE INT CORP
  • US9843629B2 patent drawing
  • US9843629B2 patent drawing
  • US9843629B2 patent drawing

AI summary

In accordance with an embodiment, described herein is a system and method for supporting an object-based stateful protocol (for example, T3 protocol) in a multitenant application server environment. The system includes a domain with a plurality of server instances, and a plurality of partitions thereon, wherein two or more partitions can spread across a first server instance and a second server instance of the plurality of server instances. Each of the first and second server instances can include a single remote java virtual machine (RJVM) that manages connections established through a single server channel on that server instance using the object-based stateful protocol. The application server instance initiating the connections can associate each connection with a particular partition using a token, and use a smart stub to recover a failed connection. A standalone Java application can similarly initiate connections to an application server instance.