IP Library Granted Patent US 12706941
Granted Patent B2
US 12706941 · App. 19/007,427 · Granted Aug 11, 2026

Assessing viability of new applications during network configuration

Inventor: Mohamed Alsaloom (London, GB)
Assignee: Citibank, N.A.
H04L63/1433H04L41/08H04L41/0866H04L41/0894H04L41/145H04L41/16
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 12706941
App. No.
19/007,427
Granted
Aug 11, 2026
Kind
B2
Abstract

Systems and methods are described herein for novel uses and/or improvements for autonomous configuration of network applications on a network. When a request is received for adding a new application to the network, the system may analyze the request and identify which network devices need a change in configuration. The system may also determine, based on the request, what type of changes are needed. The system may then generate one or more commands for each identified network device and transmit those commands to each device for performing automatic network configuration for the application.

Claims (83)

1 . A system for assessing viability for new applications during network configuration, the system comprising:

one or more processors; and

one or more memory devices configured to store instructions that when executed by the one or more processors perform operations comprising:

receiving a configuration request for performing network device configuration for an application being deployed on a network, wherein the network comprises a plurality of network devices providing a plurality of network services;

identifying, using metadata generated based on the configuration request, (1) a network path comprising a subset of the plurality of network devices that are to be configured for the application and (2) a plurality of configuration settings for the subset of the plurality of network devices;

generating a network path data structure for the network path, wherein the network path data structure includes (a) a list of device identifiers of each of the subset of the plurality of network devices and (b) a plurality of network addresses corresponding to the list of device identifiers;

retrieving network device data associated with the subset of the plurality of network devices, wherein the network device data comprises a device type and a network location associated with each device;

retrieving (i) a plurality of configuration sources published for the device type corresponding to a network address of a first device, wherein the plurality of configuration sources comprises application programming interfaces (APIs) and (ii) a plurality of command templates from the plurality of configuration sources;

iterating through subsequent devices in the network path data structure and retrieving a corresponding plurality of command templates from the plurality of configuration sources published for the device type corresponding to each subsequent device;

retrieving the plurality of configuration settings of the subset of the plurality of network devices, wherein the plurality of configuration settings for each network device of the subset comprise one or more parameters for a corresponding command template;

determining, for each network device of the subset of the plurality of network devices, (a) a corresponding device viability score based on the device type, (b) a corresponding command viability score based on a command type using a command identifier (c) and a corresponding plurality of parameter viability scores for each parameter of the corresponding command template, wherein the corresponding device viability score, the corresponding command viability score, and the corresponding plurality of parameter viability scores are components of a risk score;

inputting each corresponding device viability score, each corresponding command viability score, and each corresponding plurality of parameter viability scores associated with each device of the subset of the plurality of network devices, and the plurality of configuration settings for the subset of the plurality of network devices into a machine learning model to obtain a risk score, wherein the machine learning model has been trained to predict risk scores by combining each corresponding device viability score, each corresponding command viability score, and each corresponding plurality of parameter viability scores of each network device;

based on determining that the risk score meets a threshold, identifying one or more devices having a requested configuration that causes the risk score to meet the threshold;

generating, responsive to the configuration request, a notification comprising identifiers of the one or more devices, wherein the notification indicates that the configuration request has failed; and

transmitting the notification to a device associated with the configuration request.

2 . The system of claim 1 , wherein the instructions for determining the risk score associated with the configuration request cause the one or more processors to perform operations comprising:

retrieving the network device data associated with a first network device of the subset of the plurality of network devices;

generating, based on the network device data associated with the first network device, a security parameter associated with the first network device;

generating, based on a subset of the plurality of configuration settings for the first network device, a command parameter associated with the first network device; and

determining the risk score based on the security parameter and the command parameter.

3 . The system of claim 1 , wherein the instructions for determining the risk score associated with the configuration request cause the one or more processors to perform operations comprising:

determining the device type associated with a first network device of the subset of the plurality of network devices;

determining the command type associated with a first subset of the plurality of configuration settings for the first network device; and

