IP Library Granted Patent US 12,470,464
Granted Patent B2
US 12,470,464 · App. 18/619,928 · Granted Nov 11, 2025

Cloud topology optimization using a graph convolutional network model

Inventors: Girish Dhanakshirur (Bangalore, IN); Hemant Kumar Sivaswamy (Bangalore, IN); Vidya Chandrashekar (Bangalore, IN); Rachana Vishwanathula (Hyderabad, IN); Deepak Rai (Mangalore, IN); Saraswathi Sailaja Perumalla (Visakhapatnam, IN)
Assignee: International Business Machines Corporation
H04L41/12H04L41/16H04L41/5009
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,470,464
App. No.
18/619,928
Granted
Nov 11, 2025
Kind
B2
Abstract

A method, computer program product, and computer system for network topology optimization. A graph convolutional network (GCN) model is trained using training network topology datasets as input. Each training network topology dataset includes: (i) a specified network topology and an associated optimal network topology and an optimality function value for the optimal network topology, (ii) relative weights of optimality parameters including performance, availability, and scalability, and (iii) an identification of an optimality function of the optimality parameters weighted by the relative weights. The specified network topology includes components, relationships between the components, and metadata pertaining to the components. Each output node in an output layer of the GCN model includes an optimality function value for a different candidate network topology. One of the output nodes identifies an optimum network topology relative to the specified network topology as being the candidate network topology having a highest optimality function value.

Claims (74)

1 . A method for network topology optimization, said method comprising:

training, by one or more processors of a computer system, a graph convolutional network (GCN) model using training network topology datasets as input,

wherein a collection of network topology datasets comprises the training network topology datasets,

wherein each network topology dataset in the collection includes: (i) a specified network topology and an associated optimal network topology and an optimality function value for the optimal network topology, (ii) relative weights of optimality parameters including performance (p), availability (a), and scalability(s), and (iii) an identification of an optimality function of the optimality parameters weighted by the relative weights,

wherein the specified network topology in each network topology dataset comprises components, relationships between the components, and metadata pertaining to the components,

wherein each output node in an output layer of the GCN model includes an optimality function value of the optimality function for a different candidate network topology selected from the group consisting of an expanded network topology relative to the specified network topology and a contracted network topology relative to the specified network topology, and

wherein one of the output nodes identifies an optimum network topology relative to the specified network topology as being the candidate network topology having a highest optimality function value in comparison with the optimality function value in all of the other output nodes.

2 . The method of claim 1 , wherein the collection of network topology datasets further comprise validation network topology datasets and test network topology datasets, and wherein the method further comprises:

executing, by the one or more processors for a specified input network topology and specified relative weights of the optimality parameters, the GCN that is qualified due to having been trained using the training network topology datasets, validated using the validation network topology datasets, and successfully tested using the test network topology datasets, wherein said executing the qualified GCN populates the output nodes with optimality function values, and wherein the output node having a highest optimality function value is an optimum network topology relative to the specified input network topology.

3 . The method of claim 2 , wherein each network topology of a plurality of network topologies comprises metatags associated with each network topology's architecture, wherein a technology service usage statement comprises metatags associated with technology services that have been performed, and wherein the specified input network topology is a network topology of the plurality of network topologies whose included metatags are a closest fuzzy match to respective metatags in the technology service usage statement.

4 . The method of claim 1 , wherein the GCN model includes sequentially: an input layer, hidden layers, and the output layer, wherein the hidden layers include one or more graph convolutional layers comprising convolution nodes, one or more pooling layers comprising pooling nodes, and one or more fully connected layers comprising connection nodes and both weights and biases associated with connection nodes, wherein the output layer is directly connected to the one or more fully connected layers, wherein the input layer comprises input nodes and edges connecting the input nodes of the input layer, wherein for each training network topology dataset: (i) each node of the input layer represent the components and contains features associated with or derived from the metadata and (ii) the edges of the input layer represent the relationships between the components.

5 . The method of claim 4 , wherein said training comprises for each network topology dataset:

generating the input nodes and edges and populating the input nodes with features derived from the metadata;

