IP Library › Granted Patent US 12,443,598
Granted Patent B2
US 12,443,598 · App. 17/943,657 · Granted Oct 14, 2025

Transparent access to an external data source within a data server

Inventors: Jian Wu (Ottawa, CA); Adrian Petrescu (Ottawa, CA); Yingbei Lu (Ottawa, CA); Hung Nguyen (Ottawa, CA); Harveer Singh (Ottawa, CA); Daniel Lee (Ottawa, CA)
Assignee: Kinaxis Inc.
G06F16/245G06F16/2282G06F16/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 12,443,598
App. No.
17/943,657
Granted
Oct 14, 2025
Kind
B2
Abstract

Disclosed herein are systems and methods that do not require loading data into memory to perform daily activities of an application. The data from an external source can be accessed externally and utilized (for example, in a workbook or via a dashboard, etc.) the same way as in-memory data. This is useful when an external data set is too large to fit in the memory. In this manner, all the data that is needed can be stored in an external table that may be accessed as needed.

Claims (59)

1. A computer-implemented method comprising:

opening, by a processor, a workbook;

executing, by the processor, a workbook query on the workbook, the workbook query having a target table, wherein executing the workbook query comprises:

opening, by the processor, a worksheet from the workbook;

sending, by the processor, a worksheet query to a query engine;

executing, by the processor, the worksheet query on a record that is external to an in-memory database and

returning, by the processor, one or more query results;

loading, by the processor and based on the one or more query results, external data from an external data source to the record that is external to the in-memory database, for a target table that is an external table;

loading, by the processor and based on the one or more query results, data from a record block stored in the in-memory database, for a target table that is a regular table; and

creating, by the processor, a composite worksheet comprising the loaded external data and the loaded data from the record block.

2. The computer-implemented method of claim 1 , wherein loading the external data from the external data source comprises:

using, by the processor, an Application Programming Interface (API) for accessing a database.

3. The computer-implemented method of claim 1 , wherein the external data source is at least one of a public cloud, an external system and an external disk.

4. The computer-implemented method of claim 1 , wherein executing the worksheet query for the external table comprises:

creating, by the processor, an instance of an external data source class;

translating, by the processor, the worksheet query into Structured Query Language (SQL):

fetching, by the processor, one or more records from the external data source over an Application Programming Interface (API) using SQL;

filtering, by the processor, results by applying one or more column search expressions; and

sending, by the processor, the results to an application server.

5. A computing apparatus comprising:

a processor; and

a memory storing instructions that, when executed by the processor, configure the apparatus to:

open, by the processor, a workbook;

execute, by the processor, a workbook query on the workbook, the workbook query having a target table, wherein when executing the workbook query, the apparatus is configured to:

open, by the processor, a worksheet from the workbook;

send, by the processor, a worksheet query to a query engine;

execute, by the processor, the worksheet query on the record that is external to the in-memory database; and

return, by the processor, one or more query results;

load, by the processor and based on the one or more query results, external data from an external data source to the record that is external to the in-memory database, for a target table that is an external table; and

load, by the processor and based on the one or more query results, data from a record block stored in the in-memory database, for a target table that is a regular table, and

create, by the processor, a composite worksheet comprising the loaded external data and the loaded data from the record block.

6. The computing apparatus of claim 5 , wherein when loading the external data from the external data source, the apparatus is configured to:

use, by the processor, an Application Programming Interface for accessing a database.

7. The computing apparatus of claim 5 , wherein the external data source is at least one of a public cloud, an external system and an external disk.

8. The computing apparatus of claim 5 , wherein when executing the worksheet query for the external table, the apparatus is configured to:

create, by the processor, an instance of an external data source class;

translate, by the processor, the worksheet query into Structured Query Language (SQL):

fetch, by the processor, one or more records from the external data source over an Application Programming Interface (API) using SQL;

filter, by the processor, results by applying one or more column search expressions; and

send, by the processor, the results to an application server.

9. A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that when executed by a computer, cause the computer to:

open, by a processor, a workbook;

execute, by the processor, a workbook query on the workbook, the workbook query having a target table, wherein executing a workbook query further causes the computer to:

open, by the processor, a worksheet from the workbook;

send, by the processor, a worksheet query to a query engine;

execute, by the processor, the worksheet query on a record that is external to an in-memory database; and

return, by the processor, one or more query results;

load, by the processor and based on the one or more query results, external data from an external data source to the record that is external to the in-memory database, for a target table that is an external table;

load, by the processor and based on the one or more query results, data from a record block stored in the in-memory database, for a target table that is a regular table; and

create, by the processor, a composite worksheet comprising the loaded external data and the loaded data from the data block.

10. The computer-readable storage medium of claim 9 , wherein loading the external data from the external data source comprises:

using, by the processor, an Application Programming Interface for accessing a database.

11. The computer-readable storage medium of claim 9 , wherein the external data source is at least one of a public cloud, an external system and an external disk.

12. The computer-readable storage medium of claim 9 , wherein executing the worksheet query for the external table comprises:

create, by the processor, an instance of an external data source class;

translate, by the processor, the worksheet query into Structured Query Language (SQL):

fetch, by the processor, one or more records from the external data source over an Application Programming Interface (API) using SQL;

filter, by the processor, results by applying one or more column search expressions; and

send, by the processor, the results to an application server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2023
From: WU, JIAN; PETRESCU, ADRIAN; LU, YINGBEI; NGUYEN, HUNG; SINGH, HARVEER; LEE, DANIEL
To: KINAXIS INC.
Reel/Frame 064495/0310 →
Continuity (2)
Provisional Application 63261178 · Sep 14, 2021
Related Publication 20230077833A1 · Mar 16, 2023
References Cited (20)
US 7653731B2 · Martynov et al. · 2010 [cited by applicant]
US 8078652B2 · Basu et al. · 2011 [cited by applicant]
US 9116954B1 · Cappiello et al. · 2015 [cited by applicant]
US 9674261B2 · Nathan et al. · 2017 [cited by applicant]
US 10346375B2 · Chen et al. · 2019 [cited by applicant]
US 11120082B2 · Hilloulin · 2021 [cited by examiner]
US 11514236B1 · Pedapati · 2022 [cited by examiner]
US 11663199B1 · Kiselev · 2023 [cited by examiner]
US 20130124957A1 · Oppenheimer · 2013 [cited by examiner]
US 20180081947A1 · Kass · 2018 [cited by examiner]
US 20190026335A1 · Gerweck et al. · 2019 [cited by applicant]
US 20190102412A1 · MacNicol · 2019 [cited by examiner]
US 20190236203A1 · De Boer · 2019 [cited by applicant]
US 20200151154A1 · Kumar · 2020 [cited by examiner]
US 20200311063A1 · Hariharasubrahmanian et al. · 2020 [cited by applicant]
US 20210397626A1 · Griffith · 2021 [cited by examiner]
US 20230017725A1 · Zhong · 2023 [cited by applicant]
U.S. Appl. No. 17/956,362, Non-Final office Action dated Jul. 8, 2024. [cited by applicant]
U.S. Appl. No. 17/956,362, Final Office Action dated Oct. 30, 2024. [cited by applicant]
U.S. Appl. No. 17/956,362, filed Sep. 29, 2022, Notice of Allowance dated Jun. 2, 2025. [cited by applicant]