Dynamic membership assignment to users using dynamic rules
AssigneeOracle International Corporation
InventorsIsha Chawla, Ashish Bhargava
Life of this patent
Estimating the term…
Abstract
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.
Claims20
A method comprising:
- publishing, at a data processing system, a first message for a first type of event, wherein the first type of event comprises a request to identify and fetch users for a group based on a rule, and wherein the rule identifies users that qualify for membership in the group;
- obtaining, by a first subscriber of the data processing system, the first message;
- fetching, by the first subscriber of the data processing system, a plurality of user identifiers associated with a plurality of the users that satisfy the rule;
- identifying, by the first subscriber of the data processing system, a first group of user identifiers of the plurality of user identifiers based on a first configurable property that is a threshold of user identifiers or users to be processed for a group add operation;
- splitting, by the first subscriber of the data processing system, the first group of user identifiers into subgroups of user identifiers based on a second configurable property that is a threshold of the user identifiers or the users to be processed for the group add event to be processed by each thread or subscriber, wherein the subgroups of user identifiers comprise a first subgroup of user identifiers and a second subgroup of user identifiers;
- publishing, by the first subscriber of the data processing system, a second message for a second type of event for each subgroup of the first group of user identifiers, wherein the second type of event comprises a request to add the subgroup of user identifiers to the group;
- obtaining, by a second subscriber of the data processing system, the second message for the first subgroup of user identifiers;
- adding, by a second subscriber of the data processing system, the first subgroup of user identifiers to the group to assign group membership to a first subgroup of the users associated with the first subgroup of user identifiers;
- obtaining, by a third subscriber of the data processing system, the second message for the second subgroup of user identifiers;
- and
- adding, by a third subscriber of the data processing system, the second subgroup of user identifiers to the group to assign group membership to a second subgroup of the users associated with the second subgroup of user identifiers.
A non-transitory computer-readable memory storing a plurality of instructions executable by one or more processors, the plurality of instructions comprising instructions that when executed by the one or more processors cause the one or more processors to perform processing comprising:
- publishing, at a data processing system, a first message for a first type of event, wherein the first type of event comprises a request to identify and fetch users for a group based on a rule, and wherein the rule identifies users that qualify for membership in the group;
- obtaining, by a first subscriber of the data processing system, the first message;
- fetching, by the first subscriber of the data processing system, a plurality of user identifiers associated with a plurality of the users that satisfy the rule;
- identifying, by the first subscriber of the data processing system, a first group of user identifiers of the plurality of user identifiers based on a first configurable property that is a threshold of user identifiers or users to be processed for a group add operation;
- splitting, by the first subscriber of the data processing system, the first group of user identifiers into subgroups of user identifiers based on a second configurable property that is a threshold of the user identifiers or the users to be processed for the group add event to be processed by each thread or subscriber, wherein the subgroups of user identifiers comprise a first subgroup of user identifiers and a second subgroup of user identifiers;
- publishing, by the first subscriber of the data processing system, a second message for a second type of event for each subgroup of the first group of user identifiers, wherein the second type of event comprises a request to add the subgroup of user identifiers to the group;
- obtaining, by a second subscriber of the data processing system, the second message for the first subgroup of user identifiers;
- adding, by a second subscriber of the data processing system, the first subgroup of user identifiers to the group to assign group membership to a first subgroup of the users associated with the first subgroup of user identifiers;
- obtaining, by a third subscriber of the data processing system, the second message for the second subgroup of user identifiers;
- and
- adding, by a third subscriber of the data processing system, the second subgroup of user identifiers to the group to assign group membership to a second subgroup of the users associated with the second subgroup of user identifiers.
A system comprising:
- one or more processors;
- and
- a memory coupled to the one or more processors, the memory storing a plurality of instructions executable by the one or more processors, the plurality of instructions comprising instructions that when executed by the one or more processors cause the one or more processors to perform processing comprising:
- publishing, at a data processing system, a first message for a first type of event, wherein the first type of event comprises a request to identify and fetch users for a group based on a rule, and wherein the rule identifies users that qualify for membership in the group;
- obtaining, by a first subscriber of the data processing system, the first message;
- fetching, by the first subscriber of the data processing system, a plurality of user identifiers associated with a plurality of the users that satisfy the rule;
- identifying, by the first subscriber of the data processing system, a first group of user identifiers of the plurality of user identifiers based on a first configurable property that is a threshold of user identifiers or users to be processed for a group add operation;
- splitting, by the first subscriber of the data processing system, the first group of user identifiers into subgroups of user identifiers based on a second configurable property that is a threshold of the user identifiers or the users to be processed for the group add event to be processed by each thread or subscriber, wherein the subgroups of user identifiers comprise a first subgroup of user identifiers and a second subgroup of user identifiers;
- publishing, by the first subscriber of the data processing system, a second message for a second type of event for each subgroup of the first group of user identifiers, wherein the second type of event comprises a request to add the subgroup of user identifiers to the group;
- obtaining, by a second subscriber of the data processing system, the second message for the first subgroup of user identifiers;
- adding, by a second subscriber of the data processing system, the first subgroup of user identifiers to the group to assign group membership to a first subgroup of the users associated with the first subgroup of user identifiers;
- obtaining, by a third subscriber of the data processing system, the second message for the second subgroup of user identifiers;
- and
- adding, by a third subscriber of the data processing system, the second subgroup of user identifiers to the group to assign group membership to a second subgroup of the users associated with the second subgroup of user identifiers.
Dependencies are inferred from the claim text.