Computing aware service addressing and routing

By obtaining the computational metrics of a group of computing service instances from network devices and selecting appropriate computing service instances, the inefficiency of existing network and computing resource optimization schemes is solved, achieving efficient computing service selection and real-time performance satisfaction. This is suitable for high-requirement scenarios such as augmented reality and virtual reality in 5G networks.

CN121925831APending Publication Date: 2026-04-24ALCATEL LUCENT SHANGHAI BELL CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
ALCATEL LUCENT SHANGHAI BELL CO LTD
Filing Date
2023-05-30
Publication Date
2026-04-24

AI Technical Summary

Technical Problem

Existing network and computing resource optimization solutions fail to effectively combine the needs of network and computing resources, resulting in inefficient selection of computing services in high-bandwidth and low-latency scenarios, and failing to meet the real-time performance requirements of new services such as augmented reality and virtual reality.

Method used

By receiving DNS queries in network devices, the computing metrics of computing service instance groups are obtained, and appropriate computing service instances are selected based on these metrics. The optimal path is selected in combination with network metrics, thereby realizing computing-aware service addressing and routing.

Benefits of technology

It improves the efficiency of computing service selection, ensures real-time performance in high-bandwidth and low-latency scenarios, and meets the computing requirements of new services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121925831A_ABST
    Figure CN121925831A_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to compute aware service addressing and routing. In one aspect, a first network device receives a message from a second network device, the message being associated with a domain name system (DNS) query from a terminal device. The DNS query requests available services from a group of compute service instances. The first network device then obtains at least one type of computation metric for the group of compute service instances. Based on the at least one type of computing metric, the first network device performs a selection of a computing service instance from a group of computing service instances for a DNS query from the terminal device. Thus, the network can select an appropriate computing service instance at the granularity requested by each terminal device. Therefore, the communication efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of this disclosure generally relate to the field of communications, and particularly to network devices, methods, apparatuses, and computer-readable storage media for computation-aware service addressing and routing. Background Technology

[0002] With the development of 5G networks, new services such as augmented reality (AR), virtual reality (VR), cloud gaming, metaverse, vehicle-to-everything (V2X), telemedicine, and the industrial internet place high demands on both computing and network resources. For network resources, these scenarios require exceptionally high bandwidth and low latency. For computing resources, in some cases requiring specific types of hardware (such as graphics processing units (GPUs), guaranteed real-time performance is expected. To meet latency requirements, computation needs to be performed either locally on the network or at the network edge.

[0003] Therefore, these new services act as a catalyst for the concepts of Network and Computation Integration (INC) or Computation and Network Convergence (CNC), which aim to jointly optimize network and computing resources while meeting the requirements of applications for both. However, improvements in the optimization of network and computing resources are still needed. Summary of the Invention

[0004] Overall, the exemplary embodiments of this disclosure provide a solution for addressing and routing computation-aware services.

[0005] In a first aspect, a first network device is provided. The first network device includes at least one processor; and at least one memory storing instructions, which, when executed by the at least one processor, cause the first network device to at least: receive a message from a second network device associated with a Domain Name System (DNS) query from a terminal device, wherein the DNS query requests available services from a group of computing service instances; obtain at least one type of computing metric from the group of computing service instances; and, based on the at least one type of computing metric, perform selection of a computing service instance from the group of computing service instances in response to the DNS query from the terminal device.

[0006] In a second aspect, a second network device is provided. The second network device includes at least one processor; and at least one memory storing instructions, which, when executed by the at least one processor, cause the second network device to at least: send a first message instructing a DNS query to a first network device based on a Domain Name System (DNS) query received from a terminal device; receive a second message from the first network device instructing the forwarding of a DNS query to a local DNS server or a central DNS server; and send a DNS query to the local DNS server or the central DNS server based on the second message.

[0007] In a third aspect, a second network device is provided. The second network device includes at least one processor; and at least one memory storing instructions, which, when executed by the at least one processor, cause the second network device to at least: send a first message instructing a first DNS query to the first network device based on receiving a first Domain Name System (DNS) query from a terminal device; receive a second message from the first network device instructing the addition of a subnet option value to the first DNS query to obtain a second DNS query, wherein the subnet option value indicates network access information or the location of the terminal device; and send the second DNS query to a DNS server.

[0008] In a fourth aspect, a Domain Name System (DNS) server is provided. The DNS server includes at least one processor; and at least one memory storing instructions, which, when executed by the at least one processor, cause the DNS server to at least: receive a DNS query from an Edge Application Server Discovery Function (EASDF), the DNS query including a subnet option value indicating network access information or the location of a terminal device; determine, based on the subnet option value, an anycast address or multicast address associated with a service requested by the terminal device; and send the anycast address or multicast address to the EASDF.

[0009] In a fifth aspect, a method is provided. The method includes: receiving a message at a first network device from a second network device, the message being associated with a Domain Name System (DNS) query from a terminal device, wherein the DNS query requests available services from a group of computing service instances; obtaining at least one type of computing metric from the group of computing service instances; and, based on the at least one type of computing metric, performing a selection of computing service instances from the group of computing service instances in response to the DNS query from the terminal device.

[0010] In a sixth aspect, a method is provided. The method includes: sending a first message instructing a DNS query from a second network device to a first network device based on a Domain Name System (DNS) query received from a terminal device; receiving a second message from the first network device instructing the forwarding of the DNS query to a local DNS server or a central DNS server; and sending the DNS query to the local DNS server or the central DNS server based on the second message.

[0011] In a seventh aspect, a method is provided. The method includes: sending a first message instructing the first DNS query to the first network device from a second network device, based on receiving a first Domain Name System (DNS) query from a terminal device; receiving a second message from the first network device, the second message instructing the addition of a subnet option value to the first DNS query to obtain a second DNS query, wherein the subnet option value indicates network access information or the location of the terminal device; and sending the second DNS query to a DNS server.

[0012] In an eighth aspect, a method is provided. The method includes: receiving a DNS query from an Edge Application Server Discovery Function (EASDF) at a Domain Name System (DNS) server, the DNS query including a subnet option value indicating network access information or the location of a terminal device; determining, based on the subnet option value, an anycast address or multicast address associated with a service requested by the terminal device; and sending the anycast address or multicast address to the EASDF.

[0013] In a ninth aspect, an apparatus is provided. The apparatus includes: components for receiving a message at a first network device from a second network device, the message being associated with a Domain Name System (DNS) query from a terminal device, wherein the DNS query requests available services from a group of computing service instances; components for obtaining at least one type of computing metric from the group of computing service instances; and components for performing selection of computing service instances from the group of computing service instances based on the at least one type of computing metric in response to the query from the terminal device.

[0014] In a tenth aspect, an apparatus is provided. The apparatus includes: components for sending a first message instructing a DNS query from a second network device to a first network device based on a Domain Name System (DNS) query received from a terminal device; components for receiving a second message from the first network device, the second message instructing the forwarding of a DNS query to a local DNS server or a central DNS server; and components for sending a DNS query to the local DNS server or the central DNS server based on the second message.

[0015] In an eleventh aspect, an apparatus is provided. The apparatus includes: components for sending a first message instructing a first DNS query to a first network device from a second network device based on a first Domain Name System (DNS) query received from a terminal device; components for receiving a second message from the first network device, the second message instructing the addition of a subnet option value to the first DNS query to obtain a second DNS query, wherein the subnet option value indicates network access information or the location of the terminal device; and components for sending the second DNS query to a DNS server.

[0016] In a twelfth aspect, an apparatus is provided. The apparatus includes components for receiving a DNS query from an Edge Application Server Discovery Function (EASDF) at a Domain Name System (DNS) server, the DNS query including a subnet option value indicating network access information or the location of a terminal device; components for determining an anycast address or multicast address associated with a service requested by the terminal device based on the subnet option value; and components for sending the anycast address or multicast address to the EASDF.

[0017] In a thirteenth aspect, a non-transitory computer-readable medium is provided, the medium including program instructions for causing a device to perform at least the method according to any one of the fifth to eighth aspects above.

[0018] In a fourteenth aspect, a computer program including instructions is provided that, when executed by an apparatus, causes the apparatus to at least: receive a message from a second network device associated with a Domain Name System (DNS) query from a terminal device, wherein the DNS query requests available services from a group of computing service instances; obtain at least one type of computing metric from the group of computing service instances; and, based on the at least one type of computing metric, perform a selection of computing service instances from the group of computing service instances in response to the DNS query from the terminal device.

[0019] In a fifteenth aspect, a computer program including instructions is provided, which, when executed by an apparatus, cause the apparatus to at least: send a first message instructing a DNS query to a first network device based on receiving a Domain Name System (DNS) query from a terminal device; receive a second message from the first network device instructing the forwarding of a DNS query to a local DNS server or a central DNS server; and send a DNS query to the local DNS server or the central DNS server based on the second message.

[0020] In a sixteenth aspect, a computer program including instructions is provided that, when executed by an apparatus, causes the apparatus to at least: send a first message instructing a first DNS query to a first network device based on receiving a first Domain Name System (DNS) query from a terminal device; receive a second message from the first network device instructing the addition of a subnet option value to the first DNS query to obtain a second DNS query, wherein the subnet option value indicates network access information or the location of the terminal device; and send the second DNS query to a DNS server.

[0021] In a seventeenth aspect, a computer program including instructions is provided that, when executed by an apparatus, causes the apparatus to at least: receive a DNS query from an Edge Application Server Discovery Function (EASDF), the DNS query including a subnet option value indicating network access information or the location of a terminal device; determine, based on the subnet option value, an anycast address or multicast address associated with a service requested by the terminal device; and send the anycast address or multicast address to the EASDF.

[0022] In an eighteenth aspect, a first network device is provided. The first network device includes: a receiving circuitry configured to receive a message associated with a Domain Name System (DNS) query from a terminal device, wherein the DNS query requests available services from a group of computing service instances; an acquiring circuitry configured to acquire at least one type of computing metric from the group of computing service instances; and an execution circuitry configured to perform selection of computing service instances from the group of computing service instances based on at least one type of computing metric in response to the query from the terminal device.

[0023] In a nineteenth aspect, a second network device is provided. The second network device includes: a transmitting circuit system configured to send a first message instructing a DNS query to a first network device based on a Domain Name System (DNS) query received from a terminal device; a receiving circuit system configured to receive a second message from the first network device, the second message instructing the forwarding of a DNS query to a local DNS server or a central DNS server; and a transmitting circuit system configured to send a DNS query to a local DNS server or a central DNS server based on the second message.

[0024] In a twentieth aspect, a second network device is provided. The second network device includes: a transmitting circuit system configured to send a first message indicating a first DNS query to the first network device based on receiving a first Domain Name System (DNS) query from a terminal device; a receiving circuit system configured to receive a second message from the first network device, the second message indicating that a subnet option value be added to the first DNS query to obtain a second DNS query, wherein the subnet option value indicates network access information or the location of the terminal device; and a transmitting circuit system configured to send the second DNS query to a DNS server.

[0025] In a twenty-first aspect, a Domain Name System (DNS) server is provided. The DNS server includes: a receiving circuitry configured to receive a DNS query from an Edge Application Server Discovery Function (EASDF), the DNS query including a subnet option value indicating network access information or the location of a terminal device; a determining circuitry configured to determine, based on the subnet option value, an anycast address or multicast address associated with a service requested by the terminal device; and a transmitting circuitry configured to send the anycast address or multicast address to the EASDF.

[0026] It should be understood that the summary portion is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0027] Some exemplary embodiments will now be described with reference to the accompanying drawings, in which:

