Communication method and related device

By directly transmitting data via RDMA connection, the problem of insufficient processing power of terminal devices is solved, and low-latency, high-efficiency data processing and storage capacity expansion are achieved, meeting the communication scenarios with high latency requirements.

CN121644633APending Publication Date: 2026-03-10HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411220821.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-30
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

In communication scenarios, terminal devices are unable to effectively complete data processing tasks due to limited processing power and insufficient battery power. Existing hardware resource allocation mechanisms have large latency in scenarios with high latency requirements, which cannot meet the communication needs with high latency requirements.

Method used

By establishing a Remote Direct Memory Access (RDMA) connection, the terminal and network-side functional entities can directly transmit data, bypassing the operating system kernel, reducing data transfer and kernel switching overhead, and enabling on-demand allocation of memory resources and high-priority signaling channel transmission.

Benefits of technology

It reduces transmission latency, minimizes packet delay budget timeouts, improves data transmission quality and CPU processing power, and meets the communication requirements for high latency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121644633A_ABST
    Figure CN121644633A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a communication method and a related device, the method is applied to a terminal, and the method comprises the steps that first connection information is acquired, and the first connection information is used for establishing remote direct memory access (RDMA) connection; establishing the RDMA connection with a first functional entity through the first connection information, wherein the first functional entity is deployed in network equipment; and calling a memory resource of the first functional entity through the RDMA connection. By adopting the embodiment of the invention, the transmission delay during memory calling can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of communication technology, and in particular to a communication method and related apparatus. Background Technology

[0002] In the current communication architecture, local terminals are equipped with their own data processing capabilities, such as memory and CPU. However, the terminal's data processing is often limited by various factors, such as limited processing power and insufficient battery power, preventing it from effectively completing data processing tasks. To better complete these tasks, it is usually necessary to utilize the hardware resources of other devices (such as network-side servers). For example, a server-client architecture can be used for this purpose. Figure 1 As shown, the terminal's application client connects to the server's application server via a wireless or wired network to complete application service calls. In contrast, in mobile edge computing (MEC) scenarios, the server's physical location is closer to the terminal, or even on a base station. Figure 2 As shown, when the processing task of the terminal's client (APP Client) can be completed both locally and in MEC, the client can choose to delegate part of the processing task to the server based on certain principles. For example, when the processing task is a computing task, this process is called computing offloading.

[0003] In the above hardware resource call scenarios, the application server (APP Server) of the server needs to wait for the complete data from the terminal to arrive before it can start processing. After processing, it returns the complete result to the terminal. This processing method will result in a large granularity (such as 10ms+) of waiting latency, which cannot meet the needs of some communication scenarios with high latency requirements. Therefore, how to reduce the latency of the hardware resource call mechanism in communication scenarios with high latency requirements is a technical problem that those skilled in the art are studying. Summary of the Invention

[0004] This application discloses a communication method and related apparatus that can reduce transmission latency during memory access.

[0005] In a first aspect, embodiments of this application provide a communication method applied to a terminal, the method comprising:

[0006] Obtain first connection information, wherein the first connection information is used to establish a remote direct memory access (RDMA) connection;

[0007] The RDMA connection is established with the first functional entity through the first connection information, and the first functional entity is deployed on a network device;

[0008] The memory resources of the first functional entity are invoked through the RDMA connection.

[0009] Using this method, an RDMA connection is established between the terminal and the first functional entity on the network side. Therefore, the terminal's data can be directly transmitted to the memory of the first functional entity, bypassing the operating system kernel. This effectively expands the storage capacity of the terminal in the RAN scenario and makes full use of the distributed storage capacity. Since the memory access process reduces data transfer and kernel switching overhead, it reduces transmission latency, reduces packet delay budget (PDB) timeouts, and frees up CPU processing power.

[0010] In conjunction with the first aspect, in one possible implementation, obtaining the first connection information includes:

[0011] The terminal receives first connection information from the control device. This first connection information includes all the information that enables the terminal to establish an RDMA connection with a first functional entity on the network side. At this time, a complete RDMA connection, including the QP transmission channel, can be directly established through the first connection information.

[0012] Using this method, an RDMA connection can be quickly established between the terminal and the first functional entity on the network side.

[0013] In conjunction with the first aspect, or any of the above-mentioned possible implementations of the first aspect, another possible implementation further includes:

[0014] A first request is sent, wherein the first request is used to request the use of memory resources. For example, when the terminal determines that its processing power is insufficient, it sends a first request to the control device, requesting the control device to allocate memory resources for the terminal to use. This first request may only be used to request the use of memory resources, or it may be used to request the use of memory resources and include the size of the memory to be used. Using this method, on-demand allocation of memory resources can be achieved.

[0015] In conjunction with the first aspect, or any of the above-mentioned possible implementations of the first aspect, another possible implementation further includes:

[0016] The first data is sent to the network device, wherein the destination address of the first data is the first functional entity. The first data is not configured with network layer and / or transport layer settings on the terminal. Optionally, before sending the first data to the first functional entity, the control device may instruct the network device to add forwarding table entries, and the network device will configure the first data with network layer and / or transport layer settings based on the forwarding table entries. Using this method, the terminal does not need to add network layer and / or transport layer settings, saving computational overhead.

[0017] In conjunction with the first aspect, or any of the above possible implementations of the first aspect, in yet another possible implementation, obtaining the first connection information includes:

[0018] The terminal receives first connection information from the first functional entity via a first link, wherein the first link is a management queue pair (QP) link between the terminal and the first functional entity. That is, the terminal can receive first connection information from the first functional entity via the first link. At this time, the first connection information contains information that enables the terminal to establish a data transmission QP connection with the first functional entity. That is, the terminal establishes an RDMA data transmission channel with the first functional entity based on the first connection information, and memory access to the first functional entity can be realized through this data transmission channel.

[0019] By using the above method, receiving the first connection information through the management QP link can improve the efficiency and security of information transmission.

[0020] In conjunction with the first aspect, or any of the above possible implementations of the first aspect, in yet another possible implementation, the air interface portion of the first link is carried by a Transmission Signalling Radio Bearer (SRB), or the air interface portion is carried by a Transmission Data Radio Bearer (DRB), wherein the QoS requirement corresponding to the DRB is higher than a first preset threshold.

[0021] By using the above method and transmitting information through a high-priority signaling channel, the quality and reliability of data transmission can be improved.

[0022] In conjunction with the first aspect, or any of the above-mentioned possible implementations of the first aspect, another possible implementation further includes:

[0023] Send a second request to the first functional entity, wherein the second request includes a first QP in the terminal that communicates with the QP of the first functional entity, and the second request is used to request to establish a communication connection with the management QP in the first functional entity. Optionally, before the terminal establishes a management QP connection with the first functional entity, the control device may send connection information, such as address information and port information, to the terminal and the network device respectively. Through the connection information, the terminal obtains information about the first functional entity that can call memory resources and sends the second request to the first functional entity.

[0024] A first link is established between the first QP and the management QP. This first link is used for the interaction of control signaling. For example, first connection information can be obtained through the first link to establish a data transmission QP.

[0025] In conjunction with the first aspect, or any of the above possible implementations of the first aspect, in yet another possible implementation, the first connection information includes one or more of the following: address information of the connection peer, connection type, global identifier GID, queue pair number QPN, queue key, memory virtual address, and remote key. The first connection information may also include other information related to establishing an RDMA connection. Based on the first connection information, a complete RDMA connection or a data transmission QP in RDMA can be established.

[0026] Secondly, embodiments of this application provide a communication method applied to a first functional entity, the method comprising:

[0027] Obtain second connection information, wherein the second connection information is used to establish a remote direct memory access (RDMA) connection;

[0028] The RDMA connection is established with the terminal through the second connection information, and the first functional entity is deployed on the network device;

[0029] The terminal's request for memory resources is received via the RDMA connection.

[0030] Using this method, an RDMA connection is established between the terminal and the first functional entity on the network side. Therefore, the terminal's data can be directly transmitted to the memory of the first functional entity, bypassing the operating system kernel. This effectively expands the storage capacity of the terminal in the RAN scenario and makes full use of the distributed storage capacity. Since the memory access process reduces data transfer and kernel switching overhead, it reduces transmission latency, reduces packet delay budget (PDB) timeouts, and frees up CPU processing power.

[0031] In conjunction with the second aspect, in one possible implementation of the second aspect, obtaining the second connection information includes:

[0032] The system receives second connection information from the control device. This second connection information includes all the information that enables the first functional entity to establish RDMA with the terminal. At this time, a complete RDMA connection, including the QP transmission channel, can be directly established through the second connection information.

[0033] Using this method, an RDMA connection can be quickly established between the terminal and the first functional entity on the network side.

[0034] In conjunction with the second aspect, or any of the possible implementations of the second aspect described above, another possible implementation further includes:

[0035] A registration request is sent to the control device, wherein the registration request is used to register the memory resource information to the control device. The memory resource can be provided by the first functional entity on the network side. The first functional entity registers its own memory resources and capabilities to the control device, so that the control device can allocate memory to the terminal. For example, it can prevent the control device from allocating too much memory, exceeding the capacity of the first functional entity, or allocating too little memory, so as not to make full use of the memory resources of the first functional entity.

[0036] In conjunction with the second aspect, or any of the above possible implementations of the second aspect, in yet another possible implementation, obtaining the second connection information includes:

[0037] The first link is a management queue pair (QP) link between the terminal and the first functional entity. The first functional entity can receive the second connection information from the terminal through the first link. The second connection information contains information that enables the terminal to establish a data transmission QP connection with the first functional entity. That is, the first functional entity establishes a data transmission channel for RDMA connection with the terminal based on the second connection information. The memory can be accessed by the terminal through this data transmission channel.

[0038] By adopting the above method, managing the QP link to receive the first connection information can improve the efficiency and security of information transmission.

[0039] In conjunction with the second aspect, or any of the possible implementations of the second aspect described above, another possible implementation further includes:

[0040] Send first information to the control device, wherein the first information includes information on available memory resources. Optionally, the first functional entity may be called by memory by multiple terminals at the same time, or it may occupy part of the memory itself. Not all memory resources can be called. The first information includes the remaining available memory resources of the first functional entity.

[0041] This method facilitates the control device in allocating appropriate memory for the terminal to use based on the capabilities of the first functional entity, preventing the control device from being over-allocated with tasks that exceed the capacity of the first functional entity, or under-allocated with tasks that fail to fully utilize the memory resources of the first functional entity.

[0042] In conjunction with the second aspect, or any of the above possible implementations of the second aspect, in yet another possible implementation, the first link is configured to transmit signaling radio bearers (SRBs) over the air interface via RRC, or is configured to transmit data radio bearers (DRBs) at the Serving Data Adaptation Protocol (SDAP) layer.

[0043] By using the above method and transmitting information through a high-priority signaling channel, the quality and reliability of data transmission can be improved.

[0044] In conjunction with the second aspect, or any of the possible implementations of the second aspect described above, another possible implementation further includes:

[0045] Receive a second request from the terminal, wherein the second request includes a first QP in the terminal that communicates with the QP of the first functional entity, and the second request is used to request to establish a communication connection with the management QP in the first functional entity;

[0046] The first link is established between the management QP and the first QP. The first link is used for the interaction of control signaling. For example, the first connection information can be obtained through the first link to establish a data transmission QP. Optionally, before the management QP of the first functional entity establishes the first link with the terminal, the first functional entity can receive connection information sent by the control device. The connection information contains the information of the terminal, which facilitates the accurate connection between the first functional entity and the terminal.

[0047] In conjunction with the second aspect, or any of the above possible implementations of the second aspect, in yet another possible implementation, the second connection information includes one or more of the following: address information of the connection peer, connection type, global identifier GID, queue pair number QPN, queue key, memory virtual address, and remote key. The second connection information may also include other information related to establishing an RDMA connection. A complete RDMA connection or an RDMA data transmission QP can be established based on the second connection information.

[0048] Thirdly, embodiments of this application provide a communication method applied to a control device, the method comprising:

[0049] Send the second connection information to the first functional entity;

[0050] Send first connection information to the terminal, wherein the first connection information and the second connection information are used to establish a remote direct memory access (RDMA) connection between the first functional entity and the terminal, and the first functional entity is deployed on a network device.

[0051] Using this method, an RDMA connection is established between the terminal and the first functional entity on the network side. Therefore, the terminal's data can be directly transmitted to the memory of the first functional entity, bypassing the operating system kernel. This effectively expands the storage capacity of the terminal in the RAN scenario and makes full use of the distributed storage capacity. Since the memory access process reduces data transfer and kernel switching overhead, it reduces transmission latency, reduces packet delay budget (PDB) timeouts, and frees up CPU processing power.

