IP Library Granted Patent US 12,663,974
Granted Patent B2
US 12,663,974 · App. 18/249,664 · Granted Jun 23, 2026

Application provisioning with active and available inventory

Inventors: Sree Nandan Atur (Newark, CA); Ravi Kumar Alluboyina (Santa Clara, CA); Prakash Vaghela (Pune, IN); Ayushi Nikhil Patani (Bangalore, IN); Dhaval Patel (Fremont, CA)
Assignee: Rakuten Symphony, Inc.
G06F8/61
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,663,974
App. No.
18/249,664
Filed
Apr 19, 2023
Granted
Jun 23, 2026
Kind
B2
Art Unit
2192
USPC
717/174
Abstract

A computer system pulls observability data (metrics, logs, events, alerts, inventory) for a plurality of components from remote servers, which may be part of a cloud computing platform. The components may be application instances, containers, storage volumes, pods, or other components. The computer system derives a utilization metric for each components and each of one or more types of computing resources: compute, memory, and storage. The utilization metrics are compared to available inventory of computing resources to obtain an active and available inventory (AAI). Components may be redeployed and allocated computing resources reduced based on the AAI. Components may be grouped in clusters and components may be consolidated to a reduced number of clusters based on the AAI. Applications may be provisioned and deployed on clusters in groups of different types (dot, triangle, line, graph) having different runtime requirements based on location, latency, hardware resources, and/or round robin assignment.

Claims (42)

1 . An apparatus comprising:

a computing device including one or more processing devices and one or more memory devices operably coupled to the one or more processing devices, the one or more memory devices storing executable code that, when executed by the one or more processing devices, causes the one or more processing devices to:

receive a specification for one or more application instances, the specification including both (a) one or more computing resource requirements and (b) one or more cluster runtime requirements; and

if no available clusters satisfy (a) and (b) for each application instance of the one or more application instances:

(c) determine that the specification defines a tolerance;

identify one or more clusters of one or more hosts in response to (c), the one or more clusters deviating from (a) and (b) as permitted by the tolerance; and

deploy the one or more application instances on the one or more hosts.

2 . The apparatus of claim 1 , wherein:

the one or more application instances comprise three or more application instances;

the one or more clusters include three or more clusters; and

the one or more cluster runtime requirements include a latency requirement for latency between each possible pair of clusters of the three or more clusters.

3 . The apparatus of claim 1 , wherein:

the one or more application instances comprise two or more application instances arranged in tiers;

the one or more clusters include two or more clusters; and

the one or more cluster runtime requirements include a cost function for at least one of the two or more clusters.

4 . The apparatus of claim 3 , wherein the cost function is a cost of hosting a most resource intensive of the two or more application instances.

5 . The apparatus of claim 4 , wherein the most resource intensive of the two or more application instances is a database application instance.

6 . The apparatus of claim 1 , wherein the one or more computing resource requirements include a processing power requirement.

7 . The apparatus of claim 1 , wherein the one or more computing resource requirements include a memory requirement.

8 . The apparatus of claim 1 , wherein the one or more computing resource requirements include a storage requirement.

9 . The apparatus of claim 1 , wherein the one or more cluster runtime requirements include a location requirement.

10 . The apparatus of claim 1 , wherein the one or more cluster runtime requirements include an availability requirement.

11 . The apparatus of claim 1 , wherein the specification defines one or more of:

a dot application instance;

triangle application instances; and

line application instances.

12 . The apparatus of claim 1 , wherein the one or more hosts are servers.

13 . The apparatus of claim 1 , wherein the one or more hosts are part of a cloud computing platform.

14 . A method comprising:

receiving, by a computer system, a specification for a plurality of application instances, the specification including both (a) one or more computing resource requirements and (b) one or more cluster runtime requirements;

dividing the plurality of application instances into two or more groups of two or more different types; and

for each group of the two or more groups:

determine that no available clusters satisfy (a) and (b) for each application instance of each group;