determining the risk score based on the device type and the command type.

4 . The system of claim 3 , wherein the instructions further cause the one or more processors to perform operations comprising:

determining command parameters associated with the first subset of the plurality of configuration settings; and

determining the risk score based on the device type, the command type, and the command parameters.

5 . The system of claim 1 , further comprising, determining, from the configuration request, the metadata for configuring the application on the network, wherein the metadata comprises permission settings and corresponding permission types.

6 . The system of claim 1 , wherein the network path data structure further comprises, for the list of device identifiers, a plurality of virtual links, each virtual link pointing to a device identifier of a corresponding subsequent device.

7 . A method for assessing viability for new applications during network configuration, the method comprising:

receiving a configuration request for performing network device configuration for an application being deployed on a network, wherein the network comprises a plurality of network devices providing a plurality of network services;

identifying, using metadata generated based on the configuration request, (1) a network path comprising a subset of the plurality of network devices that are to be configured for the application and (2) a plurality of configuration settings for the subset of the plurality of network devices;

generating a network path data structure for the network path, wherein the network path data structure includes (a) a list of device identifiers of each of the subset of the plurality of network devices and (b) a plurality of network addresses corresponding to the list of device identifiers;

retrieving network device data associated with the subset of the plurality of network devices, wherein the network device data comprises a device type and a network location associated with each device;

retrieving (i) a plurality of configuration sources published for the device type corresponding to a network address of a first device, wherein the plurality of configuration sources comprises application programming interfaces (APIs) and (ii) a plurality of command templates from the plurality of configuration sources;

iterating through subsequent devices in the network path data structure and retrieving the plurality of command templates from the plurality of configuration sources published for the device type corresponding to each subsequent device;

retrieving the plurality of configuration settings of the subset of the plurality of network devices, wherein the plurality of configuration settings for each network device of the subset comprise one or more parameters for a corresponding command template;

determining, for each network device of the subset of the plurality of network devices, (a) a corresponding device viability score based on the device type, (b) a corresponding command viability score based on a command type using a command identifier (c) and a corresponding plurality of parameter viability scores for each parameter of the corresponding command template, wherein the corresponding device viability score, the corresponding command viability score, and the corresponding plurality of parameter viability scores are components of a risk score;

inputting each corresponding device viability score, each corresponding command viability score, and each corresponding plurality of parameter viability scores associated with each device of the subset of the plurality of network devices, and the plurality of configuration settings for the subset of the plurality of network devices into a machine learning model to obtain the risk score, wherein the machine learning model has been trained to predict risk scores by combining each corresponding device viability score, each corresponding command viability score, and each corresponding plurality of parameter viability scores of each network device;

based on determining that the risk score meets a threshold, identifying one or more devices having a requested configuration that causes the risk score to meet the threshold;

generating, responsive to the configuration request, a notification comprising identifiers of the one or more devices, wherein the notification indicates that the configuration request has failed; and

transmitting the notification to a device associated with the configuration request.

8 . The method of claim 7 , wherein determining the risk score associated with the configuration request further comprises:

retrieving the network device data associated with a first network device of the subset of the plurality of network devices;

generating, based on the network device data associated with the first network device, a security parameter associated with the first network device;

generating, based on a subset of the plurality of configuration settings for the first network device, a command parameter associated with the first network device; and

determining the risk score based on the security parameter and the command parameter.

9 . The method of claim 7 , wherein determining the risk score associated with the configuration request further comprises:

determining the device type associated with a first network device of the subset of the plurality of network devices;

determining, the command type associated with a first subset of the plurality of configuration settings for the first network device; and

determining the risk score based on the device type and the command type.

10 . The method of claim 9 , further comprising:

determining command parameters associated with the first subset of the plurality of configuration settings; and

determining the risk score based on the device type, the command type, and the command parameters.

11 . The method of claim 7 , further comprising, determining, from the configuration request, the metadata for configuring the application on the network, wherein the metadata comprises permission settings and corresponding permission types.