[0052] In conjunction with the third aspect, one possible implementation also includes:

[0053] Receive a first request from the terminal, wherein the first request is used to request the use of memory resources. For example, when the terminal needs to use memory, it can send a request to the control device. The first request may only be used to request the use, or it may be used to request the use and include the size of the memory to be used.

[0054] This method enables on-demand allocation of memory resources.

[0055] In conjunction with the third aspect, or any of the above possible implementations of the third aspect, another possible implementation further includes:

[0056] The system receives a registration request sent by the first functional entity, wherein the registration request is used to register memory resource information with the control device. Optionally, the first functional entity on the network side is responsible for providing memory resources. The first functional entity registers its own memory resources and capabilities with the control device, which facilitates the control device to allocate memory to the terminal and prevents the control device from allocating too much memory, exceeding the capacity of the first functional entity, or allocating too little memory, which would not fully utilize the memory resources of the first functional entity.

[0057] In conjunction with the third aspect, or any of the above possible implementations of the third aspect, another possible implementation further includes:

[0058] The first information sent by the first functional entity is received, wherein the first information includes information on available memory resources. For example, the first functional entity may be called by memory by multiple terminals at the same time, or it may occupy part of the memory itself. Therefore, not all of the memory of the first functional entity can be called. Therefore, it is necessary to inform the control device of the size of the memory resources that it can currently call.

[0059] By adopting the above method, the control device can allocate appropriate memory for the terminal to call according to the capabilities of the first functional entity, preventing the control device from being over-allocated with tasks that exceed the capacity of the first functional entity, or under-allocated with tasks that fail to fully utilize the memory resources of the first functional entity.

[0060] In conjunction with the third aspect, or any of the above possible implementations of the third aspect, another possible implementation further includes:

[0061] Send a forwarding table entry to the network device, wherein the forwarding table entry includes the identifier of the terminal and the address of the first functional entity, and the forwarding table entry is used by the network device to add network layer and / or transport layer to the first data from the terminal.

[0062] Using this method, the terminal does not need to go through the network layer or transport layer for processing, which saves the terminal's computing overhead and simplifies the terminal's data processing flow.

[0063] Fourthly, embodiments of this application provide a communication method, the method comprising:

[0064] Receive first parameter information, wherein the first parameter information includes interface information of functions provided by the network side;

[0065] A third request message is sent via the RPC connection to a first functional entity on which the function is deployed, wherein the third request message is used to request the invocation of the function; the first functional entity is deployed on a network device;

[0066] The call result of the function is received through the RPC connection.

[0067] In this method, the control device manages the function, which is deployed on the first functional entity on the network side. The terminal can call the remote computing power, which effectively expands the computing power of the terminal in the RAN scenario and makes full use of the distributed computing power. Since the computing power call process adopts the RPC mechanism, the data granularity of transmission is small, the corresponding stop-and-wait latency is also small, and the packet delay budget (PDB) timeout can also be reduced.

[0068] In conjunction with the fourth aspect, one possible implementation also includes:

[0069] Receive a first notification message, wherein the first notification message may come from a control device, and the first notification message is used to indicate the functions that the network side can provide, for example, the function may be provided by a first functional entity on the network side.

[0070] In this method, the control device informs the terminal of the registered functions, allowing the terminal to select which function to invoke based on its needs. In conjunction with the fourth aspect, or any of the above possible implementations of the fourth aspect, in yet another possible implementation, the first parameter information further includes information about the first functional entity that has deployed the stated function.

[0071] In the above method, the first parameter information not only informs the terminal of the function information provided, but also tells the terminal which first functional entity provides the function, so that the terminal can accurately call the function and improve the calling efficiency.

[0072] In conjunction with the fourth aspect, or any of the above possible implementations of the fourth aspect, another possible implementation further includes:

[0073] If the function is not registered with the control device, a first registration request is sent to the control device. The first registration request is used to register the function with the control device, so as to facilitate the management and subsequent allocation of the function by the control device.

[0074] In conjunction with the fourth aspect, or any of the above possible implementations of the fourth aspect, in yet another possible implementation, the first registration request is further used to request the use of the function.

[0075] In this method, the usage request and registration request are included in the same information, which saves signaling resources and reduces call latency.

[0076] In conjunction with the fourth aspect, or any of the above possible implementations of the fourth aspect, another possible implementation further includes:

[0077] A second request message is sent to the control device, wherein the second request message is used to request the use of the function.

[0078] Fifthly, embodiments of this application provide a communication method applied to a first functional entity, the method comprising:

[0079] A third request message is received from a terminal via a Remote Procedure Call (RPC) connection, wherein the first functional entity deploys the function, and the third request message is used to request the invocation of the function; the first functional entity is deployed on a network device.

[0080] Run the function and obtain the result.

[0081] The call result is sent to the terminal via the RPC connection.

[0082] In this method, the control device manages the function, which is deployed on the first functional entity on the network side. The terminal can call the remote computing power, which effectively expands the computing power of the terminal in the RAN scenario and makes full use of the distributed computing power. Since the computing power call process adopts the RPC mechanism, the data granularity of transmission is small, the corresponding stop-and-wait latency is also small, and the packet delay budget (PDB) timeout can also be reduced.

[0083] In conjunction with the fifth aspect, or any of the above possible implementations of the fifth aspect, another possible implementation further includes:

[0084] A first registration request is sent to the control device, wherein the first registration request is used to register the function to the control device. For example, the function can be a function provided by a first functional entity. Optionally, the first functional entity periodically updates its function information to the control device and reports it to the control device, so that the control device can allocate resources according to the specific situation of the first functional entity and avoid assigning the first functional entity a function call task that does not match its own capabilities.

[0085] In conjunction with the fifth aspect, or any of the above possible implementations of the fifth aspect, another possible implementation further includes:

[0086] The device receives a second notification message, which includes information about the terminal and interface information of the function that the terminal is allowed to call. Optionally, after the control device allows the terminal to call the function, it can notify the terminal of the first functional entity deployed by the function and the function information that the first functional entity needs to provide, so as to notify the first functional entity to prepare to be called, so as to facilitate the connection between the terminal and the first functional entity and improve the calling efficiency.

[0087] In conjunction with the fifth aspect, or any of the above possible implementations of the fifth aspect, another possible implementation further includes:

[0088] Receive first instruction information from the control device, wherein the first instruction information is used to instruct the deployment of the function. For example, after the control device allows the terminal to call the function, the first functional entity that provides the function may need to deploy the function in order to ensure that the function is called successfully.

[0089] In this method, the first functional entity pre-deploys the functions that need to be called, making it convenient for the terminal to invoke them.

[0090] Sixthly, embodiments of this application provide a communication method applied to a control device, the method comprising:

[0091] Receive a first registration request, wherein the first registration request is used to register a function to the control device;

[0092] Send first parameter information to the terminal, wherein the first parameter information includes interface information of the function that the network side can provide, the function is deployed on a first functional entity, and the first functional entity is deployed on a network device.

[0093] In this method, the control device manages the function, which is deployed on the first functional entity on the network side. The terminal can call the remote computing power, which effectively expands the computing power of the terminal in the RAN scenario and makes full use of the distributed computing power. Since the computing power call process adopts the RPC mechanism, the data granularity of transmission is small, the corresponding stop-and-wait latency is also small, and the packet delay budget (PDB) timeout can also be reduced.

[0094] In conjunction with the sixth aspect, in one possible implementation, receiving the first registration request includes:

[0095] The system receives a first registration request from the first functional entity. Optionally, the first functional entity may periodically update its function information to the control device and report it to the control device. This facilitates the control device in allocating resources according to the specific circumstances of the first functional entity, avoiding the assignment of function call tasks that do not match its capabilities to the first functional entity and improving call efficiency.

[0096] In conjunction with the sixth aspect, or any of the above possible implementations of the sixth aspect, another possible implementation further includes:

[0097] Send a first notification message to the terminal, wherein the first notification message is used to indicate the functions that the network side can provide, for example, the function can be provided by a first functional entity on the network side.

[0098] In this method, the control device informs the terminal of the registered functions, so that the terminal can choose which function to call according to its own needs.

[0099] In conjunction with the sixth aspect, or any of the above possible implementations of the sixth aspect, in yet another possible implementation, the first parameter information further includes information about the first functional entity that has deployed the function.

[0100] In this method, while informing the terminal of the functions that can be provided, the terminal is also informed of the first functional entity information of the function, so that the terminal can accurately call the function and improve the calling efficiency.

[0101] In conjunction with the sixth aspect, or any of the above possible implementations of the sixth aspect, another possible implementation further includes:

[0102] Send a second notification message to the first functional entity, wherein the second notification message includes information about the terminal and interface information of the function that the terminal is allowed to call. For example, after the control device allows the terminal to call the function, it can notify the first functional entity where the function is deployed of the terminal information and the function information that the first functional entity needs to provide, so as to notify the first functional entity to be prepared to be called, ensuring that the terminal can successfully call the memory and improve the calling efficiency.

[0103] In conjunction with the sixth aspect, or any of the above possible implementations of the sixth aspect, another possible implementation further includes:

[0104] Receive a second instruction from the cloud server, wherein the second instruction is used to indicate the functions that the network side is allowed to provide to the terminal.

[0105] In conjunction with the sixth aspect, or any of the above possible implementations of the sixth aspect, in yet another possible implementation, receiving the first registration request includes:

[0106] The terminal receives a first registration request. If the function called by the terminal has not been registered on the control device, the first registration request can be made by the terminal on the control device.

[0107] In this method, registration facilitates the management and subsequent allocation of the function by the control device.

[0108] In conjunction with the sixth aspect, or any of the above possible implementations of the sixth aspect, in yet another possible implementation, receiving the first registration request includes:

[0109] The cloud server receives a first registration request. If a function called by the terminal has not been registered on the control device, the cloud server can also register it on the control device.

[0110] In conjunction with the sixth aspect, or any of the above possible implementations of the sixth aspect, another possible implementation further includes:

[0111] Receive a second request message from the terminal, wherein the second request message is used to request the use of the function.

[0112] Seventhly, embodiments of this application provide a communication device, which can be a terminal or a device or functional module within a terminal, wherein:

[0113] The communication device includes a module for performing the method described in the first aspect or any possible implementation thereof;

[0114] Alternatively, the communication device may include a module for performing the method described in the fourth aspect or any possible implementation of the fourth aspect;

[0115] Alternatively, the communication device includes a processor for performing the method described in the first aspect or any possible implementation thereof.

[0116] Alternatively, the communication device may include a processor for performing the method described in the fourth aspect or any possible implementation thereof.

[0117] Eighthly, embodiments of this application provide a communication device, which can be a first functional entity or a device or functional module within the first functional entity, wherein:

[0118] The communication device includes a module for performing the method described in the second aspect or any possible implementation thereof;

[0119] Alternatively, the communication device may include a module for performing the method described in the fifth aspect or any possible implementation thereof;

[0120] Alternatively, the communication device includes a processor for performing the method described in the second aspect or any possible implementation thereof.

[0121] Alternatively, the communication device may include a processor for performing the method described in the fifth aspect or any possible implementation thereof.

[0122] Ninthly, embodiments of this application provide a communication device, which can be a control device or a component or functional module within a control device, wherein:

[0123] The communication device includes a module for performing the method described in the third aspect or any possible implementation of the third aspect;

[0124] Alternatively, the communication device may include a module for performing the method described in the sixth aspect or any possible implementation thereof;

[0125] Alternatively, the communication device includes a processor for performing the method described in the third aspect or any possible implementation thereof.

[0126] Alternatively, the communication device may include a processor for performing the method described in the sixth aspect or any possible implementation thereof.

[0127] Tenthly, embodiments of this application provide a communication device, characterized in that it includes a logic circuit and an interface, the logic circuit and the interface being coupled; the interface is used for inputting and / or outputting information, wherein:

[0128] The logic circuit is used to perform the method described in the first aspect or any possible implementation thereof, or...

[0129] The logic circuit is used to execute the method described in the second aspect or any possible implementation thereof, or...

[0130] The logic circuit is used to execute the method described in the third aspect or any possible implementation thereof, or...

[0131] The logic circuit is used to perform the method described in the fourth aspect or any possible implementation thereof, or...

[0132] The logic circuit is used to perform the method described in the fifth aspect or any possible implementation thereof, or...

[0133] The logic circuit is used to perform the method described in the sixth aspect or any possible implementation thereof.

[0134] Eleventhly, embodiments of this application provide a computer-readable storage medium for storing a computer program, wherein:

[0135] When the computer program is executed, it is capable of implementing the first aspect or any possible implementation of the first aspect, or...

