IP Library Granted Patent US 9,600,340
Granted Patent B1
US 9,600,340 · App. 15/155,825 · Granted Mar 21, 2017

Iterative and hierarchical processing of request partitions

Inventor: Thomas Mundar (Scottsdale, AZ)
Assignee: Live Nation Entertainment, Inc.
G06F9/5038G06F9/50G06F9/5005G06F17/30463G06F17/30486G06F21/6218G06F21/6227
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,600,340
App. No.
15/155,825
Granted
Mar 21, 2017
Kind
B1
Abstract

Methods and systems disclosed herein relate generally to temporally prioritizing queries of queue-task partitions based on distributions of flags assigned to bits corresponding to access rights.

Claims (106)

1. A digital data processing system for processing multiple queue tasks based upon task factors and resource structures, the digital data processing system including:

one or more data processors; and

a non-transitory computer readable storage medium containing instructions which when executed on the one or more data processors, cause the one or more data processors to perform actions including:

accessing one or more data stores that includes a plurality of bits, each bit of the plurality of bits corresponding to an access right, each bit of at least some of the plurality of bits being associated with one or more flags having been associated with the bit in accordance with a schema;

receiving, over a network, a request communication from a requestor device that indicates a plurality of constraints;

generating a queue task for the request communication;

adding the queue task for the request communication to a queue associated with a resource;

determining, based on a queue-processing protocol, that the queue task is to be processed;

generating a set of queue-task partitions for the queue task, each queue-task partition of the set of queue-task partitions corresponding to a constraint of the plurality of constraints;

iteratively processing the set of queue-task partitions in accordance with a query execution plan, the iterative processing including:

generating an order for the set of queue-task partitions;

identifying a first queue-task partition from amongst the set of queue-task partitions based on the order;

identifying a first flag associated with the first queue-task partition via the constraint corresponding to the first queue-task partition;

querying the one or more data stores using the first flag to identify a first access-right result that identifies one or more access rights for the resource;

identifying a second queue-task partition from amongst the set of queue-task partitions based on the order;

identifying a second flag associated with the second queue-task partition via the constraint corresponding to the second queue-task partition;

determining whether the first access-right result corresponds to the second flag; and

when it is determined that the first access-right result does not correspond to the second flag, querying the one or more data stores using the first flag to identify a second access-right result different than the first access-right result;

identifying an access-right result based on the iterative processing;

transmitting information about the access-right result to the requestor device; and

updating, for each access right identified in the access-right result, the bit corresponding to the access right to inhibit identifying the access right in another access-right result transmitted to another requestor device.

2. The system for processing queries in accordance with query execution plans via structuring the ordering of processing of queue-task partitions as recited in claim 1 , wherein:

the one or more data stores further includes an index that identifies, for each of one or more flags, a quantity of bits from amongst the plurality of bits, the quantity of bits being associated with the flag; and

generating the order includes querying, for each queue-task partition of the set of queue-task partitions, the index with an identifier of a flag associated with the queue-task partition to identify the quantity of bits associated with the flag; and

the first flag is associated with a first quantity of bits greater than a second quantity of bits associated with the second flag.

3. The system for processing queries in accordance with query execution plans via structuring the ordering of processing of queue-task partitions as recited in claim 1 , wherein the actions further include, when it is determined that the first access-right result corresponds to the second flag, performing a second set of actions, wherein:

the second set of actions includes:

determining whether there are one or more queue-task partitions remaining in the set of queue-task partitions for which the first access-right result has not been assessed, identifying the first access-right result as the access-right result when it is determined that there are no more queue-task partitions remaining in the set of queue-task partitions, and when it is determined that there are one or more queue-task partitions remaining in the set of queue-task partitions: identifying a next queue-task partition from amongst the set of queue-task partitions based on the order, identifying a next flag associated with the next queue-task partition via the constraint corresponding to the next queue-task partition, and determining whether the first access-right result corresponds to the next flag;

when it is determined that the first access-right result corresponds to the next flag, repeating the second set of actions; and

when it is determined that the first access-right result does not correspond to the next flag, querying the one or more data stores using the first flag to identify a second access-right result different than the first access-right result.

4. The system for processing queries in accordance with query execution plans via structuring the ordering of processing of queue-task partitions as recited in claim 1 , wherein updating, for each access right identified in the access-right result, the bit corresponding to the access right includes changing a status flag of the bit.

5. The system for processing queries in accordance with query execution plans via structuring the ordering of processing of queue-task partitions as recited in claim 1 , wherein the actions further include:

when it is determined that no access-right result associated with the resource corresponds to one or more flags associated with each queue-task partition or the set of queue-task partitions, transmitting a null result to the requestor device.

