Dynamic inter-region connection distribution to 5G network functions
The disclosed embodiments involve recording performance metrics for network connections in a centralized database, storing network connection data in a global registry across multiple data centers, detecting backlogs at specific data centers linked to network elements and connections, and generating updated connection assignments. These assignments include identifiers for the involved data centers and connections. Upon receiving a connection assignment update notification, the method updates the network connection and communicates the first data center's connection state to the global registry.
1 . A method comprising:
recording performance metrics associated with network connections between network elements in a centralized database;
storing data representing a plurality of network connections in a global connection registry, the plurality of network connections provisioned by a plurality of data centers;
detecting, using a connection distribution decision function, a backlog at a first data center, the backlog associated with a network element and a network connection selected from the plurality of network connections, wherein the connection distribution decision function comprises a function distributed in the first data center and the second data center elected via a leader election algorithm;
generating an updated connection assignment for the network connection, the updated connection assignment including an identifier of the first data center, an identifier of the network connection, and an identifier of the second data center;
receiving a connection assignment update notification from the global connection registry;
updating the network connection in response to the connection assignment update notification; and
transmitting a connection state of the first data center to the global connection registry after updating the network connection and in response to the connection assignment update notification.
2 . The method of claim 1 , wherein the performance metrics comprise one or more of a queue count of connection requests for each network element, a throughput measurement of each network element, and an average time to complete connection requests for each network element.
3 . The method of claim 2 , wherein detecting the backlog comprises:
retrieving a subset of the performance metrics from the centralized database; and
analyzing the subset of the performance metrics to compute the backlog based on one or more of the queue count, throughput, or average time to complete connection requests for network elements connected to the first data center.
4 . The method of claim 1 , wherein generating an updated connection assignment comprises identifying the second data center based on a provisioning volume of the second data center via the connection distribution decision function.
5 . The method of claim 1 , wherein updating the network connection in response to the connection assignment update notification comprises:
instructing a local connection registry of the first data center to update a desired connection state;
updating the network connection via a provisioning agent;
updating a local connection state of the first data center;
determining that the local connection state matches the desired connection state; and
transmitting a connection state update notification to a local connection manager indicating that the network connection was successfully updated.
6 . The method of claim 1 , further comprising:
computing a global connection state using the connection state of the first data center;
comparing a desired global connection state to the global connection state and identifying at least one mismatch;
transmitting a second connection assignment update notification to the second data center; and
updating at least one second connection at the second data center responsive to the second connection assignment update notification.
7 . The method of claim 1 , wherein the network connections between network elements include network connections between a user data repository (UDR) and one or more of a unified data management (UDM) network element, access and mobility management function (AMF) network element, session management function (SMF) network element, network exposure function (NEF) network element, policy control function (PCF), or application function (AF) network element.
8 . The method of claim 1 , wherein the connection distribution decision function employs a predictive model comprising a machine learning model including a neural network to proactively anticipate network connection backlog and generate the updated connection assignment based on the anticipated network connection backlog.
9 . The method of claim 1 , wherein generating the updated connection assignment comprises determining a number of connections associated with the network element to be redistributed and selecting a subset of connections of the network element for redistribution to the second data center.
10 . The method of claim 1 , wherein generating the updated connection assignment comprises simulating an impact on capacity and demand resulting from removal of the network connection from the first data center, determining, based on the simulating, an optimal number of connections to be redistributed from the first data center to achieve a target throughput, and reevaluating a ranking of the plurality of data centers to account for potential consequences on future connection redistributions.
11 . A non-transitory computer-readable storage medium for tangibly storing computer program instructions capable of being executed by a computer processor, the computer program instructions defining steps of:
recording performance metrics associated with network connections between network elements in a centralized database;
storing data representing a plurality of network connections in a global connection registry, the plurality of network connections provisioned by a plurality of data centers;
detecting, using a connection distribution decision function, a backlog at a first data center, the backlog associated with a network element and a network connection selected from the plurality of network connections, wherein the connection distribution decision function comprises a function distributed in the first data center and the second data center elected via a leader election algorithm;
generating an updated connection assignment for the network connection, the updated connection assignment including an identifier of the first data center, an identifier of the network connection, and an identifier of the second data center;
receiving a connection assignment update notification from the global connection registry;
updating the network connection in response to the connection assignment update notification; and
transmitting a connection state of the first data center to the global connection registry after updating the network connection and in response to the connection assignment update notification.
12 . The non-transitory computer-readable storage medium of claim 11 , wherein the performance metrics comprise one or more of a queue count of connection requests for each network element, a throughput measurement of each network element, and an average time to complete connection requests for each network element.
13 . The non-transitory computer-readable storage medium of claim 12 , wherein detecting the backlog comprises:
retrieving a subset of the performance metrics from the centralized database; and
analyzing the subset of the performance metrics to compute the backlog based on one or more of the queue count, throughput, or average time to complete connection requests for network elements connected to the first data center.
14 . The non-transitory computer-readable storage medium of claim 11 , wherein generating an updated connection assignment comprises identifying the second data center based on a provisioning volume of the second data center via the connection distribution decision function.
15 . The non-transitory computer-readable storage medium of claim 11 , wherein updating the network connection in response to the connection assignment update notification comprises:
instructing a local connection registry of the first data center to update a desired connection state;
updating the network connection via a provisioning agent;
updating a local connection state of the first data center;
determining that the local connection state matches the desired connection state; and
transmitting a connection state update notification to a local connection manager indicating that the network connection was successfully updated.
16 . The non-transitory computer-readable storage medium of claim 11 , the steps further comprising:
computing a global connection state using the connection state of the first data center;
comparing a desired global connection state to the global connection state and identifying at least one mismatch;
transmitting a second connection assignment update notification to the second data center; and
updating at least one second connection at the second data center responsive to the second connection assignment update notification.
17 . A device comprising:
a processor configured to:
record performance metrics associated with network connections between network elements in a centralized database;
store data representing a plurality of network connections in a global connection registry, the plurality of network connections provisioned by a plurality of data centers;
detect, using a connection distribution decision function, a backlog at a first data center, the backlog associated with a network element and a network connection selected from the plurality of network connections, wherein the connection distribution decision function comprises a function distributed in the first data center and the second data center elected via a leader election algorithm;
generate an updated connection assignment for the network connection, the updated connection assignment including an identifier of the first data center, an identifier of the network connection, and an identifier of the second data center;
receive a connection assignment update notification from the global connection registry;
update the network connection in response to the connection assignment update notification; and
transmit a connection state of the first data center to the global connection registry after updating the network connection and in response to the connection assignment update notification.
18 . The device of claim 17 , wherein the performance metrics comprise one or more of a queue count of connection requests for each network element, a throughput measurement of each network element, and an average time to complete connection requests for each network element.
19 . The device of claim 18 , wherein detecting the backlog comprises:
retrieving a subset of the performance metrics from the centralized database; and
analyzing the subset of the performance metrics to compute the backlog based on one or more of the queue count, throughput, or average time to complete connection requests for network elements connected to the first data center.
20 . The device of claim 17 , wherein updating the network connection in response to the connection assignment update notification comprises:
instructing a local connection registry of the first data center to update a desired connection state;
updating the network connection via a provisioning agent;
updating a local connection state of the first data center;
determining that the local connection state matches the desired connection state; and
transmitting a connection state update notification to a local connection manager indicating that the network connection was successfully updated.