12 . The method of claim 7 , wherein the network path data structure further comprises, for the list of device identifiers, a plurality of virtual links, each virtual link pointing to a device identifier of a corresponding subsequent device.

13 . One or more non-transitory, computer-readable media storing instructions thereon that cause one or more processors to perform operations comprising:

receiving a configuration request for performing network device configuration for an application being deployed on a network, wherein the network comprises a plurality of network devices providing a plurality of network services;

identifying, using metadata generated based on the configuration request, (1) a network path comprising a subset of the plurality of network devices that are to be configured for the application and (2) a plurality of configuration settings for the subset of the plurality of network devices;

generating a network path data structure for the network path, wherein the network path data structure includes (a) a list of device identifiers of each of the subset of the plurality of network devices and (b) a plurality of network addresses corresponding to the list of device identifiers;

retrieving network device data associated with the subset of the plurality of network devices, wherein the network device data comprises a device type and a network location associated with each device;

retrieving (i) a plurality of configuration sources published for the device type corresponding to a network address of a first device, wherein the plurality of configuration sources comprises application programming interfaces (APIs) and (ii) a plurality of command templates from the plurality of configuration sources;

iterating through subsequent devices in the network path data structure and retrieving the plurality of command templates from the plurality of configuration sources published for the device type corresponding to each subsequent device;

retrieving the plurality of configuration settings of the subset of the plurality of network devices, wherein the plurality of configuration settings for each network device of the subset comprise one or more parameters for a corresponding command template;

determining, for each network device of the subset of the plurality of network devices, (a) a corresponding device viability score based on the device type, (b) a corresponding command viability score based on a command type using a command identifier (c) and a corresponding plurality of parameter viability scores for each parameter of the corresponding command template, wherein the corresponding device viability score, the corresponding command viability score, and the corresponding plurality of parameter viability scores are components of a risk score;

inputting each corresponding device viability score, each corresponding command viability score, and each corresponding plurality of parameter viability scores associated with each device of the subset of the plurality of network devices, and the plurality of configuration settings for the subset of the plurality of network devices into a machine learning model to obtain the risk score, wherein the machine learning model has been trained to predict risk scores by combining each corresponding device viability score, each corresponding command viability score, and each corresponding plurality of parameter viability scores of each network device;

based on determining that the risk score meets a threshold, identifying one or more devices having a requested configuration that causes the risk score to meet the threshold;

generating, responsive to the configuration request, a notification comprising identifiers of the one or more devices, wherein the notification indicates that the configuration request has failed; and

transmitting the notification to a device associated with the configuration request.

14 . The one or more non-transitory, computer-readable media of claim 13 , wherein the instructions for determining the risk score associated with the configuration request further cause the one or more processors to perform operations comprising:

retrieving the network device data associated with a first network device of the subset of the plurality of network devices;

generating, based on the network device data associated with the first network device, a security parameter associated with the first network device;

generating, based on a subset of the plurality of configuration settings for the first network device, a command parameter associated with the first network device; and

determining the risk score based on the security parameter and the command parameter.

15 . The one or more non-transitory, computer-readable media of claim 13 , wherein the instructions for determining the risk score associated with the configuration request further cause the one or more processors to perform operations comprising:

determining the device type associated with a first network device of the subset of the plurality of network devices;

determining, the command type associated with a first subset of the plurality of configuration settings for the first network device; and

determining the risk score based on the device type and the command type.

16 . The one or more non-transitory, computer-readable media of claim 15 , wherein the instructions further cause the one or more processors to perform operations comprising:

determining command parameters associated with the first subset of the plurality of configuration settings; and

determining the risk score based on the device type, the command type, and the command parameters.

17 . The one or more non-transitory, computer-readable media of claim 13 , wherein each virtual link further points to a device identifier of a corresponding preceding device in the network path.

18 . The one or more non-transitory, computer-readable media of claim 13 , wherein the network path data structure further comprises, for the list of device identifiers, a plurality of virtual links, each virtual link pointing to a device identifier of a corresponding subsequent device.