Method, system and computer readable medium for discovering and tracking addresses
The DNS discoverer microservice obtains the addresses of 5G and non-5G service endpoints from the DNS server and monitors address changes, solving the problem that consumers NF or SCP lacks sufficient information for load balancing, and achieving a more uniform load distribution.
Patent Information
- Application Number
- CN202080042142.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-08-29
- Filing Date
- 2020-05-28
- Publication Date
- 2025-03-11
- Estimated Expiration
- 2040-05-28
AI Technical Summary
In 5G and non-5G telecommunications networks, consumer NF or SCP may lack sufficient information for traffic load balancing between service endpoints, especially if producer NF registers only at the NF service level or NF instance level.
Through the DNS discoverer microservice, DNS resolution requests are received from the requesting node, and the DNS server is queried using the extracted FQDN, obtain the address associated with the producer NF service endpoint, and store it in the database. The microservice also monitors changes in the FQDN address and notifies the requesting node of the change.
Active discovery and tracking of 5G and non-5G service endpoint addresses is realized, ensuring that consumer NF and SCP can perform uniform load balancing between producer NF service endpoints.
Smart Images

Figure CN114175596B_ABST
Abstract
Description
[0001] Priority claim
[0002] This application claims the benefit of priority to U.S. patent application Ser. No. 16 / 555,817, filed Aug. 29, 2019, the disclosure of which is incorporated herein by reference in its entirety. Technical Field
[0003] The subject matter described herein relates to discovering address information associated with service endpoints in a telecommunications network. More specifically, the subject matter described herein relates to methods, systems, and computer-readable media for actively discovering and tracking addresses associated with 5G and non-5G service endpoints. Background Art
[0004] In telecommunications networks, a service endpoint is an address on a network node that uniquely identifies the entity that provides a service to a service consumer. A service endpoint may include an Internet Protocol (IP) address or a combination of an IP address and a transport layer port number, also known as an IP endpoint.
[0005] In 5G telecommunication networks, a network node that provides services is called a producer network function (NF). A network node that consumes services is called a consumer NF. A network function can be either a producer NF or a consumer NF, depending on whether it consumes services or provides services.
[0006] A given producer NF may have many service endpoints. Producer NFs register with the Network Function Repository Function (NRF). NRF maintains NF profiles of available NF instances and the services they support. Consumer NFs can subscribe to receive information about producer NF instances that have registered with NRF.
[0007] In addition to consumer NFs, another type of network node that can subscribe to receive information about NF service instances is a service communication proxy (SCP). The SCP subscribes to the NRF and obtains reachability and service profile information about producer NF service instances. Consumer NFs connect to the service communication proxy, and the service communication proxy load balances traffic between producer NF service instances that provide the required service, or routes traffic directly to a specified producer NF.
[0008] One problem with the existing 3GPP service architecture is that the consumer NF or SCP may not have enough information to load balance traffic between service endpoints exposed by the producer NF service instance. In one case, the producer NF may only register its FQDN at the NF service level without separately registering the domain name, IP address or IP endpoint of the producer NF service. In another case, the producer NF may only register its FQDN at the NF instance level without separately registering the IP address or IP endpoint or FQDN of the service at the NF service level.
[0009] In any of these cases, the consumer NF or SCP must obtain the IP address or IP endpoint associated with the service endpoint to contact the respective service endpoint. Generally speaking, the IP address or IP endpoint corresponding to a domain name can be determined using the Domain Name System (DNS). In the above-mentioned 5G network architecture, the service endpoint IP address needs to be notified to the service consumer whenever the NF registers or updates its profile. Another situation where the consumer NF or SCP needs to be updated with the IP address or IP endpoint of the service occurs when the IP address or IP endpoint changes without a corresponding NF profile or service update. Although the IP address or IP endpoint can be discovered through DNS, there is no automatic process for notifying the service consumer when the IP address or IP endpoint associated with the service changes.
[0010] Therefore, there is a need for methods, systems, and computer-readable media for actively discovering and tracking addresses associated with 5G and non-5G service endpoints. Summary of the invention
[0011] A method for discovering and tracking an address associated with a producer network function (NF) service endpoint. The method includes receiving a first domain name system (DNS) resolution request from a requesting node. The method also includes querying a DNS server using a fully qualified domain name (FQDN) extracted from the first DNS resolution request. The method also includes receiving a first response from the DNS server, the first response including an address associated with a producer NF service endpoint associated with the FQDN. The method also includes storing the address associated with the producer NF service endpoint in a database. The method also includes transmitting the address associated with the producer NF service to the requesting node. The method also includes monitoring the FQDN for changes in the address associated with the FQDN. The method also includes notifying the requesting node of changes in the address associated with the FQDN.
[0012] According to an aspect of the subject matter described herein, receiving a first DNS resolution request includes receiving the first DNS resolution request from a service communication proxy (SCP).
[0013] According to another aspect of the subject matter described herein, receiving the first DNS resolution request includes receiving the first DNS resolution request from a consumer NF or a non-5G service consumer.
[0014] According to yet another aspect of the subject matter described herein, receiving the first DNS resolution request includes receiving the first DNS resolution request at a representational state transfer (REST) server interface provided by a DNS discoverer microservice.
[0015] According to yet another aspect of the subject matter described herein, querying the DNS server includes querying the DNS server from a DNS finder microservice that is separate from the consumer NF or SCP and the DNS server. In this context, "separate from" means that the DNS finder microservice is implemented on a computing platform that is separate from the consumer NF or SCP that needs to resolve the domain name and is also separate from the computing platform that hosts the DNS server. In an alternative embodiment, the DNS finder microservice can be implemented on the same computing platform as the consumer NF or SCP.
[0016] According to yet another aspect of the subject matter described herein, storing addresses associated with the producer NF service includes storing the addresses in a database local to the DNS discoverer microservice along with a time to live for each address received from a DNS server.
[0017] According to yet another aspect of the subject matter described herein, for each address received from a DNS server along with a time-to-live value when stored in a record in a database, a timer is started for a time period received in the time-to-live field.
[0018] According to yet another aspect of the subject matter described herein, monitoring the FQDN includes: detecting expiration of a record storing an address associated with a producer NF service in a database; in response to detecting the expiration of the record, querying a DNS server using the FQDN; receiving a second response from the DNS server; comparing the address in the second response with the address in the record stored in the database; and in response to the address in the second response being different from the address in the record stored in the database, determining that a change in the address associated with the FQDN has occurred.
[0019] According to yet another aspect of the subject matter described herein, an address associated with a producer NF service instance comprises an Internet Protocol (IP) address or an IP endpoint.
[0020] According to yet another aspect of the subject matter described herein, monitoring the FQDN for changes in the address includes continuously monitoring the FQDN for changes in the address until stopped in response to a message from the requesting node to stop monitoring the FQDN.
[0021] According to yet another aspect of the subject matter described herein, the message from the requesting node to stop monitoring the FQDN includes a second DNS resolution request including a DELETE method type, and in response, monitoring the FQDN is stopped.
[0022] According to yet another aspect of the subject matter described herein, the DNS discoverer microservice includes a representational state transfer (REST) server interface for stopping monitoring of an FQDN from a requesting node.
[0023] According to another aspect of the subject matter described herein, a system for discovering and tracking a producer network function (NF) service endpoint includes a computing platform including at least one processor. The system also includes a domain name system (DNS) discovery microservice located on the computing platform and implemented by the at least one processor, for receiving a first domain name system (DNS) resolution request, querying a DNS server using a fully qualified domain name (FQDN) extracted from the first DNS resolution request, receiving a first response from the DNS server, the first response including an address associated with a producer NF service endpoint associated with the FQDN, storing the address associated with the producer NF service endpoint in a database, transmitting the address associated with the producer NF service endpoint to a requesting node, monitoring the FQDN for changes in the address associated with the FQDN, and notifying the requesting node of the change in the address associated with the FQDN.
[0024] According to yet another aspect of the subject matter described herein, a DNS discoverer microservice is configured to receive a first DNS resolution request from a service communication proxy (SCP).
[0025] According to yet another aspect of the subject matter described herein, the DNS discoverer microservice is configured to serve a first DNS resolution request from a consumer NF or non-5G service consumer.
[0026] According to yet another aspect of the subject matter described herein, a DNS discoverer microservice includes a representational state transfer (REST) server interface for receiving a first DNS resolution request from a requesting node.
[0027] According to yet another aspect of the subject matter described herein, a computing platform and a DNS discoverer microservice are decoupled from requesting nodes and a DNS server.
[0028] According to yet another aspect of the subject matter described herein, the database is local to the DNS discoverer microservice.
[0029] According to another aspect of the subject matter described herein, a DNS discoverer microservice includes a DNS record change discoverer for performing monitoring of an FQDN by: detecting expiration of a record storing an address associated with a producer NF service endpoint in a database; in response to detecting the expiration of the record, querying a DNS server using the FQDN; receiving a second response from the DNS server; and comparing the address in the second response with the address in the record stored in the database; in response to the address in the second response being different from the address in the record stored in the database, determining that the address associated with the FQDN has changed.
[0030] According to yet another aspect of the subject matter described herein, an address associated with a producer NF service endpoint comprises an Internet Protocol (IP) address or an IP endpoint.
[0031] According to yet another aspect of the subject matter described herein, the DNS record change finder is configured to continuously monitor the FQDN for changes to an address associated with the FQDN until stopped in response to a message from a requesting node to stop monitoring the FQDN.
[0032] According to another aspect of the subject matter described herein, a non-transitory computer-readable medium having executable instructions stored thereon is provided, which, when executed by a processor of a computer, controls the computer to perform steps. These steps include receiving a first domain name system (DNS) resolution request from a requesting node. These steps include querying a DNS server using a fully qualified domain name (FQDN) extracted from the first DNS resolution request. These steps also include receiving a first response from the DNS server, the first response including an address associated with a producer NF service endpoint associated with the FQDN. These steps also include storing the address associated with the producer NF service endpoint in a database. These steps also include transmitting the address associated with the producer NF service endpoint to the requesting node. These steps also include monitoring the FQDN for changes in the address associated with the FQDN. These steps also include notifying the requesting node of changes in the address associated with the FQDN.
[0033] The subject matter described herein can be implemented in hardware, software, firmware, or any combination thereof. Thus, the terms "function," "node," or "module," as used herein, refer to hardware for implementing the described features, which may also include software and / or firmware components. In an exemplary embodiment, the subject matter described herein may be implemented using a computer-readable medium having computer-executable instructions stored thereon, which, when executed by a processor of a computer, controls the computer to perform steps. Exemplary computer-readable media suitable for implementing the subject matter described herein include non-transitory computer-readable media, such as disk storage devices, chip memory devices, programmable logic devices, and application-specific integrated circuits. In addition, the computer-readable medium that implements the subject matter described herein may be located on a single device or computing platform, or may be distributed across multiple devices or computing platforms. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] The subject matter described herein will now be explained with reference to the accompanying drawings, in which:
[0035] Figure 1 is a network diagram illustrating an exemplary 5G network architecture;
[0036] Figure 2 is a network diagram illustrating load balancing between a 5G producer NF service instance and service endpoints exposed by the 5G producer NF service instance through a service communication proxy;
[0037] Figure 3 is a network diagram illustrating a DNS discoverer microservice that enables a consumer NF or SCP to discover address information associated with a producer NF service endpoint;
[0038] Figure 4 is a call flow diagram illustrating an exemplary messaging for obtaining address information of a producer NF service endpoint using a DNS discoverer microservice;
[0039] Figure 5 is a call flow diagram illustrating the DNS change monitoring and control process using the DNS discoverer microservice;
[0040] Figure 6 is a call flow diagram illustrating a stop DNS call flow using a DNS discoverer microservice;
[0041] Figure 7 is a block diagram illustrating a network node implementing a DNS discoverer microservice; and
[0042] Figure 8 is a flow chart illustrating an exemplary process of using a DNS discoverer microservice to discover and monitor address information associated with 5G and non-5G service endpoints. DETAILED DESCRIPTION
[0043] The subject matter described herein relates to methods, systems, and computer-readable media for discovering and actively tracking address information associated with 5G and non-5G service endpoints. Figure 1 is a block diagram illustrating an exemplary 5G system network architecture. Figure 1 The architecture in includes NRF 100 and SCP 101, which can be located in the same Home Public Land Mobile Network (HPLMN). As described above, NRF 100 can maintain profiles of available producer NF service instances and their supported services, and allow consumer NF or SCP to subscribe and be notified of registration of new / updated producer NF service instances. SCP 101 can also support service discovery and selection of producer NF. In addition, SCP 101 can load balance connections between consumer and producer NFs.
[0044] NRF 100 is a repository of NF profiles. In order to communicate with producer NF, consumer NF or SCP must obtain NF profiles from NRF 100. NF profile is a JSON data structure defined in 3GPP TS 29.510. Table 1 shown below illustrates the attributes of NF profiles as defined in 3GPP TS 29.510.
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053] Table 1: NF profile definition
[0054] As indicated in Table 1, the NF profile definition includes at least one of an FQDN, an IP version 4 address, or an IP version 6 address. However, it is not required that the NF profile include individual IP addresses or IP endpoints associated with a producer NF service endpoint located on a producer NF service instance.
[0055] exist Figure 1In the example shown, any of the nodes (except SCP 101 and NRF 101) can be a consumer NF or a producer NF, depending on whether they are requesting services or providing services. In the illustrated example, the nodes include a policy control function (PCF) 102 that performs policy-related operations in the network, a user data management (UDM) function 104 that manages user data, and an application function (AF) 106 that provides application services. Figure 1 The nodes shown in FIG. 1 also include a session management function (SMF) 108 that manages sessions between an access and mobility management function (AMF) 110 and PCF 102. AMF 110 performs mobility management operations similar to those performed by a mobility management entity (MME) in a 4G network. Authentication server function (AUSF) 112 performs authentication services for user equipment (UE) such as UE 114 that seeks to access the network.
[0056] The Network Slice Selection Function (NSSF) 116 provides network slicing services to devices seeking to access specific network capabilities and features associated with a network slice. The Network Exposure Function (NEF) 118 provides an Application Programming Interface (API) for application functions seeking to obtain information about Internet of Things (IoT) devices and other UEs attached to the network. The NEF 118 performs functions similar to the Service Capability Exposure Function (SCEF) in 4G networks.
[0057] Radio access network (RAN) 120 connects UE 114 to the network via a wireless link. g-NodeB (gNB) ( Figure 1 The UE 114 may use a wireless access point (not shown) or other wireless access point to access the radio access network 120. The user plane function (UPF) 122 may support various proxy functions for user plane services. An example of such a proxy function is a multipath transmission control protocol (MPTCP) proxy function. The UPF 122 may also support a performance measurement function that may be used by the UE 114 to obtain network performance measurements. Figure 1 Also illustrated in FIG. 1 is a data network (DN) 124 through which the UE accesses data network services (such as Internet services).
[0058] You can use the DNS discoverer micro-service described in this article to track DNS servers residing on Figure 1The address information associated with the service endpoint on any NF providing the service as shown in . In addition, the non-5G service endpoints providing services under a given FQDN can be discovered and tracked by the DNS discovery microservice described in this article. Therefore, the term "producer NF service endpoint" as used herein is intended to refer to the service endpoint present on any 5G or non-5G service provider node. Non-5G service provider nodes include 3G, 4G or next generation (post-5G) counterpart nodes and non-3GPP service provider nodes.
[0059] As described above, producer NFs register their NF profiles with NRFs. Consumer NFs can discover producer NFs that have registered to provide specific services by obtaining NF profiles from NRFs. Consumer NFs can communicate directly with NF service producer NFs. Alternatively, consumer NFs can communicate indirectly with producer NFs via SCPs. In direct communication mode, consumer NFs perform discovery of target producer NFs through local configuration or via NRF. Then consumer NFs communicate directly with target service producer NFs. In indirect communication mode, consumer NFs send service request messages to SCPs, and SCPs can perform service discovery and selection of producer NFs on behalf of consumer NFs. In direct or indirect communication mode, the DNS discoverer microservice described herein can receive DNS resolution requests from consumer NFs or from SCPs, query DNS servers on behalf of consumer NFs or SCPs, transmit address information associated with producer NF service endpoints to consumer NFs or SCPs, and continuously monitor the FQDNs received in DNS resolution requests for changes in addresses associated with FQDNs.
[0060] Figure 1 One problem that arises in the architecture illustrated in is that the service communication broker or consumer NF may not have enough information to load balance between the service endpoints residing on the producer NF service instances. Figure 2 This diagram illustrates the problem. Figure 2 , the service communication agent 101 resides between the 5G consumer NFs 200 and 202 and the 5G producer NFs 204 and 206. The 5G producer NF 204 includes producer NF service endpoints 204A and 204B. The 5G producer NF service instance 206 includes producer NF service endpoints 206A and 206B.
[0061] In operation, consumer NFs 200 and 202 are connected to the service communication agent 101, and the service communication agent 101 load balances traffic between producer NF service endpoints. The service communication agent 101 determines the producer NF service endpoints for load balancing from the above-mentioned NF profiles and the NF service contents that producer NFs 204 and 206 have registered with the NRF 100. However, as described above, since there is no need to register address information associated with each service endpoint, the load balancing performed by the SCP 101 may not evenly balance the load between the service endpoints.
[0062] As described above, in one case, the producer NF service instance may register only the fully qualified domain name at the NF service level. In another case, the IP endpoint and fully qualified domain name may not be registered at the NF service level, and only the fully qualified domain name may be registered at the NF instance level. In either of these cases, the service communication agent lacks sufficient information to perform appropriate load balancing.
[0063] The service communication agent can determine the IP endpoint of the service instance directly by the NF service or NF service instance through the DNS-SRV record. In another example, the IP address can be exposed by the NF service or NF service instance through the DNS A / AAAA record, and the port is taken as the SCP configuration.
[0064] The SCP needs to know the address of the producer NF service endpoint when any NF registers or renews registration. It is also necessary to know the address of the producer NF service endpoint when the IP address or IP endpoint changes without any NF profile or NF service update. The SCP needs to track these changes for the purpose of continuous routing and load balancing. The DNS discoverer microservice described in this article discovers the address of the producer NF service endpoint and monitors the FQDN for changes in the address associated with the FQDN.
[0065] As described above, the DNS Discoverer (DNS-D) microservice solves at least some of the problems associated with the discovery and tracking of service endpoints. The DNS Discoverer microservice queries the DNS server to obtain the address information of the producer NF service endpoint and provides this information to the SCP or consumer NF. Figure 3 is a network diagram that illustrates the network architecture including the DNS Discoverer microservice. Figure 3, the DNS discoverer microservice 300 can be implemented on a computing platform separate from or the same as the SCP microservice or consumer NF 302. The DNS discoverer microservice 300 includes a DNS discoverer DNS client 304 that interfaces with an external DNS server 306. The DNS discoverer microservice 300 also includes a database adapter 308 that maintains NF service endpoint information in a persistent database 310. The DNS discoverer microservice 300 includes a DNS discoverer server interface 312 that exposes the DNS discoverer microservice to the SCP microservice or consumer NF 302 or non-5G service consumer. In the illustrated example, the server interface 312 is a representative state transfer (REST) interface that interfaces with a REST client 314 provided by the SCP microservice 302. The DNS discoverer microservice 300 also includes a DNS discoverer REST client 316 that interfaces with a server interface 318 of the SCP microservice or consumer NF 302.
[0066] The DNS discoverer microservice 300 can be used to solve the above-mentioned (one or more) challenges. In one example, the DNS discoverer microservice 300 can expose a REST / HTTP interface to listen for DNS resolution / monitoring requests from SCP or any other (one or more) service consumers. (One or more) consumers send DNS requests as HTTP POST messages with callback uniform resource indicators (URIs) where DNS responses are expected. As an asynchronous service, the DNS discoverer microservice 300 sends back a 201 created message indicating that the request is accepted. The DNS discoverer microservice 300 uses the requested FQDN to query external DNS servers. After obtaining successful DNS resolution from these external DNS servers, the DNS discoverer microservice 300 sends a DNS response to the callback URI received in the DNS resolution request as an HTTP PUT request. The DNS discoverer microservice 300 caches / stores the DNS query responses from (one or more) external DNS servers and the survival time (TTL) (received in the response from the DNS server) to enable DNS change monitoring (discussed below).
[0067] The DNS discoverer microservice 300 continuously monitors (until stopped) all requested FQDNs within the TTL received in the DNS query response. The DNS response from the external DNS server is matched with the stored response at each iteration. The difference is indicated to the consumer in the callback URI as an HTTP PUT request. (One or more) consumers can choose to stop monitoring by sending an HTTP DELETE request message to the DNS discovery microservice 300.
[0068] Figure 4300 is a call flow diagram illustrating a DNS request service executed by a DNS finder microservice 300. The DNS finder microservice 300 includes the above Figure 3 components shown and described. Figure 3 In addition to the components shown in , the DNS discoverer microservice 300 includes a DNS record change discoverer 400 that monitors the requested fully qualified domain name within the time-to-live value received in the DNS query response, re-queries the DNS server 306 when the TTL has expired, and communicates changes in the resolved IP address or IP endpoint to the consumer NF, SCP or non-5G service consumer.
[0069] refer to Figure 4 In the call flow in FIG. 1 , in line 1, a DNS consumer (such as an SCP microservice or consumer NF 302) sends a DNS resolution request to the server interface of the DNS discoverer microservice 300. The DNS resolution request includes the FQDN to be resolved, a DNS query type, where the query type indicates an IP address or IP endpoint, a cookie identifier, and a callback URI for DNS responses and updates that is sent on the DNS discoverer REST client 316 to the DNS consumer that issued the query.
[0070] In line 2 of the call flow diagram, the DNS discoverer server interface 312 sends a response indicating that the request has been received and accepted.
[0071] In line 3 of the call flow diagram, the DNS client component 304 of the DNS discoverer microservice 300 sends a query to the external DNS server 306 to resolve the fully qualified domain name in the DNS resolution request.
[0072] In line 4 of the call flow diagram, the DNS server 306 responds to the DNS client 304 with a response to the DNS query. The response may include one or more IP addresses or IP endpoints that reside on the producer NF service instance corresponding to the FQDN in the DNS query.
[0073] In line 5 of the call flow diagram, the DNS client component 304 transmits the IP address or IP endpoint information to the DNS discoverer database adapter 308, and the DNS discoverer database adapter 308 forwards the response to the persistence database 310. The response includes the fully qualified domain name from the DNS resolution request, the resolved IP address (or IP address and port, depending on the type of response), and an expiration time that is the minimum TTL value of all TTL values of the DNS resource records received in the query response.
[0074] In line 6, the DNS discoverer database adapter 308 sends a message to the DNS discoverer REST client 316 indicating that the database record has been created, and the DNS discoverer client 316 sends a DNS response to the SCP microservice or consumer NF 302. The DNS response is sent for the callback URI received in the request. In line 7, the SCP microservice or consumer NF 302 sends a 200 OK response to the DNS discoverer REST client 316.
[0075] The DNS record change finder 400 detects changes in the resolved IP address or IP endpoint corresponding to the monitored FQDN. The DNS record change finder 400 can periodically retrieve all DNS records from the storage device and identify any records whose TTL received in the DNS query response has passed. For each record whose TTL has passed, the DNS record change finder 400 can re-query the external DNS server to determine any changes. If any changes have occurred, then no further action is required. If changes have occurred, then the DNS record change finder 400 can notify the consumer NF or SCP subscribed to a given service through a REST / HTTP PUT request to the callback URI received in the original DNS request. Figure 5 This is a call flow diagram that illustrates the DNS change monitoring call flow. Figure 5 In line 1, the DNS record change finder 400 calculates the current timestamp. In line 2, the DNS record change finder 400 queries the persistence database 310 for all records with a past TTL or expiration time. In line 3 of the call flow diagram, the persistence database 310 returns the DNS record with the past call flow to the DNS record change finder 400.
[0076] In line 4 of the call flow diagram, the DNS record change finder 400 notifies the DNS finder client 304 of each FQDN whose TTL has passed. In line 5, the DNS finder client 304 queries the external DNS server 306 for each FQDN whose TTL has passed. In line 6 of the call flow diagram, the DNS finder DNS client 304 receives a DNS query response for each FQDN queried in line 5. In line 7, the DNS finder DNS client 304 notifies the DNS record change finder of the IP address or IP endpoint received in the response in line 6. The DNS record change finder 400 determines whether the received IP address or IP endpoint matches the stored data for each FQDN. If the IP address or IP endpoint matches, then no further action is required on the part of the DNS record change finder 400. However, if the IP address or IP endpoint does not match, then in line 8, the DNS record change finder 400 transmits the changed IP address or IP endpoint to the DNS finder REST client 316. The DNS discoverer REST client 316 notifies the SCP microservice or consumer NF 302 of the change of the IP address or IP endpoint using an HTTP put request to the callback URI received in the original request. In line 9 of the call flow diagram, the DNS SCP microservice or consumer NF 302 acknowledges the receipt of the DNS response in line 8.
[0077] Another operation performed by the DNS discoverer microservice 300 is to stop DNS monitoring (eg, when a consumer NF or SCP notifies the DNS discoverer microservice 300 that the consumer NF or SCP desires to stop monitoring a given FQDN). Figure 6 The diagram shows the calling process. Figure 6 , in line 1, the SCP microservice or consumer NF 302 sends a DNS resolution request with the FQDN to be resolved, but specifies a delete method to stop DNS monitoring for the FQDN. In line 2 of the call flow diagram, the DNS discoverer server interface 312 responds to the client, indicating that the request has been accepted. In line 3 of the call flow diagram, the DNS discoverer server interface 312 notifies the DNS discoverer database adapter 308 that the consumer expects to stop monitoring the FQDN. The DNS discoverer database adapter 308 sends a message to the persistent database 310 to remove or update the record corresponding to the FQDN and notification URL specified in the original DNS resolution request from the persistent database 310. The message in line 3 will cause the DNS record change finder 400 to stop re-querying the DNS server 306 for the FQDN of this particular consumer.
[0078] Figure 7is a block diagram illustrating an exemplary architecture of a computing platform including a DNS discoverer microservice 300. Figure 7 , the computing platform 700 includes at least one processor 702 and a memory 704. The DNS finder microservice 300 may be implemented by executable instructions implemented in the memory 704. In the illustrated example, the DNS finder microservice 300 includes a DNS finder server interface 312, a DNS finder DNS client 304, a DNS finder REST client 316, a DNS finder database adapter 308, and a DNS record change finder 400. A persistent database 310 may also reside in the computing platform 700 for storing IP addresses or IP endpoints for resolved FQDNs.
[0079] Figure 8 is a flow chart illustrating an exemplary process for proactively discovering and tracking address information associated with 5G and non-5G service endpoints. Figure 8 In step 800, a DNS resolution request is received from a requesting node. For example, the DNS discoverer microservice 300 may receive a DNS resolution request with a FQDN from a DNS discoverer consumer (such as an SCP, a consumer NF, or a non-5G service consumer).
[0080] In step 802, the DNS server is queried using the FQDN in the DNS resolution request. For example, the DNS discoverer microservice 300 can query the external DNS server 306 using the FQDN in the DNS request received from the DNS discoverer consumer.
[0081] In step 804, a DNS response is received from the DNS server, and in step 806, the address of the producer NF service endpoint is stored in the DNS discoverer database (i.e., in the persistent database 310). For example, the DNS discoverer microservice 300 may receive a DNS response from the DNS server 306 and store the IP address or IP endpoint associated with the producer NF service endpoint in the database 310. In one example, the DNS resolution request from the DNS discoverer microservice 300 may be a DNS-A resolution request, and the DNS server 306 may return one or more IPv4 addresses corresponding to one or more service endpoints associated with the FQDN. In another example, the DNS resolution request may be a DNS-AAAA request, and the DNS server 306 may return one or more IPv6 addresses corresponding to one or more service endpoints associated with the FQDN. In yet another example, the DNS resolution request may be a DNS-SRV request, and the DNS server may return (one or more) IP addresses and (one or more) port numbers corresponding to one or more service endpoints associated with the FQDN.
[0082] In step 808, a DNS response is sent to the requesting node. For example, the DNS discoverer microservice 300 can send a response to the requesting node, the response including an address associated with the producer NF service endpoint received in the DNS response from the DNS server 306.
[0083] The FQDNs in the DNS discoverer database are monitored for changes in address in step 810. For example, the DNS record change discoverer 400 may query the external DNS server 306 for each FQDN whose TTL has expired in the database 310 to determine any IP address or IP endpoint changes.
[0084] In step 812, the requesting node is notified of any changes to the IP address or IP endpoint associated with the FQDN. For example, the DNS record change finder 400 may notify the SCP microservice or consumer NF 302 of any detected changes to the IP address(es) or IP endpoint(s) associated with the FQDN that the SCP microservice or consumer NF 302 has queried the DNS discoverer microservice 300.
[0085] Thus, the subject matter described herein includes a DNS discoverer microservice that discovers the IP address or IP endpoint associated with a producer NF service endpoint and monitors the FQDN for changes in such address. One advantage of such a service is that the consumer NF and SCP do not need to discover or actively monitor the producer NF for changes in the IP address or IP endpoint associated with the service. The consumer NF or SCP only needs to know the FQDN of the service and communicate the FQDN to the DNS discoverer microservice. Furthermore, since the DNS discoverer microservice actively monitors the FQDN for changes in the IP address or IP endpoint, the load balancing of nodes such as SCPs and consumer NFs will be more evenly distributed among the producer NF service endpoints.
[0086] It will be understood that various details of the presently disclosed subject matter may be varied without departing from the scope of the presently disclosed subject matter. Furthermore, the foregoing description is for the purpose of illustration only, and not for the purpose of limitation.
Claims
1. A method for discovering and tracking addresses associated with a producer network function NF service endpoint, the method comprising: The following operations are performed at a DNS discoverer microservice that is separate from a domain name system DNS server and a requesting node, wherein the requesting node includes a service communication proxy SCP, a consumer NF, or a non-5G service consumer: Receiving a first DNS resolution request from a requesting node; querying a DNS server using the fully qualified domain name FQDN extracted from the first DNS resolution request; receiving a first response from the DNS server, the first response including an address associated with a producer NF service endpoint associated with the FQDN; Storing the address associated with the producer NF service endpoint in a database; Transmit the address associated with the producer NF service endpoint to the requesting node; Monitoring the FQDN for changes to an address associated with the FQDN, wherein monitoring the FQDN comprises: Detecting expiration of records in a database storing addresses or associated with a producer NF service endpoint; In response to detecting expiration of the record, querying a DNS server using the FQDN; receiving a second response from the DNS server; comparing the address in the second response to an address associated with the FQDN in a record stored in a database; and In response to the address in the second response being different than the address associated with the FQDN in a record stored in the database, determining that the address associated with the FQDN has changed; and The requesting node is notified of the change of the address associated with the FQDN.
2. The method of claim 1, wherein receiving the first DNS resolution request comprises receiving the first DNS resolution request at a representative state transfer REST server interface provided by a DNS discoverer microservice.
3. The method of claim 2, wherein storing the address associated with the producer NF service comprises storing the address in a database local to the DNS discoverer microservice.
4. The method of any one of claims 1-3, wherein the address associated with the producer NF service endpoint comprises an Internet Protocol (IP) address or an IP endpoint.
5. The method of any one of claims 1-3, wherein monitoring the FQDN for a change in the address comprises continuously monitoring the FQDN for a change in the address until stopped in response to a message from the requesting node to stop monitoring the FQDN.
6. The method of claim 5, wherein the message from the requesting node to stop monitoring the FQDN comprises a second DNS resolution request, the second DNS resolution request comprises a DELETE method type, and in response, monitoring the FQDN is stopped.
7. A system for discovering and tracking addresses associated with producer network function (NF) service endpoints, the system comprising: A computing platform including at least one processor; as well as A domain name system DNS discoverer microservice, located on the computing platform, the DNS discoverer microservice is separated from a DNS server and a requesting node, wherein the requesting node includes a service communication agent SCP, a consumer NF, or a non-5G service consumer, and the DNS discoverer microservice is implemented by the at least one processor, and is used to receive a first DNS resolution request from the requesting node, query a DNS server using a fully qualified domain name FQDN extracted from the first DNS resolution request, receive a first response from the DNS server, the first response including an address associated with a producer NF service endpoint associated with the FQDN, store the address associated with the producer NF service endpoint in a database, transmit the address associated with the producer NF service endpoint to the requesting node, monitor the FQDN for changes in the address associated with the FQDN, and notify the requesting node of the change in the address associated with the FQDN, wherein the DNS discoverer microservice includes a DNS record change discoverer for performing the monitoring of the FQDN by: Detecting expiration of a record in a database storing an address associated with a producer NF service endpoint; In response to detecting expiration of the record, querying a DNS server using the FQDN; receiving a second response from the DNS server; comparing the address in the second response with an address associated with the producer NF service endpoint in a record stored in the database; as well as In response to the address in the second response being different than the address associated with the producer NF service endpoint in a record stored in the database, it is determined that the address associated with the FQDN has changed.
8. The system of claim 7, wherein the DNS discoverer microservice comprises a representative state transfer REST server interface for receiving a first DNS resolution request from a requesting node.
9. The system of claim 7, wherein the database is local to the DNS discoverer microservice.
10. The system of any one of claims 7 to 9, wherein the address associated with the producer NF service endpoint comprises an Internet Protocol (IP) address or an IP endpoint.
11. The system of any one of claims 7 to 9, wherein the DNS record change finder is configured to continuously monitor the FQDN for changes in the address until stopped in response to a message from the requesting node to stop monitoring the FQDN.
12. A non-transitory computer readable medium having executable instructions stored thereon, wherein the instructions, when executed by a processor of a computer, control the computer to perform the following steps: The following operations are performed at a DNS discoverer microservice that is separate from a domain name system DNS server and a requesting node, wherein the requesting node includes a service communication proxy SCP, a consumer NF, or a non-5G service consumer: Receiving a first DNS resolution request from a requesting node; querying a DNS server using the fully qualified domain name FQDN extracted from the first DNS resolution request; receiving a first response from the DNS server, the first response comprising an address associated with a producer network function (NF) service endpoint associated with the FQDN; Storing the address associated with the producer NF service endpoint in a database; Transmit the address associated with the producer NF service endpoint to the requesting node; Monitoring the FQDN for changes to an address associated with the FQDN, wherein monitoring the FQDN comprises: Detecting expiration of records in a database storing addresses or associated with a producer NF service endpoint; In response to detecting expiration of the record, querying a DNS server using the FQDN; receiving a second response from the DNS server; comparing the address in the second response to an address associated with the FQDN in a record stored in a database; and In response to the address in the second response being different than the address associated with the FQDN in a record stored in the database, determining that the address associated with the FQDN has changed; and The requesting node is notified of the change of the address associated with the FQDN.
Citation Information
Patent Citations
Application server switching method, device and system
CN109788078A
Client-Side Management of Domain Name Information
US20090222584A1
Method and apparatus for improving service discovery
WO2019144321A1