[0028] Figure 1A The illustration shows an example network environment in which example embodiments of the present disclosure can be implemented;

[0029] Figure 1B The illustration shows an example scenario for selecting an edge application server (EAS) requested by a terminal device, which is related to some embodiments of this disclosure;

[0030] Figure 2 The illustrations are example signaling diagrams illustrating example processes according to some embodiments of the present disclosure;

[0031] Figure 3 The illustrations are example signaling diagrams illustrating example processes according to some embodiments of the present disclosure;

[0032] Figure 4 The illustration shows an example process for computation-aware service routing according to some embodiments of the present disclosure;

[0033] Figure 5 The illustrations depict example processes according to some embodiments of the present disclosure;

[0034] Figure 6 Another example process according to some embodiments of the present disclosure is illustrated;

[0035] Figure 7 The illustration shows a flowchart of a method implemented at a first network device according to some embodiments of the present disclosure;

[0036] Figure 8 The illustration shows a flowchart of a method implemented at a second network device according to some embodiments of the present disclosure;

[0037] Figure 9 The illustration shows a flowchart of a method implemented at a second network device according to some embodiments of the present disclosure;

[0038] Figure 10 The illustration shows a flowchart of a method implemented at a DNS server according to some embodiments of the present disclosure;

[0039] Figure 11 A simplified block diagram of an apparatus suitable for implementing embodiments of the present disclosure is illustrated; and

[0040] Figure 12 A block diagram of an example computer-readable medium according to some embodiments of the present disclosure is illustrated.

[0041] Throughout the accompanying drawings, the same or similar reference numerals denote the same or similar elements. Detailed Implementation

[0042] The principles of this disclosure will now be described with reference to some exemplary embodiments. It should be understood that these embodiments are described for illustrative purposes only and to assist those skilled in the art in understanding and implementing this disclosure, and do not imply any limitation on the scope of this disclosure. The disclosure described herein can be implemented in various ways other than those described below.

[0043] In the following description and claims, unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure pertains.

[0044] In this disclosure, references to "an embodiment," "an embodiment," "an example embodiment," etc., indicate that the described embodiment may include a particular feature, structure, or characteristic, but not every embodiment necessarily includes that particular feature, structure, or characteristic. Furthermore, such phrases do not necessarily refer to the same embodiment. Additionally, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is believed that, whether explicitly described or not, its influence in combination with other embodiments on such feature, structure, or characteristic is within the knowledge of those skilled in the art.

[0045] It should be understood that although the terms “first” and “second”, etc., may be used herein to describe various elements, these elements should not be limited by these terms. These terms are used only to distinguish one element from another. For example, without departing from the scope of the exemplary embodiments, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element. As used herein, the term “and / or” includes any and all combinations of one or more of the listed terms.

[0046] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the exemplary embodiments. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the terms “comprising,” “including,” “having,” “having,” “containing,” and / or “comprising” as used herein specify the presence of the stated feature, element, and / or component, but do not exclude the presence or addition of one or more other features, elements, components, and / or combinations thereof. As used herein, “at least one of the following: ” and “at least one of ” and similar wording (where the list of two or more elements is connected by “and” or “or”) means at least any one of these elements, or at least any two or more of these elements, or at least all of these elements.

[0047] As used in this application, the term "circuit system" may refer to one or more or all of the following:

[0048] (a) Hardware circuit implementation only (such as implementation in analog and / or digital circuit systems only), and

[0049] (b) A combination of hardware circuitry and software, such as (if applicable):

[0050] (i) A combination of (multiple) analog and / or digital hardware circuits and software / firmware, and

[0051] (ii) Any part of the software (including the software of the multiple hardware processors, including the multiple digital signal processors), the software, and the multiple memories, which work together to enable a device (such as a mobile phone or a server) to perform various functions, and

[0052] (c) (Multiple) hardware circuits and / or (multiple) processors, such as (multiple) microprocessors or portions of (multiple) microprocessors, which require software (e.g., firmware) to operate, but may be absent when operation is not required.

[0053] This definition of "circuit system" applies to all uses of the term in this application, including in any claim. As another example, as used in this application, the term "circuit system" also covers only hardware circuitry or a processor (or multiple processors) or portions of hardware circuitry or a processor and its accompanying software and / or firmware implementations. For example, and if applicable to a particular claim element, the term "circuit system" also covers baseband integrated circuits or processor integrated circuits for mobile devices, or similar integrated circuits in servers, cellular network devices, or other computing or network devices.

[0054] As used herein, the term "communication network" refers to a network that conforms to any suitable communication standard, such as Long Term Evolution (LTE), LTE-A Advanced (LTE-A), Wideband Code Division Multiple Access (WCDMA), High-Speed ​​Packet Access (HSPA), Narrowband Internet of Things (NB-IoT), etc. Furthermore, communication between terminal devices and network devices in a communication network can be performed according to any suitable generation of communication protocols, including but not limited to third-generation (3G), fourth-generation (4G), 4.5G, fifth-generation (5G) communication protocols, and / or higher generation communication protocols. Embodiments of this disclosure can be applied to various communication systems. Given the rapid development of communication, future types of communication technologies and systems will naturally exist, through which this disclosure can be embodied. This should not be construed as limiting the scope of this disclosure to the systems described above.

[0055] As used herein, the term "network device" refers to a node in a communication network through which terminal devices access the network and receive services. Network devices can refer to base stations (BS) or access points (APs), such as Node B (NodeB or NB), evolved Node B (eNodeB or eNB), NR NB (also known as gNB), Remote Radio Unit (RRU), Radio Header (RH), Remote Radio Header (RRH), relay, low-power nodes (such as femtoseconds, picoseconds), etc., depending on the terminology and technology used.

[0056] The term "terminal device" refers to any terminal device capable of wireless communication. By way of example and not limitation, a terminal device may also be referred to as a communication device, user equipment (UE), subscriber station (SS), portable subscriber station, mobile station (MS), or access terminal (AT). Terminal devices may include, but are not limited to, mobile phones, cellular phones, smartphones, Voice over IP (VoIP) phones, wireless local loop phones, tablets, wearable terminal devices, personal digital assistants (PDAs), portable computers, desktop computers, image capture terminal devices (such as digital cameras), gaming terminal devices, music storage and playback devices, in-vehicle wireless terminal devices, wireless endpoints, mobile stations, laptop embedded devices (LEEs), laptop mounted devices (LMEs), USB dongles, smart devices, wireless customer premises equipment (CPEs), Internet of Things (IoT) devices, watches or other wearable devices, head-mounted displays (HMDs), vehicles, drones, medical devices and applications (e.g., remote surgery), industrial devices and applications (e.g., robots and / or other wireless devices operating in industrial and / or automated processing chain environments), consumer electronics devices, devices operating on commercial and / or industrial wireless networks, etc. In the following description, the terms “terminal equipment”, “communication equipment”, “terminal”, “user equipment” and “UE” may be used interchangeably.

