IP Library Granted Patent US 12,210,541
Granted Patent B2
US 12,210,541 · App. 18/316,894 · Granted Jan 28, 2025

Time-series data storage and processing database system

Inventors: David Tobin (Atherton, CA); Dylan Scott (Palo Alto, CA); Orcun Simsek (New York, NY); Steven Fackler (Menlo Park, CA); Wilson Wong (Menlo Park, CA)
Assignee: Palantir Technologies Inc.
G06F16/2477G06F16/2428G06F16/248
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,210,541
App. No.
18/316,894
Granted
Jan 28, 2025
Kind
B2
Abstract

A database system is described that includes components for storing time-series data and executing custom, user-defined computational expressions in substantially real-time such that the results can be provided to a user device for display in an interactive user interface. For example, the database system may process stored time-series data in response to requests from a user device. The request may include a start time, an end time, a period, and/or a computational expression. The database system may retrieve the time-series data identified by the computational expression and, for each period, perform the arithmetic operation(s) identified by the computational expression on data values corresponding to times within the start time and the end time. Once all new data values have been generated, the database system may transmit the new data values to the user device for display in the interactive user interface.

Claims (60)

1. A database comprising:

a plurality of data stores configured to store time-series data; and

a plurality of processing nodes comprising respective memories, memory maps, and computer processors, wherein respective processing nodes of the plurality of processing nodes correspond to respective data stores of the plurality of data stores, wherein the respective memory maps identify segments of the respective memories that store portions of time-series data,

wherein the database is configured to:

determine a processing node, of the plurality of processing nodes, for executing an operation;

access, by the determined processing node and by reference to the memory map of the determined processing node, a portion of first time-series data and a portion of second time-series data from the memory of the determined processing node; and

execute, by the determined processing node, the operation using at least the portion of the first time-series data and the portion of the second time-series data to generate an output,

wherein the memory map of the determined processing node identifies segments of the memory of the determined processing node that store portions of time-series data, and wherein the stored portions of time-series data are obtained by mapping from a data store of the plurality of data stores that corresponds to the determined processing node.

2. The database of claim 1 , wherein the database is further configured to retrieve data values from the first time-series data that are associated with timestamp values that fall within a start time and an end time provided by a user, and data values from the second time-series data that are associated with timestamp values that fall within the start time and the end time.

3. The database of claim 1 , wherein a first data value from the portion of the first time-series data comprises a plurality of data values that are each associated with a different timestamp value, and wherein a second data value from the portion of the second time-series data comprises a plurality of data values that are each associated with a different timestamp value.

4. The database of claim 1 , wherein the database is further configured to:

receive, from a data source, third time-series data and fourth time-series data, wherein the third time-series data and the fourth time-series data correspond with a first sensor and comprise overlapping time values; and

compact the third time-series data and the fourth time-series data to generate the second time-series data.

5. The database of claim 4 , wherein the database is further configured to:

determine, for each overlapping time value, whether a third data value corresponding to the third time-series data or a fourth data value corresponding to the fourth time-series data is stored in a later-modified file; and

insert the data value stored in the later-modified file into the second time-series data in association with the respective overlapping time value.

6. The database of claim 1 , wherein the database is further configured to:

receive, from a user device, a start time and an end time, wherein the start time and the end time correspond to a window of data viewed by a user via an interactive user interface.

7. The database of claim 6 , wherein a period between the start time and the end time identifies a period of time that corresponds with a width of a pixel in the interactive user interface.

8. The database of claim 7 , wherein the database is further configured to:

determine whether the period is greater than a period of time between each timestamp value in the first time-series data;

aggregate data values such that a period of time between an earliest timestamp value corresponding to a data value in the aggregate and a latest timestamp value corresponding to a data value in the aggregate equals the period in response to a determination that the period is greater than the period of time between each timestamp value in the first time-series data; and

for the period,