[0136] When the computer program is executed, it is capable of implementing the second aspect or any possible implementation of the second aspect, or...

[0137] When the computer program is executed, it is capable of implementing the third aspect or any possible implementation of the third aspect, or...

[0138] When the computer program is executed, it is capable of implementing the fourth aspect or any possible implementation of the fourth aspect, or...

[0139] When the computer program is executed, it is capable of implementing the fifth aspect or any possible implementation of the fifth aspect, or...

[0140] When the computer program is executed, it is capable of implementing the sixth aspect or any possible implementation of the sixth aspect.

[0141] In a twelfth aspect, embodiments of this application provide a communication system, which includes a terminal, a first functional entity, and a control device, wherein:

[0142] The terminal is configured to execute the method described in the first aspect or any possible implementation thereof, the first functional entity is configured to execute the method described in the second aspect or any possible implementation thereof, and the control device is configured to execute the method described in the third aspect or any possible implementation thereof; or...

[0143] The terminal is used to perform the method described in the fourth aspect or any possible implementation of the fourth aspect, the first functional entity is used to perform the method described in the fifth aspect or any possible implementation of the fifth aspect, and the control device is used to perform the method described in the sixth aspect or any possible implementation of the sixth aspect. Attached Figure Description

[0144] The accompanying drawings used in the embodiments of this application are described below.

[0145] Figure 1 This is a schematic diagram of a server-client task invocation architecture provided in an embodiment of this application;

[0146] Figure 2 This is a schematic diagram of a server-client task invocation architecture based on MEC provided in an embodiment of this application;

[0147] Figure 3 This is a schematic diagram of the architecture of a communication system provided in an embodiment of this application;

[0148] Figure 4 This is a comparative diagram of a traditional RAN architecture and an open RAN architecture provided in an embodiment of this application;

[0149] Figure 5 This is a schematic diagram illustrating a scenario of introducing RDMA and RPC in a RAN, as provided in an embodiment of this application.

[0150] Figure 6This is a schematic diagram of a conventional memory access scenario provided in an embodiment of this application;

[0151] Figure 7 This is a schematic diagram of a memory access scenario based on RDMA provided in an embodiment of this application;

[0152] Figure 8 This is a schematic diagram illustrating a scenario for establishing queue pairs provided in an embodiment of this application;

[0153] Figure 9 This is a schematic diagram of a computation call scenario based on RPC provided in an embodiment of this application;

[0154] Figure 10 This is a flowchart illustrating a communication method provided in an embodiment of this application;

[0155] Figure 11A This is a schematic diagram illustrating a scenario for establishing and configuring a QP, as provided in an embodiment of this application.

[0156] Figure 11B This is a schematic diagram of a QP connection scenario provided in an embodiment of this application;

[0157] Figure 12 This is a flowchart illustrating a communication method provided in an embodiment of this application;

[0158] Figure 13 This is a flowchart illustrating a communication method provided in an embodiment of this application;

[0159] Figure 14 This is a flowchart illustrating a communication method provided in an embodiment of this application;

[0160] Figure 15 This is a flowchart illustrating a communication method provided in an embodiment of this application;

[0161] Figure 16 This is a flowchart illustrating a communication method provided in an embodiment of this application;

[0162] Figure 17 This is a schematic diagram of network element interaction provided in an embodiment of this application;

[0163] Figure 18 This is a flowchart illustrating a communication method provided in an embodiment of this application;

[0164] Figure 19 This is a flowchart illustrating a communication method provided in an embodiment of this application;

[0165] Figure 20 This is a flowchart illustrating a communication method provided in an embodiment of this application;

[0166] Figure 21 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application;

[0167] Figure 22 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application;

[0168] Figure 23 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application. Detailed Implementation

[0169] The embodiments of this application are described below with reference to the accompanying drawings.

[0170] Please see Figure 3 , Figure 3 This is a schematic diagram of a communication system applicable to embodiments of this application. The communication system includes a terminal 301, a network device 302, and a control device 303. It should be understood that the communication system may include more control devices or more network devices. For example, the network device may be a base station, and the communication architecture may include macro base stations (Macro eNBs) and small eNBs. Additionally, there may be multiple terminals; only one is illustrated in the figure. The control device, network device, and terminal can be hardware, software functionally defined, or a combination of both. Communication can occur directly between the control device and the network device, or between the network device and the terminal, or through other devices or network elements as relays. In this communication system, the network device 302 can transmit data with one or more terminals 301; that is, the network device 302 can send downlink data to one or more terminals 301, and one or more terminals 301 can send uplink data to the network device 302. Optionally, multiple terminals may form a communication system in which the network device 302 can send downlink data to one terminal, which then forwards the downlink data to other terminals.

[0171] In this embodiment, network devices and control devices can communicate via wired or wireless means. Network devices and terminals can transmit data via transmission media such as radio waves. For example, communication technologies include: Long Term Evolution (LTE), LTE Frequency Division Duplex (FDD), LTE Time Division Duplex (TDD), Universal Mobile Telecommunications System (UMTS), Worldwide Interoperability for Microwave Access (WiMAX), 5th Generation (5G), New Radio Access Technology (NR), 6th Generation (6G), or other wireless access technologies. These communication technologies can be non-standalone (NSA) and / or standalone (SA) network architectures. The various devices in the above communication systems are described below.

[0172] 1) Terminal 301 is an entity for receiving and / or transmitting signals, capable of sending uplink signals (e.g., uplink data) to network devices or receiving downlink signals (e.g., control information and downlink data) from network devices. It includes devices for providing voice and / or data connectivity to users; specifically, it includes devices for providing voice to users, or devices for providing data connectivity to users, or devices for providing both voice and data connectivity to users. For example, it may include a handheld device with wireless connectivity or a processing device connected to a wireless modem. The terminal can communicate with the core network via a radio access network (RAN), exchanging voice or data with the RAN, or interacting with the RAN for both voice and data. The terminal may include user equipment (UE), wireless terminal, mobile terminal, device-to-device (D2D) terminal, vehicle-to-everything (V2X) terminal, machine-to-machine / machine-type communications (M2M / MTC) terminal, Internet of Things (IoT) terminal, light UE, reduced capability UE (REDCAP UE), subscriber unit, subscriber station, mobile terminal (MT), mobile station, remote station, access point (AP), remote terminal, access terminal, user terminal, user agent, or user device, etc. For example, it can include mobile phones (or "cellular" phones), smartphones, computers with mobile terminals, portable, pocket-sized, wearable, handheld, computer-embedded mobile devices, laptop computers, wireless data cards, tablet computers, wireless modems, etc.Examples include personal communication service (PCS) phones, cordless phones, session initiation protocol (SIP) phones, wireless local loop (WLL) stations, personal digital assistants (PDAs), mobile routers, vehicle-mounted terminals (Transmission Control Units), virtual reality (VR) devices, augmented reality (AR) devices, and wireless terminals used in industrial control, remote surgery, smart grids, transportation safety, smart cities, and smart homes.

[0173] In this application embodiment, the device for implementing the terminal's functions can be a terminal itself, or a device capable of supporting the terminal in implementing those functions, such as a chip system, which can be installed in the terminal. In this application embodiment, the chip system can be composed of chips, or it can include chips and other discrete devices. The technical solutions provided in this application embodiment are described using the example of a terminal as the device for implementing the terminal's functions.

[0174] 2) Network device 302, used to receive uplink signals from a terminal or send downlink signals to a terminal, includes access network (AN) equipment, such as a base station (e.g., an access point), also known as a radio base station or basic radio, which communicates with wireless terminals. The base station can communicate with mobile terminals within its area and manage and schedule communication resources via antennas. For example, network equipment may include base transceiver stations (BTS) in Global System for Mobile Communication (GSM) or Code Division Multiple Access (CDMA) networks, NBs (NodeBs) in Wideband Code Division Multiple Access (WCDMA), evolved base stations (NodeBs, eNBs, or e-NodeBs) in Long Term Evolution-Advanced (LTE-A) systems, or next-generation node Bs (gNBs) in 5G NR systems (also simply NR systems). It may also include radio network controllers (RNCs), centralized units (CUs), distributed units (DUs), base station controllers (BSCs), home base stations (e.g., home eNodeBs or home NodeBs, HNBs), and base band units (BNs) in cloud radio access networks (Cloud RAN) systems. Network devices can be network units (BBUs) or wireless Fidelity (Wi-Fi) access points (APs), etc. In addition, network devices can also be routers, network management systems, servers, dispatch consoles, wearable devices, vehicle-mounted devices, transmission and reception points (TRPs), etc., and are not limited to these in the embodiments of this application.

[0175] In this application embodiment, the device for implementing the function of the network device can be the network device itself, or it can be a device that enables the network device to implement the function, such as a chip system. The device can be installed in the network device or deployed on the network device as an external component.

[0176] The network device (such as a base station) may include functional entities. These functional entities can be deployed internally or externally to the network device. They can provide storage, computing, and other capabilities for use by the network device or for external devices to access. In this embodiment, the functional entity can be a physical hardware module or a logical functional module. The functional entity can communicate with terminals, core network devices, etc. Optionally, the functional entity can communicate directly with the core network device or through the network device. For example, in the uplink direction, the functional entity sends data to the network device, which then forwards the data to the core network device. Similarly, in the downlink direction, the core network device sends data to the network device, which then forwards the data to the functional entity. However, for ease of description, this will be referred to as the functional entity sending data (or messages, etc.) to the core network device, or the core network device sending data (or messages, etc.) to the functional entity. Alternatively, this functional entity can communicate directly with the terminal or through a network device. For example, in the downlink direction, the functional entity sends data to the network device, which then forwards the data to the terminal. Similarly, in the uplink direction, the terminal sends data to the network device, which then forwards the data to the functional entity. However, for ease of description, this will be referred to as "functional entity sending data (or messages, etc.) to the terminal" or "terminal sending data (or messages, etc.) to the functional entity." This functional entity can also have other names, such as Service Unit (SU), and the specific naming is not limited.

[0177] 3) Control device 303 is an entity with functions such as resource allocation and decision-making. For example, it can be the network devices mentioned above, core network devices, or other network elements. Optionally, core network devices refer to network elements deployed in the core network (CN) that have functions such as resource allocation and decision-making. For example, the core network device can be an access and mobility management function (AMF), a user plane function (UPF), a session management function (SMF), etc.

[0178] The aforementioned communication system can be deployed using either a traditional RAN architecture or an open RAN architecture. Figure 4 This diagram illustrates a comparison between traditional RAN architecture and open RAN architecture, primarily highlighting the architectural differences at network devices (such as gNB base stations). Open RAN architecture includes Radio Units (RUs), Distributed Units (DUs), and Centralized Units (CUs). RUs, also known as O-RUs, are modules for transmitting, receiving, amplifying, and digitizing radio frequency signals; RUs are located near or integrated into the antenna. DUs and CUs are computing modules in network devices (such as base stations) used to transmit digitized radio signals into the network. DUs, also known as O-DUs, are physically located at or near RUs, while CUs, also known as O-CUs, can be located closer to the core network. In addition, the CU provides support for higher layers of the protocol stack, such as Service Data Adaptation Protocol (SDAP), Packet Data Convergence Protocol (PDCP), and Radio Resource Control (RRC), while the DU provides support for lower layers of the protocol stack, such as Radio Link Control Protocol (RLC), Media Access Control Protocol (MAC), and Physical Layer protocol (PHY). In future systems, the functions provided by the CU, DU, and RU may be redefined, and this application does not limit this. For the traditional RAN architecture, which includes the BBU and RU, the BBU is primarily responsible for processing digital signals. It is the core component of network equipment (such as base stations), located between the base station controller and the RU, playing a crucial role in bridging the gap between them.

[0179] This application's embodiments extend the terminal's computing power and / or storage through a Radio Access Network (RAN). Based on a foundational Operating System (OS), it presents resources exceeding the terminal's physical memory and storage. The underlying layer abstracts and manages the memory and storage of both the terminal and the RAN side, allowing the terminal to directly access the RAN's computing power and / or storage. For example, Remote Direct Memory Access (RDMA) technology enables direct data transfer between the terminal's memory and storage and the RAN's memory and storage. Similarly, Remote Procedure Call (RPC) technology enables the terminal to schedule computing functions deployed on the RAN side. The introduction of RDMA and RPC results in finer data transmission granularity when the terminal accesses RAN resources, leading to shorter latency. Furthermore, it fully utilizes distributed computing power and reduces packet loss.

[0180] like Figure 5 The diagram illustrates a scenario where RDMA and RPC are introduced into the RAN. The right side of the diagram shows the application scenario and the corresponding hardware and software configurations; the left side shows the data processing process corresponding to the right side. The key to data processing is the introduction of RDMA and RPC in air interface transmission, which effectively ensures that the application client on the terminal side can access the memory and computing power of the network side.

