Dynamic User Membership Assignment via Event-Driven Segmentation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
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
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.
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
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.
Data Source
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.