propagating features of the input layer into convolutional nodes of the one or more convolutional layers and modifying content of the one or more convolution nodes via passing a message of each convolution node's features to neighboring convolution nodes of said each convolution node and aggregating at each convolution node the messages received from the neighboring convolution nodes of said each convolution node;

passing output from convolution nodes of the one or more convolutional layers to pooling nodes of the one or more pooling layers, followed by grouping the pooling nodes into groups and aggregating the groups; and

passing output data from the one or more pooling layers to the one or more fully connected layers;

processing the connection nodes of the one or more fully connected layers to compute an optimality function value of the optimality function for each candidate network topology; and

inserting the optimality function values for each candidate network topology in respective output nodes of the output layer.

6 . The method of claim 5 , wherein said processing the connection nodes comprises initializing the weights and biases of the connection nodes, followed by performing each iteration of an iterative process, wherein said performing each iteration comprises:

computing the performance, availability, and scalability of each candidate network topology, using the weights and biases of the connection nodes;

computing the optimality function values for the candidate network topologies, using the computed performance, availability, and scalability of each candidate network topology;

computing a loss function (L) in dependence on (i) the optimality function values for the candidate network topologies and (ii) the optimality function value for the optimal network topology, wherein L≥0;

performing back propagation to adjust the weights and biases of the connection nodes to minimize the loss function to be calculated in a next iteration of the iterative process; and

determining that the next iteration should not be performed if the computed value of the loss function is zero, a change in the loss function from the immediately previous iteration is less than a specified tolerance, or a specified maximum number of iterations has been performed, otherwise initiating performance of the next iteration by looping back to said computing the performance, availability, and scalability for the candidate network topologies.

7 . The method of claim 6 , wherein the optimality function for each candidate network topology is a linear function of the performance, availability, and scalability of each candidate network topology.

8 . The method of claim 6 , wherein the optimality function for each candidate network topology is a non-linear function of the performance, availability, and scalability of each candidate network topology.

9 . A computer program product, comprising one or more computer readable hardware storage devices having computer readable program code stored therein, said program code containing instructions executable by one or more processors of a computer system to implement a method for network topology optimization, said method comprising:

training, by the one or more processors, a graph convolutional network (GCN) model using training network topology datasets as input,

wherein a collection of network topology datasets comprises the training network topology datasets,

wherein each network topology dataset in the collection includes: (i) a specified network topology and an associated optimal network topology and an optimality function value for the optimal network topology, (ii) relative weights of optimality parameters including performance (p), availability (a), and scalability(s), and (iii) an identification of an optimality function of the optimality parameters weighted by the relative weights,

wherein the specified network topology in each network topology dataset comprises components, relationships between the components, and metadata pertaining to the components,

wherein each output node in an output layer of the GCN model includes an optimality function value of the optimality function for a different candidate network topology selected from the group consisting of an expanded network topology relative to the specified network topology and a contracted network topology relative to the specified network topology, and

wherein one of the output nodes identifies an optimum network topology relative to the specified network topology as being the candidate network topology having a highest optimality function value in comparison with the optimality function value in all of the other output nodes.

10 . The computer program product of claim 9 , wherein the collection of network topology datasets further comprise validation network topology datasets and test network topology datasets, and wherein the method further comprises:

executing, by the one or more processors for a specified input network topology and specified relative weights of the optimality parameters, the GCN that is qualified due to having been trained using the training network topology datasets, validated using the validation network topology datasets, and successfully tested using the test network topology datasets, wherein said executing the qualified GCN populates the output nodes with optimality function values, and wherein the output node having a highest optimality function value is an optimum network topology relative to the specified input network topology.

11 . The computer program product of claim 3 , wherein each network topology of a plurality of network topologies comprises metatags associated with each network topology's architecture, wherein a technology service usage statement comprises metatags associated with technology services that have been performed, and wherein the specified input network topology is a network topology of the plurality of network topologies whose included metatags are a closest fuzzy match to respective metatags in the technology service usage statement.