[0181] The following sections will introduce the DMA technology, RDMA technology, and RPC technology related to RDMA:

[0182] Direct Memory Access (DMA): For high-performance computing, big data analytics, and other applications requiring high concurrency and low latency in input / output (I / O), existing Transmission Control Protocol / Internet Protocol (TCP / IP) hardware and software architectures cannot meet the demands. This is mainly because traditional TCP / IP network communication involves sending messages through the kernel, which incurs significant overhead from data movement and copying. DMA, on the other hand, allows devices on the computer motherboard to directly send data into memory, eliminating the need for the Central Processing Unit (CPU) to handle the data transfer. Figure 6As shown, traditional memory access requires the CPU to copy data to move it, moving data from Memory 1 to Memory 2 via the CPU, as indicated by the solid line. DMA mode, on the other hand, uses a DMA engine to move data from Memory 1 to Memory 2, as indicated by the dashed line, without requiring the operating system or CPU intervention, significantly reducing the overhead of CPU copying.

[0183] Remote Direct Memory Access (RDMA) was developed to address the latency issues in server-side data processing during network transmission. It's a technology that uses DMA to directly access the memory of one host from the memory of another when two or more computing nodes are communicating.

[0184] like Figure 7 As shown, RDMA allows applications (including storage) on two nodes (such as node A and node B) to directly transfer data over the network between their memory spaces (such as memory 1 and memory 2). Its advantages include:

[0185] (1) Zero-copy: The application can directly perform data transmission without involving the network software stack. Data can be sent directly to the buffer or received directly from the buffer without being copied to the network layer.

[0186] (2) Kernel bypass: Applications can directly perform data transfer in user mode without needing to switch context between kernel mode and user mode.

[0187] (3) No CPU involvement is required, for example, such as Figure 7 As shown, the application on node A can access memory 2 (memory2) of a remote host (such as node B) without consuming any CPU on the remote host. Memory 2 (memory2) on the remote host (such as node B) can be read without the involvement of any processes (or CPU) on the remote host (such as node B). The cache of the CPU on the remote host (such as node B) will not be filled with the contents of accessed memory 2 (memory2).

[0188] RDMA allows for high-throughput, low-latency network communication, making it particularly suitable for use in large-scale parallel computer clusters.

[0189] Before performing memory operations using RDMA technology, a channel, namely a queue pair (QP) connection, needs to be established, such as... Figure 8 As shown, Node A sends the task description for memory operation to Node B's QP7 via QP2, meaning that Node A-QP2 and Node B-QP7 are a pair of QPs. Figure 8 Another example is that NodeA-QP4 and NodeB-QP2 are a pair of QPs.

[0190] Remote Procedure Call (RPC): In RPC, one node is the service provider, and the other is the service caller. The methods provided by the service provider and those of the service caller reside in different memory spaces. Therefore, network programming is required to pass the parameters needed for the method call, and the result of the method call also needs to be received via network programming. The industry typically provides this in the form of frameworks, which can abstract away the details of network programming and thus simplify applications, such as... Figure 9 As shown.

[0191] Please see Figure 10 , Figure 10 This is a flowchart illustrating a communication method provided in an embodiment of this application. This method can be based on... Figure 3 , Figure 4 , Figure 5 The architecture shown can also be implemented based on other architectures. This method includes, but is not limited to, the following steps:

[0192] Step S1001: The terminal obtains the first connection information.

[0193] Specifically, the first connection information is used to establish a remote direct memory access (RDMA) connection. For example, the first connection information includes one or more of the following:

[0194] Address information of the connection peer: This may include the SU's network address and service port number, used for network layer and transport layer addressing. The connection peer here is the first functional entity, also known as the service unit (SU).

[0195] Connection Type: Indicates the type of connection, such as Reliable Connection (RC) or Unreliable Datagram (UD).

[0196] Global Identifier (GID): Used for link layer / network layer addressing.

[0197] Queue Pair Number (QPN): Identifies the association between the two queues. For example, if QP4 on node A and QP2 on node B are logically connected, then QP4 and QP2 are called QPN, and QP4 of A and QP2 of B are a queue pair.

[0198] Queue Key: Used for authentication when connecting to a queue.

[0199] Virtual Address (VA): Used for addressing memory.

[0200] Remote Key: Used for access control authentication of remote memory regions.

[0201] There are several ways for a terminal to obtain initial connection information. Examples are given below:

[0202] In method one, the terminal receives the first connection information from the control device, which is responsible for distributing the first connection information. In this method, the control device needs to generate the first connection information first and then send the first connection information to the terminal.

[0203] Optionally, the control device may proactively send the first connection information to the terminal. For example, the control device may proactively generate the first connection information based on the corresponding business or task and send the first connection information to the terminal. The first connection information may include business / task information (such as ID).

[0204] Optionally, the control device may passively send first connection information to the terminal. For example, the terminal sends a first request to the control device, which requests access to memory resources. For example, the first request may carry one or more of the following: the terminal's ID, the request's ID, and the connection method. The control device generates first connection information based on the first request and sends the first connection information to the terminal. The first connection information may carry relevant information from the first request, such as one or more of the following: the terminal's ID, the request's ID, and the connection method, to indicate that the first connection information is a response to the first request.

[0205] Method Two: The terminal establishes an initial connection with the first functional entity and receives the first connection information sent by the first functional entity. For example, the control device sends basic information about the first functional entity to the terminal, such as network address and port number. The control device also sends authorization information for the terminal to the first functional entity, such as terminal (e.g., UE) ID, task ID, and the amount of memory authorized for the terminal. The terminal and the first functional entity establish a management queue pair (QP) connection based on the information received from the control device, which is equivalent to establishing a first link. This first link is the link of the management queue pair (QP) between the terminal and the first functional entity. Afterward, the terminal can receive the first connection information sent by the first functional entity through this first link. Optionally, the first connection information here may not include the network address and port number of the first functional entity mentioned above, because this information has already been obtained from the control device.

[0206] Optionally, the establishment of the first link may further include the following operations: the terminal sends a second request to the first functional entity, wherein the second request includes information about the first QP communicating with the QP of the first functional entity, such as its name and identifier. The second request is used to request the establishment of a communication connection with the management QP in the first functional entity. Correspondingly, the first functional entity receives the second request, and may agree to or refuse it. If agreed, the terminal establishes the first link with the management QP of the first functional entity through the first QP. Optionally, QP1 is typically used as the management QP, and its corresponding Queue Key can be 80010000. Therefore, the terminal can establish a management link with QP1 of the first functional entity through the first QP for control signaling interaction. Further, the air interface guarantee of the first link can be configured as follows:

[0207] For example, the air interface portion of the first link is carried by a Transmit Signalling Radio Bearer (SRB). Optionally, the first connection information can be transmitted on the first link in the form of Radio Resource Control (RRC) signaling, and the RRC signaling is sent on the first link via a Signalling Radio Bearer (SRB).

[0208] For example, the air interface portion is carried by a Data Radio Bearer (DRB). The QoS requirements of the DRB are higher than the first preset threshold. Optionally, the DRB with higher QoS guarantee can be mapped to the Service Data Adaptation Protocol (SDAP) layer. That is, the SDAP layer selects the DRB with QoS requirements higher than the first preset threshold to transmit the first connection information.

[0209] Subsequently, the terminal establishes an RDMA connection with the first functional entity through the first connection information, which is equivalent to establishing a transmission QP.

[0210] like Figure 11A The diagram illustrates the process of sequentially establishing a management QP connection, configuring the air interface, and establishing a transport QP connection. For the management QP connection, the queue pair number QPN is x, the queue key is y, and the QP used by the terminal to participate in the management QP connection is QP. m The first functional entity involved in managing the QP connection is QP1. For air interface configuration, if the air interface segment is between the terminal and the network device, then the management QP connection is configured in the air interface segment to carry connection information (such as first connection information and second connection information) via SRB or DRB. For transport QP connections, the QP involved in the terminal's transport QP connection is QP1. n The first functional entity involved in the transmission of the QP connection is the QP. r QP connections can transfer memory data; it should be noted that the relevant parameters (such as 1, x, y, m, n, r) are only examples.

[0211] like Figure 11B The diagram illustrates a separate architecture for a network device (such as a RAN), including logical entities such as CU (further subdivided into CU-CP / CU-UP) and DU. These logical entities communicate via interfaces. Taking a gNB as an example, the network device includes logical entities such as gNB-CU-CP, gNB-CU-UP, and gNB-DU. gNB-CU-CP and gNB-CU-UP can communicate via the E1 interface, gNB-CU-CP and gNB-DU can communicate via the F1-C interface, and gNB-DU and gNB-CU-UP can communicate via the F1-U interface. The management QP connection can be established via the gNB-CU-CP connection, while the transport QP connection can be established via the gNB-CU-UP connection. Therefore, the management QP connection can configure parameters for the transport QP connection via the E1 interface.

[0212] Method 3: In the first connection information mentioned above, part of the information is received from the control device, and another part of the information is received from the first functional entity; of course, it is also possible that all or part of the information in the first connection information mentioned above is pre-configured in the terminal.

[0213] Step S1002: The first functional entity obtains the second connection information.

[0214] Specifically, the first functional entity is deployed on network equipment, for example, in a base station. The first functional entity can be located within the network equipment, i.e., as one of its components, or it can be deployed externally. A corresponding communication mechanism can exist between the first functional entity and the network equipment, such as wired or wireless communication. The network equipment can provide memory resources or other resources to the terminal (i.e., to the user side) through this first functional entity. The maintenance of these memory resources or other resources is the responsibility of the network equipment (and may also involve the core network or other equipment), but they can be provided to the terminal for use.

[0215] Specifically, the second connection information is used to establish a Remote Direct Memory Access (RDMA) connection. For example, the second connection information includes one or more of the following: address information of the connection peer, connection type, Global Identifier (GID), Queue Pair Number (QPN), queue key, memory virtual address, and remote key. It should be noted that when the second connection information includes the address information of the connection peer, the connection peer is a terminal.

[0216] In this embodiment of the application, the first connection information and the second connection information are partially the same and partially different. For example, the address information of the connection peers are different, while the connection type, queue pair number QPN, queue key, etc. are the same.

[0217] There are several ways for a terminal to obtain second connection information. Examples are given below:

[0218] In method one, the first functional entity receives the second connection information from the control device, which is the device responsible for distributing the second connection information. In this method, the control device needs to generate the second connection information first, and then send the second connection information to the terminal.

[0219] Optionally, the control device may actively send the second connection information to the first functional entity or passively send the second connection information to the first supply entity. For example, the terminal sends a first request to the control device to request memory resources, and then the control device allocates memory resources to the terminal through the first functional entity, thus sending the first connection information to the terminal and the second connection information to the first functional entity.

[0220] Optionally, before allocating the memory resources of the first functional entity to the terminal, the control device may send a registration request to the control device. This registration request registers the memory resource information with the control device, and may include detailed information about the memory resources that the first functional entity can provide, such as memory resource size, location, and validity period. After the memory resources are registered with the control device, the control device can allocate memory resources according to business needs or terminal requirements.

[0221] Method Two: The first functional entity establishes an initial connection with the terminal and receives the second connection information sent by the terminal. For example, the control device sends basic information about the first functional entity to the terminal, such as network address and port number. The control device also sends authorization information for the terminal to the first functional entity, such as terminal (e.g., UE) ID, task ID, and the amount of memory authorized for the terminal. The terminal and the first functional entity establish a management queue pair (QP) connection based on the information received from the control device, which is equivalent to establishing a first link. This first link is the link of the management queue pair (QP) between the terminal and the first functional entity. Afterward, the first functional entity can receive the second connection information sent by the terminal through this first link.

[0222] Optionally, in this implementation, the first functional entity can register the information of the memory resources it can provide with the control device, or it can choose not to register with the control device, that is, not to send the above registration request. For example, the first functional entity sends first information to the control device, which includes information about available memory resources, such as the size of available memory resources. When the control device allocates memory resources to the terminal, it can select an object that meets the terminal's needs to provide the memory resources based on the first information.

[0223] Optionally, the establishment of the first link and the air interface guarantee of the first link have been explained above and will not be repeated here.

[0224] Method 3: In the second connection information mentioned above, part of the information is received from the control device and another part is received from the terminal; of course, it is also possible that all or part of the information in the second connection information mentioned above is pre-configured in the first supplier entity.

[0225] Step S1003: The terminal and the first functional entity establish an RDMA connection through the first connection information and the second connection information.

