| CPC G06F 9/5038 (2013.01) [G06F 9/50 (2013.01); G06F 9/5005 (2013.01); G06F 16/24542 (2019.01); G06F 16/24554 (2019.01); G06F 21/6218 (2013.01); G06F 21/6227 (2013.01); H04L 63/105 (2013.01); H04L 67/1095 (2013.01); H04L 67/1097 (2013.01); H04W 4/021 (2013.01)] | 17 Claims |

|
1. A method for processing access rights requests in a computer system, the method comprising:
receiving a request from a requestor device, wherein the request includes a plurality of constraints relating to access rights associated with a resource;
adding a queue-task to a queue in response to the request, wherein:
the queue is associated with the resource that is identified in the request, and
the queue-task identifies the plurality of constraints and includes an identifier of the request and an identifier information associated with the request;
generating a plurality of queue-task partitions for the queue-task, wherein each queue-task partition corresponds to a constraint of the plurality of constraints;
associating each queue-task partition of the plurality of queue-task partitions with a flag, wherein the flag represents the constraint of the plurality of constraints on the plurality of queue-task partitions;
querying a data store to identify a number of bits available for the flag of the each queue-task partition of the plurality of queue-task partitions, wherein the number of bits determines a number of access-rights that are available;
determining a priority order of execution of the plurality of queue-task partitions based on the number of bits, wherein the plurality of queue-task partitions are prioritized in ascending order of the number of bits, with the queue-task partition with least number of bits executed first;
executing the plurality of queue-task partitions based on the priority order, including:
identifying a first access-right set associated with the flag corresponding to a first queue-task partition of the plurality of queue-task partitions, and
evaluating at least one access-right of the first access-right set with the flag associated with a second queue-task partition of the plurality of queue-task partitions;
determining the at least one access-right that corresponds to the flag associated with the second queue-task partition;
evaluating the at least one access-right with the next queue-task partition in the priority order;
selecting the access-right result that satisfies all constraints of the request;
transmitting the determined at least one access-right to the requestor device; and
removing the queue-task from the queue upon completion of executing of the plurality of queue-task partitions of the queue-task, and reordering remaining plurality of queue-tasks in the queue based on a queue-processing protocol, wherein:
the queue-processing protocol includes prioritizing tasks associated with older request and prioritizing tasks associated with particular flag types or flags and prioritizing tasks with fewer flags.
|