IP Library Granted Patent US 12,572,546
Granted Patent B2
US 12,572,546 · App. 18/313,463 · Granted Mar 10, 2026

Methods and systems for distributed data analysis

Inventors: José Díaz López (Lund, SE); Håkan Wolgé (Malmö, SE)
Assignee: QlikTech International AB
G06F16/2455G06F3/04842G06F16/22G06F16/2264G06F16/2471G06F16/283G06N5/04
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 12,572,546
App. No.
18/313,463
Granted
Mar 10, 2026
Kind
B2
Abstract

The present disclosure relates to computer implemented methods and systems for data management, data analysis, and processing. The disclosed methods and systems can incorporate external data analysis into an otherwise closed data analysis environment.

Claims (32)

1 . A method comprising:

generating, by a computing device, based on a user selection of a first graphical object output via a user interface at the computing device, a data subset associated with a data model stored in primary memory of the computing device, wherein the user selection of the first graphical object is indicative of a request for external processing;

in response to the request for external processing, sending, to at least one remote computing device comprising an external engine to perform the external processing, a table comprising at least one tuple associated with the data subset, the at least one tuple comprising an expression and at least one value for each of at least two dimensions of the data subset, wherein the table is generated based on a format associated with the external engine, wherein the external processing comprises an evaluation of the expression on at least a portion of the data subset comprising one or more data records associated with the at least one value for each of the at least two dimensions, and wherein the external engine is configured to provide a result of the external processing that is consonant to a cardinality of the at least one tuple;

receiving, from the external engine via the at least one remote computing device, the table comprising the result of the external processing, wherein the result comprises at least one result tuple, and wherein a cardinality of the at least one result tuple at least partially differs from the cardinality of the at least one tuple; and

based on a determination that the cardinality of the at least one result tuple is consonant to the cardinality of the at least one tuple, appending the result directly to the primary memory of the computing device storing the data model without requiring the result to be formatted.

2 . The method of claim 1 , wherein appending the result directly to the primary memory of the computing device storing the data model without requiring the result to be formatted comprises appending, without intervention from a script engine, the result of the external processing directly to the primary memory of the computing device storing the data model.

3 . The method of claim 2 , wherein the script engine loads the data model into memory.

4 . The method of claim 1 , wherein receiving the table comprising the result of the external processing comprises comparing the result of the external processing to values of the one or more data records to preserve associativity.

5 . The method of claim 1 , wherein the external engine comprises one or more data processing applications.

6 . The method of claim 5 , wherein the one or more data processing applications comprise one or more of a simulation application, a statistical application, a mathematical computation application, or a database application.

7 . The method of claim 1 , wherein the table comprising the result of the external processing comprises at least one value derived from the evaluation of the expression.

8 . The method of claim 7 , wherein appending the result directly to the primary memory of the computing device storing the data model without requiring the result to be formatted comprises appending the at least one value derived from the evaluation of the expression directly to the primary memory of the computing device storing the data model.

9 . A method comprising:

determining, by a computing device, based on a user selection of in-memory data at the computing device, one or more related tables associated with the in-memory data, wherein the user selection is indicative of a request for external processing;

in response to the request for external processing, sending, to at least one remote computing device comprising an external engine to perform the external processing, a table comprising at least one tuple, the at least one tuple comprising at least one expression and at least one value for each of at least two dimensions of the one or more related tables, wherein the table is generated based on a format associated with the external engine, wherein the external processing comprises an evaluation of the at least one expression on at least a portion of the one or more related tables comprising one or more data records associated with the at least one value for each of the at least two dimensions, and wherein the external engine is configured to provide a result of the evaluation that is consonant to a cardinality of the at least one tuple;

receiving, from the external engine via the at least one remote computing device, the table comprising the result of the evaluation, wherein the result comprises at least one result tuple, and wherein a cardinality of the at least one result tuple at least partially differs from the cardinality of the at least one tuple; and

based on a determination that the cardinality of the at least one result tuple is consonant to the cardinality of the at least one tuple, appending the result of the evaluation directly to the in-memory data at the computing device without requiring the result to be formatted.

10 . The method of claim 9 , wherein appending the result of the evaluation directly to the in-memory data at the computing device without requiring the result to be formatted comprises appending, without intervention from a script engine, the result of the evaluation directly to the in-memory data at the computing device.

11 . The method of claim 10 , wherein the script engine loads the in-memory data at the computing device.