[0226] Specifically, after the first functional entity receives the second connection information and the terminal receives the first connection information, both the first functional entity and the terminal obtain the information of the connection peer required to establish an RDMA connection, as well as information such as connection type, global identifier GID, queue pair number QPN, queue key, memory virtual address, and remote key. Therefore, both parties can authenticate based on this information and then establish an RDMA connection.

[0227] The principle of establishing an RDMA connection is a standard procedure and will not be elaborated here.

[0228] Step S1004: The terminal calls the memory resources of the first functional entity through the RDMA connection.

[0229] Correspondingly, the first functional entity receives the terminal's call for memory resources through the RDMA connection.

[0230] It should be noted that the access to memory resources can be implemented based on the basic principles of RDMA, but the specific process will not be elaborated here.

[0231] In one alternative approach, since the control device knows that the terminal needs to establish an RDMA connection with the first functional entity, it sends a forwarding table entry to the network device (such as a gNB) to which the terminal is connected. This forwarding table entry includes the terminal's identifier (such as UE ID) and the address of the first functional entity (such as Network Address or Service Port Number). The forwarding table entry is used by the network device to add network layer and / or transport layer parameters to the first data from the terminal. In other words, the terminal does not need to add network layer and / or transport layer parameters to the first data sent to the first functional entity; instead, it directly sends the data to the network device. The network device then adds network layer and / or transport layer parameters to the first data according to the forwarding table entry before sending it to the first functional entity. This reduces the load on the terminal.

[0232] In this embodiment, the control device can be a network device or a device other than a network device, such as a core network device. Communication between the first functional entity and the terminal may or may not be relayed through the control device. Furthermore, since the first functional entity is deployed on a network device, communication between the first functional entity and the terminal generally goes through the network device; however, it is not excluded that, with adjustments to the communication mechanism, the first functional entity may directly establish communication with the terminal. Additionally, communication between the first functional entity and the control device may or may not be relayed through the network device, depending on the communication architecture.

[0233] The above introduces various implementation examples of the solution. For ease of understanding, combined with... Figure 12 , Figure 13 , Figure 14 , Figure 15 The following examples illustrate several optional implementation processes; many other implementation cases will not be illustrated here.

[0234] In the embodiments of this application, the execution order of the steps involved is not limited. Although some steps appear first in the description, this does not mean that they are executed first in the execution. In actual execution, all combinations that are not logically contradictory fall within the protection scope of this application.

[0235] exist Figure 10 In the described method, an RDMA connection is established between the terminal and the first functional entity on the network side. Therefore, the terminal's data can be directly transmitted to the memory of the first functional entity, bypassing the operating system kernel. This effectively expands the storage capacity of the terminal in the RAN scenario and makes full use of distributed storage capabilities. Since the memory access process reduces data transfer and kernel switching overhead, it reduces transmission latency, reduces packet delay budget (PDB) timeouts, and frees up CPU processing power.

[0236] Please see Figure 16 , Figure 16 This is a flowchart illustrating a communication method provided in an embodiment of this application. This method can be based on... Figure 3 , Figure 4 , Figure 5 The architecture shown can also be implemented based on other architectures. This method includes, but is not limited to, the following steps:

[0237] Step S1601: The terminal sends a fourth request message to the control device.

[0238] The fourth request message is used to request information about the callable function, such as the calling method, including one or more of the following: class name, method name, parameter name, and parameter values. This fourth request message can be a query.

[0239] In this embodiment, a function can be a function, an operator of an artificial intelligence (AI) neural network (such as basic operations, higher-order encapsulation, etc.), a microservice in a business process, etc. Any processing related to computation can be a function here.

[0240] The function can be managed and invoked between the terminal, control device, and the primary functional entity. Figure 17The interaction between these three network elements is illustrated. A function first needs to be registered with the control device (FunctionRegister). Registration information includes one or more of the following: client identifier (APP ID), function identifier (Function ID), function information (Function Info), and function codes (Function Codes). The function information (Function Info) may include the function's interface information (explained in more detail later), and the client identifier is the identifier of the client to which the function applies. The function can be registered with the control device by the first functional entity, a terminal, or other devices, such as by sending a first registration request. This first registration request includes the aforementioned registration information and is used to register the function with the control device. After registration with the control device, the function is assigned (Function Assignment), deploying the registered function's function codes on the first functional entity. The first functional entity can then support remote calls in a service-oriented manner (e.g., within a 3GPP network). The specific process will be explained in more detail later.

[0241] In this embodiment, the control device is used to manage and schedule one or more functions. For example, some functions are deployed on various functional entities, but the management and scheduling of these functions are the responsibility of the control device. Therefore, when a terminal needs to obtain information about a corresponding function, it can send a request to the control device to obtain it. Optionally, the control device can be a core network device, the aforementioned network device, or other devices.

[0242] In this embodiment, the first functional entity is deployed on a network device, for example, on a base station. The first functional entity can be housed within the network device, i.e., as one of its components, or it can be deployed externally. A corresponding communication mechanism can exist between the first functional entity and the network device, such as wired or wireless communication. The network device can provide computing resources or other resources to the terminal (i.e., to the user side) through the first functional entity. The maintenance of these computing resources or other resources is the responsibility of the network device (and may also involve the core network or other devices), but they can be provided to the terminal for use.

[0243] Accordingly, the control device receives the fourth request message.

[0244] Optionally, the fourth request message can be transmitted via RPC or other mechanisms.

[0245] In addition, sending a fourth request message from the terminal to the control device is only an optional operation, meaning that this operation can also be omitted.

[0246] Step S1602: The control device sends the first parameter information to the terminal.

[0247] The first parameter information includes interface information of the functions that the network side can provide. For example, the interface information may include service-oriented interfaces and function parameters, specifically a collection of information such as class name, method name, parameter name, and parameter value. Optionally, the interface information may also include information about the first functional entity where the function is deployed (such as network address, port number, etc.). That is to say, the first parameter information includes information about the functions that the control device can provide to the terminal, and the location where the function is deployed (i.e., the first functional entity).

[0248] Accordingly, the terminal receives the first parameter information.

[0249] Optionally, the first parameter message can be transmitted via RPC or other mechanisms.

[0250] Optionally, before the control device receives the fourth request message and before sending the first parameter information, it can first send a first notification message to the terminal (e.g., an answer to the previous fourth request message), including information about multiple functions that the control device can assign to the terminal. The terminal then selects a specific function based on the first notification message and its own needs, and informs the control device. The first parameter information sent by the control device is the relevant information for that specific function. Alternatively, the control device may select a function for the terminal itself after sending the first notification message, and then send the function information to the terminal using the aforementioned first parameter information. It is also possible that the control device does not send the first notification message, but directly selects a function for the terminal based on the allocation of relevant services or tasks, and then sends the function information to the terminal using the aforementioned first parameter information. Optionally, the first notification message can be transmitted using RPC or other mechanisms.

[0251] Step S1603: The terminal sends a third request message to the first functional entity that has deployed the function via the RPC connection.

[0252] The third request message is used to request the invocation of the aforementioned function, namely the function specified in the first parameter information.

[0253] Correspondingly, the first functional entity receives a third request message from the terminal via a remote procedure call (RPC) connection.

[0254] Step S1604: The first functional entity sends the call result to the terminal through the RPC connection.

[0255] Specifically, the first functional entity responds to the third request message, executes the function requested in the third request message, and obtains the execution result, i.e., the call result. Then, it sends the call result to the terminal.

[0256] Accordingly, the terminal receives the result of the call via an RPC connection.

[0257] It should be noted that the first functional entity may need reference information to execute this function, such as input parameters or confirmation information prior to execution. This reference information can be included in the third request message. Alternatively, the terminal may send the reference information separately to the first functional entity. In this case, the reference information can be transmitted via RDMA. The method for establishing an RDMA transmission connection can be found in [reference needed]. Figure 10 The method embodiments shown are not described in detail here.

[0258] It is also possible that the first functional entity and the terminal transmit the call result through the RDMA mechanism.

[0259] In this embodiment, communication between the first functional entity and the terminal may or may not be relayed through a control device. Furthermore, since the first functional entity is deployed on a network device, communication between the first functional entity and the terminal generally passes through the network device; however, it is not excluded that, with adjustments to the communication mechanism, the first functional entity may directly establish communication with the terminal. Additionally, communication between the first functional entity and the control device may or may not be relayed through a network device, depending on the communication architecture.

[0260] Optionally, in steps S1603 and S1604 above, the communication between the terminal and the first functional entity needs to go through the control device. In one optional implementation, the third request message can be sent by the terminal to the control device via an RPC connection. The destination address of the third request message is the first functional entity. Then, the control device sends the third request message to the first functional entity through other communication mechanisms (such as RDMA). Afterwards, the first functional entity executes the above function according to the third request message and obtains the call result. Then, it sends the call result to the control device through the RDMA mechanism. The control device then sends the call result to the terminal through the RPC connection as a response to the third request message (RPC request).

[0261] In the embodiments of this application, the execution order of the steps involved is not limited. Although some steps appear first in the description, this does not mean that they are executed first in the execution. In actual execution, all combinations that are not logically contradictory fall within the protection scope of this application.

[0262] in addition, Figure 16 Although network devices (such as gNBs) are not shown, some data transmission processes may require passing through these network devices. However, for the sake of brevity, the relevant network elements involved are not fully illustrated.

[0263] exist Figure 16 In the described method, the control device manages the function, which is deployed on the first functional entity on the network side. The terminal can call the remote computing power, which effectively expands the computing power of the terminal in the RAN scenario and makes full use of the distributed computing power. Since the computing power call process adopts the RPC mechanism, the data granularity of transmission is small, the corresponding stop-and-wait latency is also small, and the packet delay budget (PDB) timeout can also be reduced.

[0264] Figure 16 The illustrated embodiments can be applied to various application scenarios. In different application scenarios, additional scenario-related features are usually added, such as in Figure 16 Based on the method embodiments shown, additional execution steps specific to certain scenarios are included. To better understand the embodiments of this application, the following will be combined with... Figure 18 , Figure 19 , Figure 20 Several scenarios will be given for specific explanation.

[0265] Please see Figure 18 , Figure 18 This is a flowchart illustrating a communication method provided in an embodiment of this application. In this method, the function can be a function pre-deployed on the application instance (SU), or it can be understood as a native function of the application. This method can be based on... Figure 3 , Figure 4 , Figure 5 The architecture shown can also be implemented based on other architectures. This method includes, but is not limited to, the following steps:

[0266] Step S1801: The first functional entity sends a first registration request to the control device.

[0267] Accordingly, the control device receives the first registration request and completes the registration of the corresponding function based on the first registration request.

[0268] For details regarding the first registration request, please refer to... Figure 16 The following is a description of the method embodiments shown.

[0269] Step S1802: The control device sends a first notification message to the terminal.

[0270] Accordingly, the terminal receives the first notification message; based on the first notification message, the terminal can learn what functions the network side can provide.

[0271] For information regarding the first notification message, please refer to... Figure 16 The following is a description of the method embodiments shown.

[0272] The control device may also choose not to send the first notification message to the terminal.

[0273] Step S1803: The control device sends the first parameter information to the terminal.

[0274] Specifically, the control device actively assigns corresponding functions to the terminal based on the business or task situation. The first parameter information includes the interface information of the function assigned to the terminal, as well as the information of the first functional entity that has deployed the function (such as identification, address, etc.). For the first parameter information, please refer to the relevant description in step S1602.

[0275] Accordingly, the terminal receives the first parameter information. After receiving the first parameter information, the terminal can parse out the interface information of the function it needs to call, as well as the location of the function (i.e., the first function entity).

[0276] Step S1804: The control device sends a second notification message to the first functional entity.

[0277] The second notification message includes information about the terminal and interface information of the functions that the terminal is allowed to invoke. For example, the terminal information may include the terminal ID (such as UE ID), the ID of the task using the function, the function ID, etc.; the interface information of the function has been described previously and will not be repeated here.

[0278] It is understandable that the preceding step S1803 informs the terminal of the information of the function assigned to the terminal and the first functional entity that provides the function, while step S1804 informs the first functional entity of the information of the terminal that needs to use the function. This facilitates the terminal to quickly establish a connection with the first functional entity and realize the function call.

[0279] Step S1805: The terminal sends a third request message to the first functional entity that has deployed the function via the RPC connection.

[0280] Specifically, the implementation of step S1805 can be referred to the relevant description of step S1603, which will not be repeated here.

[0281] Step S1806: The first functional entity sends the call result to the terminal through the RPC connection.

[0282] Specifically, the implementation of step S1806 can be referred to the relevant description of step S1604, which will not be repeated here.

