IP Library Patent Application 14025476
Patent Application
App. No. 14/025,476

METHOD AND SYSTEM FOR PERFORMING QUERY PROCESSING IN A KEY-VALUE STORE

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 None
App. No.
14/025,476
Abstract

A method and system for processing a query on a key-value store, including receiving a query, determining a data path in a cube based on dimensions of the received query, traversing the data path using a data path iterator from a root to blocks in the key-value store, allocating a query slice, determining rows and columns in the query slice using the data path, reading the blocks traversed by the data path iterator from a storage area, merging each of the blocks into a result cell of the query slice, and outputting the query slice.

Claims (73)

1 . A method for processing a query on a key-value store, the method comprising:

receiving a query;

determining a data path in a cube based on dimensions of the received query;

traversing the data path, using a data path iterator, from a root to blocks in the key-value store;

allocating a query slice;

determining rows and columns in the query slice using the data path;

reading the blocks traversed by the data path iterator from a storage area;

for each of the blocks read from the storage area, merging the block into a result cell of the query slice; and

outputting the query slice.

2 . The method according to claim 1 , wherein the data path is a subset of dimensions from the cube.

3 . The method according to claim 2 , wherein the data path is a combination of member values from the key-value store.

4 . The method according to claim 3 , wherein each member value of the data path is represented by an id assigned to the member value.

5 . The method according to claim 1 , wherein the blocks are stored at least one of an inner node of the data path or a leaf node of the data path.

6 . The method according to claim 1 , wherein the blocks include at least one of raw source data, raw measure data, or summary data.

7 . The method according to claim 1 , wherein the data path is stored or distributed:

individually as separate addressable entities,

clustered across subpaths, or

clustered and blocked by other logical definitions.

8 . The method according to claim 1 , wherein the received query comprises:

an identifier for the cube;

at least one measure to operate on and output;

zero or more dimensions to use as rows in the query slice;

zero or more dimensions to use as columns in the query slice; and

zero or more dimensional filters.

9 . The method according to claim 8 , wherein the dimensions of the received query comprise any number of specified hierarchies composed of any number of specified levels.

10 . A non-transitory computer readable medium storing a program causing a computer to execute a method for processing a query on a key-value store, the method comprising:

receiving a query;

determining a data path in a cube based on dimensions of the received query;

traversing the data path, using a data path iterator, from a root to blocks in the key-value store;

allocating a query slice;

determining rows and columns in the query slice using the data path;

reading the blocks traversed by the data path iterator from a storage area;

for each of the blocks read from the storage area, merging the block into a result cell of the query slice; and

outputting the query slice.

11 . The non-transitory computer readable medium according to claim 10 , wherein the data path is a subset of dimensions from the cube.

12 . The non-transitory computer readable medium according to claim 11 , wherein the data path is a combination of member values from the key-value store.

13 . The non-transitory computer readable medium according to claim 12 , wherein each member value of the data path is represented by an id assigned to the member value.

14 . The non-transitory computer readable medium according to claim 10 , wherein the blocks are stored at least one of an inner node of the data path or a leaf node of the data path.

15 . The non-transitory computer readable medium according to claim 10 , wherein the blocks include at least one of raw source data, raw measure data, or summary data.

16 . The non-transitory computer readable medium according to claim 10 , wherein the data path is stored or distributed:

individually as separate addressable entities,

clustered across subpaths, or

clustered and blocked by other logical definitions.

17 . The non-transitory computer readable medium according to claim 10 , wherein the received query comprises:

an identifier for the cube;

at least one measure to operate on and output;

zero or more dimensions to use as rows in the query slice;

zero or more dimensions to use as columns in the query slice; and

zero or more dimensional filters.

18 . The non-transitory computer readable medium according to claim 17 , wherein the dimensions of the received query comprise any number of specified hierarchies composed of any number of specified levels.

19 . A system for processing a query on a key-value store, the system comprising:

the key-value store;

a query receiving unit that receives a query;

a data path determining unit that determines a data path in a cube based on dimensions of the query received by the query receiving unit;

a data path traversing unit that traverses the data path determined by the data path determining unit, using a data path iterator, from a root to blocks in the key-value store;

a query slice creating unit that allocates a query slice, determines rows and columns in the query slice using the data path determined by the data path determining unit, reads the blocks traversed by data path traversing unit a storage area, and for each of the blocks read from the storage area merges the block into a result cell of the query slice; and

a query slice outputting unit that outputs the query slice.

20 . The system according to claim 19 , wherein the data path determined by the data path determining unit is a subset of dimensions from the cube.

21 . The system according to claim 20 , wherein the data path determined by the data path determining unit is a combination of member values from the key-value store.

22 . The system according to claim 21 , wherein each member value of the data path determined by the data path determining unit is represented by an id assigned to the member value.

23 . The system according to claim 19 , wherein the blocks read by the query slice creating unit are stored at least one of an inner node of the data path or a leaf node of the data path.

24 . The system according to claim 19 , wherein the blocks read by the query slice creating unit include at least one of raw source data, raw measure data, or summary data.

25 . The system according to claim 19 , wherein the data path determined by the data path determining unit is stored or distributed:

individually as separate addressable entities,

clustered across subpaths, or

clustered and blocked by other logical definitions.

26 . The system according to claim 19 , wherein the query received by the query receiving unit comprises:

an identifier for the cube;

at least one measure to operate on and output;

zero or more dimensions to use as rows in the query slice;

zero or more dimensions to use as columns in the query slice; and

zero or more dimensional filters.

27 . The system according to claim 26 , wherein the dimensions of the query received by the query receiving unit comprise any number of specified hierarchies composed of any number of specified levels.

Assignments (5)
SECOND LIEN PATENT SECURITY AGREEMENT RELEASE Recorded Dec 3, 2021
From: UBS AG, STAMFORD BRANCH
To: NEUSTAR, INC.; MARKETSHARE PARTNERS LLC; AGGREGATE KNOWLEDGE, INC.; NEUSTAR INFORMATION SERVICES, INC.; NEUSTAR IP INTELLIGENCE, INC.
Reel/Frame 058300/0739 →
FIRST LIEN PATENT SECURITY AGREEMENT RELEASE Recorded Dec 3, 2021
From: BANK OF AMERICA, N.A.
To: NEUSTAR, INC.; MARKETSHARE PARTNERS LLC; AGGREGATE KNOWLEDGE, INC.; NEUSTAR INFORMATION SERVICES, INC.; NEUSTAR IP INTELLIGENCE, INC.
Reel/Frame 058300/0762 →
SECURITY INTEREST Recorded Aug 22, 2017
From: MARKETSHARE PARTNERS LLC; AGGREGATE KNOWLEDGE, INC.; NEUSTAR INFORMATION SERVICES, INC.; NEUSTAR IP INTELLIGENCE, INC.; NEUSTAR, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 043633/0440 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Aug 22, 2017
From: MARKETSHARE PARTNERS LLC; AGGREGATE KNOWLEDGE, INC.; NEUSTAR INFORMATION SERVICES, INC.; NEUSTAR IP INTELLIGENCE, INC.; NEUSTAR, INC.
To: UBS AG, STAMFORD BRANCH
Reel/Frame 043633/0527 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2013
From: BOGRETT, STEVEN
To: NEUSTAR, INC.
Reel/Frame 031255/0797 →