[0057] As used in this article, the term "anycast" refers to a network addressing and routing method in which a single destination Internet Protocol (IP) address is shared by multiple devices (typically servers) in different locations. Routers use their common decision-making algorithm (typically the lowest BGP network hop count algorithm) to direct packets addressed to that destination IP address to the location closest to the sender. Anycast routing is widely used for specific purposes, such as forwarding Domain Name System (DNS) queries to the nearest server instance. Anycast is typically deployed in limited areas because supporting anycast over a large area is challenging.

[0058] Figure 1A An example network environment 100A is illustrated, in which example embodiments of the present disclosure can be implemented. Environment 100A (which may be part of a communication network) includes network devices.

[0059] like Figure 1A As shown, the communication network 100A may include a first network device 110, a second network device 120, and a DNS server 130. The first network device 110 and the second network device 120 can communicate with each other, and the first network device 110 and the DNS server 130 can also communicate with each other. In some embodiments, the first network device 110 may be a Session Management Function (SMF) in the core network. In some embodiments, the first network device 110 may be a new function in the core network, such as a "Network and Compute Collection Function (INCF)". In some implementations, the second network device 120 may be an Edge Application Server Discovery Function (EASDF).

[0060] It should be understood that the number of network devices is for illustrative purposes only and does not imply any limitation. Environment 100A may include any suitable number of network devices appropriate for implementing embodiments of this disclosure.