[0283] It should be noted that, Figure 16 The explanations of relevant concepts, principles, and additional details in the method embodiments shown also apply to the methods described. Figure 18 The method embodiments shown are illustrated, so similar technical details will not be repeated here.

[0284] Please see Figure 19 , Figure 19 This is a flowchart illustrating a communication method provided in an embodiment of this application. In this method, the function can be registered to the control device by a server or terminal, or it can be understood as a function of a third-party application. This function is configured to provide services to the terminal, regardless of the application (APP). This method can be based on... Figure 3 , Figure 4 , Figure 5 The architecture shown can also be implemented based on other architectures. This method includes, but is not limited to, the following steps:

[0285] Step S1901: The server sends a second instruction message to the control device.

[0286] Specifically, the second instruction information is used to notify the network side of the functions required (or permitted). The server can be the server of an application, and the terminal is the client of that application. Therefore, when the terminal uses the application, it will use some functions. The server informs the control device of the functions that the terminal needs to use when using the application through the second instruction information.

[0287] Step S1902: The control device sends a first notification message to the terminal.

[0288] Accordingly, the terminal receives the first notification message; based on the first notification message, the terminal can learn what functions the network side can provide. Optionally, the functions that the network side can provide can be the functions that the server notified to the control device earlier.

[0289] Regarding the first notification message, you can also refer to Figure 16 The following is a description of the method embodiments shown.

[0290] Step S1903: The terminal sends a first registration request to the control device.

[0291] Optionally, the UE can interact with the control device to identify whether the function it needs to use has been registered. If it has not been registered, it sends a first registration request to initiate registration. If it has already been registered, it does not need to send the first registration request. Of course, the terminal may also assume that the function it needs to use has not been registered and directly send the first registration request to initiate registration.

[0292] Accordingly, the control device receives the first registration request and completes the registration of the corresponding function based on the first registration request.

[0293] For details regarding the first registration request, please refer to... Figure 16 The following is a description of the method embodiments shown.

[0294] Step S1904: The control device deploys the functions that the terminal needs to call to the first functional entity.

[0295] Specifically, the control device can learn the function required by the terminal based on the first registration request. Optionally, the control device can decide whether to allow the terminal to call the function based on the terminal's needs and the allocation of services (or tasks); if allowed, the function is deployed to the first functional entity; otherwise, the function is not deployed to the first functional entity. Of course, it is also possible that the control device does not need to make a permission decision, but directly deploys the function to the first functional entity. When deploying the function, the control device can send a first instruction message to the first functional entity. The first instruction message is used to instruct the deployment of the function, and the first instruction message may include the code or compiled machine code of the function to be deployed.

[0296] It should be noted that there is no limitation on when the control device deploys a function to the first functional entity. As long as the function has been registered with the control device, it can be deployed to the first functional entity.

[0297] Step S1905: The control device sends the first parameter information to the terminal.

[0298] Specifically, after the control device deploys the function to the first functional entity, it sends the first parameter information corresponding to the function to the terminal. The first parameter information includes the interface information of the function and the information of the first functional entity that deployed the function (such as identifier, address, etc.). For the first parameter information, please refer to the relevant description of step S1602.

[0299] Accordingly, the terminal receives the first parameter information. After receiving the first parameter information, the terminal can parse out the interface information of the function it needs to call, as well as the location of the function (i.e., the first function entity).

[0300] Step S1906: The control device sends a second notification message to the first functional entity.

[0301] The second notification message includes information about the terminal and interface information of the functions that the terminal is allowed to invoke. For example, the terminal information may include the terminal ID (such as UE ID), the ID of the task using the function, the function ID, etc.; the interface information of the function has been described previously and will not be repeated here.

[0302] It is understandable that the preceding step S1905 informs the terminal of the information of the function that the terminal needs to call and the first functional entity that provides the function, while step S1906 informs the first functional entity of the information of the terminal that needs to use the function. This makes it easier for the terminal to quickly establish a connection with the first functional entity and realize the function call.

[0303] Step S1907: The terminal sends a third request message to the first functional entity that has deployed the function via the RPC connection.

[0304] Specifically, the implementation of step S1907 can be referred to the relevant description of step S1603, which will not be repeated here.

[0305] Step S1908: The first functional entity sends the call result to the terminal through the RPC connection.

[0306] Specifically, the implementation of step S1908 can be referred to the relevant description of step S1604, which will not be repeated here.

[0307] It should be noted that, Figure 16 The explanations of relevant concepts, principles, and additional details in the method embodiments shown also apply to the methods described. Figure 19 The method embodiments shown are illustrated, so similar technical details will not be repeated here.

[0308] Please see Figure 20 , Figure 20 This is a flowchart illustrating a communication method provided in an embodiment of this application. In this method, the function can be registered to the control device by a server or terminal, or it can be understood as a function of a third-party application. This function is configured to provide services to a specific application (APP), regardless of the terminal. This method can be based on... Figure 3 , Figure 4 , Figure 5 The architecture shown can also be implemented based on other architectures. This method includes, but is not limited to, the following steps:

[0309] Step S2001: The server sends a second instruction message to the control device.

[0310] Specifically, the second instruction information is used to notify the network side of the functions that need to be provided to a specific APP. The server can be the server of the APP, and the client of the APP is also deployed on the terminal. Therefore, when the APP is running, it will use some functions. The server informs the control device of the functions that the APP needs to use through the second instruction information.

[0311] Optionally, the server can also register the functions provided to a specific app with the control device, for example, by sending a separate first registration request, or by including the first registration request in the second instruction information. Accordingly, the control device receives the first registration request and completes the registration of the corresponding function based on it.

[0312] For details regarding the first registration request, please refer to... Figure 16 The following is a description of the method embodiments shown.

[0313] Step S2002: The control device sends a first notification message to the terminal.

[0314] Accordingly, the terminal receives the first notification message; based on the first notification message, the terminal can learn what functions the network side can provide. Optionally, the functions that the network side can provide can be the functions that the server notified to the control device earlier.

[0315] Regarding the first notification message, you can also refer to Figure 16 The following is a description of the method embodiments shown.

[0316] Step S2003: The terminal sends a second request message to the control device.

[0317] Specifically, the second request message is used to request the use of a corresponding function, that is, to indicate the function that the terminal's APP client needs to call. The requested function can be all or part of the functions involved in the first notification message.

[0318] Accordingly, the control device receives the second request message.

[0319] Step S2004: The control device deploys the functions that the terminal needs to call to the first functional entity.

[0320] Specifically, the control device can learn the function required by the terminal's APP client based on the second request message. Optionally, the control device can decide whether to allow the terminal to call the function based on the terminal's needs and the allocation of business (or tasks); if allowed, the function is deployed to the first functional entity; otherwise, the function is not deployed to the first functional entity. Of course, it is also possible that the control device does not need to make a permission decision, but directly deploys the function to the first functional entity. When deploying the function, it can send a first instruction message to the first functional entity. The first instruction message is used to instruct the deployment of the function, and the first instruction message may include the code or compiled machine code of the function to be deployed.

[0321] It should be noted that there is no limitation on when the control device deploys a function to the first functional entity. As long as the function has been registered with the control device, it can be deployed to the first functional entity.

[0322] Step S2005: The control device sends the first parameter information to the terminal.

[0323] Specifically, after the control device deploys the function to the first functional entity, it sends the first parameter information corresponding to the function to the terminal. The first parameter information includes the interface information of the function and the information of the first functional entity that deployed the function (such as identifier, address, etc.). For the first parameter information, please refer to the relevant description of step S1602.

[0324] Accordingly, the terminal receives the first parameter information. After receiving the first parameter information, the terminal can parse out the interface information of the function it needs to call, as well as the location of the function (i.e., the first function entity).

[0325] Step S2006: The control device sends a second notification message to the first functional entity.

[0326] The second notification message includes information about the terminal (which may include information about the APP client) and interface information of the functions that the terminal is allowed to call. For example, the terminal information may include the terminal ID (such as UE ID), the ID of the task using the function, the function ID, etc.; the interface information of the function has been described previously and will not be repeated here.

[0327] It is understandable that the preceding step S2005 informs the terminal of the information of the function that the terminal needs to call and the first functional entity that provides the function, while step S2006 informs the first functional entity of the information of the terminal that needs to use the function. This makes it easier for the terminal to quickly establish a connection with the first functional entity and realize the function call.

[0328] Step S2007: The terminal sends a third request message to the first functional entity that has deployed the function via the RPC connection.

[0329] Specifically, the implementation of step S2007 can be referred to the relevant description of step S1603, which will not be repeated here.

[0330] Optionally, the terminal sends a third request message, which may specifically be the APP client on the terminal sending a third request message to the first functional entity that has deployed the function through the RPC connection.

[0331] Step S2008: The first functional entity sends the call result to the terminal through the RPC connection.

[0332] Specifically, the implementation of step S2008 can be referred to the relevant description of step S1604, which will not be repeated here.

[0333] Optionally, the call result is sent to the terminal. Specifically, the first functional entity sends the call result to the APP client on the terminal through an RPC connection to complete the specific APP's call to the function.

[0334] It should be noted that, Figure 16 The explanations of relevant concepts, principles, and additional details in the method embodiments shown also apply to the methods described. Figure 20 The method embodiments shown are illustrated, so similar technical details will not be repeated here.

[0335] The following describes the communication device provided in the embodiments of this application.

[0336] This application divides the communication device into functional modules according to the above-described method embodiments. For example, each function can be divided into its own functional modules, or two or more functions can be integrated into one processing module. The integrated modules can be implemented in hardware or as software functional modules. It should be noted that the module division in this application is illustrative and represents only one logical functional division; other division methods may be used in actual implementation. The following will combine... Figures 21 to 23 The communication device of the embodiments of this application is described in detail.

[0337] Figure 21 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application, such as... Figure 21 As shown, the communication device includes a processing module 2101 and a transceiver module 2102. The transceiver module 2102 can implement corresponding communication functions, while the processing module 2101 is used for data processing. The transceiver module 2102 can also be referred to as an interface, a communication interface, or a communication module, etc.

[0338] In some embodiments of this application, the communication device can be used to perform the actions performed by the terminal in the above method embodiments. For example, the communication device can be the terminal itself or a chip or functional module configurable in the terminal. In still other embodiments of this application, the communication device can be used to perform the actions performed by the network device in the above method embodiments. For example, the communication device can be the network device itself or a chip or functional module configurable in the network device. Specifically, the transceiver module 2102 is used to perform the transceiver-related operations in the above method embodiments, and the processing module 2101 is used to perform the processing-related operations in the above method embodiments. The processing module 2101 can perform the corresponding operations by calling a computer program or by performing the corresponding operations through corresponding hardware circuits. The transceiver module 2102 can perform the transceiver operations independently or under the control of the processing module 2101.

[0339] For example, Figure 21 The communication device shown can be Figure 10 In the method embodiment shown, the terminal or the device (e.g., a chip) in the terminal, the processing module 2101 and the transceiver module 2102 in the communication device can respectively perform the following operations:

[0340] The transceiver module 2102 is used to obtain first connection information, wherein the first connection information is used to establish a remote direct memory access (RDMA) connection;

[0341] The transceiver module 2102 is used to establish the RDMA connection with the first functional entity through the first connection information, wherein the first functional entity is deployed in a network device;

[0342] The transceiver module 2102 is used to access the memory resources of the first functional entity through the RDMA connection.

[0343] Using this method, an RDMA connection is established between the terminal and the first functional entity on the network side. Therefore, the terminal's data can be directly transmitted to the memory of the first functional entity, bypassing the operating system kernel. This effectively expands the storage capacity of the terminal in the RAN scenario and makes full use of the distributed storage capacity. Since the memory access process reduces data transfer and kernel switching overhead, it reduces transmission latency, reduces packet delay budget (PDB) timeouts, and frees up CPU processing power.

[0344] In one possible implementation, regarding the acquisition of the first connection information, the transceiver module 2102 is specifically used to receive the first connection information from the control device.

[0345] In another possible implementation, the transceiver module 2102 is also used to send a first request, wherein the first request is used to request access to memory resources.

[0346] In another possible implementation, the transceiver module 2102 is further configured to send first data to the network device, wherein the destination address of the first data is the first functional entity, and the first data is not added to the network layer and / or transport layer on the terminal.

[0347] In another possible implementation, regarding the acquisition of the first connection information, the transceiver module 2102 is specifically used to receive the first connection information from the first functional entity through a first link, wherein the first link is the management queue pair (QP) link between the terminal and the first functional entity.

[0348] In another possible implementation, the air interface portion of the first link is carried by a Transmission Signalling Radio Bearer (SRB), or the air interface portion is carried by a Transmission Data Radio Bearer (DRB), wherein the QoS requirement corresponding to the DRB is higher than a first preset threshold.

