Distributed network address discovery in non-uniform networks
Abstract
Distributed network address discovery in non-uniform node networks can be performed. Regarding a client request for a service, network management component (NMC) can determine a network address space associated with a client based on a network identifier associated with the client or a node identifier. NMC can determine a group of candidate nodes (CN group) from a group of nodes based on network addresses associated with nodes of the node group and the network address space. NMC can determine a group of available candidate nodes (ACN group), from the CN group, available and able to process the request and perform the service based on operational statuses associated with the nodes of the CN group or services associated with those nodes. From the ACN group, NMC can determine a ranked list of network addresses associated with available nodes that can process the request based on defined service performance criteria.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method, comprising:
with regard to a client request associated with a client device, determining, by a system comprising a processor, a group of candidate nodes from a group of nodes based on a network address space associated with a network address associated with the client device and respective first network addresses associated with respective nodes of the group of nodes;
from the group of candidate nodes, determining, by the system, a group of available candidate nodes that is able to process the client request associated with the client device and relating to a service based on a service type of the service, and respective operational statuses of respective candidate nodes of the group of candidate nodes, wherein the group of available candidate nodes comprises some candidate nodes of the group of candidate nodes, wherein the group of available candidate nodes comprises respective available candidate nodes comprising a first available candidate node and a second available candidate node, and wherein some of the respective first network addresses are respective second network addresses associated with the respective available candidate nodes;
ranking, by the system, the respective second network addresses associated with the respective available candidate nodes of the group of available candidate nodes based on respective bandwidths associated with the respective available candidate nodes, wherein the respective second network addresses comprise a first network address and a second network address associated with the first available candidate node and a third network address associated with the second available candidate node, and wherein the ranking comprises ranking the first network address and the second network address higher than the third network address based on determining that a first bandwidth associated with a combination of the first network address and the second network address is higher than a second bandwidth associated with the second network address; and
determining, by the system, an available candidate node of the group of available candidate nodes that is to process the client request based on the ranking and a defined service performance criterion associated with the service.
2. The method of claim 1 , further comprising:
determining, by the system, the network address space associated with the network address associated with the client device based on an analysis of request information or metadata associated with the client request, wherein the request information or the metadata comprises a network identifier or a node identifier, wherein the network identifier comprises a particular network address to which the client device is connected, a virtual local area network tag, or a name of the network address space, and wherein the network address associated with the client device is the particular network address to which the client device is connected.
3. The method of claim 1 , wherein the determining of the group of candidate nodes from the group of nodes further comprises:
determining, by the system, from the group of nodes, the group of candidate nodes associated with the network address space based on an analysis of the network address space and node information relating to the group of nodes, wherein the node information comprises the respective first network addresses associated with the respective nodes of the group of nodes.
4. The method of claim 3 , wherein the group of nodes comprises the first available candidate node associated with the first network address and the second network address, the second available candidate node associated with the third network address, and a node associated with a fourth network address, and wherein the method further comprises:
based on the analysis of the network address space and the node information relating to the group of nodes:
determining, by the system, that the first available candidate node and the second available candidate node are to be included in the group of candidate nodes based on the first network address, the second network address, and the third network address being determined to be in the network address space; or
determining, by the system, that the node is not to be included in the group of candidate nodes based on the fourth network address being determined to not be in the network address space.
5. The method of claim 1 , wherein the determining of the group of available candidate nodes comprises determining the group of available candidate nodes from the group of candidate nodes based on respective services associated with the respective candidate nodes, the respective operational statuses of the respective candidate nodes or respective service operational statuses of the respective services associated with the respective candidate nodes, and the service type of the service associated with the client request.
6. The method of claim 5 , further comprising:
tracking, by the system, operational data associated with the group of candidate nodes, wherein the operational data relates to the respective operational statuses of the respective candidate nodes or the respective service operational statuses of the respective services associated with the respective candidate nodes;
analyzing, by the system, the operational data; and
based on the analyzing of the operational data, determining, by the system, the respective operational statuses of the respective candidate nodes or the respective service operational statuses of the respective services associated with the respective candidate nodes.
7. The method of claim 6 , wherein the group of candidate nodes comprises the first available candidate node, the second available candidate node, and a candidate node, wherein the respective services comprise a first service associated with the first available candidate node and a second service associated with the candidate node, wherein the respective operational statuses comprise a first operational status, which represents a first operational status of the first available candidate node or a first service operational status of the first service, and a second operational status, which represents a second operational status of the candidate node or a second service operational status of the second service, and wherein the method further comprises:
based on the operational data associated with the group of candidate nodes:
determining, by the system, that the first available candidate node is to be included in the group of available candidate nodes based on the first operational status indicating that the first available candidate node is active and available and the first service operational status indicating that the first service is available to be operated on the first node, wherein the first service corresponds to the service type of the service associated with the client request; or
determining, by the system, that the candidate node is not to be included in the group of available candidate nodes based on the second operational status indicating that the candidate node is inactive or unavailable or the second service operational status indicating that the second service is unavailable or does not correspond to the service type of the service associated with the client request.
8. The method of claim 1 , wherein the determining of the available candidate node of the group of available candidate nodes that is to process the client request comprises determining the available candidate node of the group of available candidate nodes that is to process the client request based on the respective bandwidths associated with the respective available candidate nodes, whether a safe failover is to be applied in connection with processing the client request, respective loads associated with the respective available candidate nodes, or respective speeds associated with respective interfaces associated with the second respective network addresses associated with the respective available candidate nodes, in accordance with the defined service performance criterion.
9. The method of claim 1 , wherein the ranking further comprises ranking the respective second network addresses associated with the respective available candidate nodes of the group of available candidate nodes based on the respective bandwidths associated with the respective available candidate nodes, whether a safe failover is to be applied in connection with processing the client request, respective loads associated with the respective available candidate nodes, or respective speeds associated with respective interfaces associated with the respective second network addresses, in accordance with the defined service performance criterion; and wherein the method further comprises:
based on the ranking, determining, by the system, a ranked order of the respective second network addresses associated with the respective available candidate nodes of the group of available candidate nodes, wherein one or more of the respective second network addresses is selectable to process the client request based on the ranked order of the respective second network addresses.
10. The method of claim 1 , wherein the client request is a first client request, and wherein the method further comprises:
receiving, by the system, a second client request associated with the client device and relating to the service, wherein the second client request requests that a specified node of the group of nodes process the second client request;
determining, by the system, that the specified node is not part of the network address space associated with the network address associated with the client device based on the network address space associated with the network address associated with the client device, and based on a specified network address associated with the specified node; and
in response to determining that the specified node is not part of the network address space associated with the network address associated with the client device, generating, by the system, an error message that indicates the specified node is not able to process the second client request.
11. The method of claim 1 , wherein the client request is a first client request, and wherein the method further comprises:
receiving, by the system, a second client request associated with the client device and relating to the service;
determining, by the system, that no node of the group of nodes is qualified to be the available candidate node that is able to process the second client request based on the network address space associated with the network address associated with the client device, the service type of the service, or the respective operational statuses or the respective first network addresses of the respective nodes; and
in response to determining that no node is qualified to be the available candidate node that is able to process the second client request, generating, by the system, an error message that indicates the no node is qualified to process the second client request.
12. A system, comprising:
a memory that stores computer executable components; and
a processor that executes computer executable components stored in the memory, wherein the computer executable components comprise:
a request component that receives a request from a device, wherein the request relates to a service; and
a network management component that, with regard to the request:
determines a group of candidate nodes from a group of nodes based on a network address space associated with a network address associated with the device and respective first network addresses associated with respective nodes of the group of nodes;
determines, from the group of candidate nodes, a group of available candidate nodes that is able to process the request based on a service type of the service, and respective operational statuses of respective candidate nodes of the group of candidate nodes, wherein the group of available candidate nodes comprises some candidate nodes of the group of candidate nodes, wherein the group of available candidate nodes comprises respective available candidate nodes comprising a first available candidate node and a second available candidate node, and wherein some of the respective first network addresses are respective second network addresses associated with the respective available candidate nodes;
ranks the second respective network addresses associated with the respective available candidate nodes of the group of available candidate nodes based on respective bandwidths associated with the respective available candidate nodes, wherein the second respective network addresses comprise a first network address and a second network address associated with the first available candidate node and a third network address associated with the second available candidate node, and wherein the ranking comprises ranking the first network address and the second network address higher than the third network address based on determining that a combined bandwidth associated with a combination of the first network address and the second network address that are associated with the first available candidate node is higher than a bandwidth associated with the second network address associated with the second available candidate node; and
determines an available candidate node of the group of available candidate nodes that is to process the request based on the ranking of the respective second network addresses associated with the respective available candidate nodes of the group of available candidate nodes and a defined service performance criterion associated with the device.
13. The system of claim 12 , wherein the available candidate node processes, writes, reads, stores, presents, or communicates data, wherein the available candidate node writes the data to a data store of the available candidate node, reads the data from the data store, or stores the data in the data store, wherein the available candidate node communicates the data to the device, another node, or another device, or wherein the available candidate node presents the data via an interface component.
14. The system of claim 12 , wherein the network management component determines the network address space associated with the network address associated with the device based on an analysis of request information or metadata associated with the request, wherein the request information or the metadata comprises a network identifier or a node identifier, wherein the network identifier comprises a specified network address to which the device is connected, a virtual local area network tag, or a name of the network address space, and wherein the network address associated with the client device is the specified network address to which the client device is connected.
15. The system of claim 14 , wherein the network management component determines whether the respective nodes of the group of nodes are to be included in the group of candidate nodes based on a first result of a first determination of whether the respective first network addresses associated with the respective nodes of the group of nodes are within the network address space.
16. The system of claim 15 , wherein the network management component determines the respective operational statuses of the respective candidate nodes of the group of candidate nodes based on operational data associated with the respective candidate nodes, wherein the operational data indicates the respective operational statuses of the respective candidate nodes or respective service operational statuses of respective services associated with the respective candidate nodes, and
wherein the network management component determines whether the respective candidate nodes of the group of candidate nodes are to be included in the group of available candidate nodes based on a second result of a second determination of whether the respective operational statuses of the respective candidate nodes or the respective service operational statuses of the respective services indicate that the respective candidate nodes are capable of performing, and are available to perform, the service associated with the request.
17. The system of claim 12 , wherein the network management component ranks the respective second network addresses associated with the respective available candidate nodes of the group of available candidate nodes based on the respective bandwidths associated with the respective available candidate nodes, whether a safe failover is to be applied in connection with processing the request, respective loads associated with the respective available candidate nodes, or respective speeds associated with respective interfaces associated with the respective second network addresses, in accordance with the defined service performance criterion, and
wherein, based on the ranking of the respective second network addresses associated with the respective available candidate nodes of the group of available candidate nodes, the network management component generates a ranked order of the respective second network addresses, and wherein one or more of the respective second network addresses is selectable for use in connection with the request based on the ranked order of the second respective network addresses.
18. The system of claim 12 , wherein the request is a first request, wherein the network management component receives a second request associated with the device and relating to the service, wherein the second request requests that a particular node of the group of nodes process the second request, and
wherein, based on the network address space associated with the network address associated with the device, and based on a particular network address associated with the particular node, the network management component determines that the particular node is not part of the network address space associated with the network address associated with the device and generates an error message that indicates the particular node is not able to process the second request.
19. A non-transitory machine-readable medium, comprising executable instructions that, when executed by a processor, facilitate performance of operations, comprising:
with regard to a query associated with a device, determining a group of candidate node devices from a group of node devices based on a network address space associated with a network address associated with the device and respective first network addresses associated with respective node devices of the group of node devices;
from a group of candidate node devices, determining a group of available candidate node devices that is able to process the query associated with the device and relating to a service based on a service type of the service, and respective operational statuses of respective candidate node devices of the group of candidate node devices, wherein the group of available candidate node devices comprises respective available candidate node devices comprising a first available candidate node device and a second available candidate node device, and wherein some of the respective first network addresses are respective second network addresses associated with the respective available candidate node devices;
determining respective ranking scores associated with the respective second network addresses associated with the respective available candidate node devices of the group of available candidate node devices based on respective bandwidths associated with the respective available candidate node devices, wherein the respective second network addresses comprise a first network address and a second network address associated with the first available candidate node device and a third network address associated with the second available candidate node device, and wherein a first ranking score associated with the first network address and a second ranking score associated with the second network address are higher than a third ranking score associated with the third network address based on determining that a combined bandwidth associated with the first network address and the second network address is higher than a bandwidth associated with the third network address; and
determining an available candidate node device of the group of available candidate node devices that is to process the query based on the respective ranking scores and a defined service performance criterion associated with the group of available candidate node devices.
20. The non-transitory machine-readable medium of claim 19 , wherein the determining of the available candidate node device of the group of available candidate node devices that is to process the query comprises determining one or more available candidate node devices of the group of available candidate node devices that is to process the query based on the respective bandwidths associated with the respective available candidate node devices, whether a safe failover is to be applied in connection with processing the query, respective loads associated with the respective available candidate node devices, or respective speeds associated with respective interfaces associated with the respective second network addresses associated with the respective available candidate node devices, in accordance with the defined service performance criterion, and wherein the one or more available candidate node devices comprises the available candidate node device.Join the waitlist — get patent alerts
Track US11909816B2 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.