6. The system for processing queries in accordance with query execution plans via structuring the ordering of processing of queue-task partitions as recited in claim 1 , wherein the order is generated based on a priority of at least one constraint of the plurality of constraints as specified in the request communication.

7. The system for processing queries in accordance with query execution plans via structuring the ordering of processing of queue-task partitions as recited in claim 1 , wherein generating the order includes:

accessing a predefined flag ranking;

identifying, for each queue-task partition of the set of queue-task partitions, a flag associated with the queue-task partition; and

identifying, for each queue-task partition of the set of queue-task partitions, an order position based on the ranking of the flag associated with the queue-task position.

8. A computer-implemented method for processing queries in accordance with query execution plans via structuring the ordering of processing of queue-task partitions, the method comprising:

accessing one or more data stores that includes a plurality of bits, each bit of the plurality of bits corresponding to an access right, each bit of at least some of the plurality of bits being associated with one or more flags having been associated with the bit in accordance with a schema;

receiving, over a network, a request communication from a requestor device that indicates a plurality of constraints;

generating a queue task for the request communication;

adding the queue task for the request communication to a queue associated with a resource;

determining, based on a queue-processing protocol, that the queue task is to be processed;

generating a set of queue-task partitions for the queue task, each queue-task partition of the set of queue-task partitions corresponding to a constraint of the plurality of constraints;

iteratively processing the set of queue-task partitions in accordance with a query execution plan, the iterative processing including:

generating an order for the set of queue-task partitions;

identifying a first queue-task partition from amongst the set of queue-task partitions based on the order;

identifying a first flag associated with the first queue-task partition via the constraint corresponding to the first queue-task partition;

querying the one or more data stores using the first flag to identify a first access-right result that identifies one or more access rights for the resource;

identifying a second queue-task partition from amongst the set of queue-task partitions based on the order;

identifying a second flag associated with the second queue-task partition via the constraint corresponding to the second queue-task partition;

determining whether the first access-right result corresponds to the second flag; and

when it is determined that the first access-right result does not correspond to the second flag, querying the one or more data stores using the first flag to identify a second access-right result different than the first access-right result;

identifying an access-right result based on the iterative processing;

transmitting information about the access-right result to the requestor device; and

updating, for each access right identified in the access-right result, the bit corresponding to the access right to inhibit identifying the access right in another access-right result transmitted to another requestor device.

9. The computer-implemented method for processing queries in accordance with query execution plans via structuring the ordering of processing of queue-task partitions as recited in claim 8 , wherein:

the one or more data stores further includes an index that identifies, for each of one or more flags, a quantity of bits from amongst the plurality of bits, the quantity of bits being associated with the flag; and

generating the order includes querying, for each queue-task partition of the set of queue-task partitions, the index with an identifier of a flag associated with the queue-task partition to identify the quantity of bits associated with the flag; and

the first flag is associated with a first quantity of bits greater than a second quantity of bits associated with the second flag.

10. The computer-implemented method for processing queries in accordance with query execution plans via structuring the ordering of processing of queue-task partitions as recited in claim 8 , further comprising, when it is determined that the first access-right result corresponds to the second flag, performing a set of actions, wherein:

the second set of actions includes:

determining whether there are one or more queue-task partitions remaining in the set of queue-task partitions for which the first access-right result has not been assessed, identifying the first access-right result as the access-right result when it is determined that there are no more queue-task partitions remaining in the set of queue-task partitions, and when it is determined that there are one or more queue-task partitions remaining in the set of queue-task partitions: identifying a next queue-task partition from amongst the set of queue-task partitions based on the order, identifying a next flag associated with the next queue-task partition via the constraint corresponding to the next queue-task partition, and determining whether the first access-right result corresponds to the next flag;

when it is determined that the first access-right result corresponds to the next flag, repeating the set of actions; and

when it is determined that the first access-right result does not correspond to the next flag, querying the one or more data stores using the first flag to identify a second access-right result different than the first access-right result.

11. The computer-implemented method for processing queries in accordance with query execution plans via structuring the ordering of processing of queue-task partitions as recited in claim 8 , wherein updating, for each access right identified in the access-right result, the bit corresponding to the access right includes changing a status flag of the bit.

12. The computer-implemented method for processing queries in accordance with query execution plans via structuring the ordering of processing of queue-task partitions as recited in claim 8 , further comprising,

when it is determined that no access-right result associated with the resource corresponds to one or more flags associated with each queue-task partition or the set of queue-task partitions, transmitting a null result to the requestor device.

13. The computer-implemented method for processing queries in accordance with query execution plans via structuring the ordering of processing of queue-task partitions as recited in claim 8 , wherein the order is generated based on a priority of at least one constraint of the plurality of constraints as specified in the request communication.

14. The computer-implemented method for processing queries in accordance with query execution plans via structuring the ordering of processing of queue-task partitions as recited in claim 8 , wherein generating the order includes:

accessing a predefined flag ranking;

identifying, for each queue-task partition of the set of queue-task partitions, a flag associated with the queue-task partition; and

identifying, for each queue-task partition of the set of queue-task partitions, an order position based on the ranking of the flag associated with the queue-task position.

15. A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to cause one or more data processors to perform actions including:

accessing one or more data stores that includes a plurality of bits, each bit of the plurality of bits corresponding to an access right, each bit of at least some of the plurality of bits being associated with one or more flags having been associated with the bit in accordance with a schema;

receiving, over a network, a request communication from a requestor device that indicates a plurality of constraints;

generating a queue task for the request communication;

adding the queue task for the request communication to a queue associated with a resource;

determining, based on a queue-processing protocol, that the queue task is to be processed;

generating a set of queue-task partitions for the queue task, each queue-task partition of the set of queue-task partitions corresponding to a constraint of the plurality of constraints;

iteratively processing the set of queue-task partitions in accordance with a query execution plan, the iterative processing including:

generating an order for the set of queue-task partitions;

identifying a first queue-task partition from amongst the set of queue-task partitions based on the order;

identifying a first flag associated with the first queue-task partition via the constraint corresponding to the first queue-task partition;

querying the one or more data stores using the first flag to identify a first access-right result that identifies one or more access rights for the resource;

identifying a second queue-task partition from amongst the set of queue-task partitions based on the order;

identifying a second flag associated with the second queue-task partition via the constraint corresponding to the second queue-task partition;

determining whether the first access-right result corresponds to the second flag; and

when it is determined that the first access-right result does not correspond to the second flag, querying the one or more data stores using the first flag to identify a second access-right result different than the first access-right result;

identifying an access-right result based on the iterative processing;

transmitting information about the access-right result to the requestor device; and

updating, for each access right identified in the access-right result, the bit corresponding to the access right to inhibit identifying the access right in another access-right result transmitted to another requestor device.

16. The computer-program product as recited in claim 15 , wherein:

the one or more data stores further includes an index that identifies, for each of one or more flags, a quantity of bits from amongst the plurality of bits, the quantity of bits being associated with the flag; and

generating the order includes querying, for each queue-task partition of the set of queue-task partitions, the index with an identifier of a flag associated with the queue-task partition to identify the quantity of bits associated with the flag; and

the first flag is associated with a first quantity of bits greater than a second quantity of bits associated with the second flag.

17. The computer-program product as recited in claim 15 , wherein the actions further include, when it is determined that the first access-right result corresponds to the second flag, performing a second set of actions, wherein:

the second set of actions includes:

determining whether there are one or more queue-task partitions remaining in the set of queue-task partitions for which the first access-right result has not been assessed, identifying the first access-right result as the access-right result when it is determined that there are no more queue-task partitions remaining in the set of queue-task partitions, and when it is determined that there are one or more queue-task partitions remaining in the set of queue-task partitions: identifying a next queue-task partition from amongst the set of queue-task partitions based on the order, identifying a next flag associated with the next queue-task partition via the constraint corresponding to the next queue-task partition and determining whether the first access-right result corresponds to the next flag;

when it is determined that the first access-right result corresponds to the next flag, repeating the second set of actions; and

when it is determined that the first access-right result does not correspond to the next flag, querying the one or more data stores using the first flag to identify a second access-right result different than the first access-right result.

18. The computer-program product as recited in claim 15 , wherein updating, for each access right identified in the access-right result, the bit corresponding to the access right includes changing a status flag of the bit.

19. The computer-program product as recited in claim 15 , wherein the actions further include:

when it is determined that no access-right result associated with the resource corresponds to one or more flags associated with each queue-task partition or the set of queue-task partitions, transmitting a null result to the requestor device.

20. The computer-program product as recited in claim 15 , wherein the order is generated based on a priority of at least one constraint of the plurality of constraints as specified in the request communication.

Assignments (4)
SECURITY AGREEMENT Recorded Jan 4, 2021
From: LIVE NATION ENTERTAINMENT, INC.; LIVE NATION WORLDWIDE, INC.
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 054891/0552 →
SECURITY AGREEMENT Recorded May 20, 2020
From: LIVE NATION ENTERTAINMENT, INC.; LIVE NATION WORLDWIDE, INC.
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 052718/0016 →
SECURITY AGREEMENT Recorded Oct 31, 2016
From: LIVE NATION ENTERTAINMENT, INC.; LIVE NATION WORLDWIDE, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 040521/0186 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2016
From: MUNDAR, THOMAS
To: LIVE NATION ENTERTAINMENT, INC.
Reel/Frame 038646/0288 →
Continuity (1)
Provisional Application 62336938 · May 16, 2016