[0349] In yet another possible implementation, the transceiver module 2102 is also used for:

[0350] Send a second request to the first functional entity, wherein the second request includes a first QP in the terminal that communicates with the QP of the first functional entity, and the second request is used to request to establish a communication connection with the management QP in the first functional entity;

[0351] A first link is established between the first QP and the management QP.

[0352] In another possible implementation, the first connection information includes one or more of the following: address information of the connection peer, connection type, global identifier GID, queue pair number QPN, queue key, memory virtual address, and remote key.

[0353] Reuse Figure 21 In other embodiments of this application, exemplarily, Figure 21 The communication device shown can be Figure 10 In the method embodiment shown, the first functional entity or the device within the first functional entity, the processing module 2101 and the transceiver module 2102 in the communication device can respectively perform the following operations:

[0354] The transceiver module 2102 is used to obtain second connection information, wherein the second connection information is used to establish a remote direct memory access (RDMA) connection;

[0355] The transceiver module 2102 is used to establish the RDMA connection with the terminal through the second connection information, and the first functional entity is deployed in the network device;

[0356] The transceiver module 2102 is used to receive the terminal's memory resource calls through the RDMA connection.

[0357] Using this method, an RDMA connection is established between the terminal and the first functional entity on the network side. Therefore, the terminal's data can be directly transmitted to the memory of the first functional entity, bypassing the operating system kernel. This effectively expands the storage capacity of the terminal in the RAN scenario and makes full use of the distributed storage capacity. Since the memory access process reduces data transfer and kernel switching overhead, it reduces transmission latency, reduces packet delay budget (PDB) timeouts, and frees up CPU processing power.

[0358] In one possible implementation, regarding the acquisition of the second connection information, the transceiver module 2102 is specifically used to receive the second connection information from the control device.

[0359] In another possible implementation, the transceiver module 2102 is further configured to send a registration request to the control device, wherein the registration request is used to register information about memory resources to the control device.

[0360] In another possible implementation, regarding the acquisition of the second connection information, the transceiver module 2102 is specifically used to receive the second connection information from the terminal through a first link, wherein the first link is the management queue pair (QP) link between the terminal and the first functional entity.

[0361] In another possible implementation, the transceiver module 2102 is further configured to send first information to the control device, wherein the first information includes information on available memory resources.

[0362] In another possible implementation, the first link is configured to transmit signaling radio bearers (SRBs) over the air interface via RRC, or to transmit data radio bearers (DRBs) at the Serving Data Adaptation Protocol (SDAP) layer.

[0363] In yet another possible implementation, the transceiver module 2102 is also used for:

[0364] Receive a second request from the terminal, wherein the second request includes a first QP in the terminal that communicates with the QP of the first functional entity, and the second request is used to request to establish a communication connection with the management QP in the first functional entity;

[0365] The first link is established between the management QP and the first QP.

[0366] In another possible implementation, the second connection information includes one or more of the following: address information of the connection peer, connection type, global identifier GID, queue pair number QPN, queue key, memory virtual address, and remote key.

[0367] Reuse Figure 21 In other embodiments of this application, exemplarily, Figure 21 The communication device shown can be Figure 10 The control device or components in the control device shown in the method embodiment, and the processing module 2101 and transceiver module 2102 in the communication device can respectively perform the following operations:

[0368] The transceiver module 2102 is used to send the second connection information to the first functional entity;

[0369] The transceiver module 2102 is used to send first connection information to the terminal, wherein the first connection information and the second connection information are used to establish a remote direct memory access (RDMA) connection between the first functional entity and the terminal, and the first functional entity is deployed on a network device.

[0370] Using this method, an RDMA connection is established between the terminal and the first functional entity on the network side. Therefore, the terminal's data can be directly transmitted to the memory of the first functional entity, bypassing the operating system kernel. This effectively expands the storage capacity of the terminal in the RAN scenario and makes full use of the distributed storage capacity. Since the memory access process reduces data transfer and kernel switching overhead, it reduces transmission latency, reduces packet delay budget (PDB) timeouts, and frees up CPU processing power.

[0371] In one possible implementation, the transceiver module 2102 is further configured to:

[0372] Receive a first request from the terminal, wherein the first request is for requesting access to memory resources.

[0373] In yet another possible implementation, the transceiver module 2102 is also used for:

[0374] The system receives a registration request sent by the first functional entity, wherein the registration request is used to register memory resource information to the control device.

[0375] In yet another possible implementation, the transceiver module 2102 is also used for:

[0376] Receive first information sent by the first functional entity, wherein the first information includes information on available memory resources.

[0377] In yet another possible implementation, the transceiver module 2102 is also used for:

[0378] Send a forwarding table entry to the network device, wherein the forwarding table entry includes the identifier of the terminal and the address of the first functional entity, and the forwarding table entry is used by the network device to add network layer and / or transport layer to the first data from the terminal.

[0379] For example, Figure 21 The communication device shown can be Figure 16 , Figure 18 , Figure 19 ,or Figure 20 In the method embodiment shown, the terminal or the device (e.g., a chip) in the terminal, the processing module 2101 and the transceiver module 2102 in the communication device can respectively perform the following operations:

[0380] The transceiver module 2102 is used to receive first parameter information, wherein the first parameter information includes interface information of functions provided by the network side;

[0381] The transceiver module 2102 is used to send a third request message to a first functional entity that has deployed the function via the RPC connection, wherein the third request message is used to request to invoke the function; the first functional entity is deployed on a network device;

[0382] The transceiver module 2102 is used to receive the call result of the function through the RPC connection.

[0383] In this method, the control device manages the function, which is deployed on the first functional entity on the network side. The terminal can call the remote computing power, which effectively expands the computing power of the terminal in the RAN scenario and makes full use of the distributed computing power. Since the computing power call process adopts the RPC mechanism, the data granularity of transmission is small, the corresponding stop-and-wait latency is also small, and the packet delay budget (PDB) timeout can also be reduced.

[0384] In one possible implementation, the transceiver module 2102 is further configured to:

[0385] Receive a first notification message, wherein the first notification message is used to indicate the functions that the network side can provide.

[0386] In another possible implementation, the first parameter information may also include information about a first functional entity that has deployed the function.

[0387] In yet another possible implementation, the transceiver module 2102 is also used for:

[0388] If the function is not registered with the control device, a first registration request is sent to the control device, wherein the first registration request is used to register the function with the control device.

[0389] In another possible implementation, the first registration request is also used to request the use of the function.

[0390] In yet another possible implementation, the transceiver module 2102 is also used for:

[0391] A second request message is sent to the control device, wherein the second request message is used to request the use of the function.

[0392] Reuse Figure 21 In other embodiments of this application, exemplarily, Figure 21 The communication device shown can be Figure 16 , Figure 18 , Figure 19 ,or Figure 20 In the method embodiment shown, the first functional entity or the device within the first functional entity, the processing module 2101 and the transceiver module 2102 in the communication device can respectively perform the following operations:

[0393] The transceiver module 2102 is used to receive a third request message from a terminal via a remote procedure call (RPC) connection, wherein the first functional entity deploys the function, and the third request message is used to request to invoke the function; the first functional entity is deployed on a network device.

[0394] Processing module 2101 is used to run the function and obtain the call result;

[0395] The transceiver module 2102 is used to send the call result to the terminal through the RPC connection.

[0396] In this method, the control device manages the function, which is deployed on the first functional entity on the network side. The terminal can call the remote computing power, which effectively expands the computing power of the terminal in the RAN scenario and makes full use of the distributed computing power. Since the computing power call process adopts the RPC mechanism, the data granularity of transmission is small, the corresponding stop-and-wait latency is also small, and the packet delay budget (PDB) timeout can also be reduced.

[0397] In yet another possible implementation, the transceiver module 2102 is also used for:

[0398] A first registration request is sent to the control device, wherein the first registration request is used to register the function to the control device.

[0399] In yet another possible implementation, the transceiver module 2102 is also used for:

[0400] Receive a second notification message, wherein the second notification message includes information about the terminal and interface information of functions that the terminal is allowed to invoke.

[0401] In yet another possible implementation, the transceiver module 2102 is also used for:

[0402] Receive first instruction information from the control device, wherein the first instruction information is used to instruct the deployment of the function.

[0403] Reuse Figure 21 In other embodiments of this application, exemplarily, Figure 21 The communication device shown can be Figure 16 , Figure 18 , Figure 19 ,or Figure 20 The control device or components in the control device shown in the method embodiment, and the processing module 2101 and transceiver module 2102 in the communication device can respectively perform the following operations:

[0404] The transceiver module 2102 is used to receive a first registration request, wherein the first registration request is used to register a function to the control device;

[0405] The transceiver module 2102 is used to send first parameter information to the terminal, wherein the first parameter information includes interface information of the function that can be provided by the network side, the function is deployed on a first functional entity, and the first functional entity is deployed on a network device.

[0406] In this method, the control device manages the function, which is deployed on the first functional entity on the network side. The terminal can call the remote computing power, which effectively expands the computing power of the terminal in the RAN scenario and makes full use of the distributed computing power. Since the computing power call process adopts the RPC mechanism, the data granularity of transmission is small, the corresponding stop-and-wait latency is also small, and the packet delay budget (PDB) timeout can also be reduced.

[0407] In one possible implementation, regarding receiving the first registration request, the transceiver module 2102 is specifically used for:

[0408] Receive the first registration request from the first functional entity.

[0409] In yet another possible implementation, the transceiver module 2102 is also used for:

[0410] Send a first notification message to the terminal, wherein the first notification message is used to indicate the functions that the network side can provide.

[0411] In another possible implementation, the first parameter information may also include information about a first functional entity that has deployed the function.

[0412] In yet another possible implementation, the transceiver module 2102 is also used for:

[0413] A second notification message is sent to the first functional entity, wherein the second notification message includes information about the terminal and interface information of the functions that the terminal is allowed to call.

[0414] In yet another possible implementation, the transceiver module 2102 is also used for:

[0415] Receive a second instruction from the cloud server, wherein the second instruction is used to indicate the functions that the network side is allowed to provide to the terminal.

[0416] In yet another possible implementation, regarding receiving the first registration request, the transceiver module 2102 is specifically used for:

[0417] Receive the first registration request from the terminal.

[0418] In yet another possible implementation, regarding receiving the first registration request, the transceiver module 2102 is specifically used for:

[0419] Receive the first registration request from the cloud server.

[0420] In yet another possible implementation, the transceiver module 2102 is also used for:

[0421] Receive a second request message from the terminal, wherein the second request message is used to request the use of the function.

[0422] The specific descriptions of the transceiver module and processing module shown in the above embodiments are merely examples. For the specific functions or execution steps of the transceiver module and processing module, please refer to the above method embodiments, which will not be described in detail here.

[0423] The communication device according to the embodiments of this application has been described above. The following describes the possible product forms of the communication device. Any device possessing the above-described... Figure 21 Any form of product that incorporates the functionality of the aforementioned communication device falls within the protection scope of the embodiments of this application.

[0424] The following description is merely an example and does not limit the product form of the communication device in the embodiments of this application to this.

[0425] In one possible implementation, Figure 21 In the communication device shown, the processing module 2101 can be one or more processors, and the transceiver module 2102 can be a transceiver, or the transceiver module 2102 can also be a transmitting module and a receiving module. The transmitting module can be a transmitter, and the receiving module can be a receiver. The transmitting module and the receiving module are integrated into one device, such as a transceiver. In the embodiments of this application, the processor and the transceiver can be coupled, etc., and the connection method between the processor and the transceiver is not limited in the embodiments of this application. In the process of executing the above method, the process of sending information in the above method can be the process of the processor outputting the above information. When outputting the above information, the processor outputs the above information to the transceiver so that the transceiver can transmit it. After the above information is output by the processor, it may need to undergo other processing before reaching the transceiver. Similarly, the process of receiving information in the above method can be the process of the processor receiving the input above information. When the processor receives the input information, the transceiver receives the above information and inputs it into the processor. Furthermore, after the transceiver receives the above information, the above information may need to undergo other processing before being input into the processor.

[0426] like Figure 22 As shown, the communication device 220 includes one or more processors 2220 and transceivers 2210. Exemplarily, the transceiver 2210 is used to perform actions such as... Figure 21The transceiver module 2102 shown implements the functions or steps, and the processor 2220 is used to execute such functions or steps. Figure 21 The processing module 2101 shown illustrates the functions or steps implemented by it. For detailed information on the processor 2220 and transceiver 2210, please refer to [link / reference needed]. Figure 21 Alternatively, the method embodiments shown above will not be described in detail here.