[0061] With the development of 5G networks, new services such as augmented reality (AR), virtual reality (VR), cloud gaming, metaverse, vehicle-to-everything (V2X), telemedicine, and the industrial internet place high demands on both computing and network resources. For network resources, these scenarios require exceptionally high bandwidth and low latency. For computing resources, in some cases requiring specific types of hardware (such as graphics processing units (GPUs), guaranteed real-time performance is expected. To meet latency requirements, computation needs to be performed either locally on the network or at the network edge.

[0062] Therefore, these new services act as a catalyst for the concepts of Network and Compute Integration (INC) or Compute and Network Convergence (CNC), which aim to jointly optimize network and computing resources while meeting the requirements of applications for both.

[0063] To support low-latency services, it is assumed that a service can have several service instances running on different compute nodes or sites near the network edge. Figure 1B The illustrations depict example scenarios of EAS selection related to some embodiments of this disclosure. For example... Figure 1B As shown, multiple candidate EASs can provide the same service regardless of their deployment location. These candidate EASs have different workloads. The challenge is how to select the appropriate EAS and construct the optimal path for each user (UE) request while considering both network and computational metrics.

[0064] In the Dyncast (Dynamic Anycast) mechanism, each service instance is configured with the same anycast IP address, and the network forwards client host packets to the best instance. In the design of the Dyncast solution, the anycast address is used as a unique identifier (ID) to identify the service, and is therefore equal to the Service Identifier (SID). Any service instances providing the same service will be configured with the same anycast address. When a client sends a request for a specific service, the destination IP address will be set to the corresponding anycast address (i.e., the SID).

[0065] Each service instance's accessible unicast IP address is defined as a Binding ID (BID), which is used to identify and access a specific service instance. Each service instance reports both its BID (i.e., unicast IP address) and its hosted SID (i.e., anycast IP address) to nearby Dyncast coverage nodes. The registration / claim of the corresponding anycast IP address (i.e., SID) is then propagated throughout the coverage in some way. The binding relationship between BID and SID, along with other network / computing metrics, is maintained in the coverage's "control plane."

[0066] In 5G systems, any service flow can be tunneled between the Intermediate User Plane Function (I-UPF) and the Protocol Data Unit Session Anchor UPF (PSA-UPF) based on rules provided by the Session Management Function (SMF). The SMF itself can be given redirection impact information by external functions including the General Application Function (AF) or the EASDF. The EASDF can act as a full DNS resolver and, in special cases, as an authoritative DNS server for a specific domain. When acting as a resolver, it contacts the SMF to learn the IP subnet, which represents the best (nearest) PSA-UPF for the UE to perform a DNS query. The EASDF inserts this IP subnet as the value for the client subnet option into the DNS query. Assuming the UE is close to the topological location of this IP subnet in the Internet topology, the authoritative DNS server responding to the query can tailor its response to the best EAS IP address. When the DNS response includes this option, the EASDF (resolver) assumes the response contains the best (multiple) EAS IP addresses for the specified PSA-UPF and requests the SMF to forward UE traffic to / from that EAS IP address to the PSA-UPF. In this way, there is a method to perform EAS selection so that the EAS closest to the PSA-UPF near the UE is selected. This method does not consider the calculated metrics of the EAS and does not allow selection across multiple PSA-UPFs or EAS based on any dynamic information.

[0067] According to some embodiments of this disclosure, a solution for addressing and routing computation-aware services is provided. In one aspect of the solution, a first network device receives a message from a second network device associated with a Domain Name System (DNS) query from a terminal device. The DNS query requests available services from a group of computation service instances. The first network device then obtains at least one type of computation metric from the group of computation service instances. Based on the at least one type of computation metric, the first network device performs a selection of computation service instances from the group of computation service instances in response to the DNS query from the terminal device. Thus, the network is able to select appropriate computation service instances at the granularity requested by each terminal device. This improves communication efficiency. Example embodiments of this disclosure for data volume prediction will be referenced below. Figures 2 to 12 To describe.

[0068] Figure 2 An example signaling diagram of an example process 200 according to some embodiments of the present disclosure is illustrated. For discussion purposes, process 200 will be referred to... Figure 1A The process 200 may involve a first network device 110, a second network device 120, a terminal device 201, and a local / central DNS server 202. It should be understood that although process 200 has already been described... Figure 1A The process 200 is described in the communication environment 100A, but it can also be applied to other communication scenarios with similar problems.

[0069] In process 200, terminal device 201 sends DNS query 203 204 to second network device 120. Based on receiving DNS query 204 203 from terminal device 201, second network device 120 sends a first message 207 208 instructing the DNS query to first network device 110, and the DNS query requests available services from a group of compute service instances. For example, a compute service instance may be an Edge Application Server (EAS) instance. An IP anycast address may be designated for a group of EAS instances that provide the same service. The scope of the group and the anycast address may be the entire access network or a specific sub-area thereof. In some embodiments, the DNS query may be triggered by an application in the terminal device. In some embodiments, first network device 110 may be a Session Management Function (SMF), Access and Mobility Management Function (AMF), Policy Control Function (PCF), or a new function such as "Network and Compute Functions Aggregation (INCF)" that operates with an SMF.

[0070] Accordingly, the first network device 110 receives a first message 208 from the second network device 120. In some embodiments, the first message 208 may include a DNS request message reporting a DNS query to the first network device. In some embodiments, the first message 208 may include a fully qualified domain name (FQDN) indicating the service requested by the terminal device.

[0071] The first network device 110 acquires at least one type of computing metric from the 211 Computing Service Instance Group. In some embodiments, to acquire at least one type of computing metric, the first network device 110 may receive at least one type of computing metric based on sending a request for at least one type of computing metric. In some embodiments, to acquire at least one type of computing metric, the first network device 110 may receive at least one type of computing metric based on subscribing to dynamic updates of at least one type of computing metric. For example, an SMF that already knows the detailed metrics of the mobile (5G / 6G) core network also accesses the dynamic computing metrics of the EAS on demand or by subscribing to updates.

[0072] In some embodiments, at least one type of computing metric may include load information for a group of computing service instances. In some embodiments, at least one type of computing metric may be indexed by: FQDN, anycast address corresponding to the service, or a combination of the above.

[0073] Based on at least one type of computing metric, the first network device 110 performs 213 selection of computing service instances from the computing service instance group in response to a DNS query from the terminal device.

[0074] In some embodiments, the first network device 110 may also perform the selection of the egress node for the network domain based on: at least one type of computing metric, at least one type of network metric associated with a computing service instance group, and information about the egress node of the network domain. In some embodiments, the egress node of the network domain may be a PSA-UPF in a 5G system, and the information of the PSA-UPF is known to the first network device. For example, the first network device can select the best EAS from a group of EASs sharing a public anycast address, and simultaneously select the best PSA-UPF, through which services are forwarded to the EAS instance. Different criteria may be used to determine the best EAS instance and PSA-UPF.

[0075] Then, the first network device 110 sends a second message 216 to the second network device 120. The second message 216 instructs the second network device 120 to forward the DNS query to the local DNS server or the central DNS server 202.

[0076] In some embodiments, the first network device 110 may send a second message instructing the forwarding of a DNS query to a local DNS server based on selecting a computing service instance from the computing service instance group. In some embodiments, the first network device 110 may send a second message instructing the forwarding of a DNS query to a central DNS server based on failing to select a computing service instance from the computing service instance group.

[0077] For example, during the DNS query phase, the first network device 110 checks whether an EAS instance exists that is available for the queried FQDN and accesses its computed metrics. If a suitable and optimal EAS instance is available, the first network device 110 instructs the second network device to forward the DNS query to a specific local authoritative DNS server configured to resolve the FQDN to the specified IP anycast address. By instructing the second network device to insert a specific client IP subnet option value into the query, the resolution can be made specific to the current location of the terminal device. If no suitable EAS instance is available, the first network device can, according to the default procedure, instruct the second network device to forward the query to different non-local authoritative DNS servers.

[0078] After receiving the second message 217 216, the second network device 120 sends a DNS query 219 220 to a local DNS server or a central DNS server based on the second message. In some embodiments, the second network device may also receive a DNS response from the local DNS server, which includes an anycast address or multicast address corresponding to the service requested by the DNS query. Then, the second network device 120 may send a third message to the first network device. The third message reports that the DNS response was received by the second network device from the local DNS server. In some embodiments, the first network device 110 may receive the third message from the second network device, and the first network device 110 may route services associated with the services of the terminal device to the egress node.

[0079] For example, after selecting the optimal combination of EAS instance and PSA-UPF, the first network device can configure the intermediate UPF to forward terminal device services to the IP anycast address of the selected PSA-UPF. The DNS response given to the DNS client includes the IP anycast address, and the application begins communicating with that IP address. Service forwarding established by the SMF directs the service to the optimal PSA-UPF.

[0080] This solution allows authoritative DNS servers to operate based on static configuration, while dynamic decisions occur at the network control plane. Compared to current processes, the selection of the optimal compute service instance does not necessarily rely on a single local PSA-UPF, but any number of candidate PSA-UPFs can be considered by the network. The local DNS server or a central DNS server can be selected dynamically, meaning that the target server instance can be outside the mobile domain if a central DNS server, potentially controlled by another third party, is selected. This solution is compatible with traditional anycast-based IP domain solutions or custom DNS response solutions. Furthermore, this solution is not limited to anycast addresses; any reserved unicast or multicast IP address can be used as a DNS response (i.e., the destination IP), as long as the corresponding service can be routed within the mobile network.

[0081] Figure 3 An example signaling diagram of an example process 300 according to some embodiments of the present disclosure is illustrated. For discussion purposes, process 300 will be referred to... Figure 1A The process 300 may involve a first network device 110, a second network device 120, a DNS server 130, and a terminal device 301. It should be understood that although process 300 is described... Figure 1A The process 300 is described in the communication environment 100A, but it can also be applied to other communication scenarios with similar problems.

[0082] In process 300, terminal device 301 sends a first DNS query (303) to second network device 120. Based on receiving the first DNS query (305) from terminal device 301, second network device 120 sends a first message (307) indicating the first DNS query to first network device 110, and the first DNS query requests available services from the computing service instance group. Accordingly, first network device 110 receives a first message (309) from second network device 120. The first message (308) is associated with the first DNS query from the terminal device.

[0083] Then, the first network device 110 sends a second message 312 to the second network device 120, and the second message 312 instructs that a subnet option value be added to the first DNS query to obtain a second DNS query. The subnet option value indicates network access information, the location of the terminal device, the set of egress nodes that can be used for the location of the terminal device, or any combination of two or more of the above. For example, during the DNS query phase, the first network device instructs the second network device to insert a client IP subnet option value specific to the location of the terminal device into the query and forward the query to the authoritative DNS server.

[0084] The second network device 120 receives a second message 312 from the first network device 110. After adding a subnet option value 315 to the first DNS query to obtain a second DNS query, the second network device 120 sends a second DNS query 318 to the DNS server 130. In some embodiments, the subnet option value may also indicate a set of egress nodes that can be used for the location of the terminal device.

[0085] DNS server 130 receives 319 a second DNS query 318 from second network device 120. Based on the subnet option value included in the second DNS query 318, DNS server 130 determines 321 an anycast address or multicast address associated with the service requested by the terminal device. Then, DNS server 130 sends 323 the anycast address or multicast address 324 to second network device 120.

[0086] In some embodiments, after receiving a 325 anycast address or multicast address from DNS server 130, the second network device 120 may send a 327 third message 328 to the first network device, the third message 328 reporting that the DNS response received by the second network device from the DNS server includes a subnet option value associated with the terminal device. In some embodiments, the DNS query may include an FQDN indicating the service requested by the terminal device.

[0087] Upon receiving a DNS request (329), the first network device 110 obtains at least one type of computing metric from the 331 Compute Service Instance Group. In some embodiments, to obtain at least one type of computing metric, the first network device 110 may receive at least one type of computing metric based on sending a request for at least one type of computing metric. In some embodiments, to obtain at least one type of computing metric, the first network device 110 may receive at least one type of computing metric based on subscribing to dynamic updates of at least one type of computing metric. For example, during the DNS response phase, if the DNS response includes a client subnet option and resolves to an IP anycast address that is configured with some EAS instances known to the first network device, then the first network device accesses the computing metrics of the EAS instances sharing the anycast address and / or the queried FQDN.

[0088] In some embodiments, at least one type of computing metric may include load information for a group of computing service instances. In some embodiments, at least one type of computing metric may be indexed by: FQDN, anycast address corresponding to the service, or a combination of the above.

[0089] Based on at least one type of computation metric, the first network device 110 performs a selection of a computing service instance from a computing service instance group in response to a DNS query from a terminal device. In some embodiments, the first network device 110 may also perform the selection of an egress node for a network domain based on: at least one type of computation metric, at least one type of network metric associated with the computing service instance group, and information about the egress node of the network domain. In some embodiments, the egress node of the network domain may be a PSA-UPF in a 5G system, and the information about the PSA-UPF is known to the first network device.

[0090] In this way, DNS servers responding to queries can operate based on a relatively static configuration and do not need to know or consider dynamic networks or compute metrics. Furthermore, this solution is not limited to anycast addresses; any reserved unicast or multicast IP address can be used as a DNS response (i.e., the destination IP), as long as the corresponding service can be routed within the mobile network.

[0091] Figure 4The illustration depicts an example process of computation-aware service routing according to some embodiments of this disclosure. Process 400 may involve UE 401, EASDF 402, authoritative DNS 403, AMF / SMF / PCF or other NE 404, and computation controller 405. Computation controller 405 is a new network entity. Service instance 1 and service instance 2 share the same SID. SID-based service registration messages and regular resource reports are sent from the service instance to computation controller 405. It should be understood that process 400 can be viewed as... Figure 2 A more specific example of process 200. Therefore, Figure 4 EASDF 402 in the text can be Figure 1A or Figure 2 Example of the second network device 120 in the example, Figure 4 The authoritative DNS 403 in the middle can be Figure 1A or Figure 2 Example of DNS server 130, and Figure 4 The AMF / SMF / PCF or other NE 304 in it can be Figure 1A or Figure 2 Example of the first network device 110 in the example.

[0092] In procedure 400, UE 401 establishes a Protocol Data Unit (PDU) session with AMF / SMF / PCF or other NE 404 (410). Then, UE 401 sends a DNS query (420) to authoritative DNS 403 via EASDF 402, and authoritative DNS server 403 sends a DNS response with a unique SID (i.e., anycast or multicast IP address) to UE 401 via EASDF 402. If the SID matches a specific FQDN pre-configured at EASDF 402, EASDF 402 reports the DNS query (430) to AMF / SMF / PCF or other NE 404 and triggers server selection. After being triggered by EASDF 402, AMF / SMF / PCF or other NE 404 sends a compute metric request (440) for compute metrics to compute controller 405. AMF / SMF / PCF or other NE 404 then receives a compute metric response from compute controller 405. Based on computational metrics, the AMF / SMF / PCF or other NE 404 makes a selection decision for 450 service instances. Simultaneously, the AMF / SMF / PCF or other NE 404 makes a selection for 460 PSA-UPF instances with potential tunnel configurations.

[0093] Therefore, the DNS-assisted computation-aware service addressing and routing approach enables the mobile core network to select the appropriate EAS at the granularity requested by each UE. This combines the current EASDF mechanism with dynamic anycast, mapping the latter to the mobile core network service bootstrapping mechanism. Traditional standard 5GS EASDF operations and service bootstrapping are used to handle UE-initiated DNS queries that resolve FQDNs to IP addresses. Authoritative DNS servers responding to queries can operate based on relatively static configurations and do not need to know or consider dynamic network or computational metrics. Based on dynamic network and computational metrics, UE service requests (service flows) are mapped to the optimal EAS instance.

[0094] Figure 5 Example processes according to some embodiments of this disclosure are illustrated. Process 500 may involve UE 501, EASDF 502, local or central DNS server 503, SMF / PCF 504, I-UPF 505, and AF / NEF or computing control 506. It should be understood that process 500 can be considered as Figure 3 A more specific example of process 300 in the text. Therefore, Figure 5 EASDF 502 in the text can be Figure 1A or Figure 3 Example of the second network device 120 in the example, Figure 5 The local or central DNS server in the middle can be 503. Figure 1A or Figure 3 Example of DNS server 130, and Figure 5 SMF / PCF 504 in the text can be Figure 1A or Figure 3 Example of the first network device 110 in the example.

[0095] In procedure 500, at point 511, SMF / PCF 504 sends DNS message processing rules for a specific FQDN to EASDF 502, meaning that DNS queries for those FQDNs will be handled by EASDF in a special manner. At point 513, UE 501 performs a regular PDU session establishment via EASDF configuration instructed by SMF / PCF 504. At point 515, SMF / PCF 504 sends a Neasdf_DNSContext_Create request message to EASDF 502, instructing EASDF 502 to create a DNS context for UE 501, where the UE IP and potential Elastic Compute Service (ECS) options are maintained. Upon receiving the Neasdf_DNSContext_Create request message, EASDF 502 sends a Neasdf_DNSContext_Create response message to SMF / PCF 504.

[0096] At 517, UE 501 sends a DNS query message triggered by an application in UE 501 to SMF / PCF 504, and the DNS query message is forwarded by EASDF 502. If UE 501 is a router, the DNS query can originate from another IP host behind it.

[0097] At 519, EASDF 502 reports the received resolution request to SMF / PCF 504 by sending a Neasdf_DNSContext_Notify request message. After receiving the Neasdf_DNSContext_Notify request message from EASDF 502, SMF / PCF 504 sends a Neasdf_DNSContext_Notify response message to EASDF 502. At 521, based on the target FQDN information carried in the report by EASDF 502, SMF / PCF 504 sends a computation metric request to AF / NEF or Computation Control 506. AF / NEF or Computation Control 506 then sends a computation metric response to SMF / PCF 504. In other words, SMF / PCF 504 requests and obtains relevant computation metrics for candidate EASs from the computation resource provider. Computation metrics can be available from the metric broker via various types of interfaces, including, for example, the Application Layer Transport Optimization (ALTO) protocol. This process may involve intermediate functions, such as AF performed via NEF. In some embodiments, the SMF / PCF 504 may not need to request metric computation on demand, but can subscribe to relevant metrics and know about them based on dynamic updates.

[0098] At step 523, based on the network metrics known to SMF / PCF 504 and the computed metrics obtained in the previous steps, SMF / PCF 504 performs EAS and PSA-UPF selection. In other words, SMF / PCF 504 decides whether one of the candidate EAS and the best PSA-UPF corresponding to that EAS can be selected.

[0099] At 525, SMF / PCF 504 sends a Neasdf_DNSContext_Update request message to EASDF 502 to notify EASDF 502 of an updated DNS context, which will contain DNS message processing rules that indicate how to forward or process relevant DNS queries, for example, to a local DNS server or a central DNS server.

[0100] At point 527, if the appropriate EAS associated with the mobile network is selected, SMF / PCF 504 will instruct EASDF 502 to forward a DNS query to a local DNS server that acts as the authoritative DNS server for the queried domain. Otherwise, SMF / PCF 504 will instruct EASDF 502 to query the authoritative DNS server for that domain according to the normal DNS process. Based on this, a central DNS server can be selected. SMF / PCF 504 may instruct EASDF 502 to add a specific client IP subnet value to the query.

[0101] If the local DNS server is contacted, it sends a DNS response message to EASDF 502, with the reserved anycast (or multicast) IP address mapped to the requested FQDN being sent back as the DNS response message. At 529, to report the received DNS query response to SMF / PCF 504, which triggers SMF to perform relevant service bootstrapping, EASDF 502 sends a Neasdf_DNSContext_Notify request message to SMF / PCF 504. Upon receiving the Neasdf_DNSContext_Notify request message from EASDF 502, SMF / PCF 504 sends a Neasdf_DNSContext_Notify response message to EASDF 502.

[0102] At 531, based on the selected target EAS and PSA-UPF, SMF / PCF 504 selects the appropriate I-UPF and inserts an uplink classifier rule that identifies traffic from UE 501 to anycast (or multicast) addresses and directs it to the target PSA-UPF. At 533, via a Neasdf_DNSContext_Update request message, SMF / PCF 504 instructs EASDF 502 to forward the DNS response to UE 501. At 535, upon receiving the Neasdf_DNSContext_Update request message, EASDF 502 sends a DNS response to UE 501. EASDF 502 also sends a Neasdf_DNSContext_Update response message to EASDF 502. Using the resolved destination IP address, UE 501 establishes an application or service session with the target EAS.

[0103] Figure 6 Example processes according to some embodiments of this disclosure are illustrated. Process 600 may involve UE 601, EASDF 602, authoritative DNS server 603, SMF / PCF 604, I-UPF 605, and AF / NEF or computation control 606. It should be understood that process 600 can be considered as Figure 2 A more specific example of process 200. Therefore, Figure 4 EASDF 602 in the text can be Figure 1A or Figure 2 Example of the second network device 120 in the example, Figure 6 The local or central DNS server in the 603 error can be... Figure 1A or Figure 2 Example of DNS server 130, and Figure 6 SMF / PCF 604 in the text can be Figure 1A or Figure 2 Example of the first network device 110 in the example.

[0104] In procedure 600, at point 611, SMF / PCF 604 sends DNS message processing rules for a specific FQDN to EASDF 602, meaning that DNS queries for those FQDNs will be handled by EASDF in a special manner. At point 613, UE 601 performs a regular PDU session establishment via EASDF configuration instructed by SMF / PCF 604. At point 615, SMF / PCF 604 sends a Neasdf_DNSContext_Create request message to EASDF 602, instructing EASDF 602 to create a DNS context for UE 601, where the UE IP and potential Elastic Compute Service (ECS) options are maintained. Upon receiving the Neasdf_DNSContext_Create request message, EASDF 602 sends a Neasdf_DNSContext_Create response message to SMF / PCF 604.

[0105] At 617, UE 601 sends a DNS query message triggered by an application in UE 601 to SMF / PCF 604, and the DNS query message is forwarded by EASDF 602. If UE 601 is a router, the DNS query may originate from another IP host behind it. At 619, EASDF 602 reports the received resolution request to SMF / PCF 604 by sending a Neasdf_DNSContext_Notify request message to SMF / PCF 604. After receiving the Neasdf_DNSContext_Notify request message from EASDF 602, SMF / PCF 604 sends a Neasdf_DNSContext_Notify response message to EASDF 602. At 621, SMF / PCF 604 also sends a Neasdf_DNSContext_Update request message to EASDF 602. Upon receiving the Neasdf_DNSContext_Update request message, SMF / PCF 604 instruction EASDF 602 continues DNS query processing according to the normal DNS procedure, but adds a specific client IP subnet value to the DNS query. This subnet does not necessarily represent a specific single PSA-UPF, but can represent a set of PSA-UPFs available to UE 601 at its current location.

[0106] At 623, after receiving the Neasdf_DNSContext_Update request message, EASDF 602 sends a DNS query with the specific client IP subnet value to the authoritative DNS server 603. The authoritative DNS server 603 has been configured to resolve the FQDN to a specific IP anycast (or multicast) address based on the client IP subnet option or the resolver IP address. At 625, the authoritative DNS server 603 sends a DNS response to the SMF / PCF 604; that is, the authoritative DNS server 603 responds to the DNS query using that address. If no specific configuration for the FQDN or domain exists for a particular IP client subnet, the DNS server follows its default logic.

[0107] At 625, based on the DNS message processing rules, if the DNS response includes the IP client subnet option, which means that the authoritative DNS server customizes its response based on the IP client subnet option, then EASDF 602 reports the DNS response to SMF / PCF 604 via the Neasdf_DNSContext_Notify request message.

[0108] If the DNS response includes an IP anycast (or multicast) address known to be used at the network edge, the SMF / PCF 604 obtains the computed metric for the EAS associated with that FQDN and / or anycast address. At 627, the SMF / PCF 604 sends the computed metric to the AF / NEF or compute control 606. The AF / NEF or compute control 606 then sends a computed metric response to the SMF / PCF 604.

[0109] Based on combined network and computational metrics, SMF 604 performs EAS and PSA-UPF selection. In other words, SMF / PCF 604 determines the optimal EAS and PSA-UPF. According to the selected target EAS and PSA-UPF, SMF / PCF 604 selects the appropriate I-UPF and inserts uplink classifier rule 531, which identifies traffic from UE 601 to anycast (or multicast) addresses and directs it to the target PSA-UPF. At 633, via a Neasdf_DNSContext_Update request message, SMF / PCF 604 instructs EASDF 602 to forward the DNS response to UE 601. At 635, upon receiving the Neasdf_DNSContext_Update request message, EASDF 602 sends a DNS response to UE 601. EASDF 602 also sends a Neasdf_DNSContext_Update response message to EASDF 602. Using the resolved destination IP address, UE 601 establishes an application or service session with the target EAS.

[0110] In procedures 500 and 600, DNS query messages sent by the UE client are used to trigger service addressing and routing procedures. The EASDF acts as the full resolver for DNS queries and processes DNS protocol messages according to instructions from the SMF. Operations performed by the EASDF include: receiving DNS message processing rules and / or baseline DNS patterns from the SMF; exchanging DNS messages from the UE; forwarding DNS messages to the C-DNS or L-DNS for DNS queries; adding DNS client IP subnet values ​​to outgoing queries based on SMF instructions; reporting information related to received DNS messages to the SMF; and buffering / discarding DNS messages from the UE or DNS server.

[0111] EAS selection is actually performed by the authoritative DNS server, which can tailor its response, for example, based on the client's location as indicated by the source IP address of the DNS query (EASDF or other DNS resolvers) or the client's IP subnet option (in this case, inserted by EASDF). This is generally relatively static and coarse-grained information provided to the authoritative DNS server by the configuration. Based solely on this, the DNS server is unaware of the exact or dynamic network metrics between the UE client and the candidate EAS via different potential PSA-UPFs. The authoritative DNS server could also utilize EAS computed metrics in determining whether these EAS computed metrics are available, but this would require the authoritative DNS server itself to become highly dynamic, which would be a new requirement for the server.

[0112] In the example solution, authoritative DNS servers can currently maintain their operations based on relatively static and coarse-grained configurations. Dynamic selection among all candidate EASs deployed at the edge of the mobile network is performed by control plane functions. New functions can be embedded into existing functions, particularly SMF, or introduced as new functions, such as INCF operating with SMF. The control plane already possesses detailed network topology and metric information, such as latency from the UE to potential PSAUPF. Relevant computed metrics about the EAS deployed at the network edge are obtained via appropriate interfaces, and the EAS or compute platform is provided by a separate provider from the network itself.

[0113] Figure 7 A flowchart of an example method 700 implemented at a first network device according to some embodiments of the present disclosure is shown. For discussion purposes, method 700 will be referred to... Figure 1A Described from the perspective of the first network device 110.

[0114] At box 710, the first network device 110 receives a message from the second network device. This message is associated with a Domain Name System (DNS) query from the terminal device. The DNS query requests available services from the compute service instance group. At box 720, the first network device 110 obtains at least one type of compute metric from the compute service instance group. At box 730, based on at least one type of compute metric, the first network device 110 performs a selection of compute service instances from the compute service instance group in response to the DNS query from the terminal device.

[0115] In some embodiments, the first network device 110 may perform selection of the egress node of the network domain based on at least one type of computing metric, at least one type of network metric associated with a computing service instance group, and information about the egress node of the network domain.

[0116] In some embodiments, after selecting a computing service instance from the computing service instance group, the first network device may also send a first response message to the second network device, and the first response message instructs that a DNS query be forwarded to a DNS server. The DNS server is either a local DNS server or a central DNS server.

[0117] In some embodiments, in order to send a first response message, the first network device 110 may send a first response message instructing the forwarding of a DNS query to a local DNS server based on selecting a computing service instance from the computing service instance group. In some embodiments, in order to send a first response message, the first network device 110 may send a first response message instructing the forwarding of a DNS query to a central DNS server based on failing to select a computing service instance from the computing service instance group.

[0118] In some embodiments, the first network device 110 may also receive a second message from the second network device. The second DNS request message reports a DNS response received by the second network device from a DNS server. The DNS response includes an anycast address or multicast address associated with the service requested by the terminal device. The first network device 110 may then route the service associated with the terminal device to the egress node.

[0119] In some embodiments, the message may include a second message reporting that the DNS response received by the second network device from the DNS server includes a subnet option value associated with the terminal device.

[0120] In some embodiments, the first network device 110 may also receive a DNS request message from the second network device reporting a DNS query to the first network device before receiving the second message. Afterwards, the first network device 110 may send a second response message to the second network device, and the second response message indicates that a subnet option value be added to the first DNS query to obtain a second DNS query. The subnet option value indicates network access information, the location of the terminal device, a set of egress nodes that can be used to locate the terminal device, or any combination of two or more of the above.

[0121] In some embodiments, the message may include an FQDN indicating the service requested by the terminal device. In some embodiments, to obtain at least one type of computation metric, the first network device 110 may receive at least one type of computation metric based on sending a request for at least one type of computation metric. In some embodiments, to obtain at least one type of computation metric, the first network device 110 may receive at least one type of computation metric based on subscribing to dynamic updates of at least one type of computation metric.

[0122] In some embodiments, at least one type of computing metric may include load information for a group of computing service instances. In some embodiments, at least one type of computing metric may be indexed by: FQDN, anycast address corresponding to the service, or a combination of the above.

[0123] Figure 8 A flowchart of an example method 800 implemented at a second network device according to some embodiments of the present disclosure is shown. For discussion purposes, method 800 will be referred to... Figure 1A It is described from the perspective of the second network device 120.

[0124] At box 810, based on receiving a Domain Name System (DNS) query from the terminal device, the second network device 120 sends a first message to the first network device instructing the DNS query. At box 820, the second network device 120 receives a second message from the first network device. The second message instructs the forwarding of the DNS query to a local DNS server or a central DNS server. At box 830, based on the second message, the second network device 120 sends a DNS query to a local DNS server or a central DNS server.

[0125] In some embodiments, when a compute service instance is selected from a group of compute service instances by a first network device, the second message may instruct the forwarding of a DNS query to a local DNS server. In some embodiments, when no compute service instance is selected from a group of compute service instances by the first network device, the second message may instruct the forwarding of a DNS query to a central DNS server.

[0126] In some embodiments, the second message instructs the forwarding of a DNS query to a local DNS server, and the second network device may also receive a DNS response from the local DNS server, the DNS response including an anycast address or multicast address corresponding to the service requested by the DNS query. The second network device may then send a third message to the first network device, the third message reporting the DNS response received by the second network device from the local DNS server. In some embodiments, the DNS query may include an FQDN indicating the service.

[0127] Figure 9 A flowchart of an example method 900 implemented at a second network device according to some embodiments of the present disclosure is shown. For discussion purposes, method 900 will be referred to... Figure 1A It is described from the perspective of the second network device 120.

[0128] At box 910, based on receiving a first Domain Name System (DNS) query from the terminal device, the second network device 120 sends a first message to the first network device instructing the first DNS query. At box 920, the second network device 120 receives a second message from the first network device, and the second message instructs that a subnet option value be added to the first DNS query to obtain a second DNS query. The subnet option value indicates network access information or the location of the terminal device. At box 930, the second network device 120 sends the second DNS query to the DNS server.

[0129] In some embodiments, the second network device may receive a DNS response from a DNS server. The DNS response includes an anycast address or multicast address corresponding to the service requested by the first DNS query. The second network device may then send a third message to the first network device, the third message reporting that the DNS response received by the second network device from the DNS server includes a subnet option value associated with the terminal device.

[0130] In some embodiments, the subnet option value may also indicate the set of egress nodes of the network domain that can be used for the location of the terminal device.

[0131] Figure 10 A flowchart of an example method 1000 implemented at a Domain Name System (DNS) server according to some embodiments of the present disclosure is shown. For discussion purposes, method 1000 will refer to Figure 1A This is described from the perspective of DNS server 130.

[0132] At box 1010, the DNS server receives a DNS query from the Edge Application Server Discovery Function (EASDF). The DNS query includes a subnet option value indicating network access information or the location of the end device. At box 1020, based on the subnet option value, the DNS server determines the anycast address or multicast address associated with the service requested by the end device. At box 1030, the DNS server sends the anycast address or multicast address to the EASDF.

[0133] In some embodiments, the subnet option value may also indicate the set of egress nodes of the network domain that can be used for the location of the terminal device.

[0134] In some embodiments, an apparatus (e.g., the first network device 110) capable of performing any of the methods 700 is provided. This apparatus may include components for performing the corresponding steps of method 700. These components may be implemented in any suitable form. For example, the components may be implemented in a circuit system or a software module.

[0135] In some embodiments, the apparatus includes components for receiving a message from a second network device associated with a Domain Name System (DNS) query from a terminal device, wherein the DNS query requests available services from a group of computing service instances; components for obtaining at least one type of computing metric from the group of computing service instances; and components for selecting computing service instances from the group of computing service instances based on at least one type of computing metric in response to the DNS query from the terminal device.

[0136] In some embodiments, the apparatus may include components for selecting an egress node for a network domain based on: at least one type of computation metric, at least one type of network metric associated with a compute service instance group, and information about the egress node of the network domain. In some embodiments, the message may include a DNS request message reporting a DNS query to a first network device.

[0137] In some embodiments, the apparatus may include components for sending a first response message to a second network device after performing a selection of a computing service instance from a computing service instance group, the first response message instructing a DNS query to be forwarded to a DNS server, wherein the DNS server is a local DNS server or a central DNS server.

[0138] In some embodiments, the components for sending the first response message may include components for sending a first response message instructing the forwarding of a DNS query to a local DNS server based on selecting a computing service instance from the computing service instance group; and components for sending a first response message instructing the forwarding of a DNS query to a central DNS server based on the failure to select a computing service instance from the computing service instance group.

[0139] In some embodiments, the apparatus may include components for receiving a second message from a second network device, the second message reporting a DNS response received by the second network device from a DNS server, wherein the DNS response includes an anycast address or multicast address associated with a service requested by a terminal device; and components for routing traffic associated with a service of the terminal device to an egress node.

[0140] In some embodiments, the message may include a second message reporting that the DNS response received by the second network device from the DNS server includes a subnet option value associated with the terminal device.

[0141] In some embodiments, the apparatus may further include components for receiving, before receiving the second message, a DNS request message from the second network device reporting a DNS query to the first network device; and components for sending a second response message to the second network device, the second response message indicating that a subnet option value be added to the first DNS query to obtain a second DNS query, wherein the subnet option value indicates at least one of the following: network access information, the location of the terminal device, or a set of egress nodes that can be used for the location of the terminal device.

[0142] In some embodiments, the message may include an FQDN indicating the service requested by the terminal device. In some embodiments, the component for obtaining at least one type of computational metric may include a component for receiving at least one type of computational metric based on sending a request for at least one type of computational metric; or a component for receiving at least one type of computational metric based on subscribing to dynamic updates of at least one type of computational metric.

[0143] In some embodiments, at least one type of computation metric may include load information for a group of computation service instances. In some embodiments, at least one type of computation metric may be indexed by at least one of the following: FQDN; or anycast address corresponding to the service.

[0144] In some embodiments, the apparatus may further include components for performing other steps in some embodiments of method 700. In some embodiments, the components include at least one processor and at least one memory including computer program code, the at least one memory and the computer program code being configured, together with the at least one processor, to cause performance of the apparatus.

[0145] In some embodiments, an apparatus (e.g., a second network device 120) capable of performing any of the methods 800 is provided. This apparatus may include components for performing the corresponding steps of method 800. These components may be implemented in any suitable form. For example, the components may be implemented in a circuit system or a software module.

[0146] In some embodiments, the apparatus includes components for sending a first message instructing a DNS query to a first network device based on a Domain Name System (DNS) query received from a terminal device; components for receiving a second message from the first network device, the second message instructing the forwarding of a DNS query to a local DNS server or a central DNS server; and components for sending a DNS query to a local DNS server or a central DNS server based on the second message.

[0147] In some embodiments, when a computing service instance is selected by the first network device from the computing service instance group, the second message may instruct the forwarding of a DNS query to a local DNS server; and when no computing service instance is selected by the first network device from the computing service instance group, the second message may instruct the forwarding of a DNS query to a central DNS server.

[0148] In some embodiments, the second message instructs the forwarding of a DNS query to a local DNS server, wherein the apparatus may further include components for receiving a DNS response from the local DNS server, the DNS response including an anycast address or multicast address corresponding to the service requested by the DNS query; and components for sending a third message to the first network device, the third message reporting the DNS response received by the second network device from the local DNS server. In some embodiments, the DNS query may include a fully qualified domain name (FQDN) indicating the service.

[0149] In some embodiments, the apparatus may further include components for performing other steps in some embodiments of method 800. In some embodiments, the components include at least one processor and at least one memory including computer program code, the at least one memory and the computer program code being configured, together with the at least one processor, to cause performance of the apparatus.

[0150] In some embodiments, an apparatus (e.g., a second network device 120) capable of performing any of the methods 900 is provided. This apparatus may include components for performing the corresponding steps of method 900. These components may be implemented in any suitable form. For example, the components may be implemented in a circuit system or a software module.

[0151] In some embodiments, the apparatus includes components for sending a first message instructing a first DNS query to a first network device based on a first Domain Name System (DNS) query received from a terminal device; components for receiving a second message from the first network device, the second message instructing the addition of a subnet option value to the first DNS query to obtain a second DNS query, wherein the subnet option value indicates network access information or the location of the terminal device; and components for sending the second DNS query to a DNS server.

[0152] In some embodiments, the apparatus may include components for receiving a DNS response from a DNS server, the DNS response including an anycast address or multicast address corresponding to a service requested by a first DNS query; and components for sending a third message to a first network device, the third message reporting that the DNS response received by the second network device from the DNS server includes a subnet option value associated with a terminal device.

[0153] In some embodiments, the subnet option value may also indicate the set of egress nodes of the network domain that can be used for the location of the terminal device.

[0154] In some embodiments, the apparatus may further include components for performing other steps in some embodiments of method 900. In some embodiments, the components include at least one processor and at least one memory including computer program code, the at least one memory and the computer program code being configured, together with the at least one processor, to cause performance of the apparatus.

[0155] In some embodiments, an apparatus (e.g., DNS server 130) capable of performing any of the methods 1000 is provided. This apparatus may include components for performing the corresponding steps of method 1000. These components may be implemented in any suitable form. For example, the components may be implemented in a circuit system or a software module.

[0156] In some embodiments, the apparatus includes components for receiving a DNS query from an Edge Application Server Discovery Function (EASDF), the DNS query including a subnet option value indicating network access information or the location of a terminal device; components for determining an anycast address or multicast address associated with a service requested by the terminal device based on the subnet option value; and components for sending the anycast address or multicast address to the EASDF.

[0157] In some embodiments, the subnet option value may also indicate the set of egress nodes of the network domain that can be used for the location of the terminal device.

[0158] In some embodiments, the apparatus may further include components for performing other steps in some embodiments of method 1000. In some embodiments, the components include at least one processor and at least one memory including computer program code, the at least one memory and the computer program code being configured, together with the at least one processor, to cause performance of the apparatus.

[0159] Figure 11 This is a simplified block diagram of a device 1100 suitable for implementing embodiments of the present disclosure. Device 1100 may be provided to implement a communication device, such as... Figure 1A The first network device 110, the second network device 120, and the DNS server 130 are shown. As shown, device 1100 includes one or more processors 1110 and one or more communication modules 1140 coupled to the processors 1110. Device 1100 may also include one or more memories 1120 coupled to the processors 1110.

[0160] The communication module 1140 can be used for bidirectional communication. The communication module 1140 has at least one antenna to facilitate communication. The communication interface can represent any interface required for communication with other network elements.

[0161] Processor 1110 can be of any type suitable for a local technology network, and by way of non-limiting example, can include one or more of the following: general-purpose computer, special-purpose computer, microprocessor, digital signal processor (DSP), and processor based on a multi-core processor architecture. Device 1100 can have multiple processors, such as application-specific integrated circuit chips that are time-dependent on a clock synchronized with the main processor.

[0162] Memory 1120 may include one or more non-volatile memories and one or more volatile memories. Examples of non-volatile memories include, but are not limited to, read-only memory (ROM) 1124, electrically programmable read-only memory (EPROM), flash memory, hard disk, compact disc (CD), digital video disc (DVD), and other magnetic and / or optical storage. Examples of volatile memories include, but are not limited to, random access memory (RAM) 1122 and other volatile memories that do not persist during power outages.

[0163] Computer program 1130 includes computer-executable instructions that are executed by the associated processor 1110. Program 1130 may be stored in ROM 1124. Processor 1110 may perform any suitable actions and processes by loading program 1130 into RAM 1122.

[0164] Embodiments of this disclosure can be implemented using program 1130 so that device 1100 can execute reference Figures 2 to 10 Any process discussed in this disclosure. Embodiments of this disclosure may also be implemented by hardware or by a combination of software and hardware.

[0165] In some embodiments, program 1130 may be tangibly contained in a computer-readable medium, which may be included in device 1100 (such as memory 1120) or in other storage devices accessible by device 1100. Device 1100 may load program 1130 from the computer-readable medium into RAM 1122 for execution. The computer-readable medium may include any type of tangible non-volatile memory, such as ROM, EPROM, flash memory, hard disk, CD, DVD, etc. Figure 12 An example of a computer-readable medium 1200 is shown in the form of a CD or DVD. The computer-readable medium has a program 1130 stored thereon.

[0166] Generally, the various embodiments of this disclosure can be implemented in hardware or dedicated circuitry, software, logic, or any combination thereof. Some aspects can be implemented in hardware, while others can be implemented in firmware or software, which can be executed by a controller, microprocessor, or other computing device. Although various aspects of the embodiments of this disclosure are illustrated and described as block diagrams, flowcharts, or using some other graphical representation, it should be understood that the blocks, apparatuses, systems, techniques, or methods described herein can be implemented, by way of non-limiting example, in hardware, software, firmware, dedicated circuitry or logic, general-purpose hardware or controllers or other computing devices, or some combination thereof.

[0167] This disclosure also provides at least one computer program product tangibly stored on a non-transitory computer-readable storage medium. The computer program product includes computer-executable instructions, such as instructions included in a program module, which are executed in a device on a target real or virtual processor to perform the above-mentioned... Figures 7 to 10 The method described is 700, 800, 900, or 1000. Typically, a program module includes routines, programs, libraries, objects, classes, components, data structures, etc., that perform specific tasks or implement specific abstract data types. In various embodiments, the functionality of a program module can be combined or split among program modules as needed. The machine-executable instructions for a program module can be executed on a local or distributed device. In a distributed device, the program module can reside on both local and remote storage media.

[0168] Program code used to perform the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus so that, when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a stand-alone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0169] In the context of this disclosure, computer program code or associated data may be carried by any suitable carrier to enable a device, apparatus, or processor to perform the various processes and operations described above. Examples of carriers include signals, computer-readable media, etc.

