Communication method and communication apparatus
By providing address information to terminals through core network elements, the problem of optimizing HTTP DNS access paths is solved, thereby reducing latency and improving user experience.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2026-01-07
- Publication Date
- 2026-07-30
AI Technical Summary
In existing technologies, the problem of how to optimize the access service path provided to users based on HTTP DNS has not been effectively solved.
The core network elements provide address information to the terminal, which then carries this address information in the HTTP DNS query message. This allows the HTTP DNS server to determine the path to access services closer to the terminal, reducing latency and improving user experience.
By sending HTTP DNS query messages through the terminal device, the access path for services is determined based on address information, reducing the latency of accessing services and improving the user experience.
Smart Images

Figure CN2026071051_30072026_PF_FP_ABST
Abstract
Description
Communication methods and communication devices
[0001] This application claims priority to Chinese Patent Application No. 202510127460.9, filed on January 27, 2025, entitled "Communication Method and Communication Device", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of communications, and more particularly to a communication method and a communication device. Background Technology
[0003] Currently, third parties providing applications offer Hypertext Transfer Protocol (HTTP) Domain Name System (DNS) resolution services. For example, this service is provided as a software development kit (SDK), and application (APP) developers can call this SDK in their APP to implement HTTP DNS resolution, thereby obtaining the DNS service provided by the third party.
[0004] However, the problem of how to optimize the access path provided to users based on HTTP DNS remains unsolved. Summary of the Invention
[0005] This application provides a communication method and a communication device that provides a terminal with address information indicating the terminal's location through a core network element. This allows the terminal to carry the address information indicating its location in an HTTP DNS query message, thereby facilitating the acquisition of a path to access services provided by a third party that is close to the terminal.
[0006] Firstly, a communication method is provided, which can be executed by a communication device. This communication device can be a terminal device, or a component within the terminal device, such as a circuit, processor, chip, chip system, etc., or it can be some or all of the functional logic modules or software of the terminal device, etc. For ease of understanding and explanation, the method is described below using a terminal device as an example, but this should not constitute any limitation on this application.
[0007] For example, the method includes: receiving address information from a first core network element, the address information indicating the location of the terminal device; and sending an HTTP DNS query message, the HTTP DNS query message requesting information about the server of a first service, the HTTP DNS query message being determined based on the address information. Specifically, the first core network element may be a session management network element.
[0008] Based on the above technical solution, the HTTP DNS query message sent by the terminal device is determined based on address information. This helps the HTTP DNS server determine the path for the terminal device to access services closer to the terminal based on the HTTP DNS query message, thereby reducing the latency of the terminal device accessing services and improving the user experience.
[0009] For example, an HTTP DNS query message is determined based on address information, including: the HTTP DNS query message includes Extended Domain Name System (DNS) client subnet options or address information, and the Extended DNS client subnet options are determined based on the address information.
[0010] In conjunction with the first aspect, in some possible implementations of the first aspect, before receiving address information from the first core network element, the method further includes: sending information about a first data network and / or a first network slice to the first core network element, wherein the information about the first data network and / or the first network slice corresponds to a core network-assisted HTTP DNS service. Thus, the aforementioned address information is determined based on the information about the first data network and / or the first network slice.
[0011] Based on the above technical solution, by sending information about the first data network and / or the first network slice to the first core network element, the terminal device enables the network side to determine that the terminal device supports the core network-assisted HTTP DNS service, which is conducive to triggering the first core network element to provide the terminal device with address information for generating HTTP DNS query messages.
[0012] Optionally, the terminal device obtains information about the first data network and / or the first network slice in a predefined or preconfigured manner.
[0013] Optionally, the terminal device obtains information about the first data network and / or the first network slice, including: the terminal device receiving information #1 from a second core network element, where information #1 includes a session or session attributes corresponding to a service supporting core network-assisted HTTP DNS services. Specifically, the second core network element may be an access management network element.
[0014] Optionally, information #1 may also include information about the first service. Accordingly, the session or session attributes included in information #1 correspond to the first service.
[0015] In conjunction with the first aspect, in some possible implementations of the first aspect, before receiving address information from the first core network element, the method further includes: sending first information to the first core network element, the first information indicating one or more of the following: the terminal device supports core network-assisted HTTP DNS service, the terminal device uses HTTP DNS service, or the terminal device does not support edge DNS client (EDC) functionality.
[0016] Based on the above technical solution, the terminal device sends first information to the first core network element, enabling the first core network element to determine that the terminal device supports the core network-assisted HTTP DNS service, thereby facilitating the first core network element to provide the terminal device with address information for generating HTTP DNS query messages.
[0017] For example, the first information is contained in a session establishment request message or a session establishment modification request message.
[0018] For example, the first information also includes information about the first service, which is used to indicate one or more of the following: the terminal device supports core network-assisted HTTP DNS service for the first service, the terminal device uses HTTP DNS service for the first service, or the terminal device does not support EDC function for the first service.
[0019] Optionally, if the first information includes information about the first service, the first information is used to indicate one or more of the following: the first service supports core network-assisted HTTP DNS service, the first service uses HTTP DNS service, or the first service does not support EDC function.
[0020] In conjunction with the first aspect, in some possible implementations of the first aspect, sending the first information to the first core network element is performed under one or more of the following conditions: the terminal device starts up; or, the first application or first software development kit using the HTTP DNS service in the terminal device is installed or started; or, the first application or first software development kit in the terminal device determines to initiate an HTTP DNS query or determines to send an HTTP DNS message; or, the terminal device receives second information from the second core network element, the second information being used to instruct the first service to use the HTTP DNS service, then the terminal device sends the first information to the session management network element.
[0021] Among them, terminal device startup refers to the process of starting a terminal device, after starting a terminal device, or at the time of starting a terminal device.
[0022] The installation or startup of the first application or software development kit using HTTP DNS service on the terminal device refers to the process of installing or starting the first application or software development kit using HTTP DNS service on the terminal device, after installing or starting the first application or software development kit using HTTP DNS service on the terminal device, or when installing or starting the first application or software development kit using HTTP DNS service on the terminal device.
[0023] When the first application or first software development kit in the terminal device determines to initiate an HTTP DNS query or determine to send an HTTP DNS message, it means during the process of the first application or first software development kit in the terminal device determining to initiate an HTTP DNS query or determine to send an HTTP DNS message, after the first application or first software development kit in the terminal device determines to initiate an HTTP DNS query or determine to send an HTTP DNS message, or when the first application or first software development kit in the terminal device determines to initiate an HTTP DNS query or determine to send an HTTP DNS message.
[0024] The term "the terminal device receives the second information from the second core network element" refers to the terminal device receiving the second information from the second core network element after receiving it or when the terminal device receives the second information from the second core network element.
[0025] In conjunction with the first aspect, in some possible implementations of the first aspect, the terminal device sends the first information to the first core network element, including: the terminal device's first application or first software development kit sending the first information to the first core network element; or, the terminal device's operating system sending the first information to the first core network element.
[0026] In conjunction with the first aspect, in some possible implementations of the first aspect, the first application or first software development kit of the terminal device sends first information to the first core network element, including: the first application or first software development kit of the terminal device sending first information to the operating system of the terminal device through an application programming interface; and the operating system of the terminal device sending first information to the first core network element.
[0027] In conjunction with the first aspect, in some possible implementations of the first aspect, the terminal device's operating system sends first information to the first core network element, including: the terminal device's operating system sending an attention (AT) command message to the terminal device's modem, the AT command message including the first information; and the terminal device's modem sending the first information to the first core network element.
[0028] In conjunction with the first aspect, in some possible implementations of the first aspect, the first information is also used to request address information or extend the Domain Name System client subnet option.
[0029] Secondly, a communication method is provided, which can be executed by a communication device. This communication device can be a network element capable of implementing the functions of a first core network (hereinafter referred to as the first core network element), or it can be a component within the first core network element, such as a circuit, processor, chip, chip system, etc., or it can be some or all of the functional logic modules or software of the first core network element, etc. For ease of understanding and explanation, the method is described below using the first core network element as an example, but this should not constitute any limitation on this application. For example, the first core network element is a session management network element.
[0030] For example, the method includes: determining that the terminal device supports core network-assisted HTTP DNS service; sending address information to the terminal device, the address information being used to indicate the location of the terminal device, and the address information being used to determine the HTTP DNS query message.
[0031] Based on the above technical solution, when the first core network element determines that the terminal device supports the core network-assisted HTTP DNS service, it can provide address information to the terminal device. This enables the terminal device to send an HTTP DNS query message based on the address information. This helps the HTTP DNS server determine the path of the access service closest to the terminal device based on the HTTP DNS query message, and also helps reduce the latency of the terminal device's access service and improve the user's service experience.
[0032] For example, address information used to determine an HTTP DNS query message includes: address information used to determine Extended Domain Name System (DNS) client subnet options, and the HTTP DNS query message including Extended DNS client subnet options; or, the HTTP DNS query message including address information.
[0033] In conjunction with the second aspect, in some possible implementations of the second aspect, determining that the terminal device supports core network-assisted HTTP DNS services includes: receiving first information from the terminal device, the first information being used to determine one or more of the following: the terminal device supports core network-assisted HTTP DNS services, the terminal device uses HTTP DNS services, or the terminal device does not support EDC functionality.
[0034] Based on the above technical solution, the terminal device sends first information to the first core network element, enabling the first core network element to determine that the terminal device supports the core network-assisted HTTP DNS service, thereby facilitating the first core network element to provide the terminal device with address information for generating HTTP DNS query messages.
[0035] For example, the first information also includes information about the first service, which is used to determine one or more of the following: the first service supports core network-assisted HTTP DNS service, the first service uses HTTP DNS service, or the first service does not support EDC function.
[0036] For example, the first information is included in the session establishment request message or the session establishment modification request message.
[0037] In conjunction with the second aspect, in some possible implementations of the second aspect, determining that the terminal device supports the core network-assisted HTTP DNS service includes: receiving information from the terminal device about a first data network and / or a first network slice, wherein the information about the first data network and / or the first network slice corresponds to the core network-assisted HTTP DNS service; and determining that the terminal device supports the core network-assisted HTTP DNS service based on the information about the first data network and / or the first network slice.
[0038] Based on the above technical solution, the terminal device sends information about the first data network and / or the first network slice to the first core network element, enabling the first core network element to determine that the terminal device supports the core network-assisted HTTP DNS service. This facilitates triggering the first core network element to provide the terminal device with address information for generating HTTP DNS query messages.
[0039] In conjunction with the second aspect, in some possible implementations of the second aspect, determining that the terminal device supports the core network-assisted HTTP DNS service includes: receiving fifth information from a third core network element, the fifth information being used to indicate authorization or permission for the terminal device to use the core network-assisted HTTP DNS service, or the fifth information being used to indicate that the terminal device requests or needs to use the core network-assisted HTTP DNS service; and determining that the terminal device supports the core network-assisted HTTP DNS service based on the fifth information.
[0040] For example, the third core network element is a unified data management network element, a policy management network element, or an application function.
[0041] Based on the above technical solution, the first core network element can determine that the terminal device supports the core network-assisted HTTP DNS service according to the fifth information, which is conducive to triggering the first core network element to provide the terminal device with address information for generating HTTP DNS query messages.
[0042] For example, the fifth information includes information about the first service. Determining that the terminal device supports core network-assisted HTTP DNS service based on the first information includes: determining that the terminal device supports core network-assisted HTTP DNS service for the first service based on the fifth information.
[0043] In conjunction with the second aspect, in some possible implementations of the second aspect, the method further includes: configuring a fourth core network element according to the address of the terminal device, wherein the fourth core network element is used to forward HTTP DNS messages of the terminal device, or the fourth core network element is used to serve a first service of the terminal device, wherein the first service uses HTTP DNS service.
[0044] Thirdly, a communication device is provided that can implement the methods described in the first and second aspects and any possible implementations thereof. The device includes one or more functional units or modules for performing the above methods. The functional units or modules included in the device can be implemented in software and / or hardware.
[0045] Fourthly, a communication device is provided, including a processor for performing the methods described in the first to second aspects and any possible implementation thereof.
[0046] Optionally, the apparatus may further include a memory for storing instructions and data. The memory is coupled to the processor, which, when executing the instructions stored in the memory, can implement the methods described in the foregoing aspects.
[0047] Optionally, the device may further include a communication interface for communicating with other devices. For example, the communication interface may be a transceiver, circuit, bus, module, or other type of communication interface.
[0048] Fifthly, a chip system is provided, the chip system including at least one processor for supporting the implementation of the functions involved in the first to second aspects and any possible implementation of the first to second aspects, such as receiving or processing data and / or information involved in the above methods.
[0049] In one possible design, the chip system also includes a memory for storing program instructions and data, which may be located within or outside the processor.
[0050] In one possible design, the chip system further includes an interface circuit and / or a power supply circuit, wherein the interface circuit is used to transmit data and the power supply circuit is used to supply power to the chip system.
[0051] The chip system can consist of chips or include chips and other discrete components.
[0052] Sixthly, a communication system is provided, comprising one or more of the following: a terminal device and a first core network element. The terminal device can be used to implement the method in any possible implementation of the first aspect. The first core network element can be used to implement the method in any possible implementation of the second aspect.
[0053] In a seventh aspect, a computer-readable storage medium is provided, including a computer program that, when executed on a computer, causes the computer to implement the methods of the first to second aspects and any possible implementation thereof.
[0054] Eighthly, a computer program product is provided, the computer program product comprising: a computer program (also referred to as code or instructions), which, when the computer program is run, causes a computer to perform the methods of the first to second aspects and any possible implementation thereof.
[0055] It should be understood that the third to eighth aspects of this application correspond to the technical solutions of the first to second aspects of this application, and the beneficial effects achieved by each aspect and the corresponding feasible implementation are similar, and will not be repeated here. Attached Figure Description
[0056] Figure 1 is a schematic diagram of the system architecture applicable to the communication method provided in the embodiments of this application;
[0057] Figure 2 shows a schematic flowchart of an edge application server discovery method;
[0058] Figure 3 is a schematic flowchart of the communication method provided in an embodiment of this application;
[0059] Figure 4 is a schematic flowchart of the communication method provided in an embodiment of this application;
[0060] Figure 5 is a schematic flowchart of the communication method provided in an embodiment of this application;
[0061] Figure 6 is a schematic block diagram of a communication device provided in an embodiment of this application;
[0062] Figure 7 is a schematic block diagram of a communication device provided in an embodiment of this application. Detailed Implementation
[0063] The technical solutions in this application will now be described with reference to the accompanying drawings.
[0064] Before introducing the scheme of this application, the following points should be noted.
[0065] First, in this application, the indication includes explicit indication (also known as direct indication) and implicit indication (also known as indirect indication). Explicit indication information A means including information A; implicit indication information A means indicating information A through the correspondence between information A and information B, and direct indication information B. The correspondence between information A and information B can be predefined, pre-stored, pre-burned, or pre-configured; or it can refer to indicating information A through information B and preset rules.
[0066] Second, in this application, information C is used to determine information D, which includes both determining information D based solely on information C and determining it based on information C and other information. Furthermore, information C can also be used to determine information D indirectly, for example, in the case where information D is determined based on information E, and information E is determined based on information C.
[0067] Third, in this application, "at least one" means one or more, and "more than one" means two or more. The expression " / " is used to indicate that the objects before and after are in an "or" relationship; for example, A / B can mean: A or B. The expression "and / or" is used to indicate that the objects before and after are in a relationship of either "and" or "or", for example, A and / or B can mean: A exists alone, A and B exist simultaneously, or B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the objects before and after are in an "or" relationship, but it does not exclude the possibility that the objects before and after are in a relationship of "and". The specific meaning can be understood in conjunction with the context. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can mean: a, b, c; a and b; a and c; b and c; or a and b and c. Where a, b, and c can be single or multiple.
[0068] Fourth, the use of prefixes such as "first" and "second" in this application is solely for the purpose of distinguishing different things belonging to the same name category, and does not constrain the order, size, or quantity of things. For example, "first instruction information" and "second instruction information" are simply different instruction information; they have no temporal sequence, quantitative relationship, or priority relationship. It should be understood that such descriptions can be interchanged where appropriate to describe solutions other than those in the embodiments of this application.
[0069] Fifth, in this application, "send" and "receive" indicate the direction of signal transmission. For example, "send information to XX" can be understood as the destination of the information being XX, which can include direct transmission via a wireless channel or indirect transmission by other units or modules via a wireless channel. "Receive information from YY" can be understood as the source of the information being YY, which can include direct reception from YY via a wireless channel or indirect reception from YY by other units or modules via a wireless channel. "Send" can also be understood as the "output" of a chip interface, and "receive" can also be understood as the "input" of a chip interface. In other words, sending and receiving can occur between devices, such as between a terminal device and a computing node, or within a device, such as between components, modules, chips, software modules, or hardware modules within the device via a bus, wiring, or interface.
[0070] Sixth, in the embodiments of this application, "when," "if," and "if" all refer to the device making corresponding processing under certain objective circumstances, and are not limited to a time, nor do they require the device to make a judgment action when it is implemented, nor do they mean that there are other limitations.
[0071] Seventh, in this application, the words "example," "exemplarily," "for example," or "such as" are used to indicate that something is an example, illustration, or description. Any embodiment or design described as "example," "exemplarily," "for example," or "such as" in this application should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of the words "example," "exemplarily," "for example," or "such as" is intended to present the relevant concepts in a specific manner.
[0072] Eighth, in the various embodiments of this application, unless otherwise specified or in case of logical conflict, the terms and / or descriptions between different embodiments are consistent and can be referenced by each other, and the technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationship.
[0073] The method provided in this application can be applied to various communication systems, such as: Long Term Evolution (LTE) systems, LTE Frequency Division Duplex (FDD) systems, LTE Time Division Duplex (TDD) systems, 5G mobile communication systems, or new radio access technology (NR) or future communication systems. Among them, 5G mobile communication systems can include non-standalone (NSA) and / or standalone (SA) networks.
[0074] The technical solutions provided in this application can also be applied to machine-type communication (MTC), long-term evolution-machine (LTE-M) technology, device-to-device (D2D) networks, machine-to-machine (M2M) networks, Internet of Things (IoT) networks, or other networks. IoT networks, for example, can include vehicle-to-everything (V2X) networks. The communication methods in V2X systems are collectively referred to as vehicle-to-other-device (V2X) systems, where X can represent anything. For example, V2X can include vehicle-to-vehicle (V2V) communication, vehicle-to-infrastructure (V2I) communication, vehicle-to-pedestrian (V2P) communication, or vehicle-to-network (V2N) communication. The technical solutions provided in this application can also be applied to future communication systems. This application does not limit these applications.
[0075] To facilitate understanding of the embodiments of this application, the communication system applicable to the embodiments of this application will be briefly introduced first with reference to Figure 1.
[0076] Figure 1(a) shows a schematic diagram of the architecture of a 5G system 100a applicable to an embodiment of this application. As shown in Figure 1(a), the network architecture may include, but is not limited to, the following network elements (or functional network elements, functional entities, nodes, devices, etc.):
[0077] User equipment (UE), radio access network (R)AN, user plane function (UPF) network elements, edge application server (EAS), access and mobility management function (AMF) network elements, session management function (SMF) network elements, network exposure function (NEF) network elements, EASDF network elements, network repository function (NRF) network elements, policy control function (PCF) network elements, application function (AF) network elements, unified data management (UDM) network elements, etc. For the specific functions and definitions of the above network elements, please refer to 3GPP technical specification (TS) 23.501.
[0078] The following is a brief introduction to each network element shown in Figure 1(a):
[0079] 1. User Equipment: This can be referred to as terminal equipment (TE), terminal device, access terminal, user unit, user station, mobile station, mobile station (MS), mobile terminal (MT), remote station, remote terminal, mobile device, user terminal, terminal, wireless communication equipment, user agent, or user equipment. Terminal equipment can be a device that provides voice / data connectivity to users, such as handheld devices with wireless connectivity, vehicle-mounted devices, etc. Currently, examples of terminals include: mobile phones, tablets, computers with wireless transceiver capabilities (such as laptops and PDAs), mobile internet devices (MIDs), virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, wireless terminals in self-driving vehicles, wireless terminals in remote medical care, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, cellular phones, cordless phones, session initiation protocol (SIP) phones, wireless local loop (WLL) stations, personal digital assistants (PDAs), handheld devices with wireless communication capabilities, computing devices or other processing devices connected to a wireless modem, in-vehicle devices, wearable devices, terminal devices in 5G networks, or future public land mobile communication networks. Terminal devices in a network (PLMN), etc.
[0080] Furthermore, terminal devices can also be terminal devices in Internet of Things (IoT) systems. IoT is an important component of future information technology development. Its main technical characteristic is connecting objects to networks through communication technologies, thereby realizing an intelligent network that enables human-machine interconnection and machine-to-machine interconnection. IoT technology can achieve massive connectivity, deep coverage, and low power consumption at the terminal level through technologies such as narrowband (NB).
[0081] In addition, terminal devices may also include smart printers, train detectors, etc. Their main functions include collecting data (for some terminal devices), receiving control information and downlink data from network devices, and sending electromagnetic waves to transmit uplink data to network devices.
[0082] It should be understood that a user equipment can be any device capable of accessing a network. Terminal devices and access network devices can communicate with each other using some form of air interface technology.
[0083] Alternatively, the user equipment (UE) can be used to act as a base station. For example, the UE can act as a scheduling entity, providing sidelink signaling between UEs in V2X or D2D, etc. For instance, cellular phones and cars communicate with each other using sidelink signals. Cellular phones and smart home devices can communicate without relaying communication signals through a base station.
[0084] 2. (Wireless) Access Network Equipment: A radio access network (RAN) device is a device with wireless transceiver capabilities. RAN devices can provide wireless communication services, enabling terminals to access the wireless network. RAN devices can also be called access network equipment or network equipment. In the embodiments of this application, the access network equipment can refer to a radio access network (RAN) node (or device) used in a cellular network (or mobile network) to connect terminals to the wireless network.
[0085] For example, a RAN node can be a base station. A base station can broadly encompass, or be replaced by, various names including: NodeB, evolved NodeB (eNB), next-generation NodeB (gNB), relay station, access point, transmitting and receiving point (TRP), transmitting point (TP), master station, auxiliary station, motor slide retainer (MSR) node, home base station, network controller, access node, wireless node, access point (AP), transmission node, transceiver node, baseband unit (BBU), remote radio unit (RRU), active antenna unit (AAU), remote radio head (RRH), central unit (CU), distributed unit (DU), radio unit (RU), positioning node, etc. A base station can be a macro base station, micro base station, relay node, donor node, or similar entities, or combinations thereof. A base station can also refer to a communication module, modem, or chip installed within the aforementioned equipment or apparatus. A base station can also be a mobile switching center, a device that performs base station functions in D2D, V2X, and M2M communications, or a device that performs base station functions in future communication systems. A base station can support networks using the same or different access technologies. Optionally, a RAN node can also be a server, wearable device, vehicle, or in-vehicle equipment. For example, the access network equipment in vehicle-to-everything (V2X) technology can be a roadside unit (RSU). The embodiments of this application do not limit the specific technologies or equipment forms used in the network equipment.
[0086] In some deployments, the network devices mentioned in the embodiments of this application may be devices including CU, DU, or CU and DU, or devices with control plane CU nodes (central unit-control plane (CU-CP)) and user plane CU nodes (central unit-user plane (CU-UP)) and DU nodes. For example, the network devices may include gNB-CU-CP, gNB-CU-UP, and gNB-DU.
[0087] In some deployments, multiple RAN nodes collaborate to assist terminals in achieving wireless access, with different RAN nodes each implementing some of the base station's functions. For example, RAN nodes can be CUs, DUs, CU-CPs, CU-UPs, or RUs. CUs and DUs can be configured separately or included in the same network element, such as a BBU. RUs can be included in radio frequency equipment or radio frequency units, such as RRUs, AAUs, or RRHs.
[0088] In different systems, CU (or CU-CP and CU-UP), DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an open-RAN (O-RAN or ORAN) system, CU may also be called O-CU (open CU), DU may also be called O-DU, CU-CP may also be called O-CU-CP, CU-UP may also be called O-CU-UP, and RU may also be called O-RU.
[0089] Any of the CU (or CU-CP, CU-UP), DU, and RU units in this application can be implemented through software modules, hardware modules, or a combination of software and hardware modules. The network device in this application can be a virtualized device, for example, implemented through general-purpose hardware and instantiated virtualization functions, or dedicated hardware and instantiated virtualization functions. The general-purpose hardware can be a server, such as a cloud server.
[0090] In this embodiment, the apparatus for implementing the functions of a network device can be a network device itself; it can also be an apparatus capable of supporting the network device in implementing those functions, such as a chip system, hardware circuit, software module, or a hardware circuit plus a software module. This apparatus can be installed in the network device or used in conjunction with the network device. In this embodiment, the example of a network device being used to implement the functions of a network device is provided only and does not constitute a limitation on the solutions described in this embodiment.
[0091] 3. User plane functional network elements: User plane functional network elements mainly include the following functions: data packet routing and transmission, packet inspection, service usage reporting, quality of service (QoS) processing, legitimate interception, uplink packet inspection, downlink data packet storage, and other user plane related functions.
[0092] For example, UPF can be divided into Protocol Data Unit Session Anchor UPF (PSA UPF) and Uplink Classifier Functionality UPF (ULCL UPF).
[0093] The UPF shown in Figure 1(a) is the PSA UPF, which supports PDU session anchor function. The UE connects to the AMF through the N1 interface; the AN connects to the AMF through the N2 interface and to the PSA UPF through the N3 interface; the PSA UPF connects to the SMF through the N4 interface; and the PSA UPF connects to the EAS through the N6 interface.
[0094] In the following text, for the sake of brevity, PSA UPF can be abbreviated as PSA; UL CL UPF can be abbreviated as UL CL.
[0095] In the 5G architecture, what is called the User Plane Function Network Element can still be called the UPF Network Element in future communication systems, or it can have other names. This application does not limit it.
[0096] 4. Edge Application Server: EAS is an application server deployed in EDN to provide edge computing (EC) services.
[0097] This edge application can also be referred to as an "application instance," specifically referring to an instance of a server application (e.g., social media software, augmented reality (AR), virtual reality (VR)) deployed and running on an edge data network (EDN). An application (or business) can deploy one or more EASs in one or more EDNs. EASs deployed and running in different EDNs can be considered different EASs of the same application. They can share a domain name or use a different domain name than the application deployed in the cloud. The domain name can be a fully qualified domain name (FQDN), and can use a single anycast IP address or a different IP address.
[0098] It is understandable that EAS can also be referred to as edge application (server), application instance, edge application instance, multi-access edge computing (MEC) application (server), EAS function, etc.
[0099] EDN can be a local part of DN. EDN includes edge enabler servers (EES) and multiple EAS, and each EDN has a specific service range.
[0100] 5. Access and Mobility Management Function Network Elements: Mobility management network elements mainly include the following functions: connection management, mobility management, registration management, access authentication and authorization, reachability management, security context management, and other access and mobility-related functions.
[0101] In the 5G architecture, the network element referred to as the Access and Mobility Management Function (AMF) may still be called the AMF network element in future communication systems, or it may have other names. This application does not limit this.
[0102] 6. Session management network element: mainly used for session management, allocation and management of Internet Protocol (IP) addresses for terminal devices, selection of manageable user plane functions, policy control and charging function interface endpoints, and downlink data notification, etc. The session management network element can be a network element that provides services for the UE's session.
[0103] In future communication systems, the session management function network element can still be an SMF network element, or it can have other names; this application does not limit this.
[0104] 7. Network Open Functional Elements: This can be understood as the naming of capability open network elements in the 5G architecture. Capability open network elements mainly include the following functions: securely opening services and capabilities provided by 3GPP network functions, which may be internally open or open to third parties; converting or translating information interacting with AF and information interacting with internal network functions, such as AF service identifiers and internal 5G core network information such as data network name (DNN) and single network slice selection assistance information (S-NSSAI), etc.
[0105] 8. EAS Discovery Function Network Element: Primarily responsible for discovering EAS, including functions such as registering with NRF for discovery and selection, processing DNS messages according to SMF instructions (e.g., receiving DNS message processing rules sent by SMF, sending DNS messages to local DNS servers or central DNS servers, adding extension mechanisms for DNS (EDNS) client subnet (ECS) option fields to DNS query messages, exchanging DNS messages sent by UEs, notifying SMF of EASDF-related information, etc.), and terminating DNS security.
[0106] 9. Network Storage Function Element: This can be understood as the naming of the network storage function element in the 5G architecture. The network storage function element mainly includes the following functions: service discovery, maintaining the NF text of available network function (NF) instances and the services they support.
[0107] 10. Policy control function network element: A unified policy framework used to guide network behavior, providing policy rule information to control plane function network elements (such as AMF, SMF, etc.).
[0108] In future communication systems, the policy control function network element can still be a PCF network element, or it can have other names; this application does not limit this.
[0109] 11. Application Function Network Elements: These elements provide application-layer information for data routing that impacts applications. They can interact with the policy framework or directly with the policy framework to make policy decisions and request control, etc., by accessing the network and opening up functional network elements.
[0110] In future communication systems, application function network elements can still be AF network elements, or they can have other names; this application does not limit this.
[0111] 12. Unified Data Management Network Element: This can be understood as the naming of the unified data management network element in the 5G architecture. The unified data management network element mainly includes the following functions: unified data management, supporting authentication trust processing in 3GPP authentication and key negotiation mechanisms, user identity processing, access authorization, registration and mobility management, subscription management, and short message management.
[0112] In future communication systems, the unified data management network element can still be a UDM network element, or it can have other names; this application does not limit this.
[0113] As an example, Figure 1(b) shows a schematic diagram of another 5G system 100b applicable to the embodiments of this application. The system 100b shown in Figure 1(b) differs from the system 100a shown in Figure 1(a) in that the 5G system in system 100a does not provide access to the EAS through UL CL / BP, while the 5G system in system 100b shown in Figure 1(b) provides access to the EAS through UL CL / BP. As shown in Figure 1(b), this network architecture may include, but is not limited to, the following network elements (or functional network elements, functional entities, nodes, devices, etc.):
[0114] UE, (R)AN, UPF, EAS, DN (e.g., a central DN), AMF network element, SMF network element, NEF network element, EASDF network element, NRF network element, PCF network element, AF network element, UDM network element, etc.
[0115] The network elements included in Figure 1(b) and the connections between them are similar to those in Figure 1(a). Further details will not be provided for those similar to those in Figure 1(a). The differences are as follows:
[0116] 1. The UPF shown in Figure 1(b) includes UL CL UPF (or branching point UPF, BPUPF), local PSA UPF (L-PSA UPF) and central PSA UPF (C-PSA UPF).
[0117] Among them, the UL CL UPF is a UPF with uplink classifier function. The UE connects to the AMF through the N1 interface; the AN connects to the AMF through the N2 interface and to the UL CL UPF through the N3 interface; the UL CL UPF connects to the SMF through the N4 interface and to the PSA UPF through the N9 interface; the SMF connects to the PSA UPF through the N4 interface; the C-PSA UPF connects to the DN through the N6 interface; and the L-PSA UPF connects to the EAS through the N6 interface.
[0118] 2. The architecture shown in Figure 1(b) includes DN in addition to EAS.
[0119] It is understood that the aforementioned network elements or functional network elements can be network components in hardware devices, software functions running on dedicated hardware, or virtualization functions instantiated on a platform (e.g., a cloud platform).
[0120] In the network architecture shown in Figure 1, network elements can communicate with each other through the interfaces shown in the figure. Some interfaces can be implemented using non-service interfaces. As shown in Figure 1, the UE and AMF can interact through the N1 interface, and the interaction messages can be called N1 messages. The RAN and AMF can interact through the N2 interface, which can be used to send non-access stratum (NAS) messages. The RAN and UPF can interact through the N3 interface, which can be used to transmit user plane data. The SMF and UPF can interact through the N4 interface, which can be used to transmit information such as tunnel identification information for N3 connections, data buffer indication information, and downlink data notification messages. The UPF and DN can interact through the N6 interface, which can be used to transmit user plane data.
[0121] In addition, the various network elements of the control plane function in Figure 1 can also communicate through service-oriented interfaces. For example, the AMF accesses the service-oriented architecture through the Namf interface to provide corresponding services; the SMF accesses the service-oriented architecture through the Nsmf interface to provide corresponding services; similarly, the NRF, PCF, and AF access the service-oriented architecture through their respective interfaces to provide corresponding services, which will not be elaborated here. The relationship between other interfaces and various network elements is shown in Figure 1, and for the sake of simplicity, it will not be described in detail here.
[0122] It should be understood that the network architecture applicable to the above embodiments of this application is merely an illustrative example, and the network architecture applicable to the embodiments of this application is not limited thereto. Any network architecture that includes the functions of the above-mentioned network elements is applicable to the embodiments of this application.
[0123] It should also be understood that the AMF, SMF, UPF, PCF, etc. shown in Figure 1 can be understood as network elements used to implement different functions, such as network slices that can be combined as needed. These network elements can be independent devices, or they can be integrated into the same device to implement different functions. Alternatively, they can be network components in hardware devices, software functions running on dedicated hardware, or virtualization functions instantiated on a platform (e.g., a cloud platform). This application does not limit the specific form of the above network elements.
[0124] It should also be understood that the above naming is defined solely for the purpose of distinguishing different functions and should not constitute any limitation on this application. This application does not preclude the possibility of using other naming conventions in 5G networks and other future networks. For example, in future networks, some or all of the above-mentioned network elements may use the terminology from 5G, or they may use other names, etc.
[0125] It should also be understood that the interface names between the various network elements in Figure 1 are merely examples, and the interface names in actual implementations may be different; this application does not impose any specific limitations on them. Furthermore, the names of the messages (or signaling) transmitted between the aforementioned network elements are also merely examples and do not constitute any limitation on the function of the messages themselves.
[0126] It should also be understood that the description of the architecture shown in FIG1 in this application is merely an example and is not intended to limit the scope of the application. For a more detailed description of the architecture shown in FIG1, please refer to 3GPP TS23.501.
[0127] In edge computing (EC) deployment scenarios, certain services may be provided by multiple Application Servers (EASs) deployed at the network edge (e.g., local DN). The services and content provided by these EASs can be the same as those provided by application servers (ASs) deployed in other network locations (e.g., network center). EASs and ASs can share the same address. When a UE needs to access these services, the UE needs to obtain the appropriate EAS address information.
[0128] Figure 2 is a schematic flowchart of EAS discovery method 200 as defined in the existing 5G standard, detailed in 3GPP TS23.548. Optional operations in method 200 are shown in Figure 2 with dashed lines. Method 200 is described below with reference to Figure 2.
[0129] S210, SMF configures DNS processing rules for EASDF.
[0130] For example, during the session establishment process, after the SMF selects EASDF, the SMF can configure DNS processing rules on EASDF. For instance, there can be multiple DNS processing rules, each corresponding to a PDU session.
[0131] In some possible implementations, after configuring EASDF, SMF can send the EASDF address information to the UE, instructing the UE to use the EASDF address as the address of the UE's default DNS server, that is, the default address for the UE to send DNS request messages.
[0132] S220, the UE sends a DNS request message to the EASDF. Correspondingly, the EASDF receives the DNS request message from the UE.
[0133] In some possible implementations, S220 can be executed after the PDU session establishment process.
[0134] DNS request messages can be used to request address information for EAS.
[0135] For example, a DNS request message may include the source address and service information. For instance, the service information may be a fully qualified domain name (FQDN).
[0136] For example, the source address may include: the UE's IP address (e.g., IP version 4 (IPv4) address or IP version 6 (IPv6) address), the UE's medium access control (MAC) address, or other information that can indicate the UE's address, which is not limited in this application.
[0137] DNS request messages can also be called DNS query messages, DNS messages, or other names.
[0138] S230, EASDF matches DNS processing rules based on DNS request messages.
[0139] For example, EASDF can match the source address of a DNS request message with the source address in at least one DNS processing rule.
[0140] EASDF can serve multiple PDU sessions, each of which can correspond to different DNS processing rules. Therefore, after EASDF receives a DNS request message, it can determine the PDU session corresponding to the DNS request message and the DNS processing rule corresponding to that PDU session (denoted as DNS processing rule 1) based on the source address.
[0141] Furthermore, EASDF can match the FQDN in the DNS request message with the FQDN range in DNS processing rule 1. If the FQDN in the DNS request message is within the range, EASDF can execute S240. If the FQDN in the DNS request message is not within the range, EASDF can send the DNS request message to the central DNS (C-DNS) server.
[0142] The DNS processing rule can also be called the DNS message handling rule or other names, which are not limited in this application.
[0143] S240, EASDF sends an indication of the FQDN to SMF. Correspondingly, SMF receives the FQDN indication from EASDF. This indication may specify the FQDN included in the DNS request message.
[0144] For example, the reporting action in the DNS message processing rule instructs EASDF to report to SMF when it receives a DNS query message with FQDN of www.abc.com.
[0145] S245, the SMF sends address information to the EASDF. Correspondingly, the EASDF receives the address information from the SMF.
[0146] This address information can represent the location information of the UE. For example, this address information could be the address information of a network element that is close to the UE.
[0147] In some possible implementations, after the SMF receives the FQDN indication information, it can determine the address information based on the FQDN, EAS deployment information, or UE location information. This address information can be a single address; for example, it could be the IP address of the local PSA controlled by the SMF in the area corresponding to the data network access identifier (DNAI) closest to the UE's location in the EDI.
[0148] S250, EASDF sends a DNS request message to the C-DNS server. Correspondingly, the C-DNS server receives the DNS request message from EASDF.
[0149] In particular, the DNS request message in S250 may carry an EDNS client subnet (ECS) option field, the value of which may be the address information provided by SMF to EASDF in S245.
[0150] In some possible implementations, EASDF can generate an ECS option field based on the address information received from the SMF, and add the ECS option field to the DNS request message received from the UE, or in other words, populate the ECS option field of the DNS request message.
[0151] The ECS option field can be an extension item in the DNS message, used to represent the UE's location information. For example, the address information carried in the ECS option field can be the address information of a network element that is close to the UE.
[0152] The above S245 can also be understood as SMF instructing EASDF to use this address information as the ECS option field. After receiving the DNS request message including the ECS option field, the C-DNS server can return the address of the server that is closer to the address in the ECS option field (or has high IP affinity).
[0153] S255, the C-DNS server sends a DNS response message to EASDF. Correspondingly, EASDF receives the DNS response message from the C-DNS server.
[0154] The DNS response message may include the FQDN and the address information of the EAS. This FQDN may be the same as the FQDN in the DNS request message.
[0155] In S230, if the FQDN in the DNS request message is not within the range of FQDNs indicated by the DNS processing rules, EASDF can directly forward the DNS request message to the default DNS server without going through S240 to S245 (i.e., without adding the ECS option field). In this case, the server queried is generally the address of a remote server, such as a central cloud server.
[0156] S260, EASDF matches DNS processing rules based on DNS response messages.
[0157] For example, EASDF can match the FQDN of the DNS response message with the FQDN in the DNS processing rule. If the match is successful, EASDF can execute S270. If the match fails, that is, the FQDN of the DNS response message is not within the range of FQDNs in the DNS processing rule, EASDF can directly forward the DNS response message to the UE.
[0158] For example, the above matching can also be based on the EAS address information. For instance, EASDF can match the EAS address information of the DNS response message with the address information in the DNS processing rules. If the match is successful, EASDF can execute S270. If the match fails, that is, the address information of the DNS response message is not within the range of the address information in the DNS processing rules, EASDF can directly forward the DNS response message to the UE.
[0159] For example, the above matching can also be based on the combination of FQDN and EAS address information. That is, EASDF can execute S270 only if the address information of FQDN and EAS are matched successfully at the same time. Otherwise, EASDF can directly forward the DNS response message to the UE.
[0160] The above matching can also be based on other information, which is not limited in this application.
[0161] S270, EASDF sends the EAS address information to SMF. Correspondingly, SMF receives the address information from EASDF.
[0162] In some possible implementations, EASDF may store the DNS response message locally.
[0163] In some possible implementations, EASDF may also indicate the FQDN to SMF.
[0164] S274, SMF configuration shunt point.
[0165] For example, SMF can insert offloading points (e.g., UL-CL and / or BP) and local anchors (e.g., L-PSA) based on EAS address information or EAS deployment information. SMF can configure offloading rules on offloading points and local anchors.
[0166] S276, the SMF sends an instruction to the EASDF, instructing the EASDF to forward the DNS response message to the UE. Correspondingly, the EASDF receives this instruction from the SFM.
[0167] After the SMF configures the routing point, the SMF can instruct the EASDF to send cached DNS response messages to the UE.
[0168] S280, EASDF sends a DNS response message to the UE. Correspondingly, the UE receives the DNS response message from EASDF.
[0169] When a third party providing an application offers a Hypertext Transfer Protocol (HTTP) DNS resolution service, for example, as a software development kit (SDK), the application (APP) developer can call this SDK in the APP to implement HTTP DNS resolution and thus obtain the DNS service provided by the third party. However, the method described above 200 is not applicable to HTTP DNS messages.
[0170] In view of this, this application provides a communication method and communication device that provides address information indicating the terminal's location to the terminal through core network elements. The terminal can then send an HTTP DNS query message based on the address information indicating the terminal's location, thereby facilitating the acquisition of a path closer to the terminal for accessing services provided by a third party.
[0171] The technical solution provided in this application will now be described in conjunction with the accompanying drawings.
[0172] It should be noted that the various embodiments described below describe each process from the perspective of network element interaction. Each network element is merely an example and should not be construed as limiting this application in any way. For example, the terminal device can also be replaced by components configured in the terminal device (such as chips, chip systems, processors, or other logical modules or software that can be used to implement some or all of the functions of the terminal device). As another example, the first core network element can be replaced by components configured in the first core network element (such as chips, chip systems, processors, or other logical modules or software that can be used to implement some or all of the functions of the first core network element).
[0173] Figure 3 is a schematic flowchart of the communication method provided in an embodiment of this application. The steps of method 300 will be described below with reference to Figure 3.
[0174] To facilitate understanding of the embodiments of this application, the terminology involved in the embodiments of this application will be described below.
[0175] 1. HTTP DNS Service. A domain name is a name that identifies a host or group of hosts on the Internet, similar to an alias for an IP address. Compared to the obscure and difficult-to-remember IP addresses, domain names are much easier to remember. DNS is a fundamental Internet service that resolves domain names into IP addresses. The server providing this service is called a domain name server. The HTTP DNS service uses the HTTP protocol to send requests to the DNS server's port 80, replacing the traditional DNS protocol method of requesting requests to the DNS server's port 53. Based on the HTTP DNS service, terminal devices can access the HTTP DNS server interface to obtain the IP address configured in the domain name configuration management system for their business, and then send business protocol requests to that IP address. The HTTP DNS service can also be called HTTP DNS.
[0176] 2. Core Network-Assisted HTTP DNS Service: This means the core network can provide information (such as address information) to the terminal device, enabling the terminal device to use the HTTP DNS service based on this information. Essentially, through interaction between the terminal device and the core network, the terminal device can query the address of a suitable server (EAS) via HTTP DNS and obtain services from this server (a suitable server could be one with a good user experience, such as a server geographically or in the network topology closer to the terminal device, whose communication latency is lower than that of a server farther away). For example, the following embodiments describe the process of a terminal device using a core network-assisted HTTP DNS service. For example, the core network-assisted HTTP DNS service can be replaced by one or more of the following: network-assisted HTTP DNS service, core network-assisted HTTP DNS service, core network-cooperative HTTP DNS service, HTTP DNS service in cooperation with the core network, network-assisted HTTP DNS service, network-cooperative HTTP DNS service, and HTTP DNS service in cooperation with the network.
[0177] Optionally, method 300 includes one or more of the steps in S301a to S301c.
[0178] S301a, the terminal device sends information about the first data network and / or the first network slice.
[0179] Correspondingly, the first core network element receives information from the first data network and / or the first network slice.
[0180] For example, the first core network element is the session management network element.
[0181] For example, the information of the first data network includes one or more of the following: the DNN of the first data network, the DNAI of the first data network, the identifier of the first data network, and the access point / egress identifier of the first data network.
[0182] The information of the first network slice includes one or more of the following: the S-NSSAI of the first network slice, the network slice selection assistance information (NSSAI) of the first network slice, or the network slice instance identifier (NSI ID) of the first network slice, and the identifier of the first network slice.
[0183] The information of the first data network and / or the first network slice corresponds to the core network-assisted HTTP DNS service, or in other words, the first data network and / or the first network slice corresponds to the core network-assisted HTTP DNS service, or in other words, the first data network and / or the first network slice supports the core network-assisted HTTP DNS service.
[0184] For example, the correspondence between the information of the first data network and / or the first network slice and the core network-assisted HTTP DNS service can be stored in the terminal device and the first core network element. In other words, when the terminal device or the first core network element obtains the information of the first data network and / or the first network slice, it can determine that the information of the first data network and / or the first network slice corresponds to the core network-assisted HTTP DNS service.
[0185] For example, the correspondence between the information of the first data network and / or the first network slice and the core network-assisted HTTP DNS service can be stored in the first core network element. In other words, when the first core network element obtains the information of the first data network and / or the first network slice, it can determine that the information of the first data network and / or the first network slice corresponds to the core network-assisted HTTP DNS service.
[0186] For example, the correspondence between information about the first data network and / or the first network slice and the core network-assisted HTTP DNS service can be stored in the subscription management network element and / or the policy management network element. In other words, when the first core network element obtains information about the first data network and / or the first network slice, it can forward the obtained information about the first data network and / or the first network slice to the subscription management network element and / or the policy management network element, and receive information #x from the subscription management network element and / or the policy management network element. Information #x indicates that the first data network and / or the first network slice corresponds to the core network-assisted HTTP DNS service, or information #1 indicates that this terminal device / session #1 / QoS channel #1 / service #1 supports the core network-assisted HTTP DNS service, thereby enabling the first core network element to determine that the information about the first data network and / or the first network slice corresponds to the core network-assisted HTTP DNS service or to determine that this terminal device / session #1 / QoS channel #1 / service #1 supports the core network-assisted HTTP DNS service. Here, session #1, QoS channel #1, or service #1 corresponds to the information about the first data network and / or the first network slice.
[0187] Optionally, information about the first data network and / or the first network slice may be included in the session establishment request message #1 or the session establishment modification request message #1. For example, the session establishment request message #1 is a PDU session establishment request message, and the session establishment modification request message #1 is a PDU session establishment modification request message.
[0188] Optionally, prior to S301a, method 300 further includes: the terminal device acquiring information about the first data network and / or the first network slice.
[0189] The following describes how the terminal device obtains information about the first data network and / or the first network slice.
[0190] For example, the terminal device obtains information about the first data network and / or the first network slice in a predefined or preconfigured manner.
[0191] For example, if the protocol is predefined or the terminal device is pre-configured with sessions or session attributes corresponding to services that support core network-assisted HTTP DNS services, the sessions corresponding to services that support core network-assisted HTTP DNS services include sessions established based on the first data network and / or the first network slice, and the session attributes corresponding to services that support core network-assisted HTTP DNS services include information about the first data network and / or the first network slice, then the terminal device can obtain information about the first data network and / or the first network slice according to a predefined or pre-configured method when it is determined whether to use the HTTP DNS service or the core network-assisted HTTP DNS service.
[0192] Optionally, if the information of the first data network and / or the first network slice corresponds to the first service, the terminal device may obtain the information of the first data network and / or the first network slice in a predefined or preconfigured manner, provided that it determines whether to use the HTTP DNS service for the first service or the HTTP DNS service assisted by the core network for the first service.
[0193] Optionally, for further ways to trigger the terminal device to obtain information about the first data network and / or the first network slice according to a predefined or preconfigured method, please refer to the method for triggering the terminal device to send the first information described in S301b below.
[0194] For example, the terminal device obtains information about the first data network and / or the first network slice, including: the terminal device receives information #1, where information #1 includes a session or session attributes corresponding to a service that supports core network-assisted HTTP DNS services.
[0195] Specifically, information #1 includes sessions established based on the first data network and / or the first network slice, or the session attributes included in information #1 include information about the first data network and / or the first network slice. Therefore, when the terminal device receives information #1, it can obtain information about the first data network and / or the first network slice based on information #1.
[0196] Optionally, if the terminal device does not store the correspondence #1 between at least one session and / or at least one session attribute and the core network-assisted HTTP DNS service, then upon receiving information #1, the terminal device may not perceive that the session or session attribute included in information #1 corresponds to the service of the HTTP DNS service supporting the core network service. In other words, the terminal device may obtain the session or session attribute based solely on information #1 without obtaining the correspondence between the session or session attribute and the HTTP DNS service supporting the core network service. Conversely, if the terminal device stores the correspondence #1, upon receiving information #1, the terminal device may determine, based on the correspondence #1, that the session or session attribute included in information #1 corresponds to the service of the HTTP DNS service supporting the core network service. Furthermore, if information #1 includes a session established based on the first data network and / or the first network slice, or if the session attribute included in information #1 includes information about the first data network and / or the first network slice, then the terminal device can determine that the information about the first data network and / or the first network slice corresponds to the core network-assisted HTTP DNS service.
[0197] Optionally, when a terminal device accesses a first service that supports core network-assisted HTTP DNS service, the terminal device determines the session or session attribute corresponding to the first service based on the obtained information #1. For example, if the session attribute corresponding to the first service is determined to be DNN#X, then a session establishment request with session attribute DNN#X is initiated.
[0198] Optionally, information #1 also includes indication information #1, which indicates that the session or session attribute included in information #1 corresponds to a service that supports core network-assisted HTTP DNS services. Accordingly, even if the terminal device does not store the correspondence #1, the terminal device can determine, based on the indication information #1, that the session or session attribute included in information #1 corresponds to a service that supports core network-assisted services.
[0199] Optionally, information #1 may also include information about the first service. The information about the first service may include one or more of the following: the application identifier (APP ID) corresponding to the first service, the FQDN corresponding to the first service, the IP address corresponding to the first service, the IP 5-tuple / 3-tuple corresponding to the first service, the stream identifier (stream ID) corresponding to the first service, etc. It should be understood that when information #1 includes information about the first service, the session or session attributes included in information #1 at least correspond to the first service that supports core network-assisted HTTP DNS services.
[0200] Optionally, the terminal device receives information #1 from a second core network element. For example, the second core network element is an access management network element.
[0201] Optionally, information #1 is included in the UE route selection policy (URSP).
[0202] Optionally, in S301a, the terminal device can also send other session attributes corresponding to the core network-assisted HTTP DNS service to the first core network element. These attributes may include information indicating whether the session is an emergency session, session and service continuity (SSC) mode, information related to computing power sessions, information related to artificial intelligence (AI) sessions, and information related to sensing sessions. For example, all computing power sessions support the core network-assisted HTTP DNS service.
[0203] Optionally, in S301a, the first data network and / or the first network slice sent by the terminal device can be replaced with other session attributes, such as information indicating whether the session is an emergency session, session and service continuity (SSC) mode, information related to computing power sessions, information related to artificial intelligence (AI) sessions, information related to sensing sessions, etc.
[0204] S301b, the terminal device sends the first information.
[0205] Correspondingly, the first core network element receives the first information.
[0206] The first piece of information is used to indicate one or more of the following: the terminal device supports core network-assisted HTTP DNS services, the terminal device uses HTTP DNS services, or the terminal device does not support edge DNS client (EDC) functionality, or the terminal device requires the core network to provide information for auxiliary DNS discovery (such as address information to indicate the location of the terminal device).
[0207] For example, when a terminal device uses the HTTP DNS service, it means that the terminal device's application calls the SDK for HTTP DNS.
[0208] This application does not limit the manner in which the first information is used to indicate one or more of the above. For example, the first information may include at least one field #1 with a predefined value, thereby indicating one or more of the above through at least one field #1. As another example, the first information may be included in a predefined message or information element (IE), thereby indicating one or more of the above through the predefined message or IE.
[0209] Optionally, the first information may also include information about the first service, which indicates one or more of the following: the terminal device supports core network-assisted HTTP DNS service for the first service; the terminal device uses HTTP DNS service for the first service; or the terminal device does not support EDC functionality for the first service.
[0210] For example, when a terminal device uses the HTTP DNS service for the first service, it means that the terminal device's first app calls the SDK for HTTP DNS. The first app is used to provide the first service.
[0211] Optionally, if the first information includes information about the first service, the first information is used to indicate one or more of the following: the first service supports core network-assisted HTTP DNS service, the first service uses HTTP DNS service, or the first service does not support EDC functionality.
[0212] Optionally, the content indicated by the first information may be replaced with or include one or more of the following: the terminal device is authorized or permitted to use the HTTP DNS service assisted by the core network; the terminal device supports or is authorized or permitted to initiate HTTP DNS queries according to the instructions of the operator or the core network; the terminal device supports or is authorized or permitted to use the HTTP DNS service according to the instructions of the operator or the core network; the terminal device supports or is authorized or permitted to use the HTTP DNS service enhanced by the operator or the core network; and the terminal device supports or is authorized or permitted to use the HTTP DNS service in cooperation with the operator or the core network.
[0213] Optionally, the first information is also used to request information from the core network for auxiliary DNS queries. For example, the information for auxiliary DNS queries is used to assist in the discovery server. For example, the information for auxiliary DNS discovery may include address information or one or more ECS option fields indicating the location of the terminal device; in other words, the first information is also used to request address information or ECS option fields. For example, the address information may be an IP address and / or a MAC address.
[0214] Optionally, if the first information is not used to request the core network to provide information for secondary DNS discovery, method 300 further includes: the terminal device sending fourth information to the first core network element, the fourth information being used to request the core network to provide information for secondary DNS discovery, or the fourth information being used to request address information or the ECS option field. Optionally, the fourth information also includes information about the first service.
[0215] Optionally, the first information is included in the session establishment request message #2 or the session establishment modification request message #2.
[0216] Session establishment request message #2 is the same message as session establishment request message #1 in S301a above, or it is a different message. It should be understood that if session establishment request message #2 is the same message as session establishment request message #1, then S301a and S301b are the same step.
[0217] The Session Establishment Modification Request Message #2 is either the same message as the Session Establishment Modification Request Message #1 in S301a above, or it is a different message. It should be understood that if the Session Establishment Modification Request Message #2 is the same message as the Session Establishment Modification Request Message #1, then S301a and S301b are the same step.
[0218] This application does not limit the method by which the terminal device sends the first information.
[0219] Method 1: The terminal device sends first information to the first core network element, including: the terminal device's first application or first software development kit sends first information to the first core network element.
[0220] The first application is an application that uses or supports HTTP DNS services in the terminal device (e.g., the app of the first application supports HTTP DNS services, or the app of the first application calls an SDK that supports HTTP DNS services), or an application that uses or supports HTTP DNS services assisted by the core network in the terminal device (e.g., the app of the first application supports HTTP DNS services, and the first application and the core network have negotiated in advance that the core network can provide assistance; or, the app of the first application calls an SDK that supports HTTP DNS services, and the first application and the core network have negotiated in advance that the core network can provide assistance). For example, the first application is used to provide the first service to the terminal.
[0221] For example, an application or software development kit that uses or supports HTTP DNS services can be replaced with any of the following: a service that uses or enables HTTP DNS, a service that uses or enables the HTTP DNS SDK, a service that performs server discovery based on HTTP DNS, or a service that does not use a DNS server provided by the operator or a local NDS server.
[0222] For example, the first application or first software development kit of the terminal device sends first information to the first core network element, including: the first application or first software development kit of the terminal device sending first information to the terminal device's operating system (OS). For example, calling an API interface exposed by the OS to the APP or SDK, which can be used to interact with the core network; the terminal device's operating system sending first information to the first core network element.
[0223] For example, the first application or first software development kit (SDK) of the terminal device sends first information to the operating system of the terminal device, including: the first application or first SSD of the terminal device sends first information to the operating system of the terminal device through an application programming interface (API). Here, the API is an interface exposed by the operating system of the terminal device to the first application or first SSD of the terminal device, and the API can be used to interact with the core network.
[0224] For example, the terminal device's operating system sends first information to the first core network element, including: the terminal device's operating system sending the first information to the terminal device's modem chip or mobile terminal (MT) via an attention (AT) command message; the terminal device's modem chip or MT generating a NAS message and sending the NAS message to the first core network element; the NAS message including the first information. Here, the modem can also be referred to as the MT. The terminal device's operating system can be contained within a chip that installs the operating system and applications; this chip can also be referred to as the TE.
[0225] Optionally, the form of the first information may remain unchanged or change during the forwarding process through different entities. For example, the first information may be a bit sequence or a string, and the form is not limited. For instance, when the first information is transmitted between the application and the operating system of the terminal device, it is a string; when transmitted between the operating system and the MT, it is a bit sequence; and when transmitted between the MT and the first core network element, it becomes a string again. It can also be any other form. Regardless of how the form of the first information changes, its final effect is the aforementioned indicative effect. As long as it can trigger the subsequent actions and / or beneficial effects of this method, it is within the protection scope of this application.
[0226] It should be noted that the operating system, application, and SDK of the terminal device are part of the TE (Terminal Equipment) of the terminal device. TE and MT can be two separate chips or the same chip. For the definitions of TE and MT, please refer to 3GPP TS27.007. If TE and MT are two separate chips, then AT commands are message passes between the two chips, such as through a bus connecting the chips. If TE and MT are the same chip, then AT commands are internal interactions within the chip, such as through shared memory or an internal bus. The operating system of the terminal device can be a software operating system installed on the TE chip or a unified TE and MT chip. The operating system sends AT commands to the MT, which can be achieved by the OS calling the TE hardware to send AT commands from the TE to the MT.
[0227] Method 2: The terminal device sends first information to the first core network element, including: the terminal device's operating system sends first information to the first core network element.
[0228] For example, the way the terminal device's operating system sends the first information to the first core network element can be referred to the description in Method 1 above.
[0229] The following describes the triggering method for the terminal device to send the first message.
[0230] For example, when the terminal device starts up, during startup, or after startup, the terminal device sends first information to the first core network element.
[0231] Optionally, in this example, the terminal device may send the first information using either method 1 or method 2 described above.
[0232] For example, when the first application or the first software package in the terminal device is installed or started, during installation or start-up, or after installation or start-up, the terminal device sends the first information to the first core network element.
[0233] Optionally, in this example, the terminal device can send the first information using method 1 described above. For example, a first application supporting core network-assisted HTTP DNS services determines to send the first information upon completion of installation or startup.
[0234] Optionally, if the operating system in the terminal device detects or determines that the first application or the first software package is installed on the terminal device, or if the operating system in the terminal device detects or determines that the first application or the first software package is launched on the terminal device, the terminal device can send the first information using method 2 described above. For example, the operating system in the terminal device determines to send the first information after determining that the first application is installed or launched based on the identifier of the first application in the application store.
[0235] For example, when the first application or first software package in the terminal device determines to initiate an HTTP DNS query or to send an HTTP DNS message, the terminal device sends the first information to the first core network element. For instance, when a user opens the first application on the terminal device, if a mobile network is connected, the first application needs to send a DNS query to obtain the server's IP address to provide services. In this case, the first application or first software package sends the first information in the manner described above.
[0236] Optionally, in this example, the terminal device can send the first information using method 1 described above.
[0237] For example, when the terminal device receives the second information from the second core network element, or after receiving the second information, and the second information is used to instruct the first service to use or support the HTTP DNS service, the terminal device sends the first information to the first core network element.
[0238] For example, if a terminal device receives second information from a second core network element, and the second information indicates the session attribute corresponding to the first service, then the terminal device sends the first information to the first core network element. The session attribute corresponds to an HTTP DNS service or a core network-assisted HTTP DNS service.
[0239] Optionally, the second information is used to indicate one or more of the following: the first service uses or supports the core network-assisted HTTP DNS service, the terminal device uses or supports the HTTP DNS service for the first service, or the terminal device uses or supports the core network-assisted HTTP DNS service for the first service.
[0240] Optionally, if the second core network element determines that the terminal device supports the HTTP DNS service of the core network service based on the terminal device's subscription information, the second core network element may send second information to the terminal device.
[0241] Optionally, the second information is included in the URSP.
[0242] S301c, the third core network element sends the fifth message.
[0243] Correspondingly, the first core network element receives the fifth information.
[0244] For example, the fifth piece of information is used to indicate one or more of the following: authorizing or allowing the terminal device to use the core network-assisted HTTP DNS service, or the terminal device requesting or needing to use the core network-assisted HTTP DNS service.
[0245] Optionally, if the third core network element determines that the terminal device supports the core network-assisted HTTP DNS service, then the third core network element sends the fifth piece of information to the first core network element. For example, the third core network element determines that the terminal device supports the core network-assisted HTTP DNS service based on one or more of the following: the type of the terminal device (such as the type of the terminal device's operating system), the supported network standards, and the subscription information.
[0246] Optionally, the fifth information may also include information about the first service. This fifth information indicates one or more of the following: authorizing or allowing the terminal device to use the core network-assisted HTTP DNS service for the first service; or requiring the terminal device to use the core network-assisted HTTP DNS service for the first service. For example, the fifth information may be included in policy information (e.g., policy and charging control (PCC) rules) to indicate that the terminal device is allowed to use the core network-assisted HTTP DNS service for the first service, or that the terminal device requires or needs to use the core network-assisted HTTP DNS service for the first service.
[0247] Optionally, if the fifth information includes information about the first service, then the fifth information is used to indicate one or more of the following: authorizing or allowing the first service to use the core network-assisted HTTP DNS service, or requiring or needing to use the core network-assisted HTTP DNS service.
[0248] Optionally, if the third core network element determines that the terminal device has registered the application corresponding to the first service, the fifth information may include information about the first service.
[0249] Optionally, the fifth piece of information may also include the identification information of the terminal device.
[0250] Optionally, if the fifth information does not include the identification information of the terminal device, the fifth information is used to indicate one or more of the following: authorizing or allowing all terminal devices to use the core network-assisted HTTP DNS service, or requiring or needing all terminal devices to use the core network-assisted HTTP DNS service.
[0251] For example, the third core network element can be any of the following: a unified data management network element, a policy management network element, an application function, a component configured in the unified data management network element (such as a chip, chip system, processor, or other logical module or software that can be used to implement some or all of the functions of the unified data management network element), a component configured in the policy management network element (such as a chip, chip system, processor, or other logical module or software that can be used to implement some or all of the functions of the unified data management network element), or a component configured in the application function (such as a chip, chip system, processor, or other logical module or software that can be used to implement some or all of the functions of the unified data management network element).
[0252] Optionally, if the third core network element is related to the unified data management network element, then the third core network element can send the fifth information to the first core network element through the Nudm_Subscribe Data Management (SDM) Get service.
[0253] Optionally, if the third core network element is related to the policy management network element, the third core network element can send the fifth information to the first core network element through the Npcf_SMPolicyControl_Create service.
[0254] Optionally, if the third core network element is related to the application function, the third core network element can send the fifth information to the first core network element through the AF influence request message.
[0255] S310, the first core network element determines that the terminal equipment supports the core network-assisted HTTP DNS service.
[0256] For example, the first core network element can determine whether the terminal device supports the core network-assisted HTTP DNS service based on one or more of the following: the type of terminal device (such as the type of operating system of the terminal device), the network standard supported by the terminal device, and the subscription information of the terminal device.
[0257] For example, the first core network element determines whether a terminal device supports the core network-assisted HTTP DNS service based on its local configuration. For instance, if the first core network element has locally configured the identification information of multiple terminal devices that support the core network-assisted HTTP DNS service, then the first core network element can determine whether the terminal device supports the core network-assisted HTTP DNS service based on its local configuration.
[0258] For example, if method 300 executes S301a, the first core network element can determine that the terminal device supports core network-assisted HTTP DNS service based on information from the first data network and / or the first network slice.
[0259] For example, if the first core network element stores the correspondence between the information of the first data network and / or the first network slice and the core network-assisted HTTP DNS service, then when the first core network element receives the information of the first data network and / or the first network slice, it can determine that the information of the first data network and / or the first network slice corresponds to the core network-assisted HTTP DNS service.
[0260] For example, after receiving information about the first data network and / or the first network slice, the first core network element can send the information about the first data network and / or the first network slice to the subscription management element and / or the policy management element, and receive information #x from the subscription management element and / or the policy management element. Accordingly, the first core network element can determine the corresponding core network-assisted HTTP DNS service based on information #x. Further description of information #x can be found in section S301a above.
[0261] For example, if method 300 executes S301b, the first core network element can determine, based on the first information, that the terminal device supports the core network-assisted HTTP DNS service.
[0262] For example, if the first information indicates that the terminal device does not support EDC functionality, then the SMF determines whether the terminal device supports / is authorized to use the core network-assisted HTTP DNS service based on the local configuration, the terminal device's subscription information, or the terminal device's policy information.
[0263] Optionally, if method 300 executes S301b and the first information includes information about the first service, then the first core network element can determine that the first service supports core network-assisted HTTP DNS service and / or the terminal device supports core network-assisted HTTP DNS service for the first service.
[0264] Optionally, if method 300 executes S301b, then S310 can be replaced by S301b. In other words, if the first core network element receives the first information from the terminal device and sends the address information of S320 and / or S321, it can also be considered that the method of this application has been executed. In other words, the method provided in the embodiments of this application may not require the first core network element to perform an explicit determining action.
[0265] For example, if method 300 executes S301c, the first core network element can determine, based on the fifth information, that the terminal device supports the core network-assisted HTTP DNS service.
[0266] Optionally, if the fifth information includes information about the first service, the first core network element can determine, based on the fifth information, that the first service supports core network-assisted HTTP DNS service and / or that the terminal device supports core network-assisted HTTP DNS service for the first service.
[0267] For example, if method 300 executes S301b and S301c, the first core network element can combine the first information and the fifth information to determine that the terminal device supports the core network-assisted HTTP DNS service.
[0268] For example, if the first information received by the first core network element indicates that the terminal device uses the HTTP DNS service, and the fifth information indicates that the terminal device is authorized or allowed to use the core network-assisted HTTP DNS service, then the first core network element determines that the terminal device supports or is authorized to use the core network-assisted HTTP DNS service.
[0269] Optionally, if the first information and / or the fifth information include information about the first service, the first core network element may also determine that the first service supports core network-assisted HTTP DNS service and / or that the terminal device supports core network-assisted HTTP DNS service for the first service.
[0270] For example, if the first core network element receives first information instructing a terminal device to use the HTTP DNS service, then the first core network element can determine, based on the policy information received from the policy management network element, that the first service supports the core network-assisted HTTP DNS service and / or that the terminal device supports the core network-assisted HTTP DNS service for the first service. The policy information includes fifth information, which instructs the first service to support the core network-assisted HTTP DNS service and / or that the terminal device supports the core network-assisted HTTP DNS service for the first service. For example, the policy information is a PCC rule, which includes the identifier or domain name or IP 5-tuple / 3-tuple of the first service. The PCC rule also includes indication information indicating support for the core network-assisted HTTP DNS service.
[0271] S320, First core network element sends address information #1.
[0272] Correspondingly, the terminal device receives address information #1.
[0273] Address information #1 is used to indicate the location of the terminal device.
[0274] For example, address information #1 may include an IP address and / or a MAC address.
[0275] For example, address information #1 includes an IP address and / or MAC address corresponding to a network access point near the terminal device, thereby indicating the location of the terminal device. The first core network element can determine the corresponding IP or MAC address based on the network access point near the terminal device.
[0276] For example, the IP or MAC address may specifically be the address of a user plane network element. The first core network element may determine the address of the user plane network element located near the terminal device as the aforementioned IP or MAC address. Further, the IP address and / or MAC address is the IP or MAC address of the user plane network element corresponding to the network access point located near the terminal device.
[0277] For example, the first core network element determines the corresponding address information #1 based on the location of the terminal device.
[0278] Specifically, the first core network element can determine address information #1 based on the configured correspondence between addresses and geographical locations (such as tracking areas (TAs)) and the location information of the terminal device. The first core network element can obtain the location information of the terminal device from the second core network element after the session is established; for example, the location information of the terminal device is the tracking area where the terminal device is located.
[0279] Specifically, the first core network element can determine the user plane network element closest to the terminal device (e.g., the distance between it and the terminal device is less than a threshold #x, or it is the closest to the terminal device) based on the correspondence between the configured user plane network element (e.g., UPF) and the geographical location (e.g., tracking area) and the location information of the terminal device. The first core network element can obtain an address information as address information #1 from this user plane network element.
[0280] The addresses mentioned above can also correspond to the first service. For example, the IP address and / or MAC address is the IP or MAC address corresponding to the network access point near the terminal location and the first service (such as FQDN).
[0281] For example, if the first core network element receives information including the first service from the first, fourth, or fifth information, the IP address and / or MAC address included in address information #1 can be the IP address and / or MAC address of a user plane network element serving the first service that is less than a threshold #x away from the terminal device. In other words, the first core network element can determine address information #1 based on the location information of the terminal device and the deployment information of the first service. For example, the first core network element can determine a user plane network element close to the terminal device (e.g., the one closest to the terminal device, whose distance from the terminal device is less than the threshold #x) based on the correspondence between locally configured user plane network elements (e.g., UPF) providing the first service and geographical locations (e.g., tracking areas), and the location information of the terminal device. The first core network element can obtain address information from this user plane network element as address information #1.
[0282] Optionally, in S320, the first core network element can send the ECS option field generated based on address information #1 to the terminal device.
[0283] Optionally, in S320, the address information #1 sent by the first core network element to the terminal device may not be an address, but any other information that can indicate the location of the terminal device, without limitation. For example, the tracking area identity (TAI) of the terminal device, the global navigation satellite system (GNSS) positioning information of the terminal device, or any other field indicating geographical location.
[0284] This application embodiment does not limit the triggering method for the first core network element to send address information #1 to the terminal device.
[0285] For example, if the first core network element determines that the terminal device supports the core network-assisted HTTP DNS service, it sends address information #1 to the terminal device.
[0286] For example, the first information received by the first core network element may also be used to request address information or ECS option field, or, if the first core network element receives the fourth information, the first core network element may send address information #1 to the terminal device.
[0287] Optionally, method 300 also includes S321.
[0288] S321, First core network element sends address information #2.
[0289] Correspondingly, the terminal device receives address information #2.
[0290] Address information #2 is used to indicate the location of the terminal device. For more details on address information #2, please refer to the description of address information #1 in section S320 above.
[0291] It should be understood that if the terminal device moves and the address information used to indicate the location of the terminal device changes after S320 is executed in method 300, then method 300 may include S321.
[0292] For example, assuming the terminal device is located at position #1, the first core network element determines address information #1 based on position #1 and sends address information #1 to the terminal device. Then, if the terminal device moves to position #2, and the address information #3 determined by the first core network element based on position #2 is the same as address information #1, the first core network element does not send address information #3 to the terminal device. Furthermore, if the terminal device continues to move, and after moving to position #3, the address information #2 determined by the first core network element based on position #3 is different from address information #1, then the first core network element sends address information #2 to the terminal device. After receiving the updated address information #2, the terminal device will use the updated address information #2 in subsequent DNS query messages (S330).
[0293] S330, the terminal device sends an HTTP DNS query message.
[0294] Correspondingly, server #1 receives the HTTP DNS query message.
[0295] For example, server #1 is an HTTP DNS server.
[0296] HTTP DNS query messages are used to request information about the server of the first service. For example, an HTTP DNS query message may be used to request the IP address of the server of the first service. The server of the first service may be the server corresponding to the first service.
[0297] The HTTP DNS query message is determined based on address information #1.
[0298] For example, the HTTP DNS query message includes address information #1, or the HTTP DNS query message includes an ECS option field where the ECS option field is address information #1, or the HTTP DNS query message includes an ECS option field where the ECS option field is determined based on address information #1.
[0299] For example, address information #1 is an IPv4 address or an IPv6 address.
[0300] For example, address information #1 may not be an address, but any other information that can represent the location of the terminal device. The HTTP DNS query message may include this address information #1, or it may include information generated by the terminal device based on this address information #1. For instance, a field in the HTTP DNS query message may be this address information #1.
[0301] It should be understood that if a terminal device receives multiple address information from a first core network element, the terminal device determines the HTTP DNS query message based on the newly received address information.
[0302] For example, after the terminal device receives address information #1, method 300 executes S321, that is, the terminal device receives address information #2. Then, in S330, the HTTP DNS query message sent by the terminal device is determined based on address information #2.
[0303] Optionally, method 300 also includes S340.
[0304] S340, Server #1 sends an HTTP DNS response message.
[0305] Correspondingly, the terminal device receives an HTTP DNS response message.
[0306] The HTTP DNS response message includes information about the server of the first service, such as the address of the server. For example, server #1 can determine the information about the server of the first service based on the address information #1 or the ECS option field (such as the address indicated by address information #1 or the address indicated by the ECS option field) included in the HTTP DNS query message.
[0307] For example, server #1 is an HTTP DNS server.
[0308] For example, server #1 determines the HTTP DNS response message based on address information #1 included in the HTTP DNS query message. For instance, the address of the server for the first service included in the HTTP DNS response message is topologically and / or geographically close to the address indicated by address information #1. As another example, the address of the server for the first service included in the HTTP DNS response message is topologically and / or geographically close to the geographical location (such as TA) corresponding to address information #1.
[0309] Optionally, method 300 also includes S350.
[0310] In S350, the session management network element configures the fourth core network element based on the location of the terminal device.
[0311] For example, the fourth core network element is a user plane network element.
[0312] For example, the fourth core network element is used to forward HTTP DNS messages from the terminal device. For instance, if S350 is executed before S330, S320, or S310, then in S330, the terminal device can send an HTTP DNS query message to server #1 through the fourth core network element. Furthermore, in S340, server #1 can send an HTTP DNS response message to the terminal device through the fourth core network element.
[0313] For example, the fourth core network element is the anchor user plane network element for the terminal device's session, or a user plane network element used for traffic offloading. The user plane network element used for traffic offloading may be a user plane network element that transmits uplink and / or downlink data from the terminal device to different entities (such as other user plane network elements, base stations, servers).
[0314] For example, the fourth core network element is used to serve the first service of the terminal device, and the first service uses the HTTP DNS service. Here, "the fourth core network element serves the first service of the terminal device" means that the fourth core network element is used to forward the data and / or signaling corresponding to the first service of the terminal device.
[0315] Optionally, if method S350 is executed after S340, then before S350, method 300 further includes: the first core network element receiving information from the server of the first service of the terminal device. Furthermore, in S350, the first core network element configures the fourth core network element according to the location of the terminal device and the information of the server of the first service.
[0316] In this embodiment, the first core network element can send address information to the terminal device when it determines that the terminal device supports core network-assisted HTTP DNS services. This allows the terminal device to determine the HTTP DNS query message based on the address information. For example, the HTTP DNS query message determined by the terminal device based on the address information may include the address information itself, or it may include an ECS option field determined based on the address information. When the HTTP DNS query message is determined based on the address information, it is beneficial for the HTTP DNS server to determine the path for accessing services closer to the terminal device based on the HTTP DNS query message, thereby reducing the latency of the terminal device's access to services and improving the user experience.
[0317] The method provided in this application embodiment will be described below with reference to Figures 4 and 5, taking the terminal device as UE and the first core network element as SMF as an example. The scheme corresponding to Figure 4 is: the SMF sends address information to the UE based on the UE's location before the UE determines to initiate an HTTP DNS query. The scheme corresponding to Figure 5 is: when the UE determines to initiate an HTTP DNS query, it requests the SMF to provide address information to the UE.
[0318] It should be noted that the various network elements mentioned in Figure 4 or Figure 5 (such as AMF, SMF, UPF, PCF, etc.) can be understood as network elements used to implement different functions. For example, AMF can be a mobility management network element or an access management network element, SMF can be a session management network element, UPF can be a user plane network element, and PCF can be a policy management network element, etc. It should also be understood that the naming of the above network elements is defined only to facilitate the differentiation of different functions and should not constitute any limitation on this application. This application does not exclude the possibility of using other names in 5G networks and other future networks. For example, in future networks, some or all of the above network elements may use the terminology from 5G, or they may use other names, etc.
[0319] Figure 4 is a schematic flowchart of the communication method provided in an embodiment of this application. The steps of method 400 will be described below with reference to Figure 4.
[0320] Method 400 includes one or more steps from S401 to S408. For example, method 400 includes S401 and S406. As another example, method 400 includes S401 and S407. As yet another example, method 400 includes S402, S404, S405, and S406. As yet another example, method 400 includes S403, S405, and S406.
[0321] S401, AMF sends URSP.
[0322] Accordingly, the UE receives the URSP.
[0323] The URSP includes information #1 and / or second information. Information #1 includes the session or session attributes corresponding to the service that supports the core network-assisted HTTP DNS service, and the second information is used to indicate that the first service uses or supports the HTTP DNS service. Further description of the core network-assisted HTTP DNS service, information #1, or the second information can be found in Method 300 above.
[0324] For example, the MT in the UE receives the URSP from the AMF.
[0325] For example, the AMF can send a URSP to the UE via a registration accept message.
[0326] It should be noted that this application uses the AMF sending URSP to the UE as an example for illustration, and this application does not limit the names of the messages, signals, or fields sent by the AMF to the UE. It should be understood that as long as the AMF sends messages, signals, or fields containing the above-mentioned information #1 and / or second information to the UE, they should be included within the scope of the embodiments of this application.
[0327] S402, UE uses the HTTP DNS APP / SDK for installation or startup.
[0328] S403, the OS in the UE has confirmed that an APP / SDK using HTTP DNS is installed.
[0329] Optionally, method 400 may include one of steps S402 and S403, i.e., method 400 includes either S402 or S403.
[0330] Furthermore, if method 400 executes S402, then method 400 continues to execute S404 to S406 below. If method 400 executes S403, then method 400 continues to execute S405 and S406 below.
[0331] S404, the APP / SDK in the UE sends the first message.
[0332] Correspondingly, the OS in the UE receives the first information.
[0333] For a detailed description of the first information, please refer to S301b in Method 300 above.
[0334] For example, if method 400 executes S402, then method 400 may include S404. In other words, after the APP / SDK using HTTP DNS in the UE is installed or started, the APP / SDK using HTTP DNS in the UE can send initial information to the OS in the UE.
[0335] S405, the OS in the UE sends the first message.
[0336] Correspondingly, the MT in the UE receives the first information.
[0337] For example, if method 400 executes S404 or S403, then method 400 may include S405. In other words, if the OS in the UE receives first information from the APP / SDK in the UE, it sends the first information to the MT in the UE. Alternatively, if the OS in the UE determines that an APP / SDK using HTTP DNS is installed, it sends the first information to the MT in the UE.
[0338] S406, the MT in the UE sends the first message.
[0339] Accordingly, the SMF receives the first information.
[0340] For example, if method 400 performs S401 or S405, then method 400 may include S406.
[0341] For example, if the MT in the UE determines one or more of the following based on the URSP from the AMF: the UE uses or supports HTTP DNS service, the UE uses or supports HTTP DNS service for the first service, the UE uses or supports core network-assisted HTTP DNS service, or the UE uses or supports core network-assisted HTTP DNS service for the first service, then the MT in the UE can send the first information to the SMF. Alternatively, if the MT in the UE receives the first information from the OS, then the relevant SMF sends the first information.
[0342] For example, the MT in the UE sends the first information to the SMF via the RAN and / or AMF.
[0343] It should be noted that although the information transmitted between different entities in S404 to S406 in this application embodiment is referred to as the first information, the actual form of the information transmitted between different entities may be the same or different, but the information transmitted between different entities has the function of the first information described in this application embodiment.
[0344] For example, the first information transmitted between different entities in S404 to S406 can be a bit sequence, a string, etc., and this application does not limit the form of the first information. For example, the first information transmitted between the UE's APP and the UE's OS is a string, the first information transmitted between the UE's OS and the UE's MT is a bit sequence, and the first information transmitted between the UE's MT and SMF becomes a string again.
[0345] S407, the MT in the UE sends DNN#1 (an example of information about the first data network) and / or S-NSSAI#1 (an example of information about the first network slice).
[0346] Accordingly, SMF receives DNN#1 and / or S-NSSAI#1.
[0347] For example, if method 400 performs S401, S402 or S403, then method 400 may include S406.
[0348] For example, if the URSP received by the MT in the UE includes DNN#1 and / or S-NSSAI#1, then the MT in the UE can send DNN#1 and / or S-NSSAI#1 to the SMF.
[0349] For example, if method 400 executes S402 or S403, and the UE obtains the DNN#1 and / or S-NSSAI#1 corresponding to the service that supports core network-assisted HTTP DNS service according to a predefined or pre-configured method, then the MT in the UE can send DNN#1 and / or S-NSSAI#1 to the SMF.
[0350] For example, the MT in the UE sends DNN#1 and / or S-NSSAI#1 to the SMF, which is equivalent to the UE requesting to establish a session corresponding to DNN#1 and / or S-NSSAI#1.
[0351] S408, UDM / PCF / AF sends the fifth message.
[0352] Correspondingly, the SMF receives the fifth message.
[0353] For a more detailed description of S408, please refer to S301c in Method 300 above.
[0354] S409, SMF sends address information #1.
[0355] Correspondingly, the APP / SDK receive address information #1 in the UE.
[0356] For a detailed description of address information #1, please refer to S320 in method 300 above.
[0357] It should be understood that if the SMF receives one or more of the first information, DNN#1 and / or S-NSSAI#1 or the fifth information, the SMF can determine that the UE supports the core network-assisted HTTP DNS service, and then the SMF can send address information #1 to the terminal device.
[0358] For example, in S409, the MT in the UE first receives address information #1 from the SMF, and then the MT in the UE sends address information #1 to the OS in the UE, and the OS in the UE then sends address information #1 to the APP / SDK in the UE.
[0359] Optionally, in S409, the SMF can send the ECS option field generated based on address information #1.
[0360] Optionally, method 400 also includes S410 and S411.
[0361] S410, AMF sends location information.
[0362] Correspondingly, the SMF receives location information.
[0363] Location information indicates the location of the UE. For example, location information includes one or more of the following: the identifier of the cell where the UE is located, the geographical location information of the UE, and the identifier of the access network equipment covering the UE.
[0364] For example, if the UE moves, causing a change in the UE's location information, the AMF sends the location information to the SMF.
[0365] S411, SMF sends address information #2.
[0366] Correspondingly, the APP / SDK receive address information #2 in the UE.
[0367] For a detailed description of address information #2, please refer to the description of address information #1 in S320 above.
[0368] It should be understood that if the address information #2 determined by the SMF based on the UE's location is different from the address information #1, then method 400 includes S411.
[0369] For example, in S411, the MT in the UE first receives address information #2 from the SMF, and then the MT in the UE sends address information #2 to the OS in the UE, and the OS in the UE then sends address information #2 to the APP / SDK in the UE.
[0370] Optionally, in S411, the SMF can send the ECS option field generated based on address information #2.
[0371] S412, SMF sends the traffic splitting rules to UPF.
[0372] Correspondingly, UPF receive traffic splitting rules.
[0373] Traffic splitting rules are rules that configure user plane network elements or are used to configure user plane network elements to perform packet forwarding. They can also be called N4 rules, traffic routing rules, packet inspection rules, packet forwarding rules, etc.
[0374] For example, the SMF determines the UPF based on the UE's address, and then sends a traffic splitting rule to the UPF, which instructs the UPF to forward HTTP DNS messages related to the UE.
[0375] S413, the APP / SDK in the UE generates an HTTP DNS query message.
[0376] HTTP DNS query messages are used to request information about the server of the first service. For example, an HTTP DNS query message may be used to request the IP address of the server of the first service. The server of the first service may be the server corresponding to the first service.
[0377] For example, the APP / SDK in the UE generates an HTTP DNS query message based on address information #1. For instance, the HTTP DNS query message includes address information #1, or it includes an ECS option field determined based on address information #1.
[0378] It should be understood that if method 400 executes S411, the APP / SDK in the UE generates an HTTP DNS query message based on address information #2.
[0379] S414, the APP / SDK in the UE sends an HTTP DNS query message.
[0380] Correspondingly, server #1 receives the HTTP DNS query message.
[0381] For example, in S414, the APP / SDK in the UE sends an HTTP DNS query message to the OS in the UE, then the OS in the UE sends an HTTP DNS query message to the MT in the UE, and finally the MT in the UE sends an HTTP DNS query message to the server #1.
[0382] In this embodiment, when the SMF determines that the UE supports core network-assisted HTTP DNS services, it can send address information for generating HTTP DNS query messages to the UE in advance. This allows the UE to quickly generate HTTP DNS query messages when it decides to initiate an HTTP DNS query, thereby reducing the latency for the UE to obtain information about the server corresponding to the service. Furthermore, when the UE generates HTTP DNS query messages based on the received address information, the HTTP DNS server can determine the path to the nearest service for the UE based on the HTTP DNS query messages, further reducing the latency for the UE to access services and improving the user experience.
[0383] Figure 5 is a schematic flowchart of the communication method provided in an embodiment of this application. The steps of method 500 will be described below with reference to Figure 5.
[0384] Method 500 includes one or more of steps S501 to S508. S501 to S508 can be referred to as S401 to S408 in Method 400 above, and will not be repeated here for the sake of brevity.
[0385] S509, the APP / SDK in the UE determines to initiate an HTTP DNS query.
[0386] For example, if the APP / SDK in the UE determines that the UE supports the core network-assisted HTTP DNS service, it initiates an HTTP DNS query based on the core network-assisted HTTP DNS service.
[0387] For example, the APP / SDK in the UE initiates an HTTP DNS query for the first service; in other words, the APP / SDK in the UE corresponds to the first service.
[0388] S510, the APP / SDK in the UE sends the fourth message.
[0389] Correspondingly, the SMF receives the fourth message.
[0390] The fourth piece of information is used to request address information or the ECS option field, which is used to indicate the location of the UE.
[0391] Optionally, the fourth piece of information is used to instruct the SMF to provide the UE with address information or the ECS option field.
[0392] Optionally, the fourth information may also include information about the first service. Information about the first service can be found in the description of method 300 above.
[0393] For example, in S510, the APP / SDK in the UE sends the fourth information to the OS in the UE, then the OS in the UE sends the fourth information to the MT in the UE, and finally the MT in the UE sends the fourth information to the SMF.
[0394] For example, the MT in the UE can send fourth information to the SMF via the RAN and / or AMF.
[0395] S511, if the SMF determines that the UE supports the core network-assisted HTTP DNS service, then it generates address information #1.
[0396] For example, when method 500 performs one or more of steps S501 to S508, the SMF can determine that the UE supports core network-assisted HTTP DNS service based on one or more of the received first information, DNN#1, S-NSSAI#1, or fifth information.
[0397] For example, the SMF determines whether the UE supports core network-assisted HTTP DNS services based on one or more of the following: the UE type (such as the type of OS in the UE), the network standards supported by the UE, the UE's subscription information, and the SMF's local configuration.
[0398] For example, if the fourth information includes information about the first service, the SMF can determine address information #1 based on the UE's location, the information about the first service, and EAS deployment information (EDI). For example, the EDI is the deployment information of at least one EAS corresponding to the first service.
[0399] S512, SMF sends address information #1.
[0400] Correspondingly, the APP / SDK receive address information #1 in the UE.
[0401] For a more detailed description of S512, please refer to S409 in Method 400 above.
[0402] Optionally, method 500 also includes S513.
[0403] S513, SMF transmission splitting rules.
[0404] Correspondingly, UPF receive traffic splitting rules.
[0405] For a more detailed description of S513, please refer to S412 in Method 400 above.
[0406] S514, the APP / SDK in the UE generates an HTTP DNS query message.
[0407] S515, the APP / SDK in the UE sends an HTTP DNS query message.
[0408] Correspondingly, SMF receives HTTP DNS query messages.
[0409] S514 and S515 can be referenced from S413 and S414 in method 400.
[0410] S516, SMF sends an HTTP DNS response message.
[0411] Correspondingly, the APP / SDK in the UE receives HTTP DNS response messages.
[0412] The HTTP DNS response message includes information about the server for the first service. For example, the HTTP DNS includes the IP address of the EAS selected by server #1 for the UE.
[0413] Optionally, if method 500 does not include S513, and the HTTP DNS function is on the SDK, then in S516, after the SDK in the UE receives the HTTP DNS response message, it will not send the HTTP DNS response message to the APP in the UE for the time being, but will send the HTTP DNS response message to the APP in the UE after S518.
[0414] Optionally, if method 500 does not include S513, and the HTTP DNS function is on the APP, then in S516, after the APP in the UE receives the HTTP DNS response message, it will not send the service data packet of the first service to the EAS temporarily, but will send the service data packet of the first service to the EAS after S518.
[0415] Optionally, if method 500 does not include S513, then method 500 may also include S516 to S518.
[0416] S516, APP / SDK in UE sends information #2.
[0417] Correspondingly, SMF receives message #2.
[0418] Information #2 is used to indicate the SMF configuration offshoot point. Information #2 includes information about the server for the first service, for example, information #2 includes the IP address of the EAS selected by server #1 for the UE.
[0419] Optionally, if the HTTP DNS functionality is on the SDK, then in S516, the SDK in the UE sends information #2 to the SMF.
[0420] Optionally, if the HTTP DNS function is on the APP, then in S516, the APP in the UE sends information #2 to the SMF.
[0421] For example, in S516, the APP / SDK in the UE sends information #2 to the OS in the UE, then the OS in the UE sends information #2 to the MT in the UE, and finally the MT in the UE sends information #2 to the SMF.
[0422] For example, the MT in the UE can send information #2 to the SMF via the RAN and / or AMF.
[0423] S517, SMF sends the traffic splitting rules to UPF.
[0424] Correspondingly, the UPF receives the offloading rules from the SMF.
[0425] Unlike S513, in S517, the SMF can select a UPF for the UE based on the IP address of the EAS included in information #2, and send the traffic splitting rules to the selected UPF.
[0426] S518, SMF sends message #3.
[0427] Correspondingly, the APP / SDK in the UE receives information #3.
[0428] Message #3 instructs the SDK in the UE to send an HTTP DNS response message to the APP in the UE, or Message #3 instructs the APP in the UE to start sending the service data packet for the first service.
[0429] S519, the APP in the UE sends service data packets.
[0430] Correspondingly, EAS receives service data packets.
[0431] For example, the UE sends service data packets to the EAS through the offloading point configured by the SMF.
[0432] It should be understood that if method 500 executes S516 to S518, and the HTTP DNS function is in the SDK, then in S519, after the APP in the UE receives the HTTP DNS response message from the SDK in the UE, it sends a service data packet. If method 500 executes S516 to S518, and the HTTP DNS function is in the APP, then in S519, after the APP in the UE receives information #3, it sends a service data packet.
[0433] In this embodiment, when the UE determines to initiate an HTTP DNS query, it can request address information or an ECS option field from the SMF. Then, upon receiving the address information or ECS option field, the UE can generate an HTTP DNS query message based on the received address information or ECS option field. This allows the HTTP DNS server to determine the path to the nearest access service for the UE based on the HTTP DNS query message, thereby reducing latency for UE access to services and improving the user experience.
[0434] Furthermore, when the UE requests address information or ECS option fields from the SMF, it can include service information, allowing the SMF to determine the service-related address information or ECS option fields based on this information. When the UE generates an HTTP DNS query message based on the service-related address information or ECS option fields, it is more advantageous for the HTTP DNS server to determine the path closest to the UE for accessing services based on the HTTP DNS query message.
[0435] It should be understood that the sequence number of each process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0436] It should also be understood that, in the various embodiments of this application, unless otherwise specified or in case of logical conflict, the terms and / or descriptions between different embodiments are consistent and can be referenced by each other, and the technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationships.
[0437] It is understood that the methods and operations implemented by devices (such as terminal devices or session management network elements) in the above-described method embodiments can also be implemented by components of the device (such as chips or circuits).
[0438] The communication method provided in the embodiments of this application has been described in detail above with reference to Figures 3 to 5. The above communication method is mainly described from the perspective of interaction between devices. It is understood that, in order to realize the above functions, the terminal device or session management network element includes the corresponding hardware structure and / or software module for performing each function.
[0439] It is understood that, in order to implement the functions in the above embodiments, the terminal device or session management network element includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, based on the units and method steps of the various examples described in conjunction with the embodiments disclosed in this application, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application scenario and design constraints of the technical solution.
[0440] As an example, a communication device provided in this application is shown in FIG6. The communication device 1900 includes a transceiver unit 1910 and a processing unit 1920.
[0441] One possible design is that the communication device 1900 is used to implement the functions of the terminal device in the method embodiments shown in Figures 3 to 5 above.
[0442] For example, the transceiver unit 1910 can be used to receive address information from the session management network element, the address information being used to indicate the location of the terminal device; the transceiver unit 1910 can also be used to send an HTTP DNS query message, the HTTP DNS query message being used to request information about the server of the first service, the HTTP DNS query message being determined based on the address information.
[0443] Optionally, the transceiver unit 1910 can also be used to send information about a first data network and / or a first network slice to a session management network element, wherein the information about the first data network and / or the first network slice corresponds to the core network-assisted HTTP DNS service.
[0444] Optionally, the transceiver unit 1910 can also be used to send first information to the session management network element, the first information indicating one or more of the following: the terminal device supports the core network-assisted HTTP DNS service, the terminal device uses the HTTP DNS service, or the terminal device does not support EDC functionality.
[0445] A more detailed description of the transceiver unit 1910 and the processing unit 1920 can be obtained directly from the description of the terminal device in the method embodiments shown in Figures 3 to 5, and will not be repeated here.
[0446] In another possible design, the communication device 1900 is used to implement the function of the session management network element in the method embodiments shown in Figures 3 to 5 above.
[0447] For example, the processing unit 1920 can be used to determine that the terminal device supports core network-assisted HTTP DNS service; the transceiver unit 1910 can be used to send address information to the terminal device, the address information being used to indicate the location of the terminal device, and the address information being used to determine the HTTP DNS query message.
[0448] Optionally, the transceiver unit 1910 can also be used to receive first information from the terminal device, the first information being used to determine one or more of the following: the terminal device supports core network-assisted HTTP DNS service, the terminal device uses HTTP DNS service, or the terminal device does not support EDC functionality.
[0449] Optionally, the transceiver unit 1910 can also be used to receive information from the first data network and / or the first network slice from the terminal device, the information of the first data network and / or the first network slice corresponding to the core network-assisted HTTP DNS service; the processing unit 1920 is specifically used to determine, based on the information of the first data network and / or the first network slice, that the terminal device supports the core network-assisted HTTP DNS service.
[0450] Optionally, the transceiver unit 1910 can also be used to receive fifth information from a unified data management network element, a policy management network element, or an application function. The fifth information is used to indicate that the terminal device is authorized or allowed to use the core network-assisted HTTP DNS service, or the fifth information is used to indicate that the terminal device requests or needs to use the core network-assisted HTTP DNS service. The processing unit 1920 is specifically used to determine, based on the fifth information, that the terminal device supports the core network-assisted HTTP DNS service.
[0451] Optionally, the processing unit 1920 can also be used to configure user plane network elements based on address information.
[0452] For a more detailed description of the transceiver unit 1910 and the processing unit 1920, please refer directly to the relevant descriptions of the session management network elements in the method embodiments shown in Figures 3 to 5, which will not be repeated here.
[0453] It should be noted that the transceiver unit can also be called a transceiver module, transceiver, transceiver device, or transceiver apparatus, etc. The processing unit can also be called a processor, processing board, processing module, or processing apparatus, etc. Optionally, the transceiver unit is used to perform the sending and receiving operations of each intermediate relay or UE-to-network (U2N) relay in the above methods. The device in the communication module used to implement the receiving function can be regarded as the receiving unit, and the device in the communication module used to implement the sending function can be regarded as the sending unit; that is, the transceiver unit includes a receiving unit and a sending unit.
[0454] It should also be noted that, in one possible design, the aforementioned transceiver unit and / or processing unit can be implemented through virtual modules. For example, the processing unit can be implemented through software functional units or virtual devices, and the transceiver unit can be implemented through software functions or virtual devices. In another possible design, the processing unit or transceiver unit can also be implemented through physical devices. For example, if the device is implemented using a chip / chip circuit, the transceiver unit can be an input / output circuit and / or a communication interface, performing input operations (corresponding to the aforementioned receiving operation) and output operations (corresponding to the aforementioned sending operation); the processing unit is an integrated processor, microprocessor, or integrated circuit.
[0455] The unit division in this embodiment is illustrative and represents only one logical functional division; in actual implementation, other division methods may be used. Furthermore, the functional modules in the various examples of this embodiment can be integrated into a single processor, exist as separate physical entities, or be integrated into a single module. The integrated modules can be implemented in hardware or as software functional modules.
[0456] As an example, another communication device provided in this application is shown in FIG7. The communication device 2000 includes at least one processor 2010. The at least one processor 2010 can be used to execute computer programs or instructions in memory to cause the computer to perform the steps performed by the terminal device in the embodiments shown in FIG3 to FIG5; or to cause the computer to perform the steps performed by the session management network element in the embodiments shown in FIG3 to FIG5.
[0457] Optionally, the communication device 2000 may further include at least one memory 2020 for storing instructions executed by the processor 2010, or storing input data required by the processor 2010 to execute instructions, or storing data generated after the processor 2010 executes instructions. The at least one processor 2010 and the at least one memory 2020 may be configured separately. For example, each memory may be connected to one or more processors, enabling the connected processors to read information from, store, and / or write information to the memory. Alternatively, the at least one processor 2010 and the at least one memory 2020 may be integrated together; for example, one or more memories may be integrated into a single processor.
[0458] Optionally, the communication device 2000 further includes an interface circuit 2030 for transmitting data and / or signaling. The at least one processor 2010 and the interface circuit 2030 are coupled to each other. It is understood that the interface circuit 2030 can be a transceiver, input / output circuit, bus, module, pin, or other type of communication interface, wherein the input circuit in the input / output circuit can be used for receiving, and the output interface can be used for transmitting.
[0459] When the communication device 2000 is used to implement the methods shown in Figures 3 to 5, the processor 2010 performs the functions of the aforementioned processing unit, and the interface circuit 2030 performs the functions of the aforementioned transceiver unit. Whether the interface circuit 2030 is used for transmitting or receiving depends on whether the communication device 2000 is performing a transmitting or receiving action in the specified scheme.
[0460] It is understood that when the communication device 2000 is a communication equipment (e.g., a terminal device), the interface circuit 2030 can be a transceiver, specifically including a transmitter and a receiver, with the transmitter used to send signals and the receiver used to receive signals. When the communication device 2000 is a chip used in a communication equipment, the interface circuit 2030 can be an input / output circuit, a bus, a module, a pin, or other type of communication interface, wherein the input circuit in the input / output circuit can be used for receiving, and the output interface can be used for sending.
[0461] It should be understood that in the communication device 2000 shown in Figure 7, the processor 2010 may correspond to the processing unit 1920 in the aforementioned communication device 1900, and the interface circuit 2030 may correspond to the transceiver unit 1910 in the aforementioned communication device 1900.
[0462] It should also be understood that the coupling in the embodiments of this application is an indirect coupling or communication connection between devices, units, or modules, which can be electrical, mechanical, or other forms, used for information interaction between devices, units, or modules. The embodiments of this application do not limit the specific connection medium between the at least one processor 2010, at least one memory 2020, interface circuit 2030, and power supply circuit 2040. In Figure 7, the embodiments of this application show the processor 2010, memory 2020, interface circuit 2030, and power supply circuit 2040 connected via a bus 2050. The bus 2050 is represented by a thick line in Figure 7. The connection methods between other components are only illustrative and not intended to be limiting. The bus can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used in Figure 7, but this does not indicate that there is only one bus or one type of bus.
[0463] It is understood that the processor in the embodiments of this application can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A general-purpose processor can be a microprocessor or any conventional processor.
[0464] The memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM). It should be noted that the memory used in the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0465] This application also provides a communication system, which includes one or more of the following: terminal equipment and session management network element.
[0466] This application also provides a computer program product, which includes: a computer program (also referred to as code or instructions), which, when run, causes the computer to perform the method executed by the terminal device in the embodiments shown in Figures 3 to 5, or causes the computer to perform the method executed by the session management network element in the embodiments shown in Figures 3 to 5.
[0467] This application also provides a computer-readable storage medium storing a computer program (also referred to as code or instructions). When the computer program is run, it causes the computer to perform the method executed by the terminal device in the embodiments shown in Figures 3 to 5, or causes the computer to perform the method executed by the session management network element in the embodiments shown in Figures 3 to 5.
[0468] The terms “unit”, “module”, etc., used in this specification may be used to refer to computer-related entities, hardware, firmware, combinations of hardware and software, software, or software in execution.
[0469] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0470] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0471] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0472] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0473] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0474] In the above embodiments, the functions of each functional unit can be implemented entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. This computer program product includes one or more computer instructions (programs). When the computer program instructions (programs) are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., digital video discs (DVDs)), or semiconductor media (e.g., solid-state disks (SSDs)).
[0475] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0476] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A communication method applied to a communication device, the communication device comprising a terminal device or circuits, chips, processors, or chip systems within the terminal device, characterized in that, include: Receive address information from a first core network element, the address information being used to indicate the location of the terminal device; Send a Hypertext Transfer Protocol (HTTP) Domain Name Service (DNS) query message, which is used to request information about the server of the first service, and the HTTP DNS query message is determined based on the address information.
2. The method according to claim 1, characterized in that, The HTTP DNS query message is determined based on the address information and includes: The HTTP DNS query message includes either the Extended Domain Name System (DNS) client subnet option or the address information, wherein the Extended DNS client subnet option is determined based on the address information.
3. The method according to claim 1 or 2, characterized in that, The method further includes: Send information about the first data network and / or the first network slice to the first core network element. The information about the first data network and / or the first network slice corresponds to the core network-assisted HTTP DNS service.
4. The method of claim 3, wherein, The method further includes: Information about the first data network and / or the first network slice is obtained in a predefined or preconfigured manner.
5. The method of claim 3, wherein, The method further includes: Receive information #1 from the second core network element. Information #1 includes the session or session attributes corresponding to the service of the core network-assisted HTTP DNS service.
6. The method according to any one of claims 1 to 3, characterized in that, Before receiving the address information from the first core network element, the method further includes: Send first information to the first core network element, the first information being used to indicate one or more of the following: the terminal device supports core network-assisted HTTP DNS service, the terminal device uses HTTP DNS service, or the terminal device does not support edge domain name service client EDC function.
7. The method of claim 6, wherein, The first information also includes information about the first service, and the first information is used to indicate one or more of the following: the terminal device supports core network-assisted HTTP DNS service for the first service, the terminal device uses HTTP DNS service for the first service, or the terminal device does not support EDC function for the first service.
8. The method according to claim 6 or 7, characterized in that, The sending of the first information to the first core network element is performed under one or more of the following circumstances: The terminal device starts up, or, The terminal device uses the HTTP DNS service to install or start a first application or a first software development kit, or... The first application or first software development kit using the HTTP DNS service in the terminal device determines to initiate an HTTP DNS query or determine to send an HTTP DNS message, or... The terminal device receives second information from the second core network element, the second information being used to instruct the first service to use the HTTP DNS service.
9. The method of claim 8, wherein, The terminal device sends the first information to the first core network element, including: The first application or the first software development kit of the terminal device sends the first information to the first core network element; or... The operating system of the terminal device sends the first information to the first core network element.
10. The method of claim 9, wherein, The first application or the first software development kit of the terminal device sends the first information to the first core network element, including: The first application or the first software development of the terminal device includes sending the first information to the operating system of the terminal device through an application programming interface; The operating system of the terminal device sends the first information to the first core network element.
11. The method according to claim 9 or 10, characterized in that, The operating system of the terminal device sends the first information to the first core network element, including: The operating system of the terminal device sends an attention AT command message to the modem of the terminal device, the AT command message including the first information; The modem of the terminal device sends the first information to the first core network element.
12. The method according to any one of claims 6 to 11, characterized in that, The first information is contained in the session establishment request message or the session establishment modification request message.
13. The method according to any one of claims 6 to 12, characterized in that, The first information is also used to request the address information or the extended Domain Name System client subnet option.
14. A communication method, comprising: include: Determine that the terminal equipment supports the core network-assisted Hypertext Transfer Protocol (HTTP) Domain Name System (DNS) service; Address information is sent to the terminal device, the address information being used to indicate the location of the terminal device and to determine the Hypertext Transfer Protocol (HTTP) Domain Name System (DNS) query message.
15. The method of claim 14, wherein, The address information is used to determine the HTTP DNS query message, including: The address information is used to determine the Extended Domain Name System (DNS) client subnet option, and the HTTP DNS query message includes the Extended DNS client subnet option.
16. The method according to claim 14 or 15, characterized in that Determine that the terminal device supports core network-assisted HTTP DNS services, including: The terminal device receives first information, which is used to determine one or more of the following: the terminal device supports core network-assisted HTTP DNS service, the terminal device uses HTTP DNS service, or the terminal device does not support Edge Domain Name System Client (EDC) function.
17. The method of claim 16, wherein, The first information also includes information about the first service, which is used to determine one or more of the following: the first service supports core network-assisted HTTP DNS service, the first service uses HTTP DNS service, or the first service does not support EDC function.
18. The method according to claim 16 or 17, characterized in that, The first information is included in the session establishment request message or the session establishment modification request message.
19. The method according to any one of claims 14 to 18, characterized in that, Determine that the terminal device supports core network-assisted HTTP DNS services, including: Receive information from the first data network and / or the first network slice from the terminal device; Based on the information from the first data network and / or the first network slice, it is determined that the terminal device supports core network-assisted HTTP DNS service.
20. The method according to any one of claims 14 to 19, characterized in that, Determine that the terminal device supports core network-assisted HTTP DNS services, including: The terminal device receives a fifth message from a third core network element, the fifth message being used to indicate authorization or permission for the terminal device to use the core network-assisted HTTP DNS service, or the fifth message being used to indicate that the terminal device requests or needs to use the core network-assisted HTTP DNS service. Based on the fifth piece of information, it is determined that the terminal device supports core network-assisted HTTP DNS service.
21. The method according to claim 20, characterized in that, The fifth piece of information includes information about the first service, and determining that the terminal device supports core network-assisted HTTP DNS service based on the fifth piece of information includes: Based on the fifth piece of information, it is determined that the terminal device supports core network-assisted HTTP DNS service for the first service.
22. The method according to any one of claims 14 to 21, characterized in that, The method further includes: Configure the fourth core network element according to the location of the terminal device. The fourth core network element is used to forward the HTTP DNS messages of the terminal device, or... The fourth core network element is used to serve the first service of the terminal device, and the first service uses HTTP DNS service.
23. A communication system, characterized in that, It includes one or more of the following: a terminal device or a session management network element; wherein the terminal device is used to perform the method of any one of claims 1 to 13, and the session management network element is used to perform the method of any one of claims 14 to 22.
24. A communication device, characterized in that, It includes one or more functional units or modules for performing the method of any one of claims 1 to 13, or for performing the method of any one of claims 14 to 22.
25. A communication device, characterized in that, Includes a processor for executing program code to cause the communication device to implement the method as described in any one of claims 1 to 13, or to implement the method as described in any one of claims 14 to 22.
26. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it causes the method as described in any one of claims 1 to 13 to be performed, or causes the method as described in any one of claims 14 to 22 to be performed.
27. A computer program product, characterized in that, Includes a computer program that, when run, causes the method as described in any one of claims 1 to 13 to be performed, or causes the method as described in any one of claims 14 to 22 to be performed.