IP Library Granted Patent US 11,599,576
Granted Patent B2
US 11,599,576 · App. 17/234,489 · Granted Mar 7, 2023

Index machine

Inventors: José Díaz López (Lund, SE); Khoa Tan Nguyen (Lund, SE)
Assignee: QLIKTECH INTERNATIONAL AB
G06F16/901G06F9/4887G06F16/2228
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,599,576
App. No.
17/234,489
Granted
Mar 7, 2023
Kind
B2
Abstract

In an aspect, provided is a method comprising receiving, at a master node, capability information associated with a plurality of worker nodes, receiving, at the master node, an indexation request, and in response to the indexation request, distributing one or more tasks to the plurality of worker nodes based on the respective capability information, wherein the one or more tasks relate to generating a plurality of indexlets.

Claims (60)

1. A method comprising:

receiving, by a first worker node of a plurality of worker nodes, from a master node, a first task associated with a data model;

generating, by the first worker node, based on the first task, a first symbol map that bidirectionally indexes a first portion of the data model;

receiving, by a second worker node of the plurality of worker nodes, from the master node, a second task, wherein the second task is sent by the master node based on a determination that the first worker node is unavailable; and

generating, by the second worker node, based on the second task, a second symbol map that bidirectionally indexes at least one of: the first portion of the data model or a second portion of the data model.

2. The method of claim 1 , wherein the first symbol map comprises a first state associated with the first worker node.

3. The method of claim 2 , wherein the first state is indicative of the first worker node being in a stand-by state, and wherein the method further comprises:

causing, by the master node, based on the first state, the second worker node to be instantiated;

receiving, by the master node from the second worker node, capability information associated with the second worker node; and

sending, by the master node to the second worker node, based on the capability information and the determination that the first worker node is unavailable, the second task, wherein the second symbol map bidirectionally indexes the second portion of the data model.

4. The method of claim 2 , wherein the first state is indicative of the first worker node being in either a serving state or a closed state, and wherein the method further comprises at least one of:

causing, by the master node, based on the first state, the second worker node to be instantiated; or

causing, by the master node, based on the first state, the second worker node to generate the second symbol map, wherein the second symbol map bidirectionally indexes the first portion of the data model.

5. The method of claim 1 , further comprising:

inserting, by the first worker node, a plurality of symbols into the first symbol map;

determining, by the first worker node, that the first symbol map has reached an optimal capacity limit; and

sending, by the first worker node, to the master node, an indication that the first symbol map has reached the optimal capacity limit.

6. The method of claim 5 , further comprising:

receiving, by the master node from the first worker node, the indication that the first symbol map has reached the optimal capacity limit; and

sending, to the second worker node, the second task.

7. The method of claim 1 , further comprising:

receiving, by the master node, an indexation request associated with the data model;

receiving, by the master node from the plurality of worker nodes, capability information associated with each worker node of the plurality of worker nodes; and

determining, by the master node, based on the capability information, the first task and the second task.

8. A method comprising:

receiving, by a master node, an indexation request associated with a data model;

sending, to a first worker node of a plurality of worker nodes, a first task that causes the first worker node to generate a first symbol map, wherein the first symbol map bidirectionally indexes a first portion of the data model;

determining that the first worker node is unavailable for at least one of: a lookup operation or an insert operation; and

sending, to a second worker node of the plurality of worker nodes, a second task that causes the second worker node to generate a second symbol map, wherein the second symbol map bidirectionally indexes at least one of: the first portion of the data model or a second portion of the data model.

9. The method of claim 8 , wherein the lookup operation comprises processing at least part of a query associated with the first symbol map, and wherein the insert operation comprises inserting a plurality of symbols into the first symbol map.

10. The method of claim 8 , wherein the first symbol map comprises a first state associated with the first worker node.

11. The method of claim 10 , wherein the first state is indicative of the first worker node being in a stand-by state, and wherein the method further comprises:

causing, based on the first state, the second worker node to be instantiated.

12. The method of claim 11 , further comprising:

receiving, from the second worker node, capability information associated with the second worker node; and

sending, to the second worker node, based on the capability information and the determination that the first worker node is unavailable, the second task, wherein the second symbol map bidirectionally indexes the second portion of the data model.

13. The method of claim 10 , wherein the first state is indicative of the first worker node being in either a serving state or a closed state, and wherein the second symbol map bidirectionally indexes the first portion of the data model.

14. The method of claim 8 , wherein determining that the first worker node is unavailable for at least one of: the lookup operation or the insert operation comprises:

receiving, from the first worker node, an indication that the first symbol map has reached an optimal capacity limit.

15. A method comprising:

receiving, by a first worker node of a plurality of worker nodes, from a master node, a first task associated with a data model;

generating, based on the first task, a first symbol map that bidirectionally indexes a first portion of the data model;

determining that the first symbol map has reached an optimal capacity limit; and

sending, to the master node, an indication that the first symbol map has reached the optimal capacity limit, wherein the indication causes the master node to send a second task to a second worker node of the plurality of worker nodes.

16. The method of claim 15 , wherein determining that the first symbol map has reached the optimal capacity limit comprises:

inserting a plurality of symbols into the first symbol map; and

determining, based on the plurality of symbols, that the first symbol map has reached the optimal capacity limit.

17. The method of claim 15 , further comprising:

receiving, by the master node from the first worker node, the indication that the first symbol map has reached the optimal capacity limit; and

sending, to the second worker node, the second task.

18. The method of claim 15 , further comprising:

receiving, by the second worker node, from the master node, the second task; and

generating, by the second worker node, based on the second task, a second symbol map that bidirectionally indexes at least one of the first portion of the data model or a second portion of the data model.

19. The method of claim 15 , wherein the first symbol map comprises a first state associated with the first worker node indicative of the first worker node being in a stand-by state, and wherein the method further comprises:

causing, by the master node, based on the first state, the second worker node to be instantiated;

receiving, by the master node from the second worker node, capability information associated with the second worker node; and

sending, by the master node to the second worker node, based on the capability information and the determination that the first worker node is unavailable, the second task, wherein the second symbol map bidirectionally indexes a second portion of the data model.

20. The method of claim 15 , wherein the first symbol map comprises a first state associated with the first worker node indicative of the first worker node being in a stand-by state, and wherein the method further comprises at least one of:

causing, by the master node, based on the first state, the second worker node to be instantiated; or

causing, by the master node, based on the first state, the second worker node to generate a second symbol map, wherein the second symbol map bidirectionally indexes the first portion of the data model.

Assignments (3)
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 8, 2025
From: QLIKTECH INTERNATIONAL AB
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 071224/0394 →
SECURITY INTEREST Recorded Apr 18, 2024
From: QLIKTECH INTERNATIONAL AB
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 067168/0117 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2023
From: DÍAZ LÓPEZ, JOSÉ; NGUYEN, KHOA TAN
To: QLIKTECH INTERNATIONAL AB
Reel/Frame 065540/0100 →
Continuity (3)
Continuation 15984106 · May 18, 2018
Provisional Application 62505603 · May 12, 2017
Related Publication 20210406307A1 · Dec 30, 2021