[0170] Computer-readable media can be computer-readable signal media or computer-readable storage media. Computer-readable media can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or equipment, or any suitable combination of the foregoing. More specific examples of computer-readable storage media will include electrical connections having one or more wires, portable computer floppy disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable optical disc read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing. The term "non-transient" as used herein is a limitation on the medium itself (i.e., tangible, not signaling), not a limitation on the persistence of data storage (e.g., RAM and ROM).

[0171] Furthermore, although the operations are described in a specific order, this should not be construed as requiring such operations to be performed in the specific order shown or sequentially, or all of the shown operations, to achieve the desired result. In some cases, multitasking and parallel processing can be advantageous. Similarly, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure, but rather as descriptions of features that may be specific to particular embodiments. Certain features described in the context of individual embodiments may also be implemented in combinations of individual embodiments. Conversely, various features described in the context of individual embodiments may also be implemented individually or in any suitable sub-combination of multiple embodiments.

[0172] Although this disclosure has been described in language specific to structural features and / or methodological actions, it should be understood that the disclosure as defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features or actions described above are disclosed as exemplary forms of implementing the claims.

Claims

1. A first network device, comprising: At least one processor; as well as At least one memory storing instructions that, when executed by the at least one processor, cause the first network device to at least: A message is received from a second network device, the message being associated with a Domain Name System (DNS) query from a terminal device, wherein the DNS query requests available services from a computing service instance group; Obtain at least one type of computing metric from the computing service instance group; as well as Based on the at least one type of computing metric, for the DNS query from the terminal device, a selection of computing service instances from the computing service instance group is performed.

