IP Library Granted Patent US 12,632,460
Granted Patent B2
US 12,632,460 · App. 18/452,815 · Granted May 19, 2026

Systems and methods for retrieving and processing data for display

Inventors: Geoffrey Stowe (San Francisco, CA); John McRaven (New York, NY); Andrew Pettit (New York, NY); Lucas Lemanowicz (New York, NY); Benedict Cappellacci (New York, NY); Arjun Mathur (Stanwood, WA); Jonathan Victor (New York, NY); Nabeel Qureshi (New York, NY); Anshuman Prasad (New York, NY); Joy Tao (New York, NY); Mikhail Proniushkin (New York, NY); Casey Patton (London, GB)
Assignee: Palantir Technologies Inc.
G06F16/248G06F3/0482G06F16/26G06T11/26G06T2200/24
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,632,460
App. No.
18/452,815
Granted
May 19, 2026
Kind
B2
Abstract

A system and method for processing data wherein one or more user selections of source data and an input defining one or more operations to be performed on the selected source data are received to generate processed data for display as a chart; the source data is retrieved from at least one data source, the source data is processed according to the defined one or more operations to generate processed data for output for display as a chart, the chart is stored as data defining the one or more operations and data identifying the source data operated on, a further user selection is received to redisplay the chart; retrieving the source data from the at least one data source; and the source data is processed according to the defined one or more operations to generate the processed data for output for redisplay as the chart.

Claims (89)

1 . A computer-implemented method comprising:

by one or more processors executing program instructions:

causing presentation of a user interface including:

a first chart displaying a first range of data, wherein regions of the first chart are interactively selectable by a user via the user interface; and

a second chart displaying a second range of data, wherein regions of the second chart are interactively selectable by the user via the user interface;

receiving a first one or more user inputs, via the user interface, interacting with the first chart to select a region of the first chart indicating a portion of the first range of data displayed in the first chart, wherein the portion of the first range of data comprises first source data;

receiving a second one or more user inputs, via the user interface, indicating at least one or more first operations to be performed on the first source data to generate first processed data;

receiving a third one or more user inputs, via the user interface, interacting with the second chart to select a region of the second chart indicating a portion of the second range of data displayed in the second chart, wherein the portion of the second range of data comprises second source data;

receiving a fourth one or more user inputs, via the user interface, indicating at least one or more second operations to be performed on the second source data to generate second processed data;

receiving a fifth one or more user inputs, via the user interface, indicating at least one or more third operations to be performed on the first processed data and the second processed data;

in parallel, processing (1) the first source data according to the one or more first operations to generate the first processed data and (2) the second source data according to the one or more second operations to generate the second processed data;

processing the first processed data and the second processed data according to the one or more third operations to generate third processed data for display as a third chart in the user interface;

storing first information identifying:

the one or more first operations,

the one or more second operations,

the one or more third operations,

the portion of the first range of data indicating the first source data, and

the portion of the second range of data indicating the second source data; and

in response to receiving a sixth one or more user inputs to redisplay the third chart:

retrieving, based on the first information, the portion of the first range of data comprising the first source data and the portion of the second range of data comprising the second source data;

retrieving, based on the first information, the one or more first operations, the one or more second operations, and the one or more third operations;

applying, in parallel, (1) the one or more first operations to the retrieved first source data to regenerate the first processed data and (2) the one or more second operations to the retrieved second source data to regenerate the second processed data; and

applying the one or more third operations to the first processed data and the second processed data to regenerate the third processed data for display as the third chart.

2 . The computer-implemented method of claim 1 , wherein the first source data is stored at one or more first locations, wherein the second source data is stored at one or more second locations, wherein the one or more first locations are at least one of: the same as the one or more second locations, or different from the one or more second locations.

3 . The computer-implemented method of claim 1 further comprising:

by the one or more processors executing program instructions:

causing presentation of a plurality of selectable operations usable for indicating the one or more first operations, the one or more second operations, and the one or more third operations.

4 . The computer-implemented method of claim 1 further comprising:

by the one or more processors executing program instructions:

receiving a third one or more user inputs defining one or more further operations to be performed on at least a portion of the first processed data to generate further processed data for display as a further chart;