identify a first aggregated data value from the portion of the first time-series data and a third data value from the portion of the second time-series data that are both associated with a same timestamp value, and

apply the operation to the first aggregated data value and the third data value to generate the value.

9. The database of claim 1 , wherein the operation comprises a first operation associated with the first time-series data and the second time-series data and a second operation associated with a result of the first operation and the first time-series data.

10. The database of claim 1 , wherein the operation comprises at least one of: a sum, a difference, a product, a ratio, a moving average, a zScore, or a square root.

11. The database of claim 1 , wherein the first time-series data is stored in the database and is immutable.

12. A method comprising:

determining, by a database configured with specific computer-executable instructions, a processing node, of a plurality of processing nodes, for executing an operation, wherein the database comprises:

a plurality of data stores configured to store time-series data; and

the plurality of processing nodes comprising respective memories and memory maps, wherein respective processing nodes of the plurality of processing nodes correspond to respective data stores of the plurality of data stores, wherein the respective memory maps identify segments of the respective memories that store portions of time-series data;

accessing, by the determined processing node and by reference to the memory map of the determined processing node, a portion of first time-series data and a portion of second time-series data from the memory of the determined processing node; and

executing, by the determined processing node, the operation using at least the portion of the first time-series data and the portion of the second time-series data,

wherein the memory map of the determined processing node identifies segments of the memory of the determined processing node that store portions of time-series data, wherein the stored portions of time-series data are obtained by mapping from a data store of the plurality of data stores that corresponds to the determined processing node, and wherein the method is performed by the database.

13. The method of claim 12 , further comprising retrieving data values from the first time-series data that are associated with timestamp values that fall within a start time and an end time provided by a user, and data values from the second time-series data that are associated with timestamp values that fall within the start time and the end time.

14. The method of claim 12 , wherein a first data value from the portion of the first time-series data comprises a plurality of data values that are each associated with a different timestamp value, and wherein a second data value from the portion of the second time-series data comprises a plurality of data values that are each associated with a different timestamp value.

15. The method of claim 12 , further comprising:

receiving, from a data source, third time-series data and fourth time-series data, wherein the third time-series data and the fourth time-series data correspond with a first sensor and comprise overlapping time values; and

compacting the third time-series data and the fourth time-series data to generate the second time-series data.

16. The method of claim 15 , further comprising:

determining, for each overlapping time value, whether a third data value corresponding to the third time-series data or a fourth data value corresponding to the fourth time-series data is stored in a later-modified file; and

inserting the data value stored in the later-modified file into the second time-series data in association with the respective overlapping time value.

17. The method of claim 12 , further comprising:

receiving, from a user device, a start time and an end time, wherein the start time and the end time correspond to a window of data viewed by a user via an interactive user interface.

18. The method of claim 17 , wherein a period between the start time and the end time identifies a period of time that corresponds with a width of a pixel in the interactive user interface.

19. The method of claim 18 , further comprising:

determining whether first period is greater than a period of time between each timestamp value in the first time-series data;

aggregating data values such that a period of time between an earliest timestamp value corresponding to a data value in the aggregate and a latest timestamp value corresponding to a data value in the aggregate equals the first period in response to a determination that the period is greater than the period of time between each timestamp value in the first time-series data; and

for the period,

identifying a first aggregated data value from the portion of the first time-series data and a third data value from the portion of the second time-series data that are both associated with a same timestamp value, and

applying the operation to the first aggregated data value and the third data value to generate the value.

20. One or more non-transitory computer-readable storage media comprising computer-executable instructions, wherein the computer-executable instructions, when executed by a database comprising:

a plurality of data stores configured to store time-series data; and

a plurality of processing nodes comprising respective memories, memory maps, and computer processors, wherein respective processing nodes of the plurality of processing nodes correspond to respective data stores of the plurality of data stores, wherein the respective memory maps identify segments of the respective memories that store portions of time-series data,

cause the database to:

determine a processing node, of the a plurality of processing nodes, for executing an operation;