2. The first network device according to claim 1, wherein the first network device is further configured to: The selection of an egress node for a network domain is performed based on the following: at least one type of computation metric, at least one type of network metric associated with the computation service instance group, and information about the egress node of the network domain.

3. The first network device according to claim 1, wherein the message includes a DNS request message reporting the DNS query to the first network device.

4. The first network device according to claim 3, wherein the first network device is further configured to: After performing the selection of a computing service instance from the computing service instance group, a first response message is sent to the second network device, the first response message instructing the forwarding of the DNS query to the DNS server, wherein the DNS server is a local DNS server or a central DNS server.

5. The first network device of claim 4, wherein the first network device is configured to send the first response message by: Based on selecting a computing service instance from the computing service instance group, a first response message instructing the forwarding of the DNS query to the local DNS server is sent; and Based on the inability to select a computing service instance from the computing service instance group, a first response message instructing the central DNS server to forward the DNS query is sent.

6. The first network device according to claim 4 or 5, wherein the first network device is further configured to: The second message is received from the second network device, the second message reporting the DNS response received by the second network device from the DNS server, wherein the DNS response includes an anycast address or multicast address associated with the service requested by the terminal device; and The services associated with the services of the terminal device are directed to the exit node.

7. The first network device of claim 1, wherein the message includes a second message reporting that a DNS response received by the second network device from a DNS server includes a subnet option value associated with the terminal device.