12 . The computer program product of claim 9 , wherein the GCN model includes sequentially: an input layer, hidden layers, and the output layer, wherein the hidden layers include one or more graph convolutional layers comprising convolution nodes, one or more pooling layers comprising pooling nodes, and one or more fully connected layers comprising connection nodes and both weights and biases associated with connection nodes, wherein the output layer is directly connected to the one or more fully connected layers, wherein the input layer comprises input nodes and edges connecting the input nodes of the input layer, wherein for each training network topology dataset: (i) each node of the input layer represent the components and contains features associated with or derived from the metadata and (ii) the edges of the input layer represent the relationships between the components.

13 . The computer program product of claim 12 , wherein said training comprises for each network topology dataset:

generating the input nodes and edges and populating the input nodes with features derived from the metadata;

propagating features of the input layer into convolutional nodes of the one or more convolutional layers and modifying content of the one or more convolution nodes via passing a message of each convolution node's features to neighboring convolution nodes of said each convolution node and aggregating at each convolution node the messages received from the neighboring convolution nodes of said each convolution node;

passing output from convolution nodes of the one or more convolutional layers to pooling nodes of the one or more pooling layers, followed by grouping the pooling nodes into groups and aggregating the groups; and

passing output data from the one or more pooling layers to the one or more fully connected layers;

processing the connection nodes of the one or more fully connected layers to compute an optimality function value of the optimality function for each candidate network topology; and

inserting the optimality function values for each candidate network topology in respective output nodes of the output layer.

14 . The computer program product of claim 13 , wherein said processing the connection nodes comprises initializing the weights and biases of the connection nodes, followed by performing each iteration of an iterative process, wherein said performing each iteration comprises:

computing the performance, availability, and scalability of each candidate network topology, using the weights and biases of the connection nodes;

computing the optimality function values for the candidate network topologies, using the computed performance, availability, and scalability of each candidate network topology;

computing a loss function (L) in dependence on (i) the optimality function values for the candidate network topologies and (ii) the optimality function value for the optimal network topology, wherein L≥0;

performing back propagation to adjust the weights and biases of the connection nodes to minimize the loss function to be calculated in a next iteration of the iterative process; and

determining that the next iteration should not be performed if the computed value of the loss function is zero, a change in the loss function from the immediately previous iteration is less than a specified tolerance, or a specified maximum number of iterations has been performed, otherwise initiating performance of the next iteration by looping back to said computing the performance, availability, and scalability for the candidate network topologies.

15 . A computer system, comprising one or more processors, one or more memories, and one or more computer readable hardware storage devices, said one or more hardware storage devices containing program code executable by the one or more processors via the one or more memories to implement a method for network topology optimization, said method comprising:

training, by the one or more processors, a graph convolutional network (GCN) model using training network topology datasets as input,

wherein a collection of network topology datasets comprises the training network topology datasets,

wherein each network topology dataset in the collection includes: (i) a specified network topology and an associated optimal network topology and an optimality function value for the optimal network topology, (ii) relative weights of optimality parameters including performance (p), availability (a), and scalability(s), and (iii) an identification of an optimality function of the optimality parameters weighted by the relative weights,

wherein the specified network topology in each network topology dataset comprises components, relationships between the components, and metadata pertaining to the components,

wherein each output node in an output layer of the GCN model includes an optimality function value of the optimality function for a different candidate network topology selected from the group consisting of an expanded network topology relative to the specified network topology and a contracted network topology relative to the specified network topology, and

wherein one of the output nodes identifies an optimum network topology relative to the specified network topology as being the candidate network topology having a highest optimality function value in comparison with the optimality function value in all of the other output nodes.

16 . The computer system of claim 15 , wherein the collection of network topology datasets further comprise validation network topology datasets and test network topology datasets, and wherein the method further comprises:

executing, by the one or more processors for a specified input network topology and specified relative weights of the optimality parameters, the GCN that is qualified due to having been trained using the training network topology datasets, validated using the validation network topology datasets, and successfully tested using the test network topology datasets, wherein said executing the qualified GCN populates the output nodes with optimality function values, and wherein the output node having a highest optimality function value is an optimum network topology relative to the specified input network topology.

