Dynamic User Membership Assignment via Event-Driven Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional identity management systems face scalability issues in distributed environments like the cloud, leading to processing bottlenecks and resource inefficiencies when assigning group membership to large numbers of users based on membership rules, resulting in slow response times and resource wastage.

Innovation Solution

A distributed event-driven architecture is implemented, where user identifiers are split into subgroups and processed by multiple subscribers, utilizing a publication/subscription service to dynamically assign and unassign group membership based on configurable rules, allowing for parallel processing and efficient resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single-threaded approach is used to assign group membership to users based on membership rules, then the system is simpler to implement, but the processing speed and scalability deteriorate when handling large numbers of users

Engineering Contradiction:
Improvesystem complexityVSAvoidprocessing speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent divides the user population into multiple segments or batches, processing them in parallel through multiple threads. Each thread handles a specific segment of users, allowing simultaneous execution of membership assignment operations across different user groups, thereby increasing overall processing speed while maintaining manageable thread complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements incremental processing where membership assignments are performed in partial batches rather than all at once. Multiple threads perform partial actions on different user segments concurrently, and the process can be repeated or extended to handle excessive numbers of users by adding more threads or batches, achieving scalability without requiring complete system redesign.

Inventive Principle:
Principle #16Partial or excessive action

2Productivity

If multiple threads are used to process group membership assignments in parallel, then processing speed and scalability improve, but resource consumption and system complexity increase

Engineering Contradiction:
Improveprocessing speedVSAvoidresource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent implements dynamic thread management where the number and allocation of threads are adjusted based on system load, available resources, and processing progress. Threads can be created or terminated dynamically, and work distribution among threads is adapted in real-time, allowing the system to optimize resource consumption while maintaining high processing speeds during peak operations.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes operational parameters such as thread count, batch size, and processing intervals based on resource availability and performance requirements. By dynamically adjusting these parameters, the system can scale resource consumption up or down to match actual needs, preventing wasteful resource usage during low-demand periods while maintaining high throughput when resources are abundant.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If all users are processed in a single batch, then the implementation is simpler, but response time increases and system availability decreases under peak loads

Engineering Contradiction:
Improveimplementation complexityVSAvoidresponse time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The user processing batch is segmented into multiple smaller sub-batches that are processed concurrently by different threads. This segmentation reduces the time each individual batch needs to wait for processing while maintaining relatively simple implementation through standard parallel processing patterns. The system can process multiple user groups simultaneously, significantly reducing overall response time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent ensures continuous processing by maintaining multiple active threads that work continuously on different user segments without idle waiting periods. While one thread completes its segment, another is already processing the next segment, eliminating gaps in productive work. This continuous parallel action reduces total processing time and improves system availability by preventing long single-thread blocking periods.

Inventive Principle:
Principle #20Continuity of useful action

4Productivity

If a distributed event-driven architecture is implemented with multiple subscribers, then system scalability and performance under peak loads improve, but device complexity and difficulty of detection and measurement increase

Engineering Contradiction:
Improvesystem scalabilityVSAvoidarchitecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a universal event-driven architecture where multiple subscribers share common event handling mechanisms, message queues, and processing patterns. Each subscriber performs similar membership assignment functions but on different user segments, allowing the system to scale by simply adding more subscribers with the same proven template. This multi-functional approach maintains scalability while controlling complexity through reuse of established components and patterns.

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

5Quantity of substance

If membership rules are applied to large user populations, then comprehensive coverage is achieved, but processing bottlenecks and resource wastage occur in conventional systems

Engineering Contradiction:
Improveuser coverageVSAvoidresource efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The large user population subject to membership rules is segmented into multiple smaller groups processed in parallel. Each thread applies the membership rules to its assigned segment, achieving comprehensive coverage across all users while distributing the computational burden. This prevents processing bottlenecks that would occur if all users were processed sequentially, and eliminates resource wastage by efficiently utilizing available processing capacity across multiple concurrent operations.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11973766B2Dynamic membership assignment to users using dynamic rules
Publication Date: 2024.04.30 ORACLE INT CORP
  • US11973766B2 patent drawing
  • US11973766B2 patent drawing
  • US11973766B2 patent drawing

AI summary

Techniques for identity management, and more particularly, to techniques for dynamically assigning membership to users in the system based on dynamic rules. In one aspect a computer-implement method is provided that breaks down the processing from a single large thread or operation into multiple minutest level threads or operations and makes use of event driven architecture used in distributed environments such as a cloud environment, to achieve a scalable model and can work seamlessly for multi-tenant applications. Every sub problem is assigned to a dedicated set of subscribers on a messaging service for processing.