8. The first network device according to claim 7, wherein the first network device is further configured to: Before receiving the second message, a DNS request message is received from the second network device, the DNS request message reporting the DNS query to the first network device; and Send a second response message to the second network device, the second response message instructing the subnet option value to be added to the first DNS query to obtain a second DNS query, wherein the subnet option value indicates at least one of the following: network access information, the location of the terminal device, or a set of egress nodes that can be used for the location of the terminal device.

9. The first network device according to any one of claims 1 to 8, wherein the message includes an indication of the fully qualified domain name (FQDN) of the service requested by the terminal device.

10. The first network device according to any one of claims 1 to 9, wherein the first network device is further configured to acquire the at least one type of computational metric by: Based on sending a request for a computational metric of at least one type, receive a computational metric of at least one type; or Receive the computational metric of the at least one type based on the dynamic updates of the at least one type of computational metric subscribed to.

11. The first network device according to any one of claims 1 to 10, wherein the at least one type of computing metric includes load information of the computing service instance group.

12. The first network device according to any one of claims 1 to 11, wherein the at least one type of computational metric is indexed by at least one of the following: FQDN; or The address corresponding to the service.

13. A second network device, comprising: At least one processor; as well as At least one memory storing instructions that, when executed by the at least one processor, cause the second network device to at least: Based on receiving a Domain Name System (DNS) query from a terminal device, a first message instructing the DNS query is sent to a first network device; Receive a second message from the first network device, the second message instructing the DNS query to be forwarded to a local DNS server or a central DNS server; as well as Based on the second message, the DNS query is sent to the local DNS server or the central DNS server.

