Dynamic Queue Architecture for Scalable Identity Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current identity management systems face challenges in providing secure and unified access across diverse cloud environments, including unauthorized access, inconsistent security between on-premise and cloud systems, and inadequate security measures for non-employee users like customers and partners.

Innovation Solution

A cloud-based identity management system utilizing a dynamic queue architecture with active and inactive queues, microservices, and multi-tenant identity management services to ensure secure, scalable, and unified access across hybrid cloud deployments, supporting various user types and channels.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a static queue architecture is used for event processing, then the system structure is simple, but the system cannot handle increased event volume and loses scalability

Engineering Contradiction:
ImprovescalabilityVSAvoidqueue architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a dynamic queue architecture where queues can be created, activated, and configured at runtime based on event volume and subscriber demand. The event bus dynamically routes events to appropriate queues and activates inactive queues when event volume increases, allowing the system to adapt its complexity to match actual workload requirements.

Inventive Principle:
Principle #15Dynamics

2Productivity

If multiple active queues are maintained to handle high event volume, then the system can handle increased load, but the system complexity and resource consumption increase

Engineering Contradiction:
Improveevent processing capacityVSAvoidqueue management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the queue system into multiple independent queues that can be individually activated and deactivated. Each queue handles specific event types or load portions, allowing the system to scale processing capacity by activating only the necessary number of queues based on current event volume, rather than maintaining all queues active at all times.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically changes operational parameters by transitioning queues between active and inactive states based on event volume thresholds. The event bus monitors event rates and adjusts the number of active queues accordingly, changing the system's processing capacity parameter without requiring structural redesign.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If selectors are created for all queues including inactive ones, then message delivery reliability is improved, but memory consumption increases

Engineering Contradiction:
Improvemessage delivery reliabilityVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent creates selectors for all queues in advance, including inactive queues, during system initialization or queue creation. This preliminary action ensures that when queues are activated, their selectors are already in place and can immediately begin routing events reliably, eliminating the need for dynamic selector creation which would add complexity and potential reliability issues.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10348858B2Dynamic message queues for a microservice based cloud service
Publication Date: 2019.07.09 ORACLE INT CORP
  • US10348858B2 patent drawing
  • US10348858B2 patent drawing
  • US10348858B2 patent drawing

AI summary

A cloud based identity management system that handles a plurality of published events that are published and consumed by microservices provides a dynamic queue that includes one or more active queues and one or more inactive queues. Embodiments create selectors for all of the active queues and the inactive queues and binds subscribers to each active queue. Embodiments dynamically cause at least one of the inactive queues to become one of the active queues when a number of published events increases.