determining associated source data to be used in the determination of the further processed data,

retrieving the associated source data;

applying the one or more first operations and the defined one or more further operations to the associated source data to generate further processed data for output for display as the further chart; and

storing the further chart as the first information, second information identifying the defined one or more further operations, and third information identifying the associated source data.

5 . The computer-implemented method of claim 4 further comprising:

by the one or more processors executing program instructions:

receiving seventh one or more user inputs to redisplay the further chart;

accessing the third information identifying the associated source data;

retrieving, based on the third information, the associated source data;

accessing the second information identifying the one or more further operations;

retrieving, based on the first information and the second information, the one or more first operations and the defined one or more further operations; and

applying the one or more first operations and the defined one or more further operations to the associated source data to regenerate the further processed data for output for redisplay as the further chart.

6 . The computer-implemented method of claim 1 , wherein:

the one or more first operations include two or more operations in a sequence; and

applying the one or more first operations includes applying the two or more operations in the sequence to the first source data to regenerate the first processed data.

7 . The computer-implemented method of claim 1 , wherein retrieving the first source data includes automatically receiving updated first source data, and applying of the one or more first operations to the retrieved first source data to regenerate the processed data includes automatically updating the first processed data and the third chart according to the updated first source data.

8 . A system comprising:

one or more processors configured to execute program code to cause the system to:

cause presentation of a user interface including:

a first chart displaying a first range of data, wherein regions of the first chart are interactively selectable by a user via the user interface; and

a second chart displaying a second range of data, wherein regions of the second chart are interactively selectable by the user via the user interface;

receive a first one or more user inputs, via the user interface, interacting with the first chart to select a region of the first chart indicating a portion of the first range of data displayed in the first chart, wherein the portion of the first range of data comprises first source data;

receive a second one or more user inputs, via the user interface, indicating at least one or more first operations to be performed on the first source data to generate first processed data;

receive a third one or more user inputs, via the user interface, interacting with the second chart to select a region of the second chart indicating a portion of the second range of data displayed in the second chart, wherein the portion of the second range of data comprises second source data;

receive a fourth one or more user inputs, via the user interface, indicating at least one or more second operations to be performed on the second source data to generate second processed data;

receive a fifth one or more user inputs, via the user interface, indicating at least one or more third operations to be performed on the first processed data and the second processed data;

in parallel, process (1) the first source data according to the one or more first operations to generate the first processed data and (2) the second source data according to the one or more second operations to generate the second processed data;

processing the first processed data and the second processed data according to the one or more third operations to generate third processed data for display as a third chart in the user interface;

store first information identifying:

the one or more first operations,

the one or more second operations,

the one or more third operations,

the portion of the first range of data indicating the first source data, and

the portion of the second range of data indicating the second source data; and

in response to receiving a sixth one or more user inputs to redisplay the third chart:

retrieve, based on the first information, the portion of the first range of data comprising the first source data and the portion of the second range of data comprising the second source data;

retrieve, based on the first information, the one or more operations, the one or more second operations, and the one or more third operations;

apply, in parallel, (1) the one or more first operations to the retrieved first source data to regenerate the first processed data and (2) the one or more second operations to the retrieved second source data to regenerate the second processed data; and

apply the one or more third operations to the first processed data and the second processed data to regenerate the third processed data for display as the third chart.

9 . The system of claim 8 , wherein the first source data is stored at one or more first locations, wherein the second source data is stored at one or more second locations, and wherein the one or more first locations are at least one of: the same as the one or more second locations, or different from the one or more second locations.

10 . The system of claim 8 , wherein the one or more processors are further configured to execute program code to cause the system to:

cause presentation of a plurality of selectable operations usable for indicating the one or more first operations, the one or more second operations, and the one or more third operations.

11 . The system of claim 8 , wherein the one or more processors are further configured to execute program code to cause the system to:

receive a third one or more user inputs defining one or more further operations to be performed on at least a portion of the first processed data to generate further processed data for display as a further chart;

determine associated source data to be used in the determination of the further processed data,

retrieve the associated source data;

apply the one or more first operations and the defined one or more further operations to the associated source data to generate further processed data for output for display as the further chart; and

store the further chart as the first information, second information identifying the defined one or more further operations, and third information identifying the associated source data.

12 . The system of claim 11 , wherein the one or more processors are further configured to execute program code to cause the system to:

receive seventh one or more user inputs to redisplay the further chart;

access the third information identifying the associated source data;

retrieve, based on the third information, the associated source data;

access the second information identifying the one or more further operations;

retrieve, based on the first information and the second information, the one or more first operations and the defined one or more further operations; and

apply the one or more first operations and the defined one or more further operations to the associated source data to regenerate the further processed data for output for redisplay as the further chart.

13 . The system of claim 8 , wherein:

the one or more first operations include two or more operations in a sequence; and

applying the one or more first operations includes applying the two or more operations in the sequence to the first source data to regenerate the first processed data.

14 . The system of claim 8 , wherein retrieving the first source data includes automatically receiving updated first source data, and applying of the one or more first operations to the retrieved first source data to regenerate the processed data includes automatically updating the first processed data and the third chart according to the updated first source data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2023
From: STOWE, GEOFFREY; MCRAVEN, JOHN; PETTIT, ANDREW; LEMANOWICZ, LUCAS; CAPPELLACCI, BENEDICT; MATHUR, ARJUN; VICTOR, JONATHAN; QURESHI, NABEEL; PRASAD, ANSHUMAN; TAO, JOY; PRONIUSHKIN, MIKHAIL; PATTON, CASEY
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 064745/0297 →
Continuity (6)
Continuation 17662142 · May 5, 2022
Continuation 16919951 · Jul 2, 2020
Continuation 16720813 · Dec 19, 2019
Continuation 15852515 · Dec 22, 2017
Provisional Application 62439793 · Dec 28, 2016
Related Publication 20230394054A1 · Dec 7, 2023
References Cited (158)
US 5632009A · Rao et al. · 1997 [cited by applicant]
US 5894311A · Jackson · 1999 [cited by applicant]
US 6167405A · Rosensteel, Jr. et al. · 2000 [cited by applicant]
US 6456997B1 · Shukla · 2002 [cited by applicant]
US 6594672B1 · Lampson et al. · 2003 [cited by applicant]
US 6980984B1 · Huffman et al. · 2005 [cited by applicant]
US 7451397B2 · Weber et al. · 2008 [cited by applicant]
US 7667582B1 · Waldorf · 2010 [cited by examiner]
US 7844892B2 · Shewchenko et al. · 2010 [cited by applicant]
US 7941321B2 · Greenstein et al. · 2011 [cited by applicant]
US 7971150B2 · Raskutti et al. · 2011 [cited by applicant]
US 8196184B2 · Amirov et al. · 2012 [cited by applicant]
US 8290926B2 · Ozzie et al. · 2012 [cited by applicant]
US 8489623B2 · Jain et al. · 2013 [cited by applicant]
US 8554709B2 · Goodson et al. · 2013 [cited by applicant]
US 8595234B2 · Siripuapu et al. · 2013 [cited by applicant]
US 8639757B1 · Zang et al. · 2014 [cited by applicant]
US 8676857B1 · Adams et al. · 2014 [cited by applicant]
US 8787939B2 · Papakipos et al. · 2014 [cited by applicant]
US 8812960B1 · Sun et al. · 2014 [cited by applicant]
US 9069842B2 · Melby · 2015 [cited by applicant]
US 9116975B2 · Shankar et al. · 2015 [cited by applicant]
US 9146954B1 · Boe et al. · 2015 [cited by applicant]
US 9229952B1 · Meacham et al. · 2016 [cited by applicant]
US 10552436B2 · Stowe et al. · 2020 [cited by applicant]
US 10740344B2 · Stowe et al. · 2020 [cited by applicant]
US 11354327B2 · Stowe et al. · 2022 [cited by applicant]
US 11775542B2 · Stowe et al. · 2023 [cited by applicant]
US 20020095658A1 · Shulman · 2002 [cited by applicant]
US 20030036848A1 · Sheha et al. · 2003 [cited by applicant]
US 20030172014A1 · Quackenbush et al. · 2003 [cited by applicant]
US 20030229848A1 · Arend et al. · 2003 [cited by applicant]
US 20040032432A1 · Baynger · 2004 [cited by applicant]
US 20040111410A1 · Burgoon et al. · 2004 [cited by applicant]
US 20040163039A1 · Gorman · 2004 [cited by applicant]
US 20040193600A1 · Kaasten et al. · 2004 [cited by applicant]
US 20040205524A1 · Richter et al. · 2004 [cited by applicant]
US 20050065811A1 · Chu et al. · 2005 [cited by applicant]
US 20050078858A1 · Yao et al. · 2005 [cited by applicant]
US 20050154628A1 · Eckart et al. · 2005 [cited by applicant]
US 20050154769A1 · Eckart et al. · 2005 [cited by applicant]
US 20060074881A1 · Vembu et al. · 2006 [cited by applicant]
US 20060184889A1 · Molander · 2006 [cited by applicant]
US 20060209085A1 · Wong et al. · 2006 [cited by applicant]
US 20060242040A1 · Rader · 2006 [cited by applicant]
US 20070150369A1 · Zivin · 2007 [cited by applicant]
US 20070192265A1 · Chopin et al. · 2007 [cited by applicant]
US 20070208736A1 · Tanigawa et al. · 2007 [cited by applicant]
US 20080040275A1 · Paulsen et al. · 2008 [cited by applicant]
US 20080162616A1 · Gross et al. · 2008 [cited by applicant]
US 20080249983A1 · Meisels et al. · 2008 [cited by applicant]
US 20090055251A1 · Shah et al. · 2009 [cited by applicant]
US 20090150854A1 · Elaasar et al. · 2009 [cited by applicant]
US 20090192957A1 · Subramanian et al. · 2009 [cited by applicant]
US 20090327208A1 · Bittner et al. · 2009 [cited by applicant]
US 20100030722A1 · Goodson et al. · 2010 [cited by applicant]
US 20100114887A1 · Conway et al. · 2010 [cited by applicant]
US 20100228812A1 · Uomini · 2010 [cited by applicant]
US 20100306029A1 · Jolley · 2010 [cited by applicant]
US 20100325526A1 · Ellis et al. · 2010 [cited by applicant]
US 20110004498A1 · Readshaw · 2011 [cited by applicant]
US 20110029526A1 · Knight et al. · 2011 [cited by applicant]
US 20110078055A1 · Faribault et al. · 2011 [cited by applicant]
US 20110131547A1 · Elaasar · 2011 [cited by applicant]
US 20110161137A1 · Ubalde et al. · 2011 [cited by applicant]
US 20110173032A1 · Payne et al. · 2011 [cited by applicant]
US 20110181598A1 · O'Neall et al. · 2011 [cited by applicant]
US 20110219321A1 · Gonzalez et al. · 2011 [cited by applicant]
US 20110258158A1 · Resende et al. · 2011 [cited by applicant]
US 20110289407A1 · Naik et al. · 2011 [cited by applicant]
US 20110289420A1 · Morioka et al. · 2011 [cited by applicant]
US 20120004904A1 · Shin et al. · 2012 [cited by applicant]
US 20120017165A1 · Gardner et al. · 2012 [cited by applicant]
US 20120023429A1 · Medhi · 2012 [cited by examiner]
US 20120036013A1 · Neuhaus et al. · 2012 [cited by applicant]
US 20120075324A1 · Cardno et al. · 2012 [cited by applicant]
US 20120116828A1 · Shannon · 2012 [cited by applicant]
US 20120117082A1 · Koperda et al. · 2012 [cited by applicant]
US 20120170847A1 · Tsukidate · 2012 [cited by applicant]
US 20120197651A1 · Robinson et al. · 2012 [cited by applicant]
US 20120203708A1 · Psota et al. · 2012 [cited by applicant]
US 20120221553A1 · Wittmer et al. · 2012 [cited by applicant]
US 20120245976A1 · Kumar et al. · 2012 [cited by applicant]
US 20120296907A1 · Long et al. · 2012 [cited by applicant]
US 20130006916A1 · McBride et al. · 2013 [cited by applicant]
US 20130046635A1 · Grigg et al. · 2013 [cited by applicant]
US 20130050217A1 · Armitage · 2013 [cited by applicant]
US 20130073454A1 · Busch · 2013 [cited by applicant]
US 20130110822A1 · Ikeda et al. · 2013 [cited by applicant]
US 20130117011A1 · Ahmed et al. · 2013 [cited by applicant]
US 20130151148A1 · Parundekar et al. · 2013 [cited by applicant]
US 20130157234A1 · Gulli et al. · 2013 [cited by applicant]
US 20130267207A1 · Hao et al. · 2013 [cited by applicant]
US 20130311375A1 · Priebatsch · 2013 [cited by applicant]
US 20140067611A1 · Adachi et al. · 2014 [cited by applicant]
US 20140095273A1 · Tang et al. · 2014 [cited by applicant]
US 20140101139A1 · Gemert et al. · 2014 [cited by applicant]
US 20140108068A1 · Williams · 2014 [cited by applicant]
US 20140129261A1 · Bothwell et al. · 2014 [cited by applicant]
US 20140156527A1 · Grigg et al. · 2014 [cited by applicant]
US 20140223350A1 · Woodward · 2014 [cited by applicant]
US 20140258246A1 · Lo Faro et al. · 2014 [cited by applicant]
US 20140310266A1 · Greenfield · 2014 [cited by applicant]
US 20140316911A1 · Gross · 2014 [cited by applicant]
US 20140351070A1 · Christner et al. · 2014 [cited by applicant]
US 20150019394A1 · Unser et al. · 2015 [cited by applicant]
US 20150073929A1 · Psota et al. · 2015 [cited by applicant]
US 20150134666A1 · Gattiker et al. · 2015 [cited by applicant]
US 20150169709A1 · Kara et al. · 2015 [cited by applicant]
US 20150169726A1 · Kara et al. · 2015 [cited by applicant]
US 20150170077A1 · Kara et al. · 2015 [cited by applicant]
US 20150186338A1 · Mirra et al. · 2015 [cited by applicant]
US 20150324868A1 · Kaftan et al. · 2015 [cited by applicant]
US 20150347903A1 · Saxena et al. · 2015 [cited by applicant]
US 20150378996A1 · Kesin et al. · 2015 [cited by applicant]
US 20160004667A1 · Chakerian et al. · 2016 [cited by applicant]
US 20160034545A1 · Shankar et al. · 2016 [cited by applicant]
US 20160088013A1 · Watson et al. · 2016 [cited by applicant]
US 20160098173A1 · Slawinski et al. · 2016 [cited by applicant]
US 20160275432A1 · Guinness et al. · 2016 [cited by applicant]
US 20170076202A1 · George et al. · 2017 [cited by applicant]
US 20170355036A1 · Rozmarynowski et al. · 2017 [cited by applicant]
US 20180096039A1 · Otaguro · 2018 [cited by examiner]
AU 2014250678 · 2016 [cited by applicant]
EP 1126384 · 2001 [cited by applicant]
EP 1672527 · 2006 [cited by applicant]
EP 2863326 · 2015 [cited by applicant]
EP 2884439 · 2015 [cited by applicant]
EP 2884440 · 2015 [cited by applicant]
EP 3343403 · 2018 [cited by applicant]
WO WO2002065353 · 2002 [cited by applicant]
WO WO2010098958 · 2010 [cited by applicant]
U.S. Pat. No. 10,552,436, Systems and Methods for Retrieving and Processing Data for Display, Feb. 4, 2020. [cited by applicant]
U.S. Pat. No. 10,740,344, Systems and Methods for Retrieving and Processing Data for Display, Aug. 11, 2020. [cited by applicant]
U.S. Pat. No. 11,354,327, Systems and Methods for Retrieving and Processing Data for Display, Jun. 7, 2022. [cited by applicant]
U.S. Pat. No. 11,775,542, Systems and Methods for Retrieving and Processing Data for Display, Oct. 3, 2023. [cited by applicant]
About 80 Minutes, “Palantir in a Number of Parts—Part 6—Graph,” Mar. 21, 2013, pp. 1-6, retrieved from the internet http://about80minutes.blogspot.nl/2013/03/palantir-in-number-of-parts-part-6-graph.html retrieved on Au… [cited by applicant]
Bluttman et al., “Excel Formulas and Functions for Dummies,” 2005, Wiley Publishing, Inc., pp. 280, 284-286. [cited by applicant]
Chung, Chin-Wan, “Dataplex: An Access to Heterogeneous Distributed Databases,” Communications of the ACM, Association for Computing Machinery, Inc., vol. 33, No. 1, Jan. 1, 1990, pp. 70-80. [cited by applicant]
Gesher, Ari, “Palantir Screenshots in the Wild: Swing Sightings,” The Palantir Blog, Sep. 11, 2007, pp. 1-12, retrieved from the internet https://www.palantir.com/2007/09/palantir-screenshots/ retrieved on Aug. 18, 2015. [cited by applicant]
Hardesty, “Privacy Challenges: Analysis: It's Surprisingly Easy to Identify Individuals from Credit-Card Metadata,” MIT News on Campus and Around the World, MIT News Office, Jan. 29, 2015, 3 pages. [cited by applicant]
Janssen, Jan-Keno, “WO bist'n du?—Googles Geodienst Latitude,” Jan. 17, 2011, pp. 86-88, retrieved from the internet on Jul. 30, 2015 http://www.heise.de/artikel-archiv/ct/2011/03/086/@00250@/ct.11.03.086-088.pdf. [cited by applicant]
Jelen, Bill, “Excel 2013 in Depth, Video Enhanced Edition,” Jan. 25, 2013. [cited by applicant]
Keylines.com, “An Introduction to KeyLines and Network Visualization,” Mar. 2014, <http://keylines.com/wp-content/uploads/2014/03/KeyLines-White-Paper.pdf> downloaded May 12, 2014 in 8 pages. [cited by applicant]
Keylines.com, “KeyLines Datasheet,” Mar. 2014, <http://keylines.com/wp-content/uploads/2014/03/KeyLines-datasheet.pdf> downloaded May 12, 2014 in 2 pages. [cited by applicant]
Keylines.com, “Visualizing Threats: Improved Cyber Security Through Network Visualization,” Apr. 2014, <http://keylines.com/wp-content/uploads/2014/04/Visualizing-Threats1.pdf> downloaded May 12, 2014 in 10 pages. [cited by applicant]
Palantir Technologies, “Palantir Labs—Timeline,” Oct. 1, 2010, retrieved from the internet https://www.youtube.com/watch?v=JCgDW5bru9M retrieved on Aug. 19, 2015. [cited by applicant]
Palmas et al., “An Edge-Bunding Layout for Interactive Parallel Coordinates” 2014 IEEE Pacific Visualization Symposium, pp. 57-64. [cited by applicant]
Psaltis, Andrew G., “Streaming Data—Designing the Real-Time Pipeline,” Jan. 16, 2015, vol. Meap VO3, pp. 0-12. [cited by applicant]
Vose et al., “Help File for ModelRisk Version 5,” 2007, Vose Software, pp. 349-353. [Uploaded in 2 Parts]. [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]
Wikipedia, “Mobile Web,” Jan. 23, 2015, retrieved from the internet on Mar. 15, 2016 https://en.wikipedia.org/w/index.php?title=Mobile_Web&oldid=643800164. [cited by applicant]
Windley, Phillip J., “The Live Web: Building Event-Based Connections in the Cloud,” Dec. 21, 2011, pp. 10, 216. [cited by applicant]
Wright et al., “Palantir Technologies VAST 2010 Challenge Text Records—Investigations into Arms Dealing,” Oct. 29, 2010, pp. 1-10, retrieved from the internet http://hcil2.cs.umd.edu/newvarepository/VAST%20Challenge%202… [cited by applicant]
Official Communication for European Patent Application No. 17209999.6 dated Mar. 28, 2018, 8 pages. [cited by applicant]
Official Communication for European Patent Application No. 17209999.6 dated Jan. 21, 2020, 7 pages. [cited by applicant]
Official Communication for European Patent Application No. 17209999.6 dated Mar. 12, 2021, 8 pages. [cited by applicant]
Official Communication for European Patent Application No. 17209999.6 dated Sep. 23, 2021, 8 pages. [cited by applicant]