14. The second network device according to claim 13, wherein one of the following is true: If the compute service instance is selected by the first network device from the compute service instance group, the second message instructs the forwarding of the DNS query to the local DNS server; and If no compute service instance is selected by the first network device from the compute service instance group, the second message instructs the DNS query to be forwarded to the central DNS server.

15. The second network device according to claim 13 or 14, wherein the second message instructs the forwarding of the DNS query to the local DNS server, wherein the second network device is further configured to: Receive a DNS response from the local DNS server, the DNS response including an anycast address or multicast address corresponding to the service requested by the DNS query; and A third message is sent to the first network device, the third message reporting the DNS response received by the second network device from the local DNS server.

16. The second network device according to any one of claims 13 to 15, wherein the DNS query includes a fully qualified domain name (FQDN) indicating the service.

17. A second network device, comprising: At least one processor; as well as At least one memory storing instructions that, when executed by the at least one processor, cause the second network device to at least: Based on receiving a first Domain Name System (DNS) query from a terminal device, a first message instructing the first DNS query is sent to a first network device; Receive a second message from the first network device, the second message indicating that a subnet option value be added to the first DNS query to obtain a second DNS query, wherein the subnet option value indicates network access information or the location of the terminal device; as well as Send the second DNS query to the DNS server.

18. The second network device of claim 17, wherein the second network device is further configured to: Receive a DNS response from the DNS server, the DNS response including an anycast address or multicast address corresponding to the service requested by the first DNS query; and A third message is sent to the first network device, the third message reporting the DNS response received by the second network device from the DNS server, including the subnet option value associated with the terminal device.

19. The second network device of claim 18, wherein the subnet option value further indicates a set of egress nodes of the network domain that can be used for the location of the terminal device.

20. A Domain Name System (DNS) server, comprising: At least one processor; as well as At least one memory storing instructions that, when executed by the at least one processor, cause the DNS server to at least: Receive DNS queries from the Edge Application Server Discovery Function (EASDF), the DNS queries including subnet option values ​​indicating network access information or the location of terminal devices; Based on the subnet option value, determine the anycast address or multicast address associated with the service requested by the terminal device; and Send the anycast address or the multicast address to the EASDF.

21. The DNS server of claim 19, wherein the subnet option value further indicates a set of exit nodes of a network domain that can be used for the location of the terminal device.

22. A method comprising: A message is received at a first network device from a second network device, the message being associated with a Domain Name System (DNS) query from a terminal device, wherein the DNS query requests available services from a computing service instance group; Obtain at least one type of computing metric from the computing service instance group; as well as Based on the at least one type of computing metric, for the DNS query from the terminal device, a selection of computing service instances from the computing service instance group is performed.

23. A method comprising: Based on receiving a Domain Name System (DNS) query from a terminal device, a first message indicating the DNS query is sent from the second network device to the first network device; Receive a second message from the first network device, the second message instructing the DNS query to be forwarded to a local DNS server or a central DNS server; as well as Based on the second message, the DNS query is sent to the local DNS server or the central DNS server.

24. A method comprising: Based on receiving a first Domain Name System (DNS) query from a terminal device, a first message instructing the first DNS query is sent from the second network device to the first network device; Receive a second message from the first network device, the second message indicating that a subnet option value be added to the first DNS query to obtain a second DNS query, wherein the subnet option value indicates network access information or the location of the terminal device; as well as Send the second DNS query to the DNS server.

25. A method comprising: At the DNS server, DNS queries are received from the Edge Application Server Discovery Function (EASDF), and the DNS queries include subnet option values ​​that indicate network access information or the location of terminal devices; Based on the subnet option value, determine the anycast address or multicast address associated with the service requested by the terminal device; and Send the anycast address or the multicast address to the EASDF.

26. An apparatus comprising: A component for receiving a message at a first network device from a second network device, the message being associated with a Domain Name System (DNS) query from a terminal device, wherein the DNS query requests available services from a computing service instance group; Components for obtaining at least one type of computing metric from the computing service instance group; as well as A component for selecting a computing service instance from the computing service instance group based on the DNS query from the terminal device, based on the at least one type of computing metric.

27. An apparatus comprising: A component for sending a first message indicative of a DNS query from a second network device to a first network device based on a DNS query received from a terminal device; A component for receiving a second message from the first network device, the second message instructing the forwarding of the DNS query to a local DNS server or a central DNS server; as well as A component for sending the DNS query to the local DNS server or the central DNS server based on the second message.

28. An apparatus comprising: A component for sending a first message indicative of the first DNS query to the first network device from the second network device based on receiving a first Domain Name System (DNS) query from the terminal device; A component for receiving a second message from the first network device, the second message indicating that a subnet option value be added to the first DNS query to obtain a second DNS query, wherein the subnet option value indicates network access information or the location of the terminal device; as well as A component used to send the second DNS query to the DNS server.

29. An apparatus comprising: A component for receiving DNS queries from the Edge Application Server Discovery Function (EASDF) at a DNS server, the DNS queries including subnet option values ​​indicating network access information or the location of terminal devices; A component for determining, based on the subnet option value, the anycast address or multicast address associated with the service requested by the terminal device; as well as A component used to send the anycast address or the multicast address to the EASDF.

30. A non-transitory computer-readable medium comprising program instructions that, when executed by a device, cause the device to perform at least the method according to any one of claims 22 to 25.