in response to determining that no available clusters satisfy (a) and (b) for each application instance of each group:

(c) determine that the specification defines a tolerance; and

identify one or more clusters of one or more hosts in response to (c), the one or more clusters deviating from the one or more computing resource requirements and the one or more cluster runtime requirements as permitted by the tolerance; and

deploying, by the computer system, one or more application instances of each group on the one or more hosts.

15 . The method of claim 14 , wherein the two or more different types include triangle application instances.

16 . The method of claim 14 , wherein the two or more different types include line application instances.

17 . The method of claim 14 , wherein the two or more different types include triangle application instances and line application instances.

18 . The method of claim 14 , wherein the one or more cluster runtime requirements include one or more first runtime requirements for a first type of the two or more different types and one or more second runtime requirements for a second type of the two or more different types, the one or more second runtime requirements being different from the one or more first runtime requirements.

19 . The method of claim 18 , wherein the one or more first runtime requirements include an inter-cluster latency requirement and the one or more second runtime requirements include a cost requirement.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2024
From: ROBIN SOFTWARE DEVELOPMENT CENTER INDIA PRIVATE LIMITED
To: RAKUTEN SYMPHONY, INC.
Reel/Frame 068127/0299 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2024
From: ROBIN SYSTEMS, INC.
To: RAKUTEN SYMPHONY, INC.
Reel/Frame 068193/0367 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2023
From: ATUR, SREE NANDAN; ALLUBOYINA, RAVI KUMAR; VAGHELA, PRAKASH; PATANI, AYUSHI NIKHIL; PATEL, DHAVAL
To: ROBIN SYSTEMS, INC; ROBIN SOFTWARE DEVELOPMENT CENTER INDIA PRIVATE LIMITED
Reel/Frame 063380/0212 →
Continuity (1)
Related Publication 20250291566A1 · Sep 18, 2025
References Cited (137)
US 7356590B2 · Wilson · 2008 [cited by applicant]
US 7516362B2 · Connelly · 2009 [cited by applicant]
US 7546609B2 · Florissi · 2009 [cited by applicant]
US 7631222B2 · Hasan · 2009 [cited by applicant]
US 7644137B2 · Bozak · 2010 [cited by applicant]
US 7782798B2 · Xu · 2010 [cited by applicant]
US 8103664B2 · Hooks · 2012 [cited by applicant]
US 8429630B2 · Nickolov · 2013 [cited by examiner]
US 8467354B1 · Jerkunica · 2013 [cited by examiner]
US 8495646B2 · Uchida · 2013 [cited by applicant]
US 8671189B2 · Cho · 2014 [cited by applicant]
US 8849987B2 · Berg · 2014 [cited by applicant]
US 8949847B2 · Kim · 2015 [cited by applicant]
US 9292353B2 · Gulati · 2016 [cited by applicant]
US 9497136B1 · Ramarao · 2016 [cited by applicant]
US 9686207B2 · Shanmuganathan · 2017 [cited by applicant]
US 9848041B2 · Einkauf · 2017 [cited by applicant]
US 9921866B2 · Ganguli · 2018 [cited by applicant]
US 9934061B2 · Deng · 2018 [cited by applicant]
US 9960958B2 · Ramachandran · 2018 [cited by applicant]
US 10061529B2 · Bobroff · 2018 [cited by applicant]
US 10079730B2 · Subramanian · 2018 [cited by applicant]
US 10129101B2 · Luo · 2018 [cited by applicant]
US 10257044B2 · Voigt · 2019 [cited by applicant]
US 10257268B2 · Cencini · 2019 [cited by applicant]
US 10326673B2 · Kulshreshtha · 2019 [cited by applicant]
US 10333820B1 · Wang · 2019 [cited by applicant]
US 10389596B2 · Strobel · 2019 [cited by applicant]
US 10404523B2 · Cencini · 2019 [cited by applicant]
US 10419437B2 · Hu · 2019 [cited by applicant]
US 10430094B2 · Waldspurger · 2019 [cited by applicant]
US 10498642B1 · Morris · 2019 [cited by applicant]
US 10521324B2 · Whitner · 2019 [cited by applicant]
US 10609129B2 · Lam · 2020 [cited by applicant]
US 10637737B2 · Whitner · 2020 [cited by applicant]
US 10659310B1 · Oren · 2020 [cited by applicant]
US 10673706B2 · Garcia · 2020 [cited by applicant]
US 10686675B2 · Cordray · 2020 [cited by applicant]
US 10693743B2 · Zhong · 2020 [cited by applicant]
US 10833940B2 · Cencini · 2020 [cited by applicant]
US 10862781B2 · Al Ramady · 2020 [cited by applicant]
US 10877865B2 · Johnsson · 2020 [cited by applicant]
US 10893100B2 · Jamjoom · 2021 [cited by applicant]
US 10999145B2 · Debolle · 2021 [cited by applicant]
US 11003502B2 · Ahmed · 2021 [cited by applicant]
US 11010197B2 · Beveridge · 2021 [cited by applicant]
US 11258688B2 · Gell · 2022 [cited by applicant]
US 11316763B1 · Chitalia et al. · 2022 [cited by applicant]
US 11425054B1 · Dunsmore et al. · 2022 [cited by applicant]
US 11431786B1 · Keren · 2022 [cited by applicant]
US 11483205B1 · Jain · 2022 [cited by applicant]
US 11615082B1 · Shrigondekar · 2023 [cited by examiner]
US 11843523B1 · Gdaliahu · 2023 [cited by applicant]
US 12039369B1 · Neelakantam · 2024 [cited by applicant]
US 12095794B1 · Karaje · 2024 [cited by applicant]
US 20040042416A1 · Ngo · 2004 [cited by applicant]
US 20040046785A1 · Keller · 2004 [cited by applicant]
US 20050038818A1 · Hooks · 2005 [cited by applicant]
US 20060020866A1 · Lo · 2006 [cited by applicant]
US 20070283194A1 · Villella · 2007 [cited by applicant]
US 20080046887A1 · Ditlow · 2008 [cited by applicant]
US 20080091806A1 · Shen · 2008 [cited by applicant]
US 20080244600A1 · Wong · 2008 [cited by examiner]
US 20090006487A1 · Gavrilov · 2009 [cited by examiner]
US 20090180399A1 · Li · 2009 [cited by applicant]
US 20090235324A1 · Griffin · 2009 [cited by applicant]
US 20090328051A1 · Maes · 2009 [cited by applicant]
US 20110071981A1 · Ghosh · 2011 [cited by examiner]
US 20120005542A1 · Petersen · 2012 [cited by applicant]
US 20120176975A1 · Choi · 2012 [cited by applicant]
US 20130111468A1 · Davis et al. · 2013 [cited by applicant]
US 20130150039A1 · Ramie · 2013 [cited by applicant]
US 20130163471A1 · Indukuri et al. · 2013 [cited by applicant]
US 20140280224A1 · Feinberg et al. · 2014 [cited by applicant]
US 20150039677A1 · Kahol · 2015 [cited by examiner]
US 20150074679A1 · Fenoglio · 2015 [cited by applicant]
US 20150163163A1 · Kato · 2015 [cited by applicant]
US 20150212856A1 · Shanmuganathan et al. · 2015 [cited by applicant]
US 20160085413A1 · Luo · 2016 [cited by examiner]
US 20160098292A1 · Boutin et al. · 2016 [cited by applicant]
US 20160179636A1 · Fitzpatrick et al. · 2016 [cited by applicant]
US 20160234073A1 · Maes · 2016 [cited by applicant]
US 20170075922A1 · Torman · 2017 [cited by applicant]
US 20170093645A1 · Zhong · 2017 [cited by applicant]
US 20170111440A1 · Alonzo · 2017 [cited by applicant]
US 20170257432A1 · Fu · 2017 [cited by examiner]
US 20170264493A1 · Cencini · 2017 [cited by applicant]
US 20170286518A1 · Horowitz · 2017 [cited by applicant]
US 20180097744A1 · Hu · 2018 [cited by applicant]
US 20180157511A1 · Krishnan · 2018 [cited by applicant]
US 20180219743A1 · Garcia · 2018 [cited by applicant]
US 20180267837A1 · Shan · 2018 [cited by applicant]
US 20180276266A1 · Diwakar · 2018 [cited by applicant]
US 20180278496A1 · Kulshreshtha et al. · 2018 [cited by applicant]
US 20180287876A1 · Strobel · 2018 [cited by applicant]
US 20180288129A1 · Joshi · 2018 [cited by applicant]
US 20190052659A1 · Weingarten · 2019 [cited by applicant]
US 20190068619A1 · Fan · 2019 [cited by applicant]
US 20190156681A1 · Whiting · 2019 [cited by examiner]
US 20190213044A1 · Cui et al. · 2019 [cited by applicant]
US 20190222502A1 · May et al. · 2019 [cited by applicant]
US 20190238472A1 · Anand et al. · 2019 [cited by applicant]
US 20190260829A1 · Cencini · 2019 [cited by applicant]
US 20190286504A1 · Muntes-Mulero · 2019 [cited by applicant]
US 20200183758A1 · Subramaniam · 2020 [cited by applicant]
US 20200233715A1 · Kottapalli · 2020 [cited by applicant]
US 20210111943A1 · Moser et al. · 2021 [cited by applicant]
US 20210223923A1 · Carre et al. · 2021 [cited by applicant]
US 20210266228A1 · Reehil · 2021 [cited by applicant]
US 20210342337A1 · Lu et al. · 2021 [cited by applicant]
US 20210409277A1 · Jeuk et al. · 2021 [cited by applicant]
US 20220113790A1 · Doshi et al. · 2022 [cited by applicant]
US 20220114251A1 · Guim Bernat et al. · 2022 [cited by applicant]
US 20220191230A1 · Morgan · 2022 [cited by applicant]
US 20220197773A1 · Butler et al. · 2022 [cited by applicant]
US 20230045472A1 · Bansal · 2023 [cited by applicant]
US 20230168904A1 · Botti Filho · 2023 [cited by examiner]
US 20230179651A1 · Ku mar · 2023 [cited by applicant]
US 20230275968A1 · Young · 2023 [cited by applicant]
US 20240095079A1 · Kumar · 2024 [cited by applicant]
CN 107809321 · 2018 [cited by applicant]
CN 109471727 · 2021 [cited by applicant]
EP 1024437 · 2010 [cited by applicant]
EP 3611619A1 · 2020 [cited by applicant]
JP 2012032877 · 2012 [cited by applicant]
JP 201856648A · 2018 [cited by applicant]
JP 201957037A · 2019 [cited by applicant]
JP 202156626A · 2021 [cited by applicant]
JP 2021179745A · 2021 [cited by applicant]
JP 202151708A · 2022 [cited by applicant]
JP 2022100620 · 2023 [cited by applicant]
WO 2007040858 · 2007 [cited by applicant]
WO 2014119669 · 2014 [cited by applicant]
WO 2017010922 · 2017 [cited by applicant]
DataDog. Enrich your observability data from a CSV. [online] published Nov. 18, 2021. [retrieved on 1 O Feb. 2023] Retrieved from the Internet <URL: https://web.archive.org/web/20211127021249/https://vector.dev/highligh… [cited by applicant]
Vector; web.archive.org/web/20211127020218/https://vector.dev/docs/reference/vrl/; Internet Archive, Nov. 27, 2021 (Year: 2021). [cited by applicant]
Lowe, Scott, “Mastering VMware vSphere 5.5”, 1st edition, Shoei Co., Ltd, Mikio Sasaki, Aug. 21, 2014, pp. 710-712. [cited by applicant]