Oracle Service Bus Throttling Group for Server Load Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current Oracle Service Bus (OSB) throttling techniques require manual computation of constraint values for each business service, leading to under-utilization of server resources and maintenance challenges due to the need for frequent re-computation as server load changes, and lack of fair capacity distribution among services.

Innovation Solution

Implementing a throttling group that models a backend server with global capacity limits, allowing shared constraints across multiple business services and enabling dynamic adjustment of concurrency limits to prevent server overload, simplifying maintenance and ensuring fair resource distribution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual constraint values are specified for every business service, then server overload is prevented, but system complexity and maintenance burden increase

Engineering Contradiction:
Improveserver overload preventionVSAvoidconstraint management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Multiple constraint values for different business services are merged into a single shared constraint value at the server level. The throttling group aggregates constraints from multiple business services invoking the same back-end server, allowing centralized management of server capacity without requiring individual constraint specifications for each service.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

A universal throttling group is created that can be shared across multiple business services. This single throttling group provides constraint management functionality for all services invoking a particular back-end server, eliminating the need for service-specific constraint configurations and reducing overall system complexity.

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

2Reliability

If constraint values are manually computed for each business service, then server capacity is controlled, but resource utilization efficiency decreases

Engineering Contradiction:
Improveserver capacity controlVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The constraint system transitions from static, pre-computed values to dynamic, runtime-adjustable constraints. The shared constraint value at the server level can be dynamically modified without requiring re-computation for each business service, allowing the system to adapt to changing server capacity and workload conditions while maintaining efficient resource utilization.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The throttling group implements feedback mechanisms that monitor server load and constraint utilization across multiple business services. This enables automatic adjustment of constraint enforcement based on actual server capacity and demand, optimizing resource utilization while preventing overload without manual intervention.

Inventive Principle:
Principle #23Feedback

3Reliability

If fixed constraint values are applied to business services, then server load is managed, but adaptability to changing server capacity decreases

Engineering Contradiction:
Improveserver load managementVSAvoidadaptability to server capacity changes
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The constraint system becomes dynamic through the shared constraint value that can be modified at the server level without affecting individual business service configurations. When server load-bearing capacity changes, the single shared constraint value can be adjusted to reflect new capacity conditions, providing immediate adaptability across all services using the throttling group.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The universal throttling group provides a single point of configuration that serves all business services invoking the back-end server. This universality ensures that adaptability changes propagate automatically to all services, eliminating the need for individual service reconfiguration and enabling rapid response to server capacity changes.

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

4Ease of operation

If individual constraint settings are maintained for each business service, then service-specific control is achieved, but maintenance effort increases

Engineering Contradiction:
Improveservice-specific controlVSAvoidmaintenance effort
Core Design Contradiction:
Ease of operationVSEase of repair

Solution Approach 1:

Individual constraint settings for multiple business services are merged into a single shared constraint value at the server level. This consolidation reduces the number of configuration parameters that need to be maintained, as changes to server capacity or constraint policies require modification of only one shared value rather than multiple service-specific values.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The throttling group creates a universal constraint management mechanism that applies to all business services invoking a particular back-end server. This universality simplifies maintenance by providing a single configuration point that governs all services, eliminating the need to update multiple individual service configurations when server conditions change.

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

Data Source

PatentUS9531800B2Throttling group in oracle service bus
Publication Date: 2016.12.27 ORACLE INT CORP
  • US9531800B2 patent drawing
  • US9531800B2 patent drawing
  • US9531800B2 patent drawing

AI summary

A computer-controlled method can include creating a throttling group corresponding to a backend server configured to provide business services to multiple electronic devices over a service bus, defining a throttling group parameter for the throttling group, and routing messages based on the throttling group parameter.