[0427] The descriptions of the relevant steps and information in the above embodiments can be found in the descriptions of the method embodiments above, and will not be detailed here.

[0428] exist Figure 22 In various implementations of the communication apparatus shown, the transceiver may include a receiver for performing a receiving function (or operation) and a transmitter for performing a transmitting function (or operation). The transceiver is also used to communicate with other devices / appliances via a transmission medium.

[0429] Optionally, the communication device 220 may further include one or more memories 2230 for storing program instructions and / or data. The memory 2230 and the processor 2220 are coupled. The coupling in this embodiment is an indirect coupling or communication connection between devices, units, or modules, and can be electrical, mechanical, or other forms, used for information exchange between devices, units, or modules. The processor 2220 may operate in conjunction with the memory 2230. The processor 2220 may execute program instructions stored in the memory 2230. Optionally, at least one of the above-mentioned memories may be included in the processor.

[0430] This application embodiment does not limit the specific connection medium between the transceiver 2210, processor 2220, and memory 2230. This application embodiment... Figure 22 The memory 2230, processor 2220, and transceiver 2210 are connected via a bus 2240, and the bus is in Figure 22 The connections between other components are shown in bold and are for illustrative purposes only, not as limiting information. The bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, Figure 22 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.

[0431] In the embodiments of this application, the processor may be a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., and can implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly manifested as being executed by a hardware processor, or being executed by a combination of hardware and software modules within the processor.

[0432] In this application embodiment, the memory may include, but is not limited to, non-volatile memory such as hard disk drive (HDD) or solid-state drive (SSD), random access memory (RAM), erasable programmable read-only memory (EPROM), read-only memory (ROM), or compact disc read-only memory (CD-ROM), etc. Memory is any storage medium capable of carrying or storing program code in the form of instructions or data structures, and capable of being read and / or written by a computer (such as the communication device shown in this application), but is not limited to this. The memory in this application embodiment may also be a circuit or any other device capable of implementing storage functions, used to store program instructions and / or data.

[0433] Processor 2220 is primarily used for processing communication protocols and data, controlling the entire communication device, executing software programs, and processing software program data. Memory 2230 is primarily used for storing software programs and data. Transceiver 2210 may include control circuitry and an antenna. The control circuitry is primarily used for converting baseband signals to radio frequency signals and processing radio frequency signals. The antenna is primarily used for transmitting and receiving radio frequency signals in the form of electromagnetic waves. Input / output devices, such as touchscreens, displays, and keyboards, are primarily used for receiving user input data and outputting data to the user.

[0434] When the communication device is powered on, the processor 2220 can read the software program in the memory 2230, interpret and execute the instructions of the software program, and process the data of the software program. When data needs to be transmitted wirelessly, the processor 2220 performs baseband processing on the data to be transmitted and outputs the baseband signal to the radio frequency (RF) circuit. The RF circuit processes the baseband signal and transmits the RF signal outward in the form of electromagnetic waves through the antenna. When data is sent to the communication device, the RF circuit receives the RF signal through the antenna, converts the RF signal into a baseband signal, and outputs the baseband signal to the processor 2220. The processor 2220 converts the baseband signal into data and processes the data.

[0435] In another implementation, the radio frequency circuitry and antenna can be set up independently of the processor performing baseband processing. For example, in a distributed scenario, the radio frequency circuitry and antenna can be arranged remotely, independent of the communication device.

[0436] The communication device shown in the embodiments of this application may also have a higher... Figure 22 This application does not limit the use of other components or other related elements. The methods performed by the processor and transceiver shown above are merely examples; the specific steps performed by the processor and transceiver can be found in the methods described above.

[0437] In another possible implementation, Figure 21 In the communication device shown, the processing module 2101 can be one or more logic circuits, and the transceiver module 2102 can be an input / output interface, or a communication interface, or an interface circuit, or an interface, etc. Alternatively, the transceiver module 2102 can also be a transmitting module and a receiving module; the transmitting module can be an output interface, and the receiving module can be an input interface, integrated into one module, such as an input / output interface. Figure 23 As shown, Figure 23 The communication device shown includes logic circuitry 2301 and interface 2302. That is, the processing module 2101 can be implemented using logic circuitry 2301, and the transceiver module 2102 can be implemented using interface 2302. The logic circuitry 2301 can be a chip, processing circuit, integrated circuit, or system-on-chip (SoC) chip, etc., and the interface 2302 can be a communication interface, input / output interface, pins, etc. For example, Figure 23 Taking the aforementioned communication device as an example, the chip includes logic circuit 2301 and interface 2302.

[0438] In this embodiment, the logic circuit and the interface can also be coupled to each other. The specific connection method between the logic circuit and the interface is not limited in this embodiment. For example, the logic circuit 2301 can be used to perform... Figure 21The processing module 2101 shown implements the functions or steps, and the interface 2302 can be used to execute such functions or steps. Figure 21 The transceiver module 2102 shown herein implements the functions or steps. For detailed explanations of the logic circuit 2301 and interface 2302, please refer to [link / reference needed]. Figure 21 Alternatively, the method embodiments shown above will not be described in detail here.

[0439] The above description of the communication device is merely an example; for... Figure 23 For a detailed description of the communication device shown, please refer to the method embodiments above or Figure 21 or Figure 22 This will not be elaborated upon here.

[0440] The communication device shown in the embodiments of this application can implement the method provided in the embodiments of this application in hardware form, or it can implement the method provided in the embodiments of this application in software form, etc., and the embodiments of this application do not limit it in this way.

[0441] The descriptions of relevant steps and information in the above embodiments can be found in the descriptions of the method embodiments above, and will not be detailed here. For Figure 23 For specific implementations of the various embodiments shown, please refer to the above embodiments, which will not be described in detail here.

[0442] This application also provides a communication system, which includes a terminal, a control device, a first functional entity, etc., which can interact to execute all or part of the steps in any of the foregoing method embodiments.

[0443] In addition, this application also provides a computer program for implementing the operations and / or processes performed by various communication devices in the method provided in this application.

[0444] This application also provides a computer-readable storage medium storing computer code that, when executed on a computer, causes the computer to perform the operations and / or processes performed by various communication devices in the methods provided in this application.

[0445] This application also provides a computer program product comprising computer code or a computer program that, when run on a computer, causes the operations and / or processes performed by various entities in the method provided in this application to be executed.

[0446] In the 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 modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices, or units, or it may be an electrical, mechanical, or other form of connection.

[0447] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules; that is, they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected according to actual needs to achieve the technical effects of the solutions provided in the embodiments of this application.

[0448] Furthermore, the functional modules in the various embodiments of this application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The integrated modules described above can be implemented in hardware or as software functional modules.

[0449] If the integrated module is implemented as a software functional module and sold or used as an independent product, it 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 all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a readable 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 readable 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.

[0450] 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 characterized by comprising: Applied to a terminal, comprising: obtaining first connection information, wherein the first connection information is used to establish a remote direct memory access (RDMA) connection; establishing the RDMA connection with a first function entity through the first connection information, the first function entity being deployed on a network device; calling a memory resource of the first function entity through the RDMA connection.

2. The method of claim 1, wherein, The first connection information includes: receiving the first connection information from a control device.

3. The method of claim 2, wherein, Further comprising: sending a first request, wherein the first request is used to request to call a memory resource.

4. The method according to any one of claims 1 to 3, characterized in that, Further comprising: sending first data to the network device, wherein the destination address of the first data is the first function entity, and the first data is not added at the network layer and / or the transport layer in the terminal.

5. The method of claim 1, wherein, The first connection information includes: receiving the first connection information from the first function entity through a first link, wherein the first link is a link of a management queue pair (QP) between the terminal and the first function entity.

6. The method of claim 5, wherein, The air interface part of the first link is carried by a transmission signaling radio bearer (SRB), or the air interface part is carried by a transmission data radio bearer (DRB), and the QoS requirement corresponding to the DRB is higher than a first preset threshold.

7. The method according to any one of claims 1 to 6, characterized in that, The first connection information includes one or more of address information of a connection opposite end, connection type, global identifier (GID), queue pair number (QPN), queue key, memory virtual address, and remote key.

8. A communication method characterized by comprising: Applied to a first function entity, comprising: obtaining second connection information, wherein the second connection information is used to establish a remote direct memory access (RDMA) connection; establishing the RDMA connection with a terminal through the second connection information, the first function entity being deployed on a network device; receiving a call of a memory resource by the terminal through the RDMA connection.

9. The method of claim 8, wherein, The second connection information includes: receiving the second connection information from a control device.

10. The method of claim 8, wherein, The second connection information includes: receiving the second connection information from the terminal through a first link, wherein the first link is a link of a management queue pair (QP) between the terminal and the first function entity.

11. The method according to any one of claims 8-10, characterized in that, The second connection information includes one or more of address information of a connection opposite end, connection type, global identifier (GID), queue pair number (QPN), queue key, memory virtual address, and remote key.

12. A communication method characterized by comprising: Applied to a control device, comprising: sending second connection information to a first function entity; sending first connection information to a terminal, wherein the first connection information and the second connection information are used to establish a remote direct memory access (RDMA) connection between the first function entity and the terminal, and the first function entity is deployed on a network device.

13. The method of claim 12, wherein, Further comprising: receiving a first request from a terminal, wherein the first request is used to request to call a memory resource.

14. The method according to any one of claims 12-13, characterized in that, Further comprising: sending a forwarding table item to a network device, wherein the forwarding table item includes an identifier of the terminal and an address of the first function entity, and the forwarding table item is used for the network device to add a network layer and / or a transport layer to first data from the terminal.

15. A method of communication, comprising: Comprising: receive first parameter information, wherein the first parameter information comprises interface information of a function provided by a network side; send a third request message to a first function entity in which the function is deployed via the RPC connection, wherein the third request message is used to request to invoke the function; and the first function entity is deployed in a network device; receive an invocation result of invoking the function via the RPC connection.

16. The method of claim 15, wherein, The first parameter information further comprises information of the first function entity in which the function is deployed.

17. The method according to any of claims 15-16, characterized by, Further comprising: if the function is not registered to a control device, send a first registration request to the control device, wherein the first registration request is used to register the function to the control device.

18. The method according to any one of claims 15-17, characterized by, Further comprising: send a second request message to the control device, wherein the second request message is used to request to use the function.

19. A method of communication, comprising: Applied to a first function entity, the method comprises: receive a third request message from a terminal via a remote procedure call (RPC) connection, wherein the first function entity deploys the function, and the third request message is used to request to invoke the function; and the first function entity is deployed in a network device; run the function to obtain an invocation result; send the invocation result to the terminal via the RPC connection.

20. The method of claim 19, wherein, Further comprising: receive first indication information from a control device, wherein the first indication information is used to indicate to deploy the function.

21. A method of communication, comprising: Comprising: receive a first registration request, wherein the first registration request is used to register a function to the control device; send first parameter information to a terminal, wherein the first parameter information comprises interface information of a function that can be provided by a network side, and the function is deployed on a first function entity, and the first function entity is deployed in a network device.

22. The method of claim 21, wherein, Further comprising: send a second notification message to the first function entity, wherein the second notification message comprises information of the terminal and interface information of the function that is allowed to be invoked by the terminal.

23. The method of claim 21, wherein, Further comprising: receive second indication information of a cloud server, wherein the second indication information is used to indicate a function that is allowed to be provided by a network side for a terminal.

24. The method of claim 23, wherein, The receiving the first registration request comprises: receive the first registration request from the terminal or the cloud server.

25. A communications device, characterized by The communication apparatus comprises modules for performing the method according to any one of claims 1-7, 15-18; or the communication apparatus comprises a processor configured to perform the method according to any one of claims 1-7, 15-18.

26. A communications device, characterized by The communication apparatus comprises modules for performing the method according to any one of claims 8-11, 19-20; or the communication apparatus comprises a processor configured to perform the method according to any one of claims 8-11, 19-20.

27. A communications device, characterized by The communication apparatus comprises modules for performing the method according to any one of claims 12-14, 21-24; or the communication apparatus comprises a processor configured to perform the method according to any one of claims 12-14, 21-24.

28. A communications device, characterized by comprise a logic circuit and an interface, and the logic circuit and the interface are coupled; The interface is configured to input and / or output information, and the logic circuit is configured to perform the method according to any one of claims 1-24.

29. A computer-readable storage medium, characterized in that, The computer readable storage medium is configured to store a computer program, which, when executed, performs the method according to any one of claims 1-24.

30. A communication system, characterized by The terminal is configured to perform the method according to any one of claims 1-7, 15-18, the first functional entity is configured to perform the method according to any one of claims 8-11, 19-20, and the control device is configured to perform the method according to any one of claims 12-14, 21-24.