17 . The computer system of claim 16 , wherein each network topology of a plurality of network topologies comprises metatags associated with each network topology's architecture, wherein a technology service usage statement comprises metatags associated with technology services that have been performed, and wherein the specified input network topology is a network topology of the plurality of network topologies whose included metatags are a closest fuzzy match to respective metatags in the technology service usage statement.

18 . The computer system of claim 15 , wherein the GCN model includes sequentially: an input layer, hidden layers, and the output layer, wherein the hidden layers include one or more graph convolutional layers comprising convolution nodes, one or more pooling layers comprising pooling nodes, and one or more fully connected layers comprising connection nodes and both weights and biases associated with connection nodes, wherein the output layer is directly connected to the one or more fully connected layers, wherein the input layer comprises input nodes and edges connecting the input nodes of the input layer, wherein for each training network topology dataset: (i) each node of the input layer represent the components and contains features associated with or derived from the metadata and (ii) the edges of the input layer represent the relationships between the components.

19 . The computer system of claim 18 , wherein said training comprises for each network topology dataset:

generating the input nodes and edges and populating the input nodes with features derived from the metadata;

propagating features of the input layer into convolutional nodes of the one or more convolutional layers and modifying content of the one or more convolution nodes via passing a message of each convolution node's features to neighboring convolution nodes of said each convolution node and aggregating at each convolution node the messages received from the neighboring convolution nodes of said each convolution node;

passing output from convolution nodes of the one or more convolutional layers to pooling nodes of the one or more pooling layers, followed by grouping the pooling nodes into groups and aggregating the groups; and

passing output data from the one or more pooling layers to the one or more fully connected layers;

processing the connection nodes of the one or more fully connected layers to compute an optimality function value of the optimality function for each candidate network topology; and

inserting the optimality function values for each candidate network topology in respective output nodes of the output layer.

20 . The computer system of claim 19 , wherein said processing the connection nodes comprises initializing the weights and biases of the connection nodes, followed by performing each iteration of an iterative process, wherein said performing each iteration comprises:

computing the performance, availability, and scalability of each candidate network topology, using the weights and biases of the connection nodes;

computing the optimality function values for the candidate network topologies, using the computed performance, availability, and scalability of each candidate network topology;

computing a loss function (L) in dependence on (i) the optimality function values for the candidate network topologies and (ii) the optimality function value for the optimal network topology, wherein L≥0;

performing back propagation to adjust the weights and biases of the connection nodes to minimize the loss function to be calculated in a next iteration of the iterative process; and