12 . The method of claim 9 , wherein the external engine comprises one or more data processing applications.

13 . The method of claim 12 , wherein the one or more data processing applications comprise one or more of a simulation application, a statistical application, a mathematical computation application, or a database application.

14 . The method of claim 9 , wherein the table comprising the result of the external processing comprises at least one value derived from the evaluation of the at least one expression.

15 . A non-transitory computer-readable storage medium comprising processor-executable instructions that, when executed by at least one processor of a computing device, cause the at least one processor to:

determine, based on a user selection of in-memory data at the computing device, one or more related tables associated with the in-memory data, wherein the user selection is indicative of a request for external processing;

in response to the request for external processing, send, to at least one remote computing device comprising an external engine to perform the external processing, a table comprising at least one tuple, the at least one tuple comprising at least one expression and at least one value for each of at least two dimensions of the one or more related tables, wherein the table is generated based on a format associated with the external engine, wherein the external processing comprises an evaluation of the at least one expression on at least a portion of the one or more related tables comprising one or more data records associated with the at least one value for each of the at least two dimensions, and wherein the external engine is configured to provide a result of the evaluation that is consonant to a cardinality of the at least one tuple;

receive, from the external engine via the at least one remote computing device, the table comprising the result of the evaluation, wherein the result comprises at least one result tuple, and wherein a cardinality of the at least one result tuple at least partially differs from the cardinality of the at least one tuple; and

based on a determination that the cardinality of the at least one result tuple is consonant to the cardinality of the at least one tuple, appending the result of the evaluation directly to the in-memory data without requiring the result to be formatted.

16 . The non-transitory computer-readable storage medium of claim 15 , wherein the processor-executable instructions that cause the at least one processor to append the result of the evaluation directly to the in-memory data without requiring the result to be formatted further cause the at least one processor to append, without intervention from a script engine, the result of the evaluation directly to the in-memory data at the computing device.

17 . The non-transitory computer-readable storage medium of claim 16 , wherein the script engine loads the in-memory data at the computing device.

18 . The non-transitory computer-readable storage medium of claim 15 , wherein the external engine comprises one or more data processing applications.

19 . The non-transitory computer-readable storage medium of claim 18 , wherein the one or more data processing applications comprise one or more of a simulation application, a statistical application, a mathematical computation application, or a database application.

20 . The non-transitory computer-readable storage medium of claim 15 , wherein the table comprising the result of the external processing comprises at least one value derived from the evaluation of the at least one expression.

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 May 10, 2023
From: DÍAZ LÓPEZ, JOSÉ; WOLGÉ, HÅKAN
To: QLIKTECH INTERNATIONAL AB
Reel/Frame 063599/0443 →
Continuity (2)
Continuation 15012157 · Feb 1, 2016
Related Publication 20230350896A1 · Nov 2, 2023
References Cited (18)
US 5124909A · Blakely et al. · 1992 [cited by applicant]
US 7028312B1 · Merrick et al. · 2006 [cited by applicant]
US 7058621B1 · Wolge · 2006 [cited by applicant]
US 8244741B2 · Wolge · 2012 [cited by applicant]
US 8745099B2 · Wolge et al. · 2014 [cited by applicant]
US 20040215629A1 · Dettinger · 2004 [cited by examiner]
US 20060167850A1 · Fish · 2006 [cited by examiner]
US 20070088691A1 · Dickerman · 2007 [cited by examiner]
US 20080243779A1 · Behnen et al. · 2008 [cited by applicant]
US 20080256099A1 · Chodorov et al. · 2008 [cited by applicant]
US 20130070140A1 · Gove et al. · 2013 [cited by applicant]
US 20140108467A1 · Tutuk et al. · 2014 [cited by applicant]
US 20160103665A1 · Liu et al. · 2016 [cited by applicant]
US 20170075965A1 · Liu · 2017 [cited by examiner]
WO 2013070140A · 2023 [cited by applicant]
European Search Report issued in related application No. EP17153511.5 mailed on Jun. 27, 2017. [cited by applicant]
European Search Report issued in related application No. EP22201607.3 mailed on Jan. 23, 2023. [cited by applicant]
Morton, K. et al., “Dynamic Workload Driven Data Integration in Tableau,” Human Factors in Computing Systems, ACM Press, May 20, 2012, pp. 807-816. [cited by applicant]