IP Library › Granted Patent US 11,354,324
Granted Patent B1
US 11,354,324 · App. 16/176,592 · Granted Jun 7, 2022

Method and system for servicing query requests using revisions maps

Inventor: Thomas Francis Shackell (Leeds, GB)
Assignee: Anaplan, Inc.
G06F16/2471G06F16/219G06F16/2358G06F16/283
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 11,354,324
App. No.
16/176,592
Granted
Jun 7, 2022
Kind
B1
Abstract

In general, in one aspect, the invention relates to a method for servicing query requests in distributed systems. The method includes making a first determination, by a query node and in response to a query request, that a user data sub-region associated with a query request, obtaining, in response to the first determination and using a population table, a revisions map, where the revisions map specifies a version of the user data sub-region, and servicing the query request using the revisions map and data associated with the version of the user data sub-region.

Claims (42)

1. A method for servicing query requests, comprising:

making a first determination, by a query node and in response to a query request, that a user data sub-region associated with a query request, wherein the user data sub-region is one of a plurality of user data sub-regions;

obtaining, in response to the first determination and using a population table, a revisions map, wherein the revisions map specifies a version of the user data sub-region; and

servicing the query request using the revisions map and data associated with the version of the user data sub-region,

wherein obtaining the revisions map comprises:

making a second determination to determine whether a dataspace associated with the user data sub-region is associated with the query node;

in response to determining during the second determination that the dataspace associated with the user data sub-region is not associated with the query node:

making a third determination that a second query node is associated with the dataspace;

in response to the third determination, issuing a revisions map request to the second query node, wherein the population table is stored on the second query node;

receiving, in response to the revisions map request, a revisions map response; and

generating revisions map using the revisions map response, wherein the revisions map specifies a most recent version of the user data sub-region.

2. The method of claim 1 , wherein the query request is received by a first query node and wherein the population table is associated with a second query node.

3. The method of claim 1 , wherein the population table specifies a plurality of user data sub-regions for a dataspace.

4. The method of claim 3 , wherein each plurality of user data sub-regions are associated with at least one common inner dimension and at least one unique outer dimension.

5. The method of claim 1 , wherein the population table specifies that no data is associated with at least one of the plurality of user data sub-regions.

6. The method of claim 5 , wherein the population table specifies a most recent version of data for at least one of the plurality of user data sub-regions.

7. The method of claim 1 , wherein

in response to determining during the second determination that the dataspace associated with the user data sub-region is associated with the query node, querying the population table on the query node to determine a most recent version of the user data sub-region; and

generating the revisions map, wherein the revisions map specifies the most recent version of the user data sub-region.

8. The method of claim 1 , wherein making the third determination comprises using a distribution key and a node distribution key list to identify the second query node as being associated with the dataspace.

9. The method of claim 8 , wherein the distribution key is a value generated using consistent hashing and a dataspace identifier for the dataspace.

10. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for servicing query requests, the method comprising:

making a first determination, by a query node and in response to a query request, that a user data sub-region associated with a query request, wherein the user data sub-region is one of a plurality of user data sub-regions;

obtaining, in response to the first determination and using a population table, a revisions map, wherein the revisions map specifies a version of the user data sub-region; and

servicing the query request using the revisions map and data associated with the version of the user data sub-region,

wherein obtaining the revisions map comprises:

making a second determination to determine whether a dataspace associated with the user data sub-region is associated with the query node;

in response to determining during the second determination that the dataspace associated with the user data sub-region is not associated with the query node:

making a third determination that a second query node is associated with the dataspace;

in response to the third determination, issuing a revisions map request to the second query node, wherein the population table is stored on the second query node;

receiving, in response to the revisions map request, a revisions map response; and

generating revisions map using the revisions map response, wherein the revisions map specifies a most recent version of the user data sub-region.

11. The non-transitory computer readable medium of claim 10 , wherein the query request is received by a first query node and wherein the population table is associated with a second query node.

12. The non-transitory computer readable medium of claim 10 , wherein the population table specifies a plurality of user data sub-regions for a dataspace.

13. The non-transitory computer readable medium of claim 12 , wherein each plurality of user data sub-regions are associated with at least one common inner dimension and at least one unique outer dimension.

14. The non-transitory computer readable medium of claim 10 , wherein the population table specifies that no data is associated with at least one of the plurality of user data sub-regions.

15. The non-transitory computer readable medium of claim 14 , wherein the population table specifies a most recent version of data for at least one of the plurality of user data sub-regions.

16. The non-transitory computer readable medium of claim 10 , wherein

in response to determining during the second determination that the dataspace associated with the user data sub-region is associated with the query node, querying the population table on the query node to determine a most recent version of the user data sub-region; and

generating the revisions map, wherein the revisions map specifies the most recent version of the user data sub-region.

17. The non-transitory computer readable medium of claim 16 , wherein making the third determination comprises using a distribution key and a node distribution key list to identify the second query node as being associated with the dataspace.

18. The non-transitory computer readable medium of claim 17 , wherein the distribution key is a value generated using consistent hashing and a dataspace identifier for the dataspace.

Assignments (2)
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 22, 2022
From: ANAPLAN, INC.
To: OWL ROCK CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 060408/0434 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2019
From: SHACKELL, THOMAS FRANCIS
To: ANAPLAN, INC.
Reel/Frame 048145/0482 →
Cited By (1)
US 12,455,900