determining that the next iteration should not be performed if the computed value of the loss function is zero, a change in the loss function from the immediately previous iteration is less than a specified tolerance, or a specified maximum number of iterations has been performed, otherwise initiating performance of the next iteration by looping back to said computing the performance, availability, and scalability for the candidate network topologies.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2024
From: DHANAKSHIRUR, GIRISH; SIVASWAMY, HEMANT KUMAR; CHANDRASHEKAR, VIDYA; VISHWANATHULA, RACHANA; RAI, DEEPAK; PERUMALLA, SARASWATHI SAILAJA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 067316/0964 →
Continuity (1)
Related Publication 20250310204A1 · Oct 2, 2025
References Cited (36)
US 10379910B2 · Balasubramanian · 2019 [cited by applicant]
US 20200337648A1 · Saripalli · 2020 [cited by examiner]
US 20220358240A1 · Neal · 2022 [cited by examiner]
US 20250021395A1 · Kelly · 2025 [cited by examiner]
CN 110138595A · 2019 [cited by examiner]
CN 110263280A · 2019 [cited by examiner]
CN 112422299A · 2021 [cited by applicant]
CN 113541986A · 2021 [cited by examiner]
CN 113825151A · 2021 [cited by examiner]
CN 112422299B · 2022 [cited by applicant]
CN 113904786B · 2023 [cited by examiner]
CN 116192662A · 2023 [cited by examiner]
CN 116192669A · 2023 [cited by examiner]
CN 117459112A · 2024 [cited by examiner]
CN 117834508A · 2024 [cited by examiner]
CN 117857375A · 2024 [cited by examiner]
CN 119449710A · 2025 [cited by examiner]
CN 119496716A · 2025 [cited by examiner]
Ning-Yu Kao, “Introduction of Graph Convolutional Network (GCN) & Quick Implementation,” May 18, 2022. (Year: 2022). [cited by examiner]
Changran Liu, “How to train graph convolutional network models in a graph database,” Machine Learning, Oct. 1, 2020. (Year: 2020). [cited by examiner]
Zhang et al., “Graph convolutional networks: a comprehensive review,” Zhang et al. Comput Soc Netw (2019) 6:11 https://doi.org/10.1186/s40649-019-0069-y, Computational Social Networks, University of Illinois Urbana-Cham… [cited by examiner]
Xusheng AI, A Tiered Recommender System for Cost-Effective Cloud Instance Selection, Published Date: 2021, University of the Pacific, Scholarly Commons, 71 pages. [cited by applicant]
Kornevs et al., Cloud Computing Evaluation Based on Financial Metrics, Article in Information Technology and Management Science, Dec. 2012, ResearchGate, DOI:10.2478/v10313-012-0013-8, 7 pages. [cited by applicant]
Authors: Disclosed Anonymously, Designing for Cloud, Published Date: Apr. 19, 2023, IP.com No. IPCOM000272131D, 6 pages. [cited by applicant]
Yao et al., Invoice Detection and Recognition System Based on Deep Learning, Wiley/Hindawi, vol. 2022, Article ID 8032726, 10 pages, https://doi.org/10.1155/2022/8032726, Published Date: Jan. 25, 2022. [cited by applicant]
Maximizing Efficiency: AI-Powered Strategies to Reduce Cloud Spending, Published Date: Oct. 10, 2023, Retrieved from Internet on Dec. 5, 2023: https://www.linkedin.com/pulse/maximizing-efficiency-ai-powered-strategies-r… [cited by applicant]
Trey Huffine, How we reduced our annual server costs by 80%—from $1M to $200k—by moving away from AWS, Sep. 26, 2022, 18 pages. [cited by applicant]
Aslam et al., Information collection centric techniques for cloud resource management: Taxonomy, analysis and challenges, Journal of Network and Computer Applications, vol. 100, Dec. 15, 2017, pp. 80-94, ScienceDirect. [cited by applicant]
Publication Venue: IP.com PAD, Apparatus to arrive at an optimized topology of cloud operating system services, Publication Date May 8, 2015, IPCOM000241520D, 3 pages. [cited by applicant]
Publication Venue: IP.com PAD, System for Cloud Resources Utilization Analysis Based on Time Series Data Transformation, Publication Date Apr. 7, 2020, IPCOM000261818D, 2 pages. [cited by applicant]
Marcin Kolny, Scaling up the Prime Video audio/video monitoring service and reducing costs by 90%, Tech, Video Streaming, The move from a distributed microservices architecture to a monolith application helped achieve h… [cited by applicant]
IPCOM000272872D, EcoCloud Advisor: Empowering Sustainable Cloud Architectures through Dynamic Recommendations, Publication Date: Aug. 28, 2023, 2 pages. [cited by applicant]
Design well-architected cloud topologies, Cloud Architecture Center, Retrieved from Internet on Mar. 18, 2024: https://cloud.google.com/architecture, 11 pages. [cited by applicant]
Hybrid cloud architectures, Retrieved from Internet on Mar. 18, 2024: https://www.ibm.com/architectures, 8 pages. [cited by applicant]
Browse Azure Architectures, Retrieved from Internet on Mar. 18, 2024: https://learn.microsoft.com/en-us/azure/architecture/browse/, 4 pages. [cited by applicant]
IBM. “AI Insights and dashboards”, retrieved from web https://www.ibm.com/products/turbonomic/dashboards?utm_content=SRCWW&p1=Search&p4=43700081200361419&p5=e&p9=58700008821968164&gclsrc=aw. Ds&gad_source=1&gad_campaign… [cited by applicant]