IP Library Granted Patent US 12,647,324
Granted Patent B2
US 12,647,324 · App. 18/006,709 · Granted Jun 2, 2026

Implementing a topology lock for a plurality of dynamically deployed components

Inventors: Ravi Kumar Alluboyina (Santa Clara, CA); Sree Nandan Atur (Newark, CA); Stephanie Morel (East Palo Alto, CA)
Assignee: Rakuten Symphony, Inc.
H04L41/12
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,647,324
App. No.
18/006,709
Granted
Jun 2, 2026
Kind
B2
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. A topology may be generated to represent components and relationships between components. Changes to the topology may be monitored to implement a topology lock.

Claims (32)

1 . A method comprising:

processing, by a computer system, first log data from one or more remote hosts to obtain a first topology of a plurality of components executing in a network environment, the first topology including nodes representing the plurality of components and edges representing relationships between pairs of components of the plurality of components;

processing, by the computer system, second log data received subsequent to the first log data to obtain a second topology of the plurality of components;

comparing, by the computer system, the first topology and the second topology with respect to a topology lock, the topology lock including one or more limitations, each limitation specifying a prohibition of change or a limit to a rate of change for one of (a) a number of components of the plurality of components having a component type (b) a number of relationships of the relationships between the pairs of components of the plurality of components having a relationship type; and

if one or more differences between the first topology and the second topology violate the topology lock, implementing, by the computer system, a topology policy corresponding to the topology lock.

2 . The method of claim 1 , wherein implementing the topology policy comprises generating an alert.

3 . The method of claim 1 , wherein implementing the topology policy comprises reversing the one or more differences.

4 . The method of claim 3 , wherein reversing the one or more differences comprises deleting one or more components of the plurality of components.

5 . The method of claim 3 , wherein reversing the one or more differences comprises instantiating one or more components to include in the plurality of components.

6 . The method of claim 1 , further comprising, retrieving the first log data and the second log data without use of an agent executing on the one or more remote hosts.

7 . The method of claim 1 , wherein the relationships include at least one of hosting relationships, environmental variable relationships, network relationships, session relationships, access relationships, and network connection relationships.

8 . The method of claim 1 , wherein each component of the plurality of components includes at least one of a cluster, a pod, a container, a storage volume, or an application instance.

9 . The method of claim 1 , wherein implementing the topology policy corresponding to the topology lock comprises:

invoking display of a visual representation of the second topology on a display device, the visual representation illustrating the one or more differences between the first topology and the second topology.

10 . The method of claim 1 , wherein the one or more remote hosts are part of a cloud computing platform.

11 . 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:

process first log data from one or more remote hosts to obtain a first topology of a plurality of components executing in a network environment, the first topology including nodes representing the plurality of components and edges representing relationships between pairs of components of the plurality of components;

process second log data received subsequent to the first log data to obtain a second topology of the plurality of components;

compare the first topology and the second topology with respect to a topology lock, the topology lock including one or more limitations, each limitation specifying a prohibition of change or a limit to a rate of change for one of (a) a number of components of the plurality of components having a component type (b) a number of relationships of the relationships between the pairs of components of the plurality of components having a relationship type; and

if one or more differences between the first topology and the second topology violate the topology lock, implement a topology policy corresponding to the topology lock.

12 . The apparatus of claim 11 , wherein the executable code, when executed by the one or more processing devices, further causes the one or more processing devices to implement the topology policy by generating an alert.

13 . The apparatus of claim 11 , wherein the executable code, when executed by the one or more processing devices, further causes the one or more processing devices to implement the topology policy by reversing the one or more differences.

14 . The apparatus of claim 13 , wherein reversing the one or more differences comprises deleting one or more components of the plurality of components.

15 . The apparatus of claim 13 , wherein reversing the one or more differences comprises instantiating one or more components to include in the plurality of components.

16 . The apparatus of claim 11 , wherein the executable code, when executed by the one or more processing devices, further causes the one or more processing devices to:

retrieve the first log data and the second log data without use of an agent executing on the one or more remote hosts.

17 . The apparatus of claim 11 , wherein the relationships include at least one of hosting relationships, environmental variable relationships, network relationships, session relationships, access relationships, and network connection relationships.

18 . The apparatus of claim 11 , wherein each component of the plurality of components includes at least one of a cluster, a pod, a container, a storage volume, or an application instance.

19 . The apparatus of claim 11 , wherein the executable code, when executed by the one or more processing devices, further causes the one or more processing devices to implement the topology policy corresponding to the topology lock by:

invoking display of a visual representation of the second topology on a display device, the visual representation illustrating the one or more differences between the first topology and the second topology.

20 . The apparatus of claim 11 , wherein the one or more remote hosts are part of a cloud computing platform.

Assignments (2)
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 Jan 24, 2023
From: ALLUBOYINA, RAVI KUMAR; ATUR, SREE NANDAN; MOREL, STEPHANIE
To: ROBIN SYSTEMS, INC
Reel/Frame 062474/0298 →
Continuity (1)
Related Publication 20250293937A1 · 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 applicant]
US 8467354B1 · Jerkunica · 2013 [cited by applicant]
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 · 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 applicant]
US 11843523B1 · Gdaliahu · 2023 [cited by applicant]
US 12039369B1 · Neelakantam · 2024 [cited by examiner]
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 applicant]
US 20090006487A1 · Gavrilov · 2009 [cited by applicant]
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 applicant]
US 20120005542A1 · Petersen · 2012 [cited by applicant]
US 20120176975A1 · Choi · 2012 [cited by examiner]
US 20130111468A1 · Davis et al. · 2013 [cited by applicant]
US 20130150039A1 · Ramle · 2013 [cited by examiner]
US 20130163471A1 · Indukuri · 2013 [cited by applicant]
US 20140280224A1 · Feinberg et al. · 2014 [cited by applicant]
US 20150039677A1 · Kahal · 2015 [cited by applicant]
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 applicant]
US 20160098292A1 · Boutin · 2016 [cited by applicant]
US 20160179636A1 · Fitzpatrick et al. · 2016 [cited by applicant]
US 20160234073A1 · Maes · 2016 [cited by examiner]
US 20170075922A1 · Torman · 2017 [cited by applicant]
US 20170093645A1 · Zhong · 2017 [cited by examiner]
US 20170111440A1 · Alonzo · 2017 [cited by applicant]
US 20170257432A1 · Fu · 2017 [cited by applicant]
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 examiner]
US 20190156681A1 · Whiting · 2019 [cited by applicant]
US 20190213044A1 · Cui et al. · 2019 [cited by applicant]
US 20190222502A1 · May · 2019 [cited by applicant]
US 20190238472A1 · Anand et al. · 2019 [cited by applicant]
US 20190260829A1 · Cencini · 2019 [cited by applicant]
US 20190286504A1 · Muntés-Mulero · 2019 [cited by examiner]
US 20200183758A1 · Subramaniam · 2020 [cited by applicant]
US 20200233715A1 · Kottapalli · 2020 [cited by applicant]
US 20210111943A1 · Moser · 2021 [cited by applicant]
US 20210223923A1 · Carre · 2021 [cited by applicant]
US 20210266228A1 · Reehil · 2021 [cited by examiner]
US 20210342337A1 · Lu · 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 applicant]
US 20230179651A1 · Kumar · 2023 [cited by examiner]
US 20230275968A1 · Young · 2023 [cited by examiner]
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/highlight… [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]