access, by the determined processing node and by reference to the memory map of the determined processing node, a portion of first time-series data and a portion of second time-series data from the memory of the determined processing node; and

execute, by the determined processing node, the operation using at least the portion of the first time-series data and the portion of the second time-series data to generate an output,

wherein the memory map of the determined processing node identifies segments of the memory of the determined processing node that store portions of time-series data, and wherein the stored portions of time-series data are obtained by mapping from a data store of the plurality of data stores that corresponds to the determined processing node.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2023
From: TOBIN, DAVID; SCOTT, DYLAN; SIMSEK, ORCUN; FACKLER, STEVEN; WONG, WILSON
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 063647/0570 →
Continuity (5)
Continuation 16805257 · Feb 28, 2020
Continuation 15614388 · Jun 5, 2017
Continuation 15171494 · Jun 2, 2016
Provisional Application 62171875 · Jun 5, 2015
Related Publication 20230359638A1 · Nov 9, 2023
References Cited (250)
US 5532717A · Jones et al. · 1996 [cited by applicant]
US 5724575A · Hoover et al. · 1998 [cited by applicant]
US 5872973A · Mitchell et al. · 1999 [cited by applicant]
US 5897636A · Kaeser · 1999 [cited by applicant]
US 6073129A · Levine et al. · 2000 [cited by applicant]
US 6094653A · Li et al. · 2000 [cited by applicant]
US 6161098A · Wallman · 2000 [cited by applicant]
US 6243717B1 · Gordon et al. · 2001 [cited by applicant]
US 6304873B1 · Klein et al. · 2001 [cited by applicant]
US 6366933B1 · Ball et al. · 2002 [cited by applicant]
US 6418438B1 · Campbell · 2002 [cited by applicant]
US 6510504B2 · Satyanarayana · 2003 [cited by applicant]
US 6549752B2 · Tsukamoto · 2003 [cited by applicant]
US 6560620B1 · Ching · 2003 [cited by applicant]
US 6574635B2 · Stauber et al. · 2003 [cited by applicant]
US 6609085B1 · Uemura et al. · 2003 [cited by applicant]
US 6745382B1 · Zothner · 2004 [cited by applicant]
US 6976210B1 · Silva et al. · 2005 [cited by applicant]
US 6980984B1 · Huffman et al. · 2005 [cited by applicant]
US 7058648B1 · Lightfoot et al. · 2006 [cited by applicant]
US 7111231B1 · Huck et al. · 2006 [cited by applicant]
US 7194680B1 · Roy et al. · 2007 [cited by applicant]
US 7233843B2 · Budhraja et al. · 2007 [cited by applicant]
US 7461158B2 · Rider et al. · 2008 [cited by applicant]
US 7725530B2 · Sah et al. · 2010 [cited by applicant]
US 7725728B2 · Ama et al. · 2010 [cited by applicant]
US 7730082B2 · Sah et al. · 2010 [cited by applicant]
US 7730109B2 · Rohrs et al. · 2010 [cited by applicant]
US 7761407B1 · Stern · 2010 [cited by applicant]
US 7814084B2 · Hallett et al. · 2010 [cited by applicant]
US 7962495B2 · Jain et al. · 2011 [cited by applicant]
US 7984374B2 · Caro et al. · 2011 [cited by applicant]
US 8041714B2 · Aymeloglu et al. · 2011 [cited by applicant]
US 8060259B2 · Budhraja et al. · 2011 [cited by applicant]
US 8112425B2 · Baum et al. · 2012 [cited by applicant]
US 8126848B2 · Wagner · 2012 [cited by applicant]
US 8185819B2 · Sah et al. · 2012 [cited by applicant]
US 8401710B2 · Budhraja et al. · 2013 [cited by applicant]
US 8504542B2 · Chang et al. · 2013 [cited by applicant]
US 8676857B1 · Adams et al. · 2014 [cited by applicant]
US 8930331B2 · McGrew et al. · 2015 [cited by applicant]
US 8954410B2 · Chang et al. · 2015 [cited by applicant]
US 9009827B1 · Albertson et al. · 2015 [cited by applicant]
US 9043696B1 · Meiklejohn et al. · 2015 [cited by applicant]
US 9092482B2 · Harris et al. · 2015 [cited by applicant]
US 9116975B2 · Shankar et al. · 2015 [cited by applicant]
US 9189387B1 · Taylor · 2015 [cited by examiner]
US 9195700B1 · Becker · 2015 [cited by applicant]
US 9208159B2 · Stowe et al. · 2015 [cited by applicant]
US 9230280B1 · Maag et al. · 2016 [cited by applicant]
US 9280532B2 · Cicerone · 2016 [cited by applicant]
US 9672257B2 · Tobin et al. · 2017 [cited by applicant]
US 9753935B1 · Tobin et al. · 2017 [cited by applicant]
US 10585907B2 · Tobin et al. · 2020 [cited by applicant]
US 11687543B2 · Tobin et al. · 2023 [cited by applicant]
US 20010051949A1 · Carey et al. · 2001 [cited by applicant]
US 20010056522A1 · Satyanarayana · 2001 [cited by applicant]
US 20020091694A1 · Hrle et al. · 2002 [cited by applicant]
US 20030105759A1 · Bess et al. · 2003 [cited by applicant]
US 20030115481A1 · Baird et al. · 2003 [cited by applicant]
US 20030120675A1 · Stauber et al. · 2003 [cited by applicant]
US 20030130993A1 · Mendelevitch et al. · 2003 [cited by applicant]
US 20030212718A1 · Tester · 2003 [cited by applicant]
US 20040111410A1 · Burgoon et al. · 2004 [cited by applicant]
US 20040117345A1 · Bamford et al. · 2004 [cited by applicant]
US 20040117387A1 · Civetta et al. · 2004 [cited by applicant]
US 20040148301A1 · McKay et al. · 2004 [cited by applicant]
US 20050097441A1 · Herbach et al. · 2005 [cited by applicant]
US 20050108231A1 · Findleton et al. · 2005 [cited by applicant]
US 20050114763A1 · Nonomura et al. · 2005 [cited by applicant]
US 20050131990A1 · Jewell · 2005 [cited by applicant]
US 20050289524A1 · McGinnes · 2005 [cited by applicant]
US 20060074881A1 · Vembu et al. · 2006 [cited by applicant]
US 20060080316A1 · Gilmore et al. · 2006 [cited by applicant]
US 20060095521A1 · Patinkin · 2006 [cited by applicant]
US 20060106847A1 · Eckardt et al. · 2006 [cited by applicant]
US 20060116991A1 · Calderwood · 2006 [cited by applicant]
US 20060161558A1 · Tamma et al. · 2006 [cited by applicant]
US 20060218206A1 · Bourbonnais et al. · 2006 [cited by applicant]
US 20060218405A1 · Ama et al. · 2006 [cited by applicant]
US 20060218491A1 · Grossman et al. · 2006 [cited by applicant]
US 20060242630A1 · Koike et al. · 2006 [cited by applicant]
US 20060253502A1 · Raman et al. · 2006 [cited by applicant]
US 20060265397A1 · Bryan et al. · 2006 [cited by applicant]
US 20060288035A1 · Viavant · 2006 [cited by applicant]
US 20070050429A1 · Goldring et al. · 2007 [cited by applicant]
US 20070061487A1 · Moore et al. · 2007 [cited by applicant]
US 20070143253A1 · Kostamaa et al. · 2007 [cited by applicant]
US 20070185850A1 · Walters et al. · 2007 [cited by applicant]
US 20070233756A1 · D'Souza et al. · 2007 [cited by applicant]
US 20070271317A1 · Carmel · 2007 [cited by applicant]
US 20080015970A1 · Brookfield et al. · 2008 [cited by applicant]
US 20080104060A1 · Abhyankar et al. · 2008 [cited by applicant]
US 20080104149A1 · Vishniac et al. · 2008 [cited by applicant]
US 20080195672A1 · Hamel et al. · 2008 [cited by applicant]
US 20080201339A1 · McGrew · 2008 [cited by applicant]
US 20080215546A1 · Baum et al. · 2008 [cited by applicant]
US 20080270316A1 · Guidotti et al. · 2008 [cited by applicant]
US 20080301378A1 · Carrie · 2008 [cited by applicant]
US 20090031247A1 · Walter et al. · 2009 [cited by applicant]
US 20090106308A1 · Killian et al. · 2009 [cited by applicant]
US 20090164387A1 · Armstrong et al. · 2009 [cited by applicant]
US 20090177962A1 · Gusmorino et al. · 2009 [cited by applicant]
US 20090254971A1 · Herz · 2009 [cited by applicant]
US 20090271435A1 · Yako et al. · 2009 [cited by applicant]
US 20090313223A1 · Rantanen · 2009 [cited by applicant]
US 20090313311A1 · Hoffmann et al. · 2009 [cited by applicant]
US 20100036831A1 · Vemuri et al. · 2010 [cited by applicant]
US 20100070489A1 · Aymeloglu et al. · 2010 [cited by applicant]
US 20100076939A1 · Iwaki et al. · 2010 [cited by applicant]
US 20100082541A1 · Kottomtharayil · 2010 [cited by applicant]
US 20100114817A1 · Broeder et al. · 2010 [cited by applicant]
US 20100114831A1 · Gilbert et al. · 2010 [cited by applicant]
US 20100114887A1 · Conway et al. · 2010 [cited by applicant]
US 20100138842A1 · Balko et al. · 2010 [cited by applicant]
US 20100145909A1 · Ngo · 2010 [cited by applicant]
US 20100161565A1 · Lee et al. · 2010 [cited by applicant]
US 20100161688A1 · Kesselman et al. · 2010 [cited by applicant]
US 20100191884A1 · Holenstein et al. · 2010 [cited by applicant]
US 20100211550A1 · Daniello et al. · 2010 [cited by applicant]
US 20100211618A1 · Anderson et al. · 2010 [cited by applicant]
US 20100235606A1 · Oreland et al. · 2010 [cited by applicant]
US 20100283787A1 · Hamedi et al. · 2010 [cited by applicant]
US 20100325581A1 · Finkelstein et al. · 2010 [cited by applicant]
US 20110029498A1 · Ferguson et al. · 2011 [cited by applicant]
US 20110047540A1 · Williams et al. · 2011 [cited by applicant]
US 20110153592A1 · DeMarcken · 2011 [cited by applicant]
US 20110173619A1 · Fish · 2011 [cited by applicant]
US 20110179042A1 · Aymeloglu · 2011 [cited by examiner]
US 20110184813A1 · Barne et al. · 2011 [cited by applicant]
US 20110218978A1 · Hong et al. · 2011 [cited by applicant]
US 20110258158A1 · Resende et al. · 2011 [cited by applicant]
US 20110258242A1 · Eidson et al. · 2011 [cited by applicant]
US 20110270812A1 · Ruby · 2011 [cited by applicant]
US 20120013684A1 · Robertson et al. · 2012 [cited by applicant]
US 20120072825A1 · Sherkin et al. · 2012 [cited by applicant]
US 20120123989A1 · Yu et al. · 2012 [cited by applicant]
US 20120124179A1 · Cappio et al. · 2012 [cited by applicant]
US 20120150791A1 · Willson · 2012 [cited by applicant]
US 20120150925A1 · Gupta et al. · 2012 [cited by applicant]
US 20120159307A1 · Chung et al. · 2012 [cited by applicant]
US 20120221589A1 · Shahar et al. · 2012 [cited by applicant]
US 20120330908A1 · Stowe et al. · 2012 [cited by applicant]
US 20120330931A1 · Nakano et al. · 2012 [cited by applicant]
US 20130036346A1 · Cicerone · 2013 [cited by applicant]
US 20130060742A1 · Chang et al. · 2013 [cited by applicant]
US 20130066882A1 · Westbrooke · 2013 [cited by applicant]
US 20130097130A1 · Bingol et al. · 2013 [cited by applicant]
US 20130151388A1 · Falkenborg et al. · 2013 [cited by applicant]
US 20130304770A1 · Boero et al. · 2013 [cited by applicant]
US 20130318060A1 · Chang et al. · 2013 [cited by applicant]
US 20140040276A1 · Chen et al. · 2014 [cited by applicant]
US 20140095543A1 · Hsiao et al. · 2014 [cited by applicant]
US 20140149272A1 · Hirani et al. · 2014 [cited by applicant]
US 20140181833A1 · Bird et al. · 2014 [cited by applicant]
US 20140324876A1 · Konik et al. · 2014 [cited by applicant]
US 20140344231A1 · Stowe et al. · 2014 [cited by applicant]
US 20150039886A1 · Kahol et al. · 2015 [cited by applicant]
US 20150089353A1 · Folkening · 2015 [cited by applicant]
US 20150106347A1 · McGrew et al. · 2015 [cited by applicant]
US 20150112956A1 · Chang et al. · 2015 [cited by applicant]
US 20150186434A1 · Eichinger et al. · 2015 [cited by applicant]
US 20150212663A1 · Papale et al. · 2015 [cited by applicant]
US 20150213043A1 · Ishii et al. · 2015 [cited by applicant]
US 20150213134A1 · Nie et al. · 2015 [cited by applicant]
US 20150227295A1 · Meiklejohn et al. · 2015 [cited by applicant]
US 20150242397A1 · Zhuang · 2015 [cited by applicant]
US 20150261817A1 · Harris et al. · 2015 [cited by applicant]
US 20150278325A1 · Masuda et al. · 2015 [cited by applicant]
US 20150341467A1 · Lim et al. · 2015 [cited by applicant]
US 20150379065A1 · Yoshizawa et al. · 2015 [cited by applicant]
US 20160034545A1 · Shankar et al. · 2016 [cited by applicant]
US 20160062555A1 · Ward et al. · 2016 [cited by applicant]
US 20160164912A1 · Del Fante · 2016 [cited by applicant]
US 20160328432A1 · Raghunathan · 2016 [cited by applicant]
US 20160357828A1 · Tobin et al. · 2016 [cited by applicant]
US 20170147930A1 · Bellala et al. · 2017 [cited by applicant]
US 20180039651A1 · Tobin et al. · 2018 [cited by applicant]
AU 2014206155 · 2015 [cited by applicant]
EP 0652513 · 1995 [cited by applicant]
EP 2555126 · 2013 [cited by applicant]
EP 2863326 · 2015 [cited by applicant]
EP 2891992 · 2015 [cited by applicant]
EP 2993595 · 2016 [cited by applicant]
EP 3101560 · 2016 [cited by applicant]
EP 3279813 · 2018 [cited by applicant]
WO WO2008043082 · 2008 [cited by applicant]
WO WO2012025915 · 2012 [cited by applicant]
WO WO2014019349 · 2014 [cited by applicant]
Anonymous, “BackTult—JD Edwards One World Version Control System”, in 1 page, Jul. 23, 2007. [cited by applicant]
Antoshenkov, Gennady, “Dictionary-Based Order-Preserving String Compression”, The VLDB Journal, pp. 26-39, 1997. [cited by applicant]
“Apache HBase,” http://hbase.apache.org/ printed Sep. 14, 2011 in 1 page. [cited by applicant]
Baker et al., “Megastore: Providing Scalable, Highly Available Storage for Interactive Services”, 5th Biennial Conference on Innovative Data Systems Research (CIDR '11), Asilomar, California, Jan. 9-12, 2011. [cited by applicant]
Bernstein et al., “Hyder—A Transactional Record Manager for Shared Flash”, 5th Biennial Conference on Innovative Data Systems Research (CIDR '11), vol. 12, Asilomar, California, Jan. 9-12, 2011. [cited by applicant]
Chang et al., “Bigtable: A Distributed Storage System for Structured Data”, Google, Inc., OSDI'06: Seventh Symposium on Operating System Design and Implementation, Seattle, WA, Nov. 2006. [cited by applicant]
Chung, Chin-Wan, “Dataplex: An Access to Heterogeneous Distributed Databases”, Communications of the ACM, Association for Computing Machinery, Inc., vol. 33, Issue No. 1, pp. 70-80, Jan. 1, 1990. [cited by applicant]
Devanbu et al., “Authentic Third-party Data Publication”, http://www.cs.ucdavis.edu/˜devanbu/authdbpub.pdf, p. 19, 2000. [cited by applicant]
Dreyer et al., “An Object-Oriented Data Model for a Time Series Management System”, Proceedings of the 7th International Working Conference on Scientific and Statistical Database Management, p. 12, Charlottesville, Virg… [cited by applicant]
Elmasri et al., “Fundamentals of Database Systems”, Fourth Edition, pp. 455-491, 2004. [cited by applicant]
Hogue et al., “Thresher: Automating the Unwrapping of Semantic Content from the World Wide Web”, 14th International Conference on World Wide Web, WWW 2005: Chiba, Japan, May 10-14, 2005. [cited by applicant]
Klemmer et al., “Where Do Web Sites Come From? Capturing and Interacting with Design History,” Association for Computing Machinery, CHI 2002, Apr. 20-25, 2002, Minneapolis, MN, pp. 8. [cited by applicant]
Kokossi et al., “D7-Dynamic Ontology Management System (Design)”, Information Societies Technology Programme, pp. 1-27. [cited by applicant]
Mentzas et al., “An Architecture for Intelligent Assistance in the Forecasting Process”, Proceedings of the Twenty-Eighth Hawaii International Conference on System Sciences, vol. 3, pp. 167-176, Jan. 3-6, 1995. [cited by applicant]
Miklau et al., “Securing History: Privacy and Accountability in Database Systems”, 3rd Biennial Conference on Innovative Data Systems Research (CIDR), pp. 387-396, Asilomar, California, Jan. 7-10, 2007. [cited by applicant]
Niepert et al., “A Dynamic Ontology for a Dynamic Reference Work”, Joint Conference on Digital Libraries, pp. 1-10, Vancouver, British Columbia, Jun. 17-22, 2007. [cited by applicant]
Nierman, “Evaluating Structural Similarity in XML Documents”, 6 pages, 2002. [cited by applicant]
Peng et al., “Large-scale Incremental Processing Using Distributed Transactions and Notifications”, Proceedings of the 9th USENIX Symposium on Operating Systems Design and Implementation, USENIX, p. 14, 2010. [cited by applicant]
Quest, “Toad for Oracle 11.6—Guide to Using Toad”, pp. 1-162, Sep. 24, 2012. [cited by applicant]
“The Apache Cassandra Project,” http://cassandra.apache.org/ Printed Sep. 14, 2011 in 3 pages. [cited by applicant]
Thomson et al., “The Case for Determinism in Database Systems”, The 36th International Conference on Very Large Data Bases, Proceedings of the VLDB Endowment, vol. 3, Issue No. 1, p. 11, Singapore, Sep. 13-17, 2010. [cited by applicant]
Wikipedia, “Federated Database System,” Sep. 7, 2013, retrieved from the internet on Jan. 27, 2015 http://en.wikipedia.org/w/index.php?title=Federated_database_system&oldid=571954221. [cited by applicant]
Wollrath et al., “A Distributed Object Model for the Java System”,Technologies and Systems, pp. 219-231, Jun. 17-21, 1996. [cited by applicant]
Yang et al., “HTML Page Analysis Based on Visual Cues”, A129, pp. 859-864, 2001. [cited by applicant]
Zhao et al., “Exploratory Analysis of Time-Series with ChronoLenses,” IEEE Transactions on Visualization and Computer Graphics, vol. 17, No. 12, Oct. 23, 2011, pp. 2422-2431. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 13/196,788 dated Dec. 18, 2015. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 13/826,228 dated Mar. 27, 2015. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 14/192,767 dated Dec. 16, 2014. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 14/278,963 dated Sep. 2, 2015. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 14/451,221 dated Aug. 4, 2015. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 14/504,103 dated May 18, 2015. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 14/734,772 dated Apr. 27, 2016. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 14/746,671 dated Jan. 21, 2016. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 15/171,494 dated Oct. 12, 2016. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 15/226,675 dated May 2, 2017. [cited by applicant]
Official Communication for European Patent Application No. 14189344.6 dated Feb. 20, 2015. [cited by applicant]
Official Communication for European Patent Application No. 14199182.8 dated Mar. 13, 2015. [cited by applicant]
Official Communication for European Patent Application No. 15183721.8 dated Nov. 23, 2015. [cited by applicant]
Official Communication for European Patent Application No. 16173056.9 dated Nov. 3, 2016. [cited by applicant]
Official Communication for Netherlands Patent Application No. 2012436 dated Nov. 6, 2015. [cited by applicant]
Official Communication for U.S. Appl. No. 13/196,788 dated Oct. 23, 2015. [cited by applicant]
Official Communication for U.S. Appl. No. 13/196,788 dated Nov. 25, 2015. [cited by applicant]
Official Communication for U.S. Appl. No. 14/278,963 dated Jan. 30, 2015. [cited by applicant]
Official Communication for U.S. Appl. No. 14/451,221 dated Apr. 6, 2015. [cited by applicant]
Official Communication for U.S. Appl. No. 14/504,103 dated Mar. 31, 2015. [cited by applicant]
Official Communication for U.S. Appl. No. 14/504,103 dated Feb. 5, 2015. [cited by applicant]
Official Communication for U.S. Appl. No. 14/578,389 dated Oct. 21, 2015. [cited by applicant]
Official Communication for U.S. Appl. No. 14/578,389 dated Apr. 22, 2016. [cited by applicant]
Official Communication for U.S. Appl. No. 14/580,218 dated Jun. 26, 2015. [cited by applicant]
Official Communication for U.S. Appl. No. 14/726,211 dated Apr. 5, 2016. [cited by applicant]
Official Communication for U.S. Appl. No. 14/734,772 dated Jul. 24, 2015. [cited by applicant]
Official Communication for U.S. Appl. No. 14/734,772 dated Oct. 30, 2015. [cited by applicant]
Official Communication for U.S. Appl. No. 14/746,671 dated Nov. 12, 2015. [cited by applicant]
Official Communication for U.S. Appl. No. 14/746,671 dated Sep. 28, 2015. [cited by applicant]
Official Communication for U.S. Appl. No. 14/841,338 dated Feb. 18, 2016. [cited by applicant]
Official Communication for U.S. Appl. No. 14/996,179 dated May 20, 2016. [cited by applicant]
Official Communication for U.S. Appl. No. 15/226,675 dated Feb. 28, 2017. [cited by applicant]
Official Communication for European Patent Application No. 17184239.6 dated Oct. 27, 2017. [cited by applicant]
Official Communication for European Patent Application No. 17184239.6 dated Nov. 29, 2018. [cited by applicant]
Official Communication for European Patent Application No. 16173056.9 dated Feb. 18, 2020. [cited by applicant]
Official Communication for European Patent Application No. 16173056.9 dated Dec. 10, 2020. [cited by applicant]