IP Library Granted Patent US 12,724,636
Granted Patent B2
US 12,724,636 · App. 18/086,125 · Granted Sep 1, 2026

Systems and methods for autoscaling instance groups of computing platforms

Inventors: Ashray Jain (London, GB); Ryan McNamara (Seattle, WA); Greg DeArment (Seattle, WA)
Assignee: Palantir Technologies Inc.
G06F9/5005G06F2209/5021G06F2209/5022
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,724,636
App. No.
18/086,125
Granted
Sep 1, 2026
Kind
B2
Abstract

Systems and methods scale an instance group of a computing platform by determining whether to scale up or down the instance group by using historical data from prior jobs wherein the historical data includes one or more of: a data set size used in a prior related job and a code version for a prior related job. The systems and methods also scale the instance group up or down based on the determination. In some examples, systems and methods scale an instance group of a computing platform by determining a job dependency tree for a plurality of related jobs, determining runtime data for each of the jobs in the dependency tree and scaling up or down the instance group based on the determined runtime data.

Claims (46)

1 . A method for scaling an instance group of a computing platform, the method comprising:

determining whether to scale up or down the instance group by using historical data from prior jobs wherein the historical data comprises one or more of: a data set size used in a prior related job and a code version for a prior related job; and

scaling the instance group up or down based on the determination;

wherein the determining whether to scale up or down the instance group comprises changing a weighting associated with the historical data based on whether a code version to run a prior job has changed, and

wherein the method is performed using one or more processors.

2 . The method of claim 1 wherein the determining whether to scale up or down the instance group comprises comparing a planned data set size to be used for a job with the data set size used in a prior related job.

3 . The method of claim 1 wherein the determining whether to scale up or down the instance group comprises comparing a current job code version with a code version for a prior related job.

4 . The method of claim 1 , wherein the determining whether to scale up or down the instance group comprises comparing a utilization percentage of an instance associated with the instance group to a predetermined scale threshold.

5 . The method of claim 1 , wherein the scaling the instance group up or down based on the determination comprises scaling the instance group down by at least:

waiting for a running pod associated with an instance of the instance group to run to completion; and

detaching the instance from the instance group after the running pod runs to completion.

6 . The method of claim 1 , wherein the scaling the instance group up or down based on the determination comprises scaling the instance group up by at least:

determining a sum equal to demanded resources for schedulable pods and scheduled resources of the instance group;

determining a number of new instances associated with the instance group based on the sum; and

scaling the instance group up based on the determined number of new instances.

7 . A computer-implemented system for scaling an instance group of a computing platform, the system comprising:

one or more processors; and

a memory storing instructions, the instructions, when executed by the one or more processors, causing the system to perform:

determining whether to scale up or down the instance group by using historical data from prior jobs wherein the historical data comprises one or more of: a data set size used in a prior related job and a code version for a prior related job; and

scaling the instance group up or down based on the determination,

wherein the determining whether to scale up or down the instance group comprises changing a weighting associated with the historical data based on whether a code version to run a prior job has changed.

8 . The system of claim 7 wherein the memory stores instructions, the instructions, when executed by the one or more processors, causing the system to further compare a planned data set size to be used for a job with the data set size used in a prior related job.

9 . The system of claim 7 wherein the memory stores instructions, the instructions, when executed by the one or more processors, causing the system to further compare a current job code version with a code version for a prior related job.

10 . The system of claim 7 , wherein the memory stores instructions, the instructions, when executed by the one or more processors, causing the system to further change a weighting associated with the historical data based on whether a code version to run a prior job has changed.

11 . The system of claim 7 , wherein the determining whether to scale up or down the instance group comprises comparing a utilization percentage of an instance associated with the instance group to a predetermined scale threshold.

12 . The system of claim 7 , wherein the scaling the instance group up or down based on the determination comprises scaling the instance group down by at least:

waiting for a running pod associated with an instance of the instance group to run to completion; and

detaching the instance from the instance group after the running pod runs to completion.

13 . The system of claim 7 , wherein the scaling the instance group up or down based on the determination comprises scaling the instance group up by at least:

determining a sum equal to demanded resources for schedulable pods and scheduled resources of the instance group;

determining a number of new instances associated with the instance group based on the sum; and

scaling the instance group up based on the determined number of new instances.

14 . A method for scaling an instance group of a computing platform, the method comprising:

determining a job dependency tree for a plurality of related jobs,

determining runtime data for each of the jobs in the dependency tree; and

scaling up or down the instance group based on the determined runtime data;

wherein the scaling up or down the instance group comprises scaling down the instance group by at least:

waiting for a running pod associated with an instance of the instance group to run to completion; and

detaching the instance from the instance group after the running pod runs to completion.

15 . The method of claim 14 further comprising generating the dependency tree for the plurality of related jobs based on data sets that depend on each other such that a data set output from one job serves as an input data set for one or more other jobs.

16 . The method of claim 14 further comprising determining runtime data for each of the jobs in the dependency tree by determining an accumulated runtime length for all jobs in the dependency tree for a job.

17 . The method of claim 14 further comprising:

determining whether to scale up or down the instance group by using historical data from prior jobs wherein the historical data comprises one or more of: a data set size used in a prior related job and a code version for a prior related job; and

scaling the instance group up or down based on the determination.

18 . The method of claim 14 further comprising comparing a planned data set size to be used for a job with the data set size used in a prior related job.

19 . The method of claim 14 further comprising determining whether to scale up or down the instance group by comparing a current job code version with a code version for a prior related job.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2022
From: JAIN, ASHRAY; MCNAMARA, RYAN; DEARMENT, GRAG
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 062173/0391 →
Continuity (4)
Continuation 16939317 · Jul 27, 2020
Continuation 16672913 · Nov 4, 2019
Provisional Application 62902312 · Sep 18, 2019
Related Publication 20230129338A1 · Apr 27, 2023
References Cited (175)
US 5978475A · Schneier et al. · 1999 [cited by applicant]
US 6253203B1 · O'Flaherty et al. · 2001 [cited by applicant]
US 6725240B1 · Asad et al. · 2004 [cited by applicant]
US 6807569B1 · Bhimani et al. · 2004 [cited by applicant]
US 7017046B2 · Doyle et al. · 2006 [cited by applicant]
US 7069586B1 · Winneg et al. · 2006 [cited by applicant]
US 7225468B2 · Waisman et al. · 2007 [cited by applicant]
US 7596285B2 · Brown et al. · 2009 [cited by applicant]
US 7770032B2 · Nesta et al. · 2010 [cited by applicant]
US 7801871B2 · Gosnell · 2010 [cited by applicant]
US 7962495B2 · Jain et al. · 2011 [cited by applicant]
US 8141036B2 · Wagner et al. · 2012 [cited by applicant]
US 8181253B1 · Zaitsev et al. · 2012 [cited by applicant]
US 8190893B2 · Benson et al. · 2012 [cited by applicant]
US 8196184B2 · Amirov et al. · 2012 [cited by applicant]
US 8239668B1 · Chen et al. · 2012 [cited by applicant]
US 8301904B1 · Gryaznov · 2012 [cited by applicant]
US 8312546B2 · Alme · 2012 [cited by applicant]
US 8392902B2 · Reinz · 2013 [cited by applicant]
US 8646080B2 · Williamson et al. · 2014 [cited by applicant]
US 8667456B1 · Czymontek · 2014 [cited by applicant]
US 8683322B1 · Cooper · 2014 [cited by applicant]
US 8726379B1 · Stiansen et al. · 2014 [cited by applicant]
US 8769412B2 · Gill et al. · 2014 [cited by applicant]
US 8782794B2 · Ramcharran · 2014 [cited by applicant]
US 8856797B1 · Siddiqui et al. · 2014 [cited by applicant]
US 8881142B1 · Reid et al. · 2014 [cited by applicant]
US 8931043B2 · Cooper et al. · 2015 [cited by applicant]
US 9021260B1 · Falk et al. · 2015 [cited by applicant]
US 9049117B1 · Nucci et al. · 2015 [cited by applicant]
US 9100428B1 · Visbal · 2015 [cited by applicant]
US 9335897B2 · Goldenberg · 2016 [cited by applicant]
US 9338013B2 · Castellucci et al. · 2016 [cited by applicant]
US 9514327B2 · Ford · 2016 [cited by applicant]
US 9721117B2 · Pleau et al. · 2017 [cited by applicant]
US 10079832B1 · DeArment et al. · 2018 [cited by applicant]
US 10284415B1 · Alabsi · 2019 [cited by applicant]
US 10324763B1 · Abdelsalam et al. · 2019 [cited by applicant]
US 10397229B2 · DeArment et al. · 2019 [cited by applicant]
US 10761889B1 · Jain et al. · 2020 [cited by applicant]
US 11567801B2 · Jain et al. · 2023 [cited by applicant]
US 20020112157A1 · Doyle et al. · 2002 [cited by applicant]
US 20040073814A1 · Miyazaki et al. · 2004 [cited by applicant]
US 20040123139A1 · Aiello et al. · 2004 [cited by applicant]
US 20040153418A1 · Hanweck · 2004 [cited by applicant]
US 20040250124A1 · Chesla et al. · 2004 [cited by applicant]
US 20050157662A1 · Bingham et al. · 2005 [cited by applicant]
US 20050229256A2 · Banzhof · 2005 [cited by applicant]
US 20050262556A1 · Waisman et al. · 2005 [cited by applicant]
US 20050275638A1 · Kalmykov-Zotov et al. · 2005 [cited by applicant]
US 20060031928A1 · Conley et al. · 2006 [cited by applicant]
US 20060069912A1 · Zheng et al. · 2006 [cited by applicant]
US 20060121931A1 · Lin et al. · 2006 [cited by applicant]
US 20060179003A1 · Steele et al. · 2006 [cited by applicant]
US 20060218551A1 · Berstis et al. · 2006 [cited by applicant]
US 20060218637A1 · Thomas et al. · 2006 [cited by applicant]
US 20060265747A1 · Judge · 2006 [cited by applicant]
US 20070074204A1 · Curtis et al. · 2007 [cited by applicant]
US 20070143851A1 · Nicodemus · 2007 [cited by applicant]
US 20070294766A1 · Mir et al. · 2007 [cited by applicant]
US 20080104407A1 · Horne et al. · 2008 [cited by applicant]
US 20080201580A1 · Savitzky et al. · 2008 [cited by applicant]
US 20080222706A1 · Renaud et al. · 2008 [cited by applicant]
US 20080229422A1 · Hudis et al. · 2008 [cited by applicant]
US 20090103442A1 · Douville · 2009 [cited by applicant]
US 20090228701A1 · Lin · 2009 [cited by applicant]
US 20090328222A1 · Helman et al. · 2009 [cited by applicant]
US 20100077481A1 · Polyakov et al. · 2010 [cited by applicant]
US 20100100963A1 · Maheffey · 2010 [cited by applicant]
US 20100153945A1 · Bansal et al. · 2010 [cited by applicant]
US 20100179831A1 · Brown et al. · 2010 [cited by applicant]
US 20100235915A1 · Memon et al. · 2010 [cited by applicant]
US 20100262688A1 · Hussain et al. · 2010 [cited by applicant]
US 20100309510A1 · Hansen · 2010 [cited by applicant]
US 20100325159A1 · Wright et al. · 2010 [cited by applicant]
US 20100330801A1 · Rouh · 2010 [cited by applicant]
US 20110060910A1 · Gormish et al. · 2011 [cited by applicant]
US 20110126127A1 · Mariotti et al. · 2011 [cited by applicant]
US 20110202555A1 · Cordover et al. · 2011 [cited by applicant]
US 20110219450A1 · McDougal et al. · 2011 [cited by applicant]
US 20120079592A1 · Pandrangi · 2012 [cited by applicant]
US 20120084866A1 · Stolfo · 2012 [cited by applicant]
US 20120110633A1 · An et al. · 2012 [cited by applicant]
US 20120110674A1 · Belani et al. · 2012 [cited by applicant]
US 20120169593A1 · Mak et al. · 2012 [cited by applicant]
US 20120218305A1 · Patterson et al. · 2012 [cited by applicant]
US 20120254129A1 · Wheeler et al. · 2012 [cited by applicant]
US 20120284791A1 · Miller et al. · 2012 [cited by applicant]
US 20120330801A1 · McDougal et al. · 2012 [cited by applicant]
US 20130007753A1 · Jain · 2013 [cited by examiner]
US 20130019306A1 · Lagar-Cavilla et al. · 2013 [cited by applicant]
US 20130097709A1 · Basavapatna et al. · 2013 [cited by applicant]
US 20130110876A1 · Meijer et al. · 2013 [cited by applicant]
US 20130139268A1 · An et al. · 2013 [cited by applicant]
US 20130211911A1 · Krietzman · 2013 [cited by applicant]
US 20130227710A1 · Barak et al. · 2013 [cited by applicant]
US 20130239217A1 · Kindler et al. · 2013 [cited by applicant]
US 20130247142A1 · Nishizawa et al. · 2013 [cited by applicant]
US 20130254384A1 · Wray · 2013 [cited by applicant]
US 20130311988A1 · Boss · 2013 [cited by examiner]
US 20140013451A1 · Kulka et al. · 2014 [cited by applicant]
US 20140059683A1 · Ashley · 2014 [cited by applicant]
US 20140123279A1 · Bishop et al. · 2014 [cited by applicant]
US 20140129550A1 · Weatherhead et al. · 2014 [cited by applicant]
US 20140143009A1 · Brice et al. · 2014 [cited by applicant]
US 20140165038A1 · Kaler et al. · 2014 [cited by applicant]
US 20140173712A1 · Ferdinand · 2014 [cited by applicant]
US 20140173738A1 · Condry et al. · 2014 [cited by applicant]
US 20140188895A1 · Wang et al. · 2014 [cited by applicant]
US 20140229422A1 · Jain et al. · 2014 [cited by applicant]
US 20140283107A1 · Walton et al. · 2014 [cited by applicant]
US 20140366132A1 · Stiansen et al. · 2014 [cited by applicant]
US 20140380320A1 · Lin et al. · 2014 [cited by applicant]
US 20150039565A1 · Lucas · 2015 [cited by applicant]
US 20150128274A1 · Giokas · 2015 [cited by applicant]
US 20150134600A1 · Eisner et al. · 2015 [cited by applicant]
US 20150143363A1 · Gombert et al. · 2015 [cited by applicant]
US 20150188715A1 · Castelluci et al. · 2015 [cited by applicant]
US 20150200948A1 · Cairns et al. · 2015 [cited by applicant]
US 20150229664A1 · Hawthorn et al. · 2015 [cited by applicant]
US 20150248563A1 · Alfarano et al. · 2015 [cited by applicant]
US 20150261847A1 · Ducott et al. · 2015 [cited by applicant]
US 20150278311A1 · Sherwood et al. · 2015 [cited by applicant]
US 20150286665A1 · Nyman et al. · 2015 [cited by applicant]
US 20150312188A1 · White et al. · 2015 [cited by applicant]
US 20150326601A1 · Grandin et al. · 2015 [cited by applicant]
US 20160004864A1 · Falk et al. · 2016 [cited by applicant]
US 20160028759A1 · Visbal · 2016 [cited by applicant]
US 20160103717A1 · Dettori et al. · 2016 [cited by applicant]
US 20160182309A1 · Maturana et al. · 2016 [cited by applicant]
US 20160323377A1 · Einkauf et al. · 2016 [cited by applicant]
US 20170091466A1 · Meyer et al. · 2017 [cited by applicant]
US 20170185715A9 · Smith · 2017 [cited by applicant]
US 20170192986A1 · Sherwood et al. · 2017 [cited by applicant]
US 20170323117A1 · Pleau et al. · 2017 [cited by applicant]
US 20180024975A1 · Ramakrishnan et al. · 2018 [cited by applicant]
US 20180121235A1 · Saballus · 2018 [cited by examiner]
US 20180241812A1 · Marchetti et al. · 2018 [cited by applicant]
US 20180316751A1 · Shen et al. · 2018 [cited by applicant]
US 20190213551A1 · Zhou et al. · 2019 [cited by applicant]
US 20190289009A1 · DeArment et al. · 2019 [cited by applicant]
CN 101729531 · 2010 [cited by applicant]
CN 103281301 · 2013 [cited by applicant]
EP 1962222 · 2008 [cited by applicant]
EP 2804101A2 · 2014 [cited by applicant]
EP 2892197 · 2015 [cited by applicant]
EP 2897051 · 2015 [cited by applicant]
EP 2963578 · 2016 [cited by applicant]
EP 2985974 · 2016 [cited by applicant]
EP 3035619A1 · 2016 [cited by applicant]
EP 3188069 · 2017 [cited by applicant]
EP 3796165A1 · 2021 [cited by applicant]
NL 2011642 · 2015 [cited by applicant]
WO 2005010685 · 2005 [cited by applicant]
Virustotal—About, <http://www.virustotal.com/en/about/> Printed Jun. 30, 2014 in 8 pages. [cited by applicant]
Schneier et al., “Automatic Event Stream Notarization Using Digital Signatures,” Security Protocols, International Workshop Apr. 1996 Proceedings, Springer-Veriag, 1997. [cited by applicant]
Crosby et al., “Efficient Data Structures for Tamper-Evident Logging,” Department of Computer Science, Rice University, 2009, pp. 17. [cited by applicant]
Ma et al., “A New Approach to Secure Logging,” ACM Transactions on Storage, vol. 5, No. 1, Article 2, Published Mar. 2009, 21 pages. [cited by applicant]
Glaab et al., “EnrichNet: Network-Based Gene Set Enrichment Analysis,” Bioinformatics 28.18 (2012): pp. i451-i457. [cited by applicant]
FireEye, <http://www.fireeye.com/> Printed Jun. 30, 2014 in 2 pages. [cited by applicant]
Lee et al., “A Data Mining and CIDF Based Approach for Detecting Novel and Distributed Intrusions,” Lecture Notes in Computer Science, vol. 1907 Nov. 11, 2000, pp. 49-65. [cited by applicant]
Schneier et al., “Cryptographic Support for Secure Logs on Untrusted Machines,” The Seventh USENIX Security Symposium Proceedings, USENIX Press, Jan. 1998, pp. 53-62, https://www.schneier.com/paper-secure-logs.pdf. [cited by applicant]
FireEye-Products and Solutions Overview, <http://www.fireeye.com/products-and-solutions> Printed Jun. 30, 2014 in 3 pages. [cited by applicant]
Bhuyan et al., “Network Anomaly Detection: Methods, Systems and Tools,” First Quarter 2014, IEEE. [cited by applicant]
Baker et al., “The Development of a Common Enumeration of Vulnerabilities and Exposures,” Presented at the Second International Workshop on Recent Advances in Intrusion Detection, Sep. 7-9, 1999, pp. 35. [cited by applicant]
Hur et al., “SciMiner: web-based literature mining tool for target identification and functional enrichment analysis,” Bioinformatics 25.6 (2009): pp. 838-840. [cited by applicant]
Waters et al., “Building an Encrypted and Searchable Audit Log,” Published Jan. 9, 2004, 11 pages, http://www.parc.com/content/attachments/building_encrypted_searchable_5059_parc.pdf. [cited by applicant]
Zheng et al., “GOEAST: a web-based software toolkit for Gene Ontology enrichment analysis,” Nucleic acids research 36.suppl 2 (2008): pp. W385-W363. [cited by applicant]
European Patent Office; EP Partial Search Report; EP Appl. No. 19206839.3; dated May 19, 2020. [cited by applicant]
European Patent Office; Official Communication for Application No. 17197000.7; dated Mar. 8, 2018. [cited by applicant]
United States Patent and Trademark Office; Official Communication for U.S. Appl. No. 16/134,586; dated Mar. 8, 2019. [cited by applicant]
United States Patent and Trademark Office; Official Communication for U.S. Appl. No. 15/826,321; dated Jan. 26, 2018. [cited by applicant]
United States Patent and Trademark Office; Official Communication for U.S. Appl. No. 15/826,321; dated May 18, 2018. [cited by applicant]
United States Patent and Trademark Office; Official Communication for U.S. Appl. No. 16/255,715; dated Apr. 4, 2019. [cited by applicant]
United States Patent and Trademark Office; Official Communication for U.S. Appl. No. 16/134,586; dated Apr. 17, 2019. [cited by applicant]