IP Library Granted Patent US 10,664,525
Granted Patent B2
US 10,664,525 · App. 15/583,667 · Granted May 26, 2020

Data partioning based on end user behavior

Inventors: Inbar Yogev (Yehud, IL); Ira Cohen (Modiin, IL); Olga Kogan-Katz (Yehud, IL); Lior Ben Ze'ev (Petah Tikva, IL)
Assignee: MICRO FOCUS LLC
G06F16/9024G06F16/24578G06F16/278
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 10,664,525
App. No.
15/583,667
Granted
May 26, 2020
Kind
B2
Abstract

End user data partitioning can include receiving a number of data queries for a data source from a user, developing a dimension relation graph based on attributes of the number of data queries, and partitioning the data source based on the dimension relation graph.

Claims (47)

1. A method performed by a system comprising a hardware processor, comprising:

developing a dimension relation graph based on attributes of a plurality of data queries, wherein the developing comprises:

generating a plurality of nodes corresponding to the attributes and generating vertices linking the plurality of nodes,

assigning a respective weight to each respective vertex of the vertices, wherein the respective weight is based on a quantity of data queries that include attributes of respective nodes linked by the respective vertex, the quantity of data queries being part of the plurality of data queries, and the respective nodes being part of the plurality of nodes; and

partitioning a data source based on the respective weights assigned to the vertices of the dimension relation graph.

2. The method of claim 1 , wherein the generating of the vertices comprises generating a first vertex to connect a first node and a second node of the plurality of nodes in response to determining that the first node and the second node are requested in a same data query of the plurality of data queries.

3. The method of claim 1 , further comprising:

receiving further data queries; and

updating the dimension relation graph based on the further data queries, the updating comprising updating one or more of the plurality of nodes and the vertices.

4. The method of claim 1 , further comprising:

determining, based on the respective weights assigned to the vertices of the dimension relation graph, a portion of the attributes of the plurality of data queries that are most frequently utilized together,

wherein the partitioning of the data source results in data comprising the portion of the attributes of the plurality of data queries being located in a same partition of the data source.

5. The method of claim 4 , further comprising:

assigning a respective weight to each respective node of the plurality of nodes, the respective weight assigned to the respective node being based on a frequency of attributes in the respective node,

wherein the determining of the portion of the attributes of the plurality of data queries that are most frequently utilized together is further based on the respective weights assigned to the plurality of nodes.

6. The method of claim 4 , wherein the developing comprises:

generating vertices that link attributes within a first node of the plurality of nodes,

assigning weights to the vertices that link the attributes within the first node,

assigning a weight to the first node based on the weights assigned to the vertices that link the attributes within the first node,

wherein the determining of the portion of the attributes of the plurality of data queries that are most frequently utilized together is further based on the weight assigned to the first node.

7. A non-transitory machine-readable medium storing instructions that upon execution cause a computer to:

develop a dimension relation graph by:

generating nodes comprising attributes of a plurality of queries,

linking the nodes utilizing vertices, wherein a vertex of the vertices links a first node and a second node of the nodes responsive to a query of the plurality of queries including attributes of the first node and the second node, and

assigning a respective weight to each respective vertex of the vertices based on a respective quantity of queries that include attributes of nodes linked by the respective vertex;

determine, based on the respective weights assigned to the vertices of the dimension relation graph, a portion of the attributes of the plurality of queries that are most frequently utilized together; and

partition a data source based on the dimension relation graph so that data comprising the portion of the attributes of the plurality of queries is located in a same partition of the data source.

8. The non-transitory machine-readable medium of claim 7 , wherein the instructions upon execution cause the computer to assign a weight to a respective node of the nodes based on a frequency of the attributes of the respective node.

9. The non-transitory machine-readable medium of claim 7 , wherein the instructions upon execution cause the computer to partition the data source by partitioning the data source into a number of balanced partitions based on the dimension relation graph.

10. The non-transitory machine-readable medium of claim 7 , wherein the vertex linking the first node and the second node represents a relation between the attributes of the first node and the second node.

11. The non-transitory machine-readable medium of claim 10 , wherein the relation is based on occurrence of the attributes of the first node and the second node being within a same query.

12. A system comprising:

a processor; and

a non-transitory machine readable medium storing instructions executable on the processor to:

generate nodes comprising attributes of a plurality of queries;

link the nodes utilizing vertices based on the plurality of queries to develop a dimension relation graph;

assign a respective weight to each respective vertex of the vertices based on a frequency of queries that comprise nodes linked by the respective vertex;

determine, based on the respective weights assigned to the vertices of the dimension relation graph, a portion of the attributes of the plurality of queries that are most frequently queried together; and

partition a data source based on the dimension relation graph so that data comprising the portion of the attributes of the plurality of queries is located in a same partition of the data source.

13. The system of claim 12 , wherein the instructions are executable on the processor to dynamically update the respective weights assigned to the vertices based on further received queries.

14. The system of claim 12 , wherein the instructions are executable on the processor to assign a weight to each node of the nodes.

15. The system of claim 14 , wherein the instructions are executable on the processor to partition the data source based on the dimension relation graph based on utilizing the weights assigned to the nodes and the respective weights assigned to the vertices.

16. The system of claim 12 , wherein each node of the nodes comprises attributes from a different partition of the data source.

17. The system of claim 12 , wherein the data source comprises a database, a collection of data, a distributed cache, a flat file, or a combination thereof.

18. The system of claim 12 , wherein the instructions are executable on the processor to receive the plurality of queries for the data source from a user.

19. The system of claim 18 , wherein the instructions are executable on the processor to partition the data source by creating multiple distinct partitions of the data source that are customized for the user.

20. The system of claim 12 , wherein the instructions are executable on the processor to partition the data source so that the portion of the attributes of the plurality of queries is included in a single partition.

Assignments (4)
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2018
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 048261/0084 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2017
From: YOGEV, INBAR; COHEN, IRA; KOGAN-KATZ, OLGA; BEN ZE'EV, LIOR
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 043171/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2017
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 043416/0001 →
Continuity (2)
Continuation 13780751 · Feb 28, 2013
Related Publication 20170235847A1 · Aug 17, 2017