Communication method and apparatus based on remote direct memory access

By distinguishing the transmission priority of management messages and data messages in the wireless communication system, the problem of untimely transmission of RDMA management messages is solved, and the remote memory reading performance is improved.

WO2025152514A1PCT designated stage expired Publication Date: 2025-07-24HUAWEI TECH CO LTD

Patent Information

Application Number
PCT/CN2024/123858
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-01-19
Filing Date
2024-10-10
Publication Date
2025-07-24

AI Technical Summary

Technical Problem

In wireless and RDMA convergence technology, RDMA management packets cannot be transmitted in time, resulting in a degradation of remote memory reading performance.

Method used

By transmitting RDMA messages on the user plane and the control plane, the high priority transmission of management messages is ensured. The management messages and data messages are distinguished by PDU sessions and QoS streams, and the signaling wireless bearer and computing wireless bearer transmit management messages and data messages respectively.

Benefits of technology

It realizes timely transmission of RDMA management packets and improves remote memory reading performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024123858_24072025_PF_FP_ABST
    Figure CN2024123858_24072025_PF_FP_ABST
Patent Text Reader

Abstract

A communication method and apparatus based on remote direct memory access (RDMA), enabling timely transmission of an RDMA management packet to an RDMA node, thus enhancing remote memory read performance. The method comprises: a terminal sends a first message and receives a second message. The first message is used for requesting to establish a protocol data unit (PDU) session, and the PDU session is used for transmitting an RDMA packet. The second message is used for indicating acceptance of the establishment of the PDU session. The first message comprises first information, the first information is used for indicating the types of the RDMA packet transmitted by means of the PDU session, the types of the RDMA packet comprise a first-type packet and a second-type packet, and the transmission priority of the first-type packet is higher than the transmission priority of the second-type packet. The first-type packet is a management packet, the second-type packet is a data packet, or the first-type packet is a first-type management packet, the second-type packet comprises a second-type management packet and / or a data packet, and the first-type management packet is used for subnet management.
Need to check novelty before this filing date? Find Prior Art

Description

Communication method and device based on remote direct memory access

[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office on January 19, 2024, with application number 202410083131.4 and application name “Communication method and device based on remote direct memory access”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The embodiments of the present application relate to the field of communications, and in particular to a communication method and apparatus based on remote direct memory access. Background Art

[0003] Remote direct memory access (RDMA) technology is used to address server-side data processing latency during network transmission. RDMA enables direct access to memory data through network interfaces, eliminating the need to move data from the central processing unit (CPU) to the kernel and then to the network interface card. RDMA enables high-throughput, low-latency network communication, making it particularly suitable for use in large-scale computer clusters.

[0004] RDMA messages include management datagrams (MAD) and data messages. MAD is further divided into subnet management (SM) MAD, communication management (CM) MAD, and performance MAD. SM MAD has a higher priority than data messages and other types of MAD.

[0005] In current wireless and RDMA convergence technologies, CM MAD is transmitted over the air interface via radio resource control (RRC) signaling on the control plane, while other management messages and data messages are transmitted over the air interface user plane. However, since all RDMA messages except CM MAD are transmitted over the air interface user plane, this can prevent RDMA control information from being delivered to RDMA nodes in a timely manner, resulting in reduced remote memory read performance.

[0006] Summary of the Invention

[0007] The present application provides a communication method and device based on remote direct memory access, which enables RDMA management messages to be transmitted to RDMA nodes in a timely manner, thereby improving remote memory reading performance.

[0008] In a first aspect, a method based on remote direct memory access is provided, which can be executed by a terminal, or by a module applied to the terminal (such as a processor, chip, or chip system, etc.), or by a logical node, logical module or software that can realize all or part of the terminal functions. The method includes: sending a first message, the first message is used to request the establishment of a protocol data unit PDU session, and the PDU session is used to transmit remote direct memory access RDMA messages. Receiving a second message, the second message is used to indicate the acceptance of the establishment of the PDU session. The first message includes first information, the first information is used to indicate the type of RDMA message transmitted by the PDU session, and the type of RDMA message includes a first type of message and a second type of message, and the transmission priority of the first type of message is higher than the transmission priority of the second type of message. The first type of message is a management message, and the second type of message is a data message, or the first type of message is a first type of management message, and the second type of message includes a second type of management message and / or a data message, and the first type of management message is used for subnet management.

[0009] Based on this solution, both RDMA management messages and data messages are transmitted on the user plane through PDU sessions. Because the transmission priority of management messages (such as SM management messages and CM management messages) is higher than that of data messages, or the transmission priority of first-class management messages is higher than that of other messages (such as CM management messages and data messages), management messages or first-class management messages are transmitted first, ensuring that RDMA control information can be transmitted to RDMA nodes in a timely manner, improving remote memory read performance.

[0010] In a second aspect, a method based on remote direct memory access is provided. The method can be executed by a RAN node, or by a module (such as a processor, chip, or chip system) applied to the RAN node, or by a logical node, logical module, or software that can implement all or part of the RAN node functions. The method includes: receiving a first message, the first message being used to request the establishment of a protocol data unit (PDU) session, where the PDU session is used to transmit remote direct memory access (RDMA) messages. Sending a second message, the second message being used to indicate the acceptance of the establishment of the PDU session. The first message includes first information, the first information being used to indicate the type of RDMA message transmitted by the PDU session, where the RDMA message type includes a first-class message and a second-class message, where the transmission priority of the first-class message is higher than the transmission priority of the second-class message. The first-class message is a management message, and the second-class message is a data message, or the first-class message is a first-class management message, the second-class message includes a second-class management message and / or a data message, and the first-class management message is used for subnet management. The technical effects brought about by the second aspect can be referred to the technical effects brought about by the first aspect and will not be repeated here.

[0011] In combination with the first aspect or the second aspect, in one possible design, the first type of message is transmitted via a first type of QoS flow of the PDU session, and the second type of message is transmitted via a second type of QoS flow of the PDU session. The priority of the first type of QoS flow is higher than the priority of the second type of QoS flow.

[0012] Based on this possible design, since the priority of the first-class QoS flow that transmits the first-class messages is higher than the priority of the second-class QoS flow that transmits the second-class messages, the first-class messages, i.e., management messages or first-class management messages, can be transmitted to the RDMA node in a timely manner, thereby improving the remote memory reading performance.

[0013] In combination with the first aspect or the second aspect, in one possible design, the first message also includes second information, and the second information is used to indicate that the category of the PDU session is an RDMA session.

[0014] Based on this possible design, the second information can indicate that the PDU session requested to be established is an RDMA session, so that the session management network element can set a higher priority for the first type of messages, just to ensure that the first type of messages can be transmitted to the RDMA node in a timely manner.

[0015] In combination with the first or second aspect, in one possible design, the first information includes a transport layer identifier of the RDMA message. When the transport layer identifier is less than or equal to the first value, the type of RDMA message transmitted by the PDU session is a management message; when the transport layer identifier is greater than the first value, the type of RDMA message transmitted by the PDU session is a data message. Based on this possible design, the transport layer identifier can be used to distinguish between management messages and data messages.

[0016] In combination with the first aspect or the second aspect, in one possible design, the first information includes a link layer identifier of the RDMA message. When the link layer identifier is greater than or equal to the second value, the type of RDMA message transmitted by the PDU session is a first-class management message; when the link layer identifier is less than the second value, the type of RDMA message transmitted by the PDU session is a second-class management message and / or text or data message. Based on this possible design, the link layer identifier can be used to distinguish first-class management messages or other messages, such as second-class management messages and / or data messages.

[0017] In combination with the first aspect or the second aspect, in one possible design, the first type of management message includes at least one of the following: information for obtaining or reading node attributes, information for setting or writing node attributes, or response information for read and write requests.

[0018] In combination with the first or second aspect, in one possible design, a node attribute is used to indicate at least one of the following: node description information, node information, or subnet management information. The node information includes at least one of the following: a management message version, a subnet management version, or a node type. The subnet management information includes at least one of the following: a globally unique identifier, a subnet management key, a subnet management status, or a priority.

[0019] In combination with the first aspect or the second aspect, the second message is referred to as the fifth message in the following specific implementation.

[0020] In a third aspect, a communication method based on remote direct memory access is provided. The method can be executed by a first communication device, or by a module (such as a processor, chip, or chip system) applied to the first communication device, or by a logical node, logical module, or software that can implement all or part of the functions of the first communication device. The first communication device can be a terminal or a RAN node. The method includes: determining a first radio bearer for carrying a first message, and sending the first message on the first radio bearer. The first message is obtained based on a remote direct memory access (RDMA) message. When the RDMA message is a first-class message, the first radio bearer is a signaling radio bearer (SRB), or when the RDMA message is a second-class message, the first radio bearer is a computing radio bearer (CRB) or a data radio bearer (DRB). The first-class message is a management message, and the second-class message is a data message, or the first-class message is a first-class management message, the second-class message includes a second-class management message and / or a data message, and the first-class management message is used for subnet management.

[0021] Based on this solution, management messages or first-class management messages are transmitted through a high-priority control plane (such as SRB), and RDMA data messages are transmitted through a user plane (such as DRB or SRB). This allows RDMA management and control messages to be transmitted first, thereby ensuring that RDMA control information can be transmitted to RDMA nodes in a timely manner, improving remote memory reading performance.

[0022] In one possible design, the method further includes: generating an RDMA message based on the RDMA protocol stack; and determining a first message according to the RDMA message based on the wireless communication protocol stack.

[0023] Based on this possible design, the RDMA protocol stack and the wireless communication protocol stack can be integrated, and messages can be generated based on the RDMA protocol stack and the wireless communication protocol stack to realize the application of RDMA in wireless communication and reduce the CPU occupancy of nodes in the wireless communication system.

[0024] In one possible design, the RDMA protocol stack includes a transport layer, a network layer, and a link layer. Generating RDMA messages based on the RDMA protocol stack includes: generating transport layer messages based on the transport layer in the RDMA protocol stack; generating network layer messages based on the transport layer messages based on the network layer in the RDMA protocol stack; and generating link layer messages as RDMA messages based on the network layer messages based on the link layer in the RDMA protocol stack.

[0025] In one possible design, when the link layer identifier of an RDMA message is greater than or equal to a second value, the RDMA message is a first-class management message; and when the link layer identifier of an RDMA message is less than the second value, the RDMA message is a second-class management message and / or a data message. Based on this possible design, first-class management messages and other messages can be distinguished by the link layer identifier.

[0026] In one possible design, the RDMA protocol stack includes a transport layer. Generating an RDMA message based on the RDMA protocol stack includes: generating a transport layer message based on the transport layer in the RDMA protocol stack; and determining the RDMA message based on the transport layer message.

[0027] In one possible design, determining the RDMA message based on the transport layer message includes: using the transport layer message as the RDMA message; or, based on the network layer in the RDMA protocol stack, generating a network layer message as the RDMA message based on the transport layer message.

[0028] In one possible design, when the transport layer identifier of an RDMA message is less than or equal to a first value, the RDMA message is a management message; or, when the transport layer identifier of an RDMA message is greater than the first value, the RDMA message is a data message. Based on this possible design, management messages or data messages can be identified based on the transport layer identifier.

[0029] In one possible design, when the RDMA message is a first-category message, the first message is carried in a radio resource control RRC container or a non-access stratum NAS container.

[0030] In one possible design, when the first message is a first-category message, the first message is generated according to the RDMA message based on the wireless communication protocol stack, including: generating the first message according to the RDMA message based on the RRC layer or NAS layer in the wireless communication protocol stack.

[0031] In one possible design, generating a first message according to the RDMA message based on the wireless communication protocol stack includes: generating the first message according to the RDMA message based on the SDAP layer or the PDCP layer in the wireless communication protocol stack.

[0032] In one possible design, the method further includes: sending a first message, the first message being used to request establishment of an RRC connection, the first message including a cause value for requesting establishment of the RRC connection. Wherein, when the RDMA message is a first-class message, the cause value is a first cause value, and the first cause value is used to trigger control plane transmission; and when the RDMA message is a second-class message, the cause value is a second cause value, and the second cause value is used to trigger user plane transmission. Wherein, the first message is referred to as the seventh message in the following specific implementation.

[0033] Based on this possible design, when the RDMA message is a first-class message, the RRC connection establishment request carries a first cause value for triggering control plane transmission. When the RDMA message is a second-class message, the RRC connection establishment request carries a second cause value for triggering user plane transmission. This allows control plane transmission to be performed when the RDMA message is a first-class message, using SRB to carry the first-class message; and when the RDMA message is a second-class message, user plane transmission to be performed, using CRB or SRB to carry the second-class message. Ultimately, RDMA management and control messages are transmitted first, ensuring that RDMA control information can be transmitted to the RDMA node in a timely manner, improving remote memory read performance.

[0034] In one possible design, the first cause value is at least one of called party response, calling signaling access, or RDMA signaling access, and / or the second cause value is data access or RDMA data access.

[0035] In a fourth aspect, a communication method based on remote direct memory access is provided, which can be executed by a RAN node, or by a module (such as a processor, chip, or chip system, etc.) applied to a RAN node, or by a logical node, logical module, or software that can implement all or part of the RAN node functions. The method includes: receiving a first message through a general packet radio service tunneling protocol user plane GTP-U tunnel, the first message being obtained based on a remote direct memory access RDMA message; and sending the first message on a first radio bearer. Wherein, when the RDMA message is a first-class management message, the first radio bearer is a signaling radio bearer SRB, and the first-class management message is used for communication management; or, when the RDMA message is a data message, the first radio bearer is a computing radio bearer CRB or a data radio bearer DRB.

[0036] This solution uses a high-priority control plane (such as SRB) to transmit management messages for communication management, while a user plane (such as DRB or SRB) transmits RDMA data messages. This prioritizes the transmission of RDMA management messages, ensuring that RDMA control information is delivered to RDMA nodes in a timely manner, improving remote memory read performance. Furthermore, since these management messages are carried by SRB, which offers higher reliability than CRB or DRB, link establishment failures can be minimized, thereby preventing RDMA performance degradation caused by repeated link establishment and improving RDMA performance.

[0037] Among them, the first message is referred to as the second message in the following specific implementation, the first radio bearer is referred to as the second radio bearer in the following specific implementation, and the first type of management message is referred to as the second type of management message in the following specific implementation.

[0038] In one possible design, when the GTP-U tunnel is the first GTP-U tunnel, the RDMA message is a first-class management message; or, when the GTP-U tunnel is the second GTP-U tunnel, the RDMA message is a data message.

[0039] Based on this possible design, GTP-U tunnels for transmitting the first type of management messages and data messages can be established between the RAN node and the core network element respectively, so that the two can be transmitted using different GTP-U tunnels.

[0040] In one possible design, when the transport layer identifier of the RDMA message is less than or equal to the first value, the RDMA message is a first-class management message; or, when the transport layer identifier of the RDMA message is greater than the first value, the RDMA message is a data message.

[0041] Based on this possible design, first-class management messages or data messages can be identified through transport layer identifiers without the need to distinguish them through GTP-U tunnels, so that first-class management messages and data messages can reuse the GTP-U tunnel between the RAN node and the core network element, reducing the complexity and overhead of establishing tunnels between the RAN node and the core network element.

[0042] In the fifth aspect, a communication method based on remote direct memory access is provided, which can be executed by a core network network element, or by a module (such as a processor, chip, or chip system, etc.) applied to the core network network element, or by a logical node, logical module or software that can realize all or part of the core network network element functions. The core network network element can be a user plane network element or have user plane functions. The method includes: determining a first message, the first message is obtained based on a remote direct memory access RDMA message; sending the first message through a general packet radio service tunneling protocol user plane GTP-U tunnel. Wherein, when the RDMA message is a first-class management message, the GTP-U tunnel is a first GTP-U tunnel, and the first-class management message is used for communication management; or, when the RDMA message is a data message, the GTP-U tunnel is a second GTP-U tunnel. Wherein, the computational effect brought about by the fifth aspect can refer to the technical effect brought about by the fourth aspect, and will not be repeated here.

[0043] The first message is referred to as the second message in the following specific implementation manner, and the first type of management message is referred to as the second type of management message in the following specific implementation manner.

[0044] In a sixth aspect, a communication method based on remote direct memory access is provided, which can be executed by a RAN node, or by a module (such as a processor, chip, or chip system, etc.) applied to a RAN node, or by a logical node, logical module, or software that can implement all or part of the RAN node functions. The method includes: receiving a first message on a first radio bearer, the first message being obtained based on a remote direct memory access (RDMA) message; and sending the first message through a general packet radio service tunneling protocol user plane (GTP-U) tunnel. Wherein, when the RDMA message is a first-class management message, the first radio bearer is a signaling radio bearer (SRB), and the first-class management message is used for communication management; or, when the RDMA message is a data message, the first radio bearer is a computing radio bearer (CRB) or a data radio bearer (DRB).

[0045] Based on this solution, management messages for communication management are transmitted through a high-priority control plane (such as SRB), and RDMA data messages are transmitted through a user plane (such as DRB or SRB). This allows RDMA management messages to be transmitted first, thereby ensuring that RDMA control information can be transmitted to RDMA nodes in a timely manner, improving remote memory reading performance.

[0046] Among them, the first message is referred to as the third message in the following specific implementation, the first radio bearer is referred to as the third radio bearer in the following specific implementation, and the first type of management message is referred to as the second type of management message in the following specific implementation.

[0047] In one possible design, when the RDMA message is a first-type management message, the GTP-U tunnel is a first GTP-U tunnel; or, when the RDMA message is a data message, the GTP-U tunnel is a second GTP-U tunnel.

[0048] Based on this possible design, GTP-U tunnels for transmitting the first type of management messages and data messages can be established between the RAN node and the core network element respectively, so that the two can be transmitted using different GTP-U tunnels.

[0049] In one possible design, when the transport layer identifier of the RDMA message is less than or equal to the first value, the RDMA message is a first-class management message; or, when the transport layer identifier of the RDMA message is greater than the first value, the RDMA message is a data message.

[0050] In the seventh aspect, a communication method based on remote direct memory access is provided, which can be executed by a core network network element, or by a module (such as a processor, chip, or chip system, etc.) applied to the core network network element, or by a logical node, logical module or software that can realize all or part of the core network network element functions. The core network network element can be a user plane network element or have user plane functions. The method includes: receiving a first message through a general packet radio service tunneling protocol user plane GTP-U tunnel, and the first message is obtained based on a remote direct memory access RDMA message. Wherein, when the RDMA message is a first-class management message, the GTP-U tunnel is a first GTP-U tunnel, and the first-class management message is used for communication management; or, when the RDMA message is a data message, the GTP-U tunnel is a second GTP-U tunnel. Wherein, the technical effects brought about by the seventh aspect can refer to the technical effects brought about by the sixth aspect, and will not be repeated here.

[0051] The first message is referred to as the third message in the following specific implementation manner, and the first type of management message is referred to as the second type of management message in the following specific implementation manner.

[0052] In combination with the fourth to seventh aspects, in one possible design, the type of the first GTP-U tunnel is the first type, and the first type of GTP-U tunnel is used to transmit the first type of management message of RDMA; or, the type of the second GTP-U tunnel is the second type, and the second type of GTP-U tunnel is used to transmit the data message of RDMA.

[0053] In combination with the fourth to seventh aspects, in one possible design, the identifier of the first GTP-U tunnel corresponds to the first type of management message, and the first GTP-U tunnel is used to transmit the first type of management message of RDMA; or, the identifier of the second GTP-U tunnel corresponds to the data message, and the second GTP-U tunnel is used to transmit the data message of RDMA.

[0054] In an eighth aspect, a communication device is provided for implementing various methods. The communication device includes modules, units, or means corresponding to the implementation method. The modules, units, or means can be implemented through hardware, software, or hardware executing corresponding software implementation. The hardware or software includes one or more modules or units corresponding to the functions.

[0055] In some possible designs, the communication device may include a processing module and a transceiver module. The processing module may be configured to implement the processing functionality of any of the above aspects and any possible implementations thereof. The transceiver module may include a receiving module and a transmitting module, respectively configured to implement the receiving functionality and the transmitting functionality of any of the above aspects and any possible implementations thereof.

[0056] In some possible designs, the transceiver module may be composed of a transceiver circuit, a transceiver, a transceiver or a communication interface.

[0057] In a ninth aspect, a communication device is provided, comprising: a processor and a memory; the memory is used to store computer instructions, and when the processor executes the instructions, the communication device executes the method described in any one of the aspects.

[0058] In the tenth aspect, a communication device is provided, comprising: a processor and a communication interface; the communication interface is used to communicate with a module outside the communication device; the processor is used to execute a computer program or instruction so that the communication device executes the method described in any aspect.

[0059] In an eleventh aspect, a communication device is provided, comprising: at least one processor; the processor is configured to execute a computer program or instruction stored in a memory, so that the communication device performs the method described in any one of the aspects. The memory may be coupled to the processor or may be independent of the processor.

[0060] In the twelfth aspect, a communication device is provided (for example, the communication device may be a chip or a chip system), which includes a processor for implementing the functions involved in any one of the first to sixth aspects.

[0061] In some possible designs, the communication device includes a memory for storing necessary program instructions and data.

[0062] In some possible designs, when the device is a chip system, it can be composed of a chip or include a chip and other discrete devices.

[0063] It can be understood that the communication device provided in aspects 8 to 12 can be the terminal in the first aspect, or it can be a module or unit (for example, a chip, or a chip system, or a circuit) in the terminal that corresponds one-to-one to the method / operation / step / action described in the first aspect, or it can be a module or unit that can be used in conjunction with the terminal, or it can also be a logical node, logical module or software that can realize all or part of the terminal functions.

[0064] Alternatively, the communication device may be a RAN node in the second aspect, the fourth aspect, or the sixth aspect, or a module or unit (for example, a chip, or a chip system, or a circuit) in the RAN node that corresponds one-to-one to executing the method / operation / step / action described in the second aspect, the fourth aspect, or the sixth aspect, or a module or unit that can be used in conjunction with a RAN node, or may also be a logical node, logical module, or software that can implement all or part of the functions of a RAN node.

[0065] Alternatively, the communication device may be the first communication device in the third aspect, or a module or unit (for example, a chip, or a chip system, or a circuit) in the first communication device that corresponds one-to-one to the method / operation / step / action described in the third aspect, or a module or unit that can be used in combination with the first communication device, or may also be a logical node, logical module or software that can implement all or part of the functions of the first communication device.

[0066] Alternatively, the communication device may be the core network element in the fifth aspect or the seventh aspect, or a module or unit (for example, a chip, or a chip system, or a circuit) in the core network element that corresponds one-to-one to the method / operation / step / action described in the fifth aspect or the seventh aspect, or a module or unit that can be used in conjunction with the core network element, or may also be a logical node, logical module or software that can implement all or part of the functions of the core network element.

[0067] It can be understood that when the communication device provided in any one of aspects 8 to 12 is a chip, the sending action / function of the communication device can be understood as output information, and the receiving action / function of the communication device can be understood as input information.

[0068] In the thirteenth aspect, a computer-readable storage medium is provided, in which a computer program or instruction is stored. When the computer-readable storage medium is run on a communication device, the communication device can execute the method described in any one of the first to sixth aspects.

[0069] In a fourteenth aspect, a computer program product comprising instructions is provided, which, when executed on a communication device, enables the communication device to execute the method described in any one of the first to sixth aspects.

[0070] In a fifteenth aspect, a communication system is provided, comprising a terminal and a RAN node, wherein the terminal is configured to execute the method described in the first aspect and any possible design thereof, and the RAN node is configured to execute the method described in the second aspect and any possible design thereof.

[0071] In a sixteenth aspect, a communication system is provided, comprising a RAN node and a core network element. The RAN node is configured to execute the method described in the fourth aspect or the sixth aspect, and any possible designs thereof, and the core network element is configured to execute the method described in the fifth aspect or the seventh aspect, and any possible designs thereof.

[0072] Among them, the technical effects brought about by any design method in the eighth to sixteenth aspects can refer to the technical effects brought about by different design methods in the first to seventh aspects, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0073] FIG1 is a schematic diagram of the principle of RDMA provided by this application;

[0074] FIG2 is a schematic diagram of an RDMA protocol stack provided by this application;

[0075] FIG3 is a schematic diagram of an RDMA service provided by this application;

[0076] FIG4 is a schematic diagram of the structure of an RDMA management message provided by the present application;

[0077] FIG5 is a schematic structural diagram of a communication system provided by the present application;

[0078] FIG6 is a schematic diagram of the structure of another communication system provided by the present application;

[0079] FIG7 is a schematic diagram of the fusion of an RDMA protocol stack and a wireless communication protocol stack provided by the present application;

[0080] FIG8 is a schematic diagram of another fusion of an RDMA protocol stack and a wireless communication protocol stack provided by the present application;

[0081] FIG9 is a flow chart of a communication method provided by the present application;

[0082] FIG10 is a schematic diagram of differentiating message types by QPN and virtual channel number provided by the present application;

[0083] FIG11 is a flow chart of another communication method provided by the present application;

[0084] FIG12 is a schematic diagram of differentiating message types by virtual channel numbers provided by the present application;

[0085] FIG13 is a schematic diagram of differentiating message types by QPN provided by the present application;

[0086] FIG14 is a flow chart of another communication method provided by the present application;

[0087] FIG15 is a flow chart of another communication method provided by the present application;

[0088] FIG16 is a schematic diagram of a GTP-U tunnel provided by the present application;

[0089] FIG17 is a flow chart of another communication method provided by the present application;

[0090] Figures 18-21 are schematic diagrams of the CM handshake link establishment process provided by this application;

[0091] 22-24 are schematic diagrams of the structure of the communication device provided in this application. DETAILED DESCRIPTION

[0092] In the description of this application, unless otherwise specified, " / " indicates that the objects associated before and after are in an "or" relationship, for example, A / B can represent A or B; "and / or" in this application is merely a description of the association relationship of associated objects, indicating that three relationships may exist, for example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural.

[0093] In the description of this application, unless otherwise specified, "plurality" means two or more than two. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or plural.

[0094] In addition, to facilitate the clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, the words "first" and "second" are used to distinguish between identical or similar items with substantially the same functions and effects. Those skilled in the art will understand that the words "first" and "second" do not limit the quantity or execution order, and the words "first" and "second" do not necessarily mean different.

[0095] In the embodiments of this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of this application should not be construed as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner to facilitate understanding.

[0096] It will be understood that the “embodiment” mentioned throughout the specification means that the specific features, structures or characteristics related to the embodiment are included in at least one embodiment of the present application. Therefore, the various embodiments throughout the specification do not necessarily refer to the same embodiment. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner. It will be understood that in the various embodiments of the present application, the size of the sequence number of each process does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present application.

[0097] It can be understood that in this application, "when", "if", and "under the circumstances" all mean that corresponding processing will be taken under certain objective circumstances. It does not limit the time, does not require any judgment action when implementing it, and does not mean that there are other limitations.

[0098] It is understood that some optional features in the embodiments of the present application may, in certain scenarios, be implemented independently of other features, such as the solution on which they are currently based, to solve corresponding technical problems and achieve corresponding effects. They may also be combined with other features in certain scenarios as needed. Accordingly, the devices provided in the embodiments of the present application may also implement these features or functions accordingly, which will not be described in detail here.

[0099] In this application, unless otherwise specified, the same or similar parts between the various embodiments can refer to each other. In the various embodiments in this application, and the various implementation methods / implementation methods / implementation methods in each embodiment, if there is no special explanation and logical conflict, the terms and / or descriptions between different embodiments and the various implementation methods / implementation methods / implementation methods in each embodiment are consistent and can be referenced to each other. The technical features in different embodiments and the various implementation methods / implementation methods / implementation methods in each embodiment can be combined to form new embodiments, implementation methods, implementation methods, or implementation methods according to their inherent logical relationships. The implementation methods of this application described below do not constitute a limitation on the scope of protection of this application.

[0100] In order to facilitate understanding of the technical solutions of the embodiments of the present application, a brief introduction to the relevant technologies of the present application is first given as follows.

[0101] 1. Remote direct memory access (RDMA):

[0102] For high-concurrency, low-latency input / output (I / O) applications like high-performance computing and big data analytics, the traditional Transmission Control Protocol (TCP) / Internet Protocol (IP) hardware and software architecture cannot meet the requirements. This is because traditional TCP / IP network communication sends messages through the kernel, which incurs high data movement and copy overhead. As shown in the left diagram of Figure 1, data must be moved from the application (APP) to the kernel via the central processing unit (CPU), and then from the kernel to the network interface card (NIC) (e.g., Ethernet port).

[0103] RDMA technology is used to mitigate server-side data processing delays during network transmission. Based on RDMA, memory data can be accessed directly through the network interface without the intervention of the operating system kernel. As shown in the right image of Figure 1, the RDMA network card directly reads application data without CPU intervention in data movement.

[0104] RDMA enables high-throughput, low-latency network communication, making it particularly suitable for use in large-scale computer clusters. At data rates up to 40 gigabits per second (Gbps), traditional TCP / IP transmission methods can result in CPU utilization rates as high as 100%. However, using RDMA network cards reduces CPU utilization to as low as 5%.

[0105] 2. RDMA protocol stack:

[0106] There are many applications of RDMA technology, such as Infiniband (IB), RDMA over converged Ethernet (RoCE), and Internet Wide-Area RDMA Protocol (iWARP).

[0107] InfiniBand is an RDMA technology based on the InfiniBand architecture. It provides a channel-based point-to-point message queue forwarding model. Each application can directly obtain its own data messages through the created virtual lane (VL), without the intervention of other operating systems and protocol stacks. As shown in Figure 2, the InfiniBand architecture includes the IB transport protocol, the IB network layer, and the IB link layer. The application layer of the InfiniBand architecture uses RDMA technology, which can provide RDMA read and write access between remote nodes, completely offloading CPU workloads; network transmission uses high-bandwidth transmission; and the link layer uses a specific retransmission mechanism to ensure quality of service, eliminating the need for data buffering.

[0108] The RoCE protocol has two versions: RoCE v1 and RoCE v2. As shown in Figure 2, RoCE v1 uses Ethernet to carry RDMA and can only be deployed on Layer 2 networks. Its message structure adds a Layer 2 Ethernet header to the original IB architecture message, and identifies RoCE messages with Ethertype 0x8915. The RoCE v2 protocol uses the User Datagram Protocol (UDP) / IP to carry RDMA and can be deployed on Layer 3 networks. Its message structure adds a UDP header, an IP header, and a Layer 2 Ethernet header to the original IB architecture message, and identifies RoCE messages with the UDP destination port number 4791.

[0109] iWARP is an RDMA technology based on Ethernet and TCP / IP protocols that can run on standard Ethernet infrastructure. iWARP does not specify physical layer information and can therefore operate on any network layer using TCP / IP. iWARP allows many transport types to share the same physical connection, such as networking, I / O, file systems, block storage, and inter-processor messaging. As shown in Figure 2, the Marker PDU Aligned Framing (MPA) protocol layer acts as an adaptation layer, converting between the message-based Direct Data Placement (DDP) protocol and the byte stream-based TCP protocol. The RDMA protocol (RDMAP) layer above DDP is used to provide RDMA semantics to upper-layer protocols.

[0110] 3. RDMA message:

[0111] As shown in Figure 3, above the RDMA transport layer, there are management services and consumers. Therefore, above the transport layer, there are management messages (also called control messages or management control messages) and data messages. For example, the format of management datagrams (MAD) is shown in Figure 4.

[0112] As shown in Figure 4, the MgmtClass byte indicates the type of management message. Different management messages are defined by defining the MgmtClass value. For example, a management type of 0x01 / 0x81 indicates subnet management (SM) MAD, a management type of 0x03 indicates subnet administration (SA) MAD, a management type of 0x04 indicates performance MAD, and a management type of 0x07 indicates communication management (CM) MAD. The meanings of the other fields shown in Figure 4 can be found in the relevant descriptions in the existing RDMA standard and will not be repeated here.

[0113] Typically, the transport layer queue pair number (QPN) for SM management messages is 0, the QPN for other types of management messages is 1, and the QPN for data messages is greater than 1. Furthermore, at the link layer, SM management messages are mapped to the VL with virtual channel number 15, while other types of management messages and data messages multiplex other VLs. The VL with virtual channel number 15 does not require quality of service (QoS) control; messages arriving in this queue are sent immediately. Messages on other VLs, however, use a credit mechanism for QoS flow control. This means that SM management messages have higher priority than RDMA data messages or other management messages.

[0114] Typically, SM management messages are transmitted between the subnet manager and RDMA nodes in a master-slave mode. CM management messages use the peer agent's peer-to-peer mode. This is because RDMA communication can be performed between any two communicating nodes for remote memory reads and writes. CM management messages are used to obtain queue pair contexts (QPCs) during remote memory reads and writes, so the peer-to-peer mode is used.

[0115] With the development of wireless communications, the integration of RDMA and wireless communications has become an inevitable trend. In 2022, Intel published "6G Cloud-Native System: Vision, Challenges, Architecture Framework and Enabling Technologies" at the Institute of Electrical and Electronics Engineers (IEEE) Access. The paper mentioned that RDMA CM management messages are transmitted over the air interface through control plane radio resource control (RRC) signaling, while RDMA data messages and other management messages, such as SM management messages, are transmitted over the air interface user plane.

[0116] However, if both SM management messages and data messages are transmitted via the air interface user plane, high-priority transmission of SM management messages is currently not possible. This may result in RDMA control information not being transmitted to RDMA nodes in a timely manner, resulting in reduced remote memory read performance. Based on this, the present application provides an RDMA-based communication method. This method can enable RDMA management messages to be transmitted to RDMA nodes in a timely manner, improving remote memory read performance.

[0117] The technical solutions of the embodiments of the present application can be used in various communication systems, which may be third generation partnership project (3GPP) communication systems, such as fourth generation (4G) systems such as long term evolution (LTE) systems, fifth generation (5G) systems such as new radio (NR) systems, systems of hybrid LTE and 5G networks, non-terrestrial networks (NTN), Internet of Things (IoT) systems, narrowband IoT (NB-IoT) systems, or other next generation communication systems. The communication system may also be a non-3GPP communication system without limitation.

[0118] Among them, the above-mentioned communication system applicable to this application is only an example, and the communication system applicable to this application is not limited to this. The communication system provided by this application does not impose any limitations on the solution of this application. It is uniformly explained here and will not be repeated below.

[0119] Figure 5 is a schematic diagram showing a possible, non-limiting system. As shown in Figure 5, the communication system 50 includes a radio access network (RAN) 500 and a core network (CN) 600. The RAN 500 includes at least one RAN node (such as 510a and 510b in Figure 1, collectively referred to as 510) and at least one terminal (520a-520j in Figure 5, collectively referred to as 520). The RAN 500 may also include other RAN nodes, such as wireless relay equipment and / or wireless backhaul equipment (not shown in Figure 5). The terminal 520 is connected to the RAN node 510 wirelessly. For example, as shown in Figure 6, the core network 600 includes user plane network elements. Furthermore, the core network 600 may also include other network elements such as mobility management network elements and session management network elements.

[0120] The RAN node 510 is connected to the core network 600 via a wireless or wired connection. The core network elements in the core network 600 and the RAN node 510 in the RAN 500 can be different physical devices, or they can be the same physical device that integrates the core network logical functions and the radio access network logical functions.

[0121] The RAN 500 may be a 3GPP-related cellular system, such as a 4G or 5G mobile communication system, or a future-oriented evolutionary system (such as a sixth generation (6G) mobile communication system). The RAN 500 may also be an open access network (O-RAN or ORAN), a cloud radio access network (CRAN), or a wireless fidelity (WiFi) system. The RAN 500 may also be a communication system that integrates two or more of the above systems.

[0122] RAN node 510, sometimes also referred to as access network equipment, RAN entity, or access node, constitutes part of the communication system and facilitates wireless access for terminals. Multiple RAN nodes 510 in the communication system 50 can be of the same type or different types. In some scenarios, the roles of RAN node 510 and terminal 520 are relative. For example, network element 520i in Figure 5 can be a helicopter or drone, which can be configured as a mobile base station. For terminals 520j accessing the RAN 500 via network element 520i, network element 520i is a base station; however, for base station 510a, network element 520i is a terminal. RAN node 510 and terminal 520 are sometimes referred to as communication devices. For example, network elements 510a and 510b in Figure 5 can be understood as communication devices with base station functionality, and network elements 520a-520j can be understood as communication devices with terminal functionality.

[0123] In one possible scenario, a RAN node may be a base station, an evolved NodeB (eNodeB), an access point (AP), a transmission reception point (TRP), a next generation NodeB (gNB), a next generation base station in a 6G mobile communication system, a base station in a future mobile communication system, or an access node in a WiFi system. A RAN node may be a macro base station (such as 510a in FIG5 ), a micro base station or an indoor station (such as 510b in FIG5 ), a relay node or a donor node, or a wireless controller in a CRAN scenario. Optionally, a RAN node may also be a server, a wearable device, a vehicle, or an onboard device. For example, an access network device in vehicle-to-everything (V2X) technology may be a road side unit (RSU). All or part of the functions of a RAN node in this application may also be implemented by software functions running on hardware, or by virtualized functions instantiated on a platform (such as a cloud platform). A RAN node in this application may also be a logical node, a logical module, or software that implements all or part of the functions of a RAN node.

[0124] In another possible scenario, multiple RAN nodes collaborate to assist the terminal in achieving wireless access, and different RAN nodes respectively implement part of the functions of the base station. For example, the RAN node can be a centralized unit (CU), a distributed unit (DU), a CU-control plane (CP), a CU-user plane (UP), or a radio unit (RU). The CU and DU can be set separately, or they can be included in the same network element, such as a baseband unit (BBU). The RU can be included in a radio frequency device or radio frequency unit, such as a remote radio unit (RRU), an active antenna unit (AAU), or a remote radio head (RRH).

[0125] In different systems, CU (or CU-CP and CU-UP), DU or RU may also have different names, but those skilled in the art can understand their meanings. For example, in the ORAN system, CU may also be called O-CU (Open CU), DU may also be called O-DU, CU-CP may also be called O-CU-CP, CU-UP may also be called O-CU-UP, and RU may also be called O-RU. For the convenience of description, this application uses CU, CU-CP, CU-UP, DU and RU as examples for description. Any unit of CU (or CU-CP, CU-UP), DU and RU in this application can be implemented by a software module, a hardware module, or a combination of a software module and a hardware module.

[0126] A terminal may also be referred to as a terminal device, user equipment (UE), mobile station, mobile terminal, etc. Terminals can be widely used in various scenarios, such as device-to-device (D2D), vehicle-to-everything (V2X) communication, machine-type communication (MTC), Internet of Things (IOT), virtual reality, augmented reality, industrial control, autonomous driving, telemedicine, smart grid, smart furniture, smart office, smart wearable, smart transportation, smart city, etc. A terminal may be a mobile phone, tablet computer, computer with wireless transceiver function, wearable device, vehicle, drone, helicopter, airplane, ship, robot, robotic arm, smart home device, etc. The embodiments of the present application do not limit the device form of the terminal.

[0127] User plane network elements are primarily responsible for processing user messages, such as forwarding and billing. In 5G communication systems, user plane network elements may be user plane function (UPF) network elements. In future communications, such as 6G communications, user plane network elements may still be UPF network elements or have other names, which are not limited in this embodiment of the present application.

[0128] The mobility management network element is mainly used for the attachment, mobility management, and tracking area update processes of terminals in the mobile network. The mobility management device terminates the non-access stratum (NAS) message, completes registration management, connection management, and reachability management, allocates the tracking area list (TA list) and mobility management, and transparently routes the session management (SM) message to the session management network element. In the 5G communication system, the mobility management network element can be an access and mobility management function (AMF) network element. In future communications such as 6G communications, the mobility management network element can still be an AMF network element, or have other names, which is not limited in the embodiments of the present application.

[0129] The session management network element (SME) is primarily responsible for session management in mobile networks, such as session establishment, modification, and release. Specific functions include allocating IP addresses to users and selecting the UPF that provides packet forwarding capabilities. In 5G communication systems, the SME may be a session management function (SMF) SME. In future communications, such as 6G communications, the SME may still be an SMF SME, or have other names, which are not limited in this embodiment of the present application.

[0130] It should be noted that the communication system described in the embodiment of the present application is intended to more clearly illustrate the technical solution of the embodiment of the present application, and does not constitute a limitation on the technical solution provided in the embodiment of the present application. Ordinary technicians in this field can know that with the evolution of network architecture and the emergence of new business scenarios, the technical solution provided in the embodiment of the present application is also applicable to similar technical problems.

[0131] The following describes the communication method provided in the embodiments of the present application, taking the interaction between a terminal, a RAN node, and a core network element as an example, in conjunction with the communication system shown in Figure 5 or Figure 6. It should be noted that in the following embodiments of the present application, the message names, parameter names, or information names between the terminal, the RAN node, and the core network element are merely examples, and other names may be used in other embodiments, and the method provided in the present application is not specifically limited to this.

[0132] It is understood that in the embodiments of the present application, the terminal, RAN node, or core network element may perform some or all of the steps in the embodiments of the present application. These steps or operations are merely examples, and the embodiments of the present application may also perform other operations or variations of various operations. In addition, the various steps may be performed in a different order than those presented in the embodiments of the present application, and it is possible that not all operations in the embodiments of the present application need to be performed.

[0133] It is understandable that this application uses RAN nodes, terminals, and core network elements as examples of the execution entities of the interaction diagram, but this application does not limit the execution entities of the interaction diagram. For example, the method executed by the RAN node in this application can also be executed by a module (such as a chip, chip system, or processor) applied to the RAN node, and can also be implemented by a logical node, logical module, or software that can implement all or part of the RAN node functions; the method executed by the terminal in this application can also be executed by a module (such as a chip, chip system, or processor) applied to the terminal, and can also be implemented by a logical node, logical module, or software that can implement all or part of the terminal functions; the method executed by the core network element in this application can also be executed by a module (such as a chip, chip system, or processor) applied to the core network element, and can also be implemented by a logical node, logical module, or software that can implement all or part of the core network element functions.

[0134] In addition, in this application, "sending information / message" can be understood as one device sending information / message to another device, or it can also be understood as one logic module within a device sending information / message to another logic module. For example, "a terminal sending information" can be understood as the terminal sending information to another device (such as a RAN node), or it can be understood as logic module 1 (such as a processing module) in the terminal sending information to logic module 2 (such as a transceiver module) in the terminal.

[0135] In this application, "receiving information / message" can be understood as a device receiving information / message from another device, or it can also be understood as a logic module within a device receiving information / message from another logic module. For example, "a terminal receiving information" can be understood as the terminal receiving information from another device (such as a RAN node), or it can be understood as logic module 1 (such as a processing module) in the terminal receiving information from logic module 2 (such as a transceiver module) in the terminal.

[0136] In this application, "sending information / message to... (e.g., a terminal)" or the related illustrations in the accompanying drawings can be understood as the destination end of the information / message being the terminal. This can include sending information to the terminal directly or indirectly. "Receiving information from... (e.g., a RAN node)" or "receiving information from... (e.g., a RAN node)" or "receiving information sent by (e.g., a RAN node)", or the related illustrations in the accompanying drawings can be understood as the source end of the information being the RAN node, which can include receiving information directly or indirectly from the RAN node. The information may undergo necessary processing between the source end and the destination end of the information transmission, such as format changes, but the destination end can understand the valid information from the source end. Similar expressions in this application can be understood similarly and will not be repeated here.

[0137] In order to better understand the solution of the present application, before introducing the communication method provided by the present application, the fusion solution of the RDMA protocol stack and the wireless communication protocol stack provided by the present application is first introduced.

[0138] As shown in (a) of Figure 7, this is a schematic diagram of a user plane protocol stack fusion provided by the present application. Among them, on the terminal and RAN node side, the air interface wireless communication protocol stack includes, from top to bottom, the service data adaptation protocol (SDAP) layer, the packet data convergence protocol (PDCP) layer, the radio link control (RLC) layer, the media access control (MAC) layer and the physical layer (PHY). In addition, the terminal side is externally connected to RDMA hardware to implement the RDMA protocol stack, and the RDMA protocol stack includes a transport layer (such as the IB transport layer), a network layer (such as the IB network layer) and a link layer (such as the IB link layer). Among them, the network layer can also be replaced by the IP and UDP layers.

[0139] Between the RAN node and the user-plane network element, the user-plane protocol stack includes the GPRS tunneling protocol for user plane (GTP-U), the UDP / IP layer, Layer 2 (L2), and Layer 1 (L1). RDMA transport layer messages, RDMA network layer messages, and link layer frames (such as RDMA link layer frames or Ethernet frames) can serve as GTP-U payloads. On the user-plane network element side, the GTP-U layer can also include the RDMA link layer, RDMA network layer, and RDMA transport layer. On the RDMA server side, it includes the RDMA transport layer, RDMA network layer, RDMA link layer, and Layer 1 (or Layer 1 and Layer 2).

[0140] As shown in Figure 7(b), this application provides a schematic diagram of a control plane protocol stack fusion. On the terminal side and RAN node side, the air interface wireless protocol stack includes the RRC layer, PDCP layer, RLC layer, MAC layer, and PHY layer. Furthermore, the terminal side and the mobility management network element side include the NAS layer. External RDMA hardware is connected to the terminal side to implement the RDMA protocol stack, which includes the transport layer, network layer, and link layer.

[0141] As shown in (a) of Figure 8, this is a schematic diagram of another user plane protocol stack fusion provided by this application. The terminal has the transport layer capabilities of the RDMA protocol stack. The terminal may also include the network layer of the RDMA protocol stack, or the network layer functions of the RDMA protocol stack may be implemented by the terminal's wireless communication protocol stack. The link layer functions of the RDMA protocol stack are implemented by the wireless communication protocol stack. For example, the network layer may also be replaced by the IP and UDP layers.

[0142] Between the RAN node and the user-plane network element, the user-plane protocol stack includes GTP-U, UDP / IP layer, Layer 2 (L2), and Layer 1 (L1). RDMA transport layer messages and RDMA network layer messages can be used as GTP-U payloads. Optionally, the RAN node, user-plane network element, or RDMA server side has the transport layer and / or network layer of the RDMA protocol stack.

[0143] As shown in Figure 8(b), this application provides another schematic diagram of a control plane protocol stack fusion. On the terminal, RAN node, or mobility management network element side, the protocol stack includes the transport layer of the RDMA protocol stack. On the terminal and RAN node side, the air interface protocol stack includes the RRC layer, PDCP layer, RLC layer, MAC layer, and PHY layer. Furthermore, the terminal side and mobility management network element side include the NAS layer.

[0144] For example, the architecture shown in Figure 7 can be referred to as RDMA over wireless. The architecture shown in Figure 8 can be referred to as RDMA in wireless. In a CU-DU or O-RAN architecture, the RAN node-side RDMA protocol stack, such as the RDMA transport layer and / or network layer, can be deployed in the CU or O-CU.

[0145] The following describes the communication method provided by this application. As shown in Figure 9, a communication method provided by this application includes the following steps:

[0146] S901: A terminal sends a first message to a mobility management network element. Correspondingly, the mobility management network element receives the first message from the terminal.

[0147] The first message is used to request the establishment of a PDU session. The PDU session is used to transmit RDMA messages. Exemplarily, the first message is a PDU session establishment request message.

[0148] The first message includes first information.

[0149] In a first possible implementation, the first information is used to indicate the type of RDMA message transmitted in the PDU session. The types of RDMA messages include first-class messages and second-class messages, and the transmission priority of first-class messages is higher than that of second-class messages.

[0150] Illustratively, the first category of messages is a management message, such as an RDMA management message, such as an SM management message, a CM management message, or an SA management message, and the second category of messages is a data message. Alternatively, the first category of messages is a first category of management message used for subnet management, such as an SM management message, and the second category of messages includes second category of management messages and / or data messages. The second category of management messages is management messages other than the first category of management messages, such as management messages used for communication management (i.e., CM management messages) and SA management messages.

[0151] Exemplarily, the PDU session can transmit both the first type of RDMA messages and the second type of RDMA messages. For example, the first type of messages are transmitted through the first type of QoS flow of the PDU session, and the second type of messages are transmitted through the second type of QoS flow of the PDU session. The first type of QoS flow may include one or more QoS flows, and the second type of QoS flow may include one or more QoS flows. The identifiers of the one or more QoS flows included in the first type of QoS flow may be the same or different, and the identifiers of the one or more QoS flows included in the second type of QoS flow may be the same or different.

[0152] Exemplarily, in the first possible implementation, the first information is used to indicate the type of RDMA message transmitted by the PDU session, which can be understood as: the type of RDMA message to be transmitted by the PDU session, or the type of RDMA message to be transmitted first after the PDU session is established.

[0153] As a possible implementation, the first information includes a transport layer identifier of the RDMA message. When the transport layer identifier is less than or equal to the first value, the type of RDMA message transmitted by the PDU session is a first-class message; when the transport layer identifier is greater than the first value, the type of RDMA message transmitted by the PDU session is a second-class message. Alternatively, when the transport layer identifier is greater than the first value, the type of RDMA message transmitted by the PDU session is a first-class message; when the transport layer identifier is less than or equal to the first value, the type of RDMA message transmitted by the PDU session is a second-class message. At this time, the first-class message corresponds to the RDMA management message, and the second-class message corresponds to the RDMA data message.

[0154] Exemplarily, the transport layer identifier may also be referred to as a layer 4 identifier. As shown in (a) of FIG10 , the transport layer identifier may be, for example, a QPN, and the first value may be, for example, equal to 1. That is, when the QPN is 0 or 1, the PDU session transmits RDMA management messages, and when the QPN is greater than 1, the PDU session transmits RDMA data messages. Of course, the transport layer identifier may also be other identifiers of the transport layer, and the first value may also be other values, and this application does not specifically limit this.

[0155] As another possible implementation, the first information includes a link layer identifier of the RDMA message. When the link layer identifier is greater than or equal to the second value, the type of RDMA message transmitted by the PDU session is a first-class message; when the link layer identifier is less than the second value, the type of RDMA message transmitted by the PDU session is a second-class message. Alternatively, when the transport layer identifier is less than the second value, the type of RDMA message transmitted by the PDU session is a first-class message; when the transport layer identifier is greater than or equal to the second value, the type of RDMA message transmitted by the PDU session is a second-class message. At this time, the first-class message corresponds to the first-class management message, and the second-class message corresponds to the second-class management message and / or data message.

[0156] Exemplarily, the link layer identifier may also be referred to as a layer 2 identifier. As shown in (b) of FIG10 , the link layer identifier may be, for example, a virtual channel number, and the second value may be 15. That is, when the virtual channel number is greater than or equal to 15, the PDU session transmits RDMA's first-class management messages, and when the virtual channel number is less than 15, the PDU session transmits RDMA's second-class management messages and / or data messages. Of course, the link layer identifier may also be other link layer identifiers, and the second value may also be other values, and this application does not specifically limit this.

[0157] In a second possible implementation, the first information is used to indicate that the PDU session is used to transmit RDMA Class 1 packets and is not used to transmit RDMA Class 2 packets; or the first information is used to indicate that the PDU session is used to transmit RDMA Class 2 packets and is not used to transmit RDMA Class 1 packets. The transmission priority of the Class 1 packets is higher than the transmission priority of the Class 2 packets.

[0158] That is, in the second possible implementation, the first type of messages and the second type of messages are transmitted using different PDU sessions. For example, the first type of messages are transmitted using the first type QoS flow of a certain PDU session, and the second type of messages are transmitted using the second type QoS of another PDU session.

[0159] As a possible implementation, the first information includes a transport layer identifier of the RDMA message. When the transport layer identifier is less than or equal to the first value, the PDU session is used to transmit the first type of RDMA message, and is not used to transmit the second type of RDMA message; when the transport layer identifier is greater than the first value, the PDU session is used to transmit the second type of RDMA message, and is not used to transmit the first type of RDMA message. Alternatively, when the transport layer identifier is greater than the first value, the PDU session is used to transmit the first type of RDMA message, and is not used to transmit the second type of RDMA message; when the transport layer identifier is less than or equal to the first value, the PDU session is used to transmit the second type of RDMA message, and is not used to transmit the first type of RDMA message. At this time, the first type of message corresponds to the RDMA management message, and the second type of message corresponds to the RDMA data message. The transport layer identifier and the first value can refer to the relevant description in the first embodiment above, and will not be repeated here.

[0160] As another possible implementation, the first information includes a link layer identifier of the RDMA message. When the link layer identifier is greater than or equal to the second value, the PDU session is used to transmit the first type of RDMA message, and is not used to transmit the second type of RDMA message; when the link layer identifier is less than the second value, the PDU session is used to transmit the second type of RDMA message, and is not used to transmit the first type of RDMA message. Alternatively, when the link layer identifier is less than the second value, the PDU session is used to transmit the first type of RDMA message, and is not used to transmit the second type of RDMA message; when the link layer identifier is greater than or equal to, the PDU session is used to transmit the second type of RDMA message, and is not used to transmit the first type of RDMA message. At this time, the first type of message corresponds to the first type of management message, and the second type of message corresponds to the second type of management message and / or data message. The link layer identifier and the second value can refer to the relevant description in the above-mentioned first embodiment, and will not be repeated here.

[0161] Optionally, the first message also includes second information, which indicates that the category of the PDU session is an RDMA session. The RDMA session can be understood as a new PDU session category provided by this application, indicating a PDU session for transmitting RDMA messages. The RDMA session can also have other names, such as an IB session, which can indicate a PDU session for transmitting RDMA messages. This application does not specifically limit the session name.

[0162] S902: The mobility management network element sends a second message to the session management network element. Correspondingly, the session management network element receives the second message from the mobility management network element.

[0163] The second message includes the first information. Further, when the first message includes the second information, the second message also includes the second information.

[0164] Exemplarily, the mobility management network element may send the first information, or the first information and the second information, in a session management container to the session management network element. The second message may be a PDU Session_Create Session Management Context Request message.

[0165] S903. The session management network element determines the priority of the QoS flow in the PDU session or determines the priority of the PDU session according to the first information.

[0166] In a first possible implementation, when the first information indicates the type of RDMA packets transmitted by a PDU session, the session management network element determines the priority of the QoS flows within the PDU session. For example, the session management network element may determine that first-category packets are transmitted via a first-category QoS flow within the PDU session, and second-category packets are transmitted via a second-category QoS flow within the PDU session. Specifically, the session management network element may determine that the first-category QoS flow and the second-category QoS flow are included in the same PDU session. Furthermore, the session management network element may determine that the priority of the first-category QoS flow is higher than the priority of the second-category QoS flow.

[0167] In a second possible implementation, the first information is used to indicate that the PDU session is used to transmit the first type of RDMA messages and is not used to transmit the second type of RDMA messages; or, when the first information is used to indicate that the PDU session is used to transmit the second type of RDMA messages and is not used to transmit the first type of RDMA messages, the session management network element determines the priority of the PDU session.

[0168] For example, if the PDU session is used to transmit first-class messages but not second-class messages, the session management network element determines the priority of the PDU session as high priority; if the PDU session is used to transmit second-class messages but not first-class messages, the session management network element determines the priority of the PDU session as low priority. The QoS flows included in the high-priority PDU session have higher priorities than the QoS flows included in the low-priority PDU session.

[0169] For example, when the PDU session is used to transmit the first type of messages but not for transmitting the second type of messages, the first type of messages can be transmitted through the first type of QoS flow of the PDU session, and the second type of messages can be transmitted through the second type of QoS flow of another PDU session; when the PDU session is used to transmit the second type of messages but not for transmitting the first type of messages, the second type of messages can be transmitted through the second type of QoS flow of the PDU session, and the first type of messages can be transmitted through the first type of QoS flow of another PDU session, that is, the first type of QoS flow and the second type of QoS flow are contained in different PDU sessions. In addition, the priority of the first type of QoS flow is higher than the priority of the second type of QoS flow.

[0170] S904: The session management network element sends a third message to the mobility management network element. Correspondingly, the mobility management network element receives the third message from the session management network element.

[0171] The third message is a response message to the second message. For example, the third message may be a PDU Session_Create Session Management Context Response message.

[0172] Exemplarily, the third message includes a PDU session identifier, priorities of the first and second QoS flows (corresponding to the first possible implementation in S903), a PDU session purpose or a PDU session priority (corresponding to the second possible implementation in S903).

[0173] S905, N4 session establishment / modification request and response.

[0174] Exemplarily, an N4 session can be understood as a session or transmission channel between a session management network element and a user plane network element. The session or transmission channel between the session management network element and the user plane network element can also have other names, that is, the N4 session can also have other names. This application does not specifically limit the name of the N4 session.

[0175] As a possible implementation, in step S905, the session management network element sends an N4 session establishment / modification request to the user plane network element. This N4 session establishment / modification request is used to provide the user plane network element with the packet detection, execution, and reporting rules required for the PDU session. It may also provide the priority of the QoS flow or PDU session determined in step S903 and request core network tunnel information (CN Tunnel Info) from the user plane network element. The core network tunnel information is the GTP-U tunnel information of the uplink data packet, such as the GTP-U tunnel identifier on the user plane network element side and the IP address information of the user plane network element.

[0176] After receiving the N4 session establishment / modification request from the session management network element, the user plane network element sends an N4 session establishment / modification response to the session management network element, which carries the N4 session establishment result and CN Tunnel Info.

[0177] S906. Transmission of N1N2 message (N1N2MessageTransfer).

[0178] For example, N1 can be understood as the interface between the terminal and the mobility management network element, and N2 can be understood as the interface between the RAN node and the mobility management network element. Of course, N1 and N2 can also have other names. This application does not specifically limit the names of the interfaces between the terminal and the mobility management network element and between the RAN node and the mobility management network element.

[0179] As a possible implementation, after receiving the N4 session establishment / modification response, the session management network element can send an N1N2 message transmission request to the mobility management network element. The request includes N2 session management information sent to the RAN node and an N1 session management container sent to the terminal.

[0180] Illustratively, the N2 session management information includes PDU Session Establishment Accept, the IP address allocated by the user plane network element to the terminal, etc. The N1 session management container includes the QoS flow identifier (QFI), QoS profile, CN Tunnel Info, etc.

[0181] After receiving the N1N2 message transmission request, the mobility management network element sends a response to the session management network element to confirm receipt of the N1N2 message transmission request.

[0182] S907: The mobility management network element sends a fourth message to the RAN node. Correspondingly, the RAN node receives the fourth message from the mobility management network element.

[0183] The fourth message includes a PDU session identifier for the terminal, a PDU session establishment acceptance message (including an N1 session management container), and N2 session management information. Exemplarily, the fourth message may be an N2 PDU session request message. The fourth message is a NAS message.

[0184] S908: The RAN node sends a fifth message to the terminal. Correspondingly, the terminal receives the fifth message from the RAN node.

[0185] The fifth message is used to indicate acceptance of the establishment of the PDU session. The fifth message may be, for example, a PDU Session Establishment Accept message. The fifth message includes an N1 session container. In addition, the RAN node also sends a PDU session identifier to the terminal.

[0186] Optionally, the RAN node also allocates access network tunnel information (AN Tunnel info) for the PDU session. The access network tunnel information is GTP-U tunnel information of the downlink data packet, such as GTP-U tunnel information and IP address information of the RAN node.

[0187] S909: The RAN node sends a sixth message to the mobility management network element. Correspondingly, the mobility management network element receives the sixth message from the RAN node.

[0188] The sixth message is a response message to the fourth message, including N2 session management information. The N2 session management information may include a PDU session identifier and access network tunnel information. Exemplarily, the sixth message may be an N2 PDU session response message.

[0189] S910 : The terminal and the RDMA server transmit RDMA messages through a PDU session.

[0190] For example, for the first possible implementation, the first type of message can be transmitted through the first type of QoS flow of the PDU session, and the second type of message can be transmitted through the second type of QoS flow of the PDU session. For the second possible implementation, one of the first type of message or the second type of message can be transmitted through the PDU session, and the other type of message can be transmitted through another PDU session, such as transmitting the first type of message through the first type of QoS flow of a certain PDU session, and transmitting the second type of message through the second type of QoS flow of another PDU session.

[0191] In one possible implementation, when a terminal and an RDMA server transmit RDMA messages via a PDU session, the RDMA message transmission path is RDMA server → user-plane network element → RAN node → terminal. After the RDMA message arrives at the user-plane network element, the user-plane network element can map the RDMA message to the corresponding QoS flow transmission of the corresponding PDU session based on the RDMA message information (such as the IP five-tuple or message type). For example, if the RDMA message is a Class I message, it is mapped to the Class I QoS flow transmission; if the RDMA message is a Class II message, it is mapped to the Class II QoS flow transmission.

[0192] Among them, the QoS flow is identified by a QoS flow index (QFI). The policy control function (PCF) network element / session management network element can configure a QoS template corresponding to the QFI to the user plane network element and / or the RAN node. The QoS template is used to define the latency, packet loss rate, priority, etc. of the QoS flow identified by the QFI. Exemplarily, in a 5G system, the QoS template is also called a 5G QoS identifier (5G QoS identifier, 5QI). In addition, the session management network element can configure the identifiers of the QoS flows included in the first category of QoS flows and / or the identifiers of the QoS flows included in the second category of QoS flows to the user plane network element and / or the RAN node.

[0193] For example, when the user-plane network element sends a QoS flow to the RAN node through the GTP-U tunnel, it can carry the QFI of the QoS flow. The RAN node can determine its corresponding QoS template and QoS flow type (first-class QoS flow or second-class QoS flow) through the QFI, thereby determining the priority of the QoS flow identified by the QFI, and then transmitting RDMA messages to the terminal based on the priority of the QoS flow, for example, giving priority to transmitting messages in high-priority QoS flows to the terminal. The RAN node transmits RDMA messages to the terminal through a computing radio bearer (CRB) or a data radio bearer (DRB).

[0194] Exemplarily, CRB can be understood as a transmission channel for transmitting computing data between the terminal and the RAN node. The RAN node does not need to forward the computing data received through the CRB to the user plane network element and the data network (DN). At the PDCP layer, the computing data carried by the CRB can be understood as a newly added PDCP data PDU, and the computing data can be handed over to the computing resources of the RAN node or the core network for further data processing. In one possible implementation, the terminal can generate an RDMA message based on the RDMA protocol stack, and then determine the first message based on the RDMA message based on the wireless communication protocol stack, and transmit the first message to the RDMA server through the PDU session. In other words, the first message is obtained based on the RDMA message. After receiving the first message, the RDMA server parses the RDMA message from the first message through the processing of the L1 and / or L2 protocol stack, and then processes the RDMA message through the RDMA link layer (optional), the RDMA network layer and the RDMA transport layer.

[0195] Exemplarily, when the RDMA protocol stack includes a transport layer, a network layer, and a link layer, for example, the protocol stack architecture is shown in Figure 7, generating an RDMA message based on the RDMA protocol stack may include: generating a transport layer message based on the transport layer in the RDMA protocol stack; generating a network layer message based on the transport layer message based on the network layer in the RDMA protocol stack; and generating a link layer message as the RDMA message based on the network layer message based on the link layer in the RDMA protocol stack.

[0196] Alternatively, when the RDMA protocol stack includes a transport layer, generating an RDMA message based on the RDMA protocol stack may include: generating a transport layer message based on the transport layer in the RDMA protocol stack; and determining the RDMA message based on the transport layer message. When the RDMA protocol stack also includes a network layer, such as the protocol stack architecture shown in FIG8 , determining the RDMA message based on the transport layer message may include: generating a network layer message as an RDMA message based on the transport layer message based on the network layer in the RDMA protocol stack. When the RDMA protocol stack does not include a network layer, determining the RDMA message based on the transport layer message may include: using the transport layer message as the RDMA message.

[0197] Exemplarily, generating the first message according to the RDMA message based on the wireless communication protocol stack may include: generating the first message according to the RDMA message based on the SDAP layer or the PDCP layer in the wireless communication protocol stack.

[0198] In one possible implementation, two GTP-U tunnels can be established between the RAN node and the user-plane network element: one for transmitting the first type of messages and the other for transmitting the second type of messages. Alternatively, the first type of messages and the second type of messages can reuse the same GTP-U tunnel. For details, see the description of the GTP-U tunnel between the RAN node and the user-plane network element in the methods described in FIG. 15 or FIG. 17 , which will not be further elaborated here.

[0199] In the above scheme, both RDMA management messages and data messages are transmitted on the user plane through PDU sessions. However, the transmission priority of management messages (such as SM management messages and CM management messages) is higher than the transmission priority of data messages, or the transmission priority of SM management messages is higher than the transmission priority of other messages (such as CM management messages and data messages). This allows SM management messages to be transmitted first, ensuring that RDMA control information can be transmitted to RDMA nodes in a timely manner, thereby improving remote memory read performance. In addition, the use of RDMA technology in wireless communication systems can reduce the CPU usage of terminals, RAN nodes, or core network elements in high-speed scenarios.

[0200] In addition, the present application also provides a communication method, in which the first type of RDMA message is transmitted through the control plane of the air interface, and the second type of RDMA message is transmitted through the user plane of the air interface. As shown in Figure 11, the communication method includes the following steps:

[0201] S1101: A first communication device determines a first radio bearer for carrying a first message, wherein the first message is obtained based on an RDMA message, which can be a first-category message or a second-category message.

[0202] The first type of message is a management message, such as an RDMA management message, such as an SM management message, a CM management message, or an SA management message, and the second type of message is a data message. Alternatively, the first type of message is a first type of management message used for subnet management, such as an SM management message, and the second type of message includes a second type of management message and / or a data message. The second type of management message is a management message other than the first type of management message, such as a management message used for communication management (i.e., a CM management message) or an SA management message.

[0203] In which, when the RDMA message used to generate the first message is a first type message, the first radio bearer is a signaling radio bearer (SRB); or, when the RDMA message is a second type message, the first radio bearer is a CRB or a DRB.

[0204] That is, management messages such as SM management messages and CM management messages are sent on SRBs, while RDMA data messages are sent on CRBs or DRBs. Alternatively, SM management messages are sent on SRBs, while other management messages (such as CM management messages) and data messages are sent on CRBs or DRBs.

[0205] Before step S1101, the first communication device further determines the first message. As a possible implementation, the first communication device may be a terminal. The first communication device determining the first message may include the first communication device generating the first message. In this case, the terminal may serve as an RDMA node.

[0206] As another possible implementation, the first communication device may be a RAN node. The first communication device determining the first message may include: the first communication device generating the first message; or the first communication device receiving the first message from a core network element (such as a user name element, etc.), in which case the first message may be considered to be generated by the core network element. In this possible implementation, when the first message is generated by a RAN node, the RAN node can be understood as an RDMA service provider, acting as an RDMA server, and the terminal can be understood as an RDMA node; when the first message is generated by a core network element, the core network element can be understood as an RDMA service provider, acting as an RDMA server, and the terminal can be understood as an RDMA node.

[0207] S1102: The first communication device sends a first message on a first radio bearer. Correspondingly, the second communication device receives the first message on the first radio bearer.

[0208] Exemplarily, the first communication device sends a first message to the second communication device on the first wireless bearer. When the first communication device is a terminal, the second communication device may be a RAN node. Furthermore, if the destination of the first message is a core network element, the RAN node also forwards the first message to the core network element; when the first communication device is a RAN node, the second communication device may be a terminal. Based on this solution, SM management messages or management messages such as SM and CM are transmitted through a high-priority control plane (such as SRB), and RDMA data messages are transmitted through a user plane (such as DRB or CRB), so that RDMA management control messages can be transmitted first, thereby ensuring that RDMA control information can be transmitted to the RDMA node in a timely manner, thereby improving remote memory reading performance.

[0209] In one possible implementation, in step S1101, if the first communication device is a RAN node, the RDMA message is a first-class management message, and the first message is generated by the RAN node, the RAN node can be considered to have subnet manager functionality. If the first communication device is a RAN node, the RDMA message is a first-class management message, and the first message is generated by a core network element, the core network element can be considered to have subnet manager functionality. Alternatively, if the first communication device is a RAN node, the RDMA message is a CM management message, and the first message is generated by the RAN node, the RAN node can be considered to function as an RDMA service provider or RDMA server.

[0210] In addition, when the core network element has the subnet manager function, the core network element can send the first type of management message to the RAN node via the next generation application protocol (NGAP). In this case, the RAN node acts as an RDMA node.

[0211] Exemplarily, the subnet manager functions include at least one of the following: discovering the physical topology of the subnet, allocating local identifiers (LIDs) of RDMA nodes / switches / routers, establishing potential paths between RDMA nodes, scanning the subnet to discover topology changes, managing the addition and deletion of RDMA nodes, etc.

[0212] Exemplarily, the first type of management message includes at least one of the following: information for obtaining or reading node attributes (such as subNGet), information for setting or writing node attributes (such as subNSet), or response information for read and write requests (such as subNGetResp).

[0213] Exemplarily, node attributes are used to indicate at least one of the following: node description information, node information, or subnet management information. Node information includes at least one of the following: management message version, subnet management version, or node type (e.g., channel adapter (CA) / switch / router). Subnet management information includes at least one of the following: a global unique identifier (GUID), a subnet management key, a subnet management status, or a priority.

[0214] For example, the GUID may refer to a globally unique identifier of an RDMA device (or RDMA node), which is assigned by the vendor during device manufacturing and can serve as an identifier for the RDMA device. The priority may refer to the priority of the subnet manager. The priority of the subnet manager can be configured by the master subnet manager.

[0215] Exemplarily, a CM management message may include at least one of the following: a global identifier, a transport layer identifier (such as a QPN, QPN ID, or QP Index), a key for RDMA transmission, or a key for RDMA reading and / or writing. For example, the global identifier is similar to the IP address of an RDMA node in the TCP / IP mechanism, and the transport layer identifier is used to indicate a queue pair (QP), which functions similarly to a transport layer port number in TCP / IP.

[0216] In a possible implementation, the terminal, the RAN node, or the core network element generates (or determines) the first message, which may include: generating an RDMA message based on the RDMA protocol stack; and determining the first message according to the RDMA message based on the wireless communication protocol stack.

[0217] As a possible implementation, the RDMA protocol stack includes a transport layer, a network layer, and a link layer. For example, the protocol stack architecture is shown in Figure 7. Generating an RDMA message based on the RDMA protocol stack may include: generating a transport layer message based on the transport layer in the RDMA protocol stack; generating a network layer message based on the transport layer message based on the network layer in the RDMA protocol stack; and generating a link layer message based on the network layer message as the RDMA message based on the link layer in the RDMA protocol stack.

[0218] In this implementation, the type of RDMA message can be distinguished by the link layer identifier of the RDMA message. For example, when the link layer identifier of the RDMA message is greater than or equal to the second value, the RDMA message is a first-class message; when the link layer identifier of the RDMA message is less than the second value, the RDMA message is a second-class message. Alternatively, when the link layer identifier of the RDMA message is less than the second value, the RDMA message is a first-class message; when the link layer identifier of the RDMA message is greater than or equal to the second value, the RDMA message is a second-class message. In this case, the first-class message corresponds to the first-class management message, and the second-class message corresponds to the second-class management message and / or data message.

[0219] Exemplarily, the link layer identifier may also be referred to as a layer 2 identifier. As shown in FIG12 , the link layer identifier may be, for example, a virtual channel number, and the second value may be 15. That is, when the virtual channel number is greater than or equal to 15, the RDMA message is a first-class management message; when the virtual channel number is less than 15, the RDMA message is a second-class management message and / or a data message. Of course, the link layer identifier may also be other link layer identifiers, and the second value may also be other values, and this application does not specifically limit this.

[0220] As another possible implementation, the RDMA protocol stack includes a transport layer. In this case, generating the RDMA message based on the RDMA protocol stack may include: generating a transport layer message based on the transport layer in the RDMA protocol stack; and determining the RDMA message based on the transport layer message.

[0221] When the RDMA protocol stack also includes a network layer, for example, as shown in the protocol stack architecture of FIG8 , determining the RDMA message based on the transport layer message may include: generating a network layer message as the RDMA message based on the transport layer message, based on the network layer in the RDMA protocol stack. When the RDMA protocol stack does not include a network layer, determining the RDMA message based on the transport layer message may include: using the transport layer message as the RDMA message.

[0222] In this scenario, the type of RDMA message can be distinguished by the transport layer identifier of the RDMA message. For example, when the transport layer identifier of the RDMA message is less than or equal to the first value, the RDMA message is a first-class message; when the transport layer identifier of the RDMA message is greater than the first value, the RDMA message is a second-class message. Alternatively, when the transport layer identifier of the RDMA message is greater than the first value, the RDMA message is a first-class message; when the transport layer identifier of the RDMA message is less than or equal to the first value, the RDMA message is a second-class message. In this case, the first-class message corresponds to the RDMA management message, and the second-class message corresponds to the RDMA data message.

[0223] Exemplarily, the transport layer identifier may also be referred to as a layer 4 identifier. As shown in FIG13 , the transport layer identifier may be, for example, a QPN, and the first value may be 1. That is, when the QPN is 0 or 1, the RDMA message is a management message, and when the QPN is greater than 1, the RDMA message is a data message. Of course, the transport layer identifier may also be other identifiers of the transport layer, and the first value may also be other values, and this application does not specifically limit this.

[0224] As a possible implementation, when the RDMA message is a first-category message, determining the first message based on the RDMA message based on the wireless communication protocol stack may include: generating the first message based on the RDMA message based on the RRC layer or the NAS layer in the wireless communication protocol stack. Furthermore, the first message is carried in an RRC container or a NAS container.

[0225] Exemplarily, when the first message is generated by the terminal and the destination of the first message is a RAN node, the terminal generates the first message based on the RDMA message based on the RRC layer in the wireless communication protocol stack, and the first message is carried in an RRC container. When the first message is generated by the terminal and the destination of the first message is a core network element, the terminal generates the first message based on the RDMA message based on the NAS layer in the wireless communication protocol stack, and the first message is carried in a NAS container.

[0226] When the first message is generated by a RAN node, the RAN node generates the first message based on the RDMA message based on the RRC layer in the wireless communication protocol stack, and the first message is carried in an RRC container. When the first message is generated by a core network element, the core network element generates the first message based on the RDMA message based on the NAS layer in the wireless communication protocol stack, and the first message is carried in a NAS container.

[0227] As another possible implementation, when the RDMA message is a second-class message, generating a first message according to the RDMA message based on the wireless communication protocol stack may include: generating a first message according to the RDMA message based on the SDAP layer or PDCP layer in the wireless communication protocol stack.

[0228] In a possible implementation, when the first communication device is a terminal, as shown in FIG14 , before step S1102 , the method further includes the following step S1100a , and further, may include S1100b - S1100c .

[0229] S1100a: The first communication device sends a seventh message to the second communication device. Correspondingly, the second communication device receives the seventh message from the first communication device.

[0230] The second communication device is a RAN node. The seventh message is used to request to establish an RRC connection. The seventh message includes a cause value for requesting to establish the RRC connection.

[0231] In the case where the RDMA message is a first-class message, the cause value for requesting to establish an RRC connection is a first cause value, which is used to trigger control plane transmission. Exemplarily, the first cause value is called party response (mt-access), calling party signaling access (mo-signaling), or RDMA signaling access.

[0232] When the RDMA message is a second type message, the cause value for requesting to establish an RRC connection is a second cause value, which is used to trigger user plane transmission. Exemplarily, the second cause value is data access (mo-data) or RDMA data access.

[0233] For example, RDMA signaling access or RDMA data access can be understood as a new cause value provided in this application. Of course, RDMA signaling access or RDMA data access can also have other names, and this application does not specifically limit the names.

[0234] The type of the RDMA message can be distinguished by the transport layer identifier or link layer identifier of the RDMA message. Please refer to the above related description and will not be repeated here.

[0235] S1100b: The second communication device sends an eighth message to the first communication device. Correspondingly, the first communication device receives the eighth message from the second communication device.

[0236] The eighth message is a response message to the seventh message, and is used to establish an RRC connection. Exemplarily, the eighth message is an RRC Setup message.

[0237] S1100c: The first communication device sends a ninth message to the second communication device. Correspondingly, the second communication device receives the ninth message from the first communication device.

[0238] The ninth message is used to indicate that the RRC connection establishment is complete. Exemplarily, the ninth message may be an RRC Setup Complete (RRCSetupComplete) message.

[0239] Optionally, after step S1100c, the RRC connection between the terminal and the RAN node is established, and the terminal can send the first message to the RAN node through the first radio bearer.

[0240] Based on the above solution, when the RDMA message is a first-class message, the terminal carries a first cause value for triggering control plane transmission in the RRC connection establishment request. When the RDMA message is a second-class message, the terminal carries a second cause value for triggering user plane transmission in the RRC connection establishment request. This enables control plane transmission when the RDMA message is a first-class message, carrying the first-class message via SRB; and enables user plane transmission when the RDMA message is a second-class message, carrying the second-class message via CRB or DRB. Ultimately, RDMA management and control messages are transmitted first, ensuring that RDMA control information can be transmitted to the RDMA node in a timely manner, improving remote memory read performance.

[0241] In addition to the above method, the present application also provides a communication method for implementing downlink transmission of RDMA data messages and management messages for communication management between core network elements (such as user plane network elements) and RAN nodes. As shown in Figure 15, the communication method includes the following steps:

[0242] S1501. A core network element determines a second message.

[0243] The second message is obtained based on the RDMA message. The RDMA message can be a second-class management message or a data message. The second-class management message is used for communication management, such as a CM management message.

[0244] Optionally, the core network element may serve as an RDMA service provider, an RDMA server, or an RDMA node. The core network element may be a user plane element, or may be an element capable of implementing user plane functions. The implementation of obtaining the second message based on the RDMA message may refer to the implementation of determining the first message based on the RDMA message described above, and will not be repeated here.

[0245] S1502: The core network element sends a second message through the GTP-U tunnel. Correspondingly, the RAN node receives the second message through the GTP-U tunnel.

[0246] As a possible implementation, when the RDMA message used to generate the second message is a second-type management message, the GTP-U tunnel is the first GTP-U tunnel; when the RDMA message used to generate the second message is a data message, the GTP-U tunnel is the second GTP-U tunnel.

[0247] The first GTP-U tunnel and the second GTP-U tunnel are different. That is, two types of GTP-U tunnels, such as GTP-U tunnel 1 and GTP-U tunnel 2, are established between the core network element and the RAN node to transmit the second type of RDMA management messages and data messages, respectively, as shown in Figure 16.

[0248] Exemplarily, the first GTP-U tunnel is of type 1, used to transmit RDMA type 2 management messages. The second GTP-U tunnel is of type 2, used to transmit RDMA data messages.

[0249] Alternatively, the identifier of the first GTP-U tunnel corresponds to the second type of management message, and the first GTP-U tunnel is used to transmit the second type of management message of RDMA. The identifier of the second GTP-U tunnel corresponds to the data message, and the second GTP-U tunnel is used to transmit the data message of RDMA.

[0250] The core network element can maintain the correspondence between the GTP-U tunnel type or the GTP-U tunnel identifier and the RDMA message type, so that when sending a message, the GTP-U tunnel corresponding to the RDMA message type is selected based on the GTP-U tunnel type or the correspondence to send the message.

[0251] As another possible implementation, regardless of whether the RDMA message used to generate the second message is a Class II management message or a data message, the core network element sends the second message through the same GTP-U tunnel. That is, the Class II management message and the data message of the RDMA are multiplexed in the same GTP-U tunnel.

[0252] S1503: The RAN node sends a second message on the second radio bearer. Correspondingly, the terminal sends a second message on the second radio bearer.

[0253] Wherein, when the RDMA message used to generate the second message is a second-type management message, the second radio bearer is an SRB; when the RDMA message is a data message, the second radio bearer is a CRB or a DRB. In addition, the terminal can serve as an RDMA node.

[0254] As a possible implementation, the RAN node may determine whether the RDMA message used to generate the second message is a second-type management message or a data message by receiving the second message through the GTP-U tunnel. Exemplarily, when the GTP-U tunnel is the first GTP-U tunnel, the RDMA message is a second-type management message; or, when the GTP-U tunnel is the second GTP-U tunnel, the RDMA message is a data message.

[0255] Exemplarily, the RAN node can maintain the correspondence between the type of the GTP-U tunnel or the GTP-U tunnel identifier and the RDMA message type, so that after receiving the second message through the GTP-U tunnel, it can determine that the RDMA message used to generate the second message is a second-class management message and / or data message based on the type of the GTP-U tunnel or the type of the RDMA message corresponding to the GTP-U tunnel.

[0256] As another possible implementation, when the second-class management message and the data message multiplex the GTP-U tunnel, the RAN node can determine whether the RDMA message is a second-class management message or a data message based on the transport layer identifier of the RDMA message that generates the second message.

[0257] For example, if the transport layer identifier of the RDMA message is less than or equal to the first value, the RDMA message is a second-class management message; alternatively, if the transport layer identifier of the RDMA message is greater than the first value, the RDMA message is a data message. Exemplarily, the transport layer identifier may also be referred to as a layer 4 identifier. The transport layer identifier may be, for example, a QPN, and the first value may be 1. Of course, the transport layer identifier may also be other identifiers of the transport layer, and the first value may also be other values, and this application does not specifically limit this.

[0258] The present application also provides a communication method for implementing uplink transmission of RDMA data messages and management messages for communication management between a core network element (such as a user plane element) and a RAN node. As shown in Figure 17, the communication method includes the following steps:

[0259] S1701. The terminal determines the third message.

[0260] The third message is obtained based on the RDMA message. The RDMA message can be a second-class management message or a data message. The second-class management message is used for communication management, such as a CM management message. The implementation of obtaining the third message based on the RDMA message can refer to the implementation of determining the first message based on the RDMA message, and will not be repeated here.

[0261] S1702: The terminal sends a third message on a third radio bearer. Correspondingly, the RAN node receives the third message on the third radio bearer.

[0262] When the RDMA message used to generate the third message is a second-type management message, the third radio bearer is an SRB; when the RDMA message is a data message, the third radio bearer is a CRB or a DRB.

[0263] S1703: The RAN node sends a third message through the GTP-U tunnel. Correspondingly, the core network element receives the third message through the GTP-U tunnel.

[0264] As a possible implementation, when the RDMA message used to generate the third message is a second-class management message, the GTP-U tunnel is the first GTP-U tunnel; when the RDMA message used to generate the third message is a data message, the GTP-U tunnel is the second GTP-U tunnel.

[0265] The first GTP-U tunnel and the second GTP-U tunnel are different. Please refer to the relevant description in the above step S1502, which will not be repeated here.

[0266] Exemplarily, the RAN node may maintain a correspondence between the type of the GTP-U tunnel or the GTP-U tunnel identifier and the RDMA message type, thereby selecting a GTP-U tunnel corresponding to the RDMA message type based on the type of the GTP-U tunnel or the correspondence to send the third message.

[0267] As another possible implementation, regardless of whether the RDMA message used to generate the third message is a Class-2 management message or a data message, the RAN node sends the third message through the same GTP-U tunnel. That is, the RDMA Class-2 management message and the data message are multiplexed in the same GTP-U tunnel.

[0268] Optionally, the RAN node may determine whether the RDMA message is a second-class management message or a data message based on the transport layer identifier of the RDMA message that generates the third message. For example, if the transport layer identifier of the RDMA message is less than or equal to the first value, the RDMA message is a second-class management message; or if the transport layer identifier of the RDMA message is greater than the first value, the RDMA message is a data message. For details, please refer to the relevant description in step S1503 above and will not be repeated here.

[0269] Based on the above solution, CM management messages are transmitted via a high-priority control plane (such as SRB), while RDMA data messages are transmitted via a user plane (such as DRB or SRB). This allows RDMA CM control messages to be transmitted first, ensuring that RDMA control information is delivered to RDMA nodes in a timely manner, improving remote memory read performance. Furthermore, separate GTP-U tunnels can be established between RAN nodes and core network elements for transmitting CM management messages and data messages, allowing them to be transmitted using different GTP-U tunnels. Alternatively, CM management messages and data messages can be reused over the GTP-U tunnel between RAN nodes and core network elements, reducing the complexity and overhead of establishing tunnels between RAN nodes and core network elements.

[0270] In a possible implementation, the method shown in FIG. 15 or FIG. 17 can be applied to the handshake link establishment process of RDMA CM between the terminal and the core network element, and the handshake link establishment process can be used for the terminal and the core network element to interact with QPC. For example, when GTP-U tunnels for transmitting Class II management messages and data messages are respectively established between the RAN node and the core network element, as shown in FIG. 18, the three-way handshake link establishment process includes the following steps:

[0271] S1801: A terminal sends a connection request (ConnectRequest) to a RAN node. Accordingly, the RAN node receives the connection request from the terminal and sends the connection request to a core network element. The core network element receives the connection request.

[0272] The connection request sent by the terminal to the RAN node may be carried on the SRB, and the RAN node may send the connection request to the core network element through the first GTP-U tunnel.

[0273] S1802: The core network element sends a connection reply (ConnectReply) to the RAN node. Correspondingly, the RAN node receives the connection reply from the core network element and sends the connection reply to the terminal.

[0274] The core network element may send a connection response to the RAN node through the first GTP-U tunnel. The RAN node may map the connection response to the SRB and send it to the terminal.

[0275] Exemplarily, the connection reply may include at least one of the following: a global identifier (Global Identifier), a transport layer identifier (such as QPN, QPNID, QP Index, etc.), a key for RDMA sending, or a key for RDMA reading and / or writing.

[0276] S1803: The terminal sends notification information to the RAN node. Correspondingly, the RAN node receives the notification information from the terminal and sends the notification information to the core network element. The core network element receives the notification information.

[0277] The notification information may be, for example, Ready To Use. The notification information may be used to indicate agreement with the parameters carried in the connection reply.

[0278] Optionally, after step S1803, the terminal and the core network element can perform data exchange. During data exchange, the RDMA data message is carried on the CRB or DRB over the air interface and transmitted between the RAN node and the core network element through the second GTP-U tunnel.

[0279] Exemplarily, when GTP-U tunnels for transmitting the second type of management messages and data messages are respectively established between the RAN node and the core network element, as shown in FIG19 , the two-way handshake link establishment process includes the following steps:

[0280] S1901: The terminal sends a Service ID Resolution Request to a RAN node. Accordingly, the RAN node receives the Service ID Resolution Request from the terminal and sends the Service ID Resolution Request to a core network element. The core network element receives the Service ID Resolution Request.

[0281] The service ID resolution request sent by the terminal to the RAN node may be carried in an SRB, and the RAN node may send the service ID resolution request to a core network element through the first GTP-U tunnel.

[0282] S1902: The core network element sends a service ID resolution response (Service ID Resolution Response) to the RAN node. Correspondingly, the RAN node receives the service ID resolution response from the core network element and sends the service ID resolution response to the terminal.

[0283] The core network element may send a service ID resolution response to the RAN node through the first GTP-U tunnel. The RAN node may map the connection service ID resolution response to an SRB and send it to the terminal.

[0284] Exemplarily, the service ID resolution response may include at least one of the following: a global identifier (Global Identifier), a transport layer identifier (such as QPN, QPN ID, QP Index, etc.), a key for RDMA sending, or a key for RDMA reading and / or writing.

[0285] Optionally, after step S1902, the terminal and the core network element can perform data exchange. During data exchange, the RDMA data message is carried on the CRB or DRB over the air interface and transmitted between the RAN node and the core network element through the second GTP-U tunnel.

[0286] For example, as shown in Figure 20, when the second-type management messages and data messages are multiplexed in the GTP-U tunnel, the three-way handshake link establishment process is similar to that in Figure 18, except that the transmission between the RAN node and the core network element is carried out through the GTP-U tunnel that multiplexes the second-type management messages and data messages. Similarly, as shown in Figure 21, the two-way handshake establishment process is similar to that in Figure 19, except that the transmission between the RAN node and the core network element is carried out through the GTP-U tunnel that multiplexes the second-type management messages and data messages.

[0287] In a possible implementation, when the RAN node acts as an RDMA service provider, or an RDMA server, or an RDMA node, in the methods shown in Figures 15 to 21 above, the interaction between the RAN node and the core network device may not be performed, and the interaction between the terminal and the RAN node is still applicable.

[0288] The method provided in this application is described above. In addition, this application also provides a communication device for implementing the functions described in the above method embodiments.

[0289] It is understandable that, in order to realize the above functions, the communication device includes hardware structures and / or software modules corresponding to the execution of each function. It should be easily appreciated by those skilled in the art that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0290] The embodiment of the present application can divide the functional modules of the communication device according to the above method embodiment. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The above integrated modules can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical functional division. In actual implementation, there may be other division methods.

[0291] Communication Device Figure 22 shows a schematic structural diagram of a communication device 220. The communication device 220 includes a processing module 2201 and a transceiver module 2202. The communication device 220 can be used to implement the functions of the above-mentioned terminal, RAN node, or core network element.

[0292] In some embodiments, the communication device 220 may further include a storage module (not shown in FIG. 22 ) for storing program instructions and data.

[0293] In some embodiments, the transceiver module 2202, which may also be referred to as a transceiver unit, is configured to implement a transmitting and / or receiving function. The transceiver module 2202 may be composed of a transceiver circuit, a transceiver, a transceiver, or a communication interface.

[0294] In some embodiments, the transceiver module 2202 may include a receiving module and a sending module, which are respectively used to execute the receiving and sending steps performed by the terminal or RAN node or core network element in the above method embodiments, and / or used to support other processes of the technology described in this document; the processing module 2201 may be used to execute the processing steps performed by the terminal or RAN node or core network element in the above method embodiments, and / or used to support other processes of the technology described in this document.

[0295] When the communication device 220 is used to implement the functions of the terminal:

[0296] The transceiver module 2202 is used to send a first message, wherein the first message is used to request the establishment of a protocol data unit (PDU) session, and the PDU session is used to transmit a remote direct memory access (RDMA) message. The transceiver module 2202 is also used to receive a second message, and the second message is used to indicate the acceptance of the establishment of the PDU session. The first message includes first information, and the first information is used to indicate the type of RDMA message transmitted by the PDU session. The type of RDMA message includes a first type of message and a second type of message, and the transmission priority of the first type of message is higher than the transmission priority of the second type of message. The first type of message is a management message, and the second type of message is a data message, or the first type of message is a first type of management message, and the second type of message includes a second type of management message and / or a data message, and the first type of management message is used for subnet management.

[0297] When the communication device 220 is used to implement the function of a RAN node, in a possible implementation manner:

[0298] The transceiver module 2202 is used to receive a first message, wherein the first message is used to request the establishment of a protocol data unit (PDU) session, and the PDU session is used to transmit a remote direct memory access (RDMA) message. The transceiver module 2202 is also used to send a second message, and the second message is used to indicate the acceptance of the establishment of the PDU session. The first message includes first information, and the first information is used to indicate the type of RDMA message transmitted by the PDU session. The type of RDMA message includes a first type of message and a second type of message, and the transmission priority of the first type of message is higher than the transmission priority of the second type of message. The first type of message is a management message, and the second type of message is a data message, or the first type of message is a first type of management message, and the second type of message includes a second type of management message and / or a data message, and the first type of management message is used for subnet management.

[0299] In another possible implementation:

[0300] The transceiver module 2202 is configured to receive a first message through a General Packet Radio Service Tunneling Protocol user plane (GTP-U) tunnel, where the first message is obtained based on a Remote Direct Memory Access (RDMA) message. The transceiver module 2202 is further configured to send the first message on a first radio bearer. Wherein, if the RDMA message is a first-class management message, the first radio bearer is a signaling radio bearer (SRB), and the first-class management message is used for communication management; or, if the RDMA message is a data message, the first radio bearer is a computing radio bearer (CRB) or a data radio bearer (DRB).

[0301] In yet another possible implementation:

[0302] The transceiver module 2202 is configured to receive a first message on a first radio bearer, where the first message is obtained based on a remote direct memory access (RDMA) message. The transceiver module 2202 is further configured to send the first message via a General Packet Radio Service Tunneling Protocol (GTP-U) user plane tunnel. Where the RDMA message is a first-class management message, the first radio bearer is a signaling radio bearer (SRB), and the first-class management message is used for communication management. Alternatively, where the RDMA message is a data message, the first radio bearer is a computing radio bearer (CRB) or a data radio bearer (DRB).

[0303] When the communication device 220 is used to implement the function of the first communication device, and the first communication device is a terminal or a RAN node:

[0304] The processing module 2201 is configured to determine a first radio bearer for carrying a first message, where the first message is obtained based on a remote direct memory access (RDMA) message. The transceiver module 2202 is configured to send the first message on the first radio bearer. Specifically, when the RDMA message is a first-class message, the first radio bearer is a signaling radio bearer (SRB), or, when the RDMA message is a second-class message, the first radio bearer is a computing radio bearer (CRB) or a data radio bearer (DRB). Specifically, the first-class message is a management message, and the second-class message is a data message, or the first-class message is a first-class management message, the second-class message includes a second-class management message and / or a data message, and the first-class management message is used for subnet management.

[0305] Optionally, the processing module 2201 is further configured to generate an RDMA message based on the RDMA protocol stack; the processing module 2201 is further configured to determine the first message according to the RDMA message based on the wireless communication protocol stack.

[0306] Optionally, the RDMA protocol stack includes a transport layer, a network layer, and a link layer. Processing module 2201 is configured to generate an RDMA message based on the RDMA protocol stack, including: processing module 2201 configured to generate a transport layer message based on the transport layer in the RDMA protocol stack; processing module 2201 further configured to generate a network layer message based on the transport layer message based on the network layer in the RDMA protocol stack; processing module 2201 further configured to generate a link layer message as an RDMA message based on the network layer message based on the link layer in the RDMA protocol stack.

[0307] Optionally, the RDMA protocol stack includes a transport layer. The processing module 2201 is configured to generate an RDMA message based on the RDMA protocol stack, including: the processing module 2201 is configured to generate a transport layer message based on the transport layer in the RDMA protocol stack; and the processing module 2201 is further configured to determine the RDMA message based on the transport layer message.

[0308] Optionally, the processing module 2201 is used to determine the RDMA message based on the transport layer message, including: the processing module 2201 is used to use the transport layer message as the RDMA message; or, the processing module 2201 is used to generate a network layer message as the RDMA message based on the transport layer message based on the network layer in the RDMA protocol stack.

[0309] Optionally, the transceiver module 2202 is further configured to send a first message, the first message being used to request establishment of an RRC connection, the first message including a cause value for requesting establishment of the RRC connection. Wherein, when the RDMA message is a first type message, the cause value is a first cause value, and the first cause value is used to trigger control plane transmission; when the RDMA message is a second type message, the cause value is a second cause value, and the second cause value is used to trigger user plane transmission.

[0310] When the communication device 220 is used to implement the function of a core network element, in a possible implementation manner:

[0311] The processing module 2201 is configured to determine a first message, where the first message is obtained based on a Remote Direct Memory Access (RDMA) message. The transceiver module 2202 is configured to send the first message via a General Packet Radio Service Tunneling Protocol (GTP-U) user plane tunnel. If the RDMA message is a first-type management message, the GTP-U tunnel is a first GTP-U tunnel, where the first-type management message is used for communication management. Alternatively, if the RDMA message is a data message, the GTP-U tunnel is a second GTP-U tunnel.

[0312] In another possible implementation:

[0313] The transceiver module 2202 is configured to receive a first message via a General Packet Radio Service Tunneling Protocol user plane (GTP-U) tunnel, where the first message is obtained based on a Remote Direct Memory Access (RDMA) message. If the RDMA message is a first-type management message, the GTP-U tunnel is a first GTP-U tunnel, where the first-type management message is used for communication management. Alternatively, if the RDMA message is a data message, the GTP-U tunnel is a second GTP-U tunnel.

[0314] Among them, all relevant contents of each step involved in the above method embodiment can be referred to the functional description of the corresponding functional module and will not be repeated here.

[0315] In the present application, the communication device 220 may be presented in the form of functional modules divided in an integrated manner. The "module" here may refer to a specific application-specific integrated circuit (ASIC), a circuit, a processor and memory that executes one or more software or firmware programs, an integrated logic circuit, and / or other devices that can provide the above functions.

[0316] In some embodiments, when the communication device 220 in Figure 22 is a chip or a chip system, the function / implementation process of the transceiver module 2202 can be implemented through the input and output interface (or communication interface) of the chip or chip system, and the function / implementation process of the processing module 2201 can be implemented through the processor (or processing circuit) of the chip or chip system.

[0317] Since the communication device 220 provided in this embodiment can execute the above method, the technical effects that can be obtained can refer to the above method embodiments and will not be repeated here.

[0318] As a possible product form, the terminal or RAN node or core network element described in the embodiments of the present application can be implemented using the following: one or more field programmable gate arrays (FPGAs), programmable logic devices (PLDs), controllers, state machines, gate logic, discrete hardware components, any other suitable circuits, or any combination of circuits capable of performing the various functions described throughout this application.

[0319] As another possible product form, the terminal or RAN node described in the embodiment of the present application can be implemented by a general bus architecture. For ease of explanation, refer to Figure 23, which is a structural diagram of a communication device 2300 provided in an embodiment of the present application. The communication device 2300 includes a processor 2301 and a transceiver 2302. The communication device 2300 can be a terminal, or a chip or chip system therein; or, the communication device 2300 can be a RAN node, or a chip or module therein. Figure 23 only shows the main components of the communication device 2300. In addition to the processor 2301 and the transceiver 2302, the communication device can further include a memory 2303 and an input and output device (not shown in the figure).

[0320] Optionally, the processor 2301 is primarily used to process communication protocols and communication data, as well as to control the entire communication device, execute software programs, and process data from software programs, thereby implementing the methods provided in the above-mentioned method embodiments. The memory 2303 is primarily used to store software programs and data. The transceiver 2302 may include a radio frequency circuit and an antenna. The radio frequency circuit is primarily used to convert baseband signals into radio frequency signals and to process radio frequency signals. The antenna is primarily used to transmit and receive radio frequency signals in the form of electromagnetic waves. Input and output devices, such as a touch screen, display screen, and keyboard, are primarily used to receive data input by a user and output data to the user.

[0321] Optionally, the processor 2301, the transceiver 2302, and the memory 2303 may be connected via a communication bus.

[0322] When the communication device is powered on, the processor 2301 can read the software program in the memory 2303, interpret and execute the instructions of the software program, and process the data of the software program. When data needs to be sent wirelessly, the processor 2301 performs baseband processing on the data to be sent and outputs the baseband signal to the radio frequency circuit. The radio frequency circuit performs radio frequency processing on the baseband signal and then transmits the radio frequency signal to the outside in the form of electromagnetic waves through the antenna. When data is sent to the communication device, the radio frequency circuit receives the radio frequency signal through the antenna, converts the radio frequency signal into a baseband signal, and outputs the baseband signal to the processor 2301. The processor 2301 converts the baseband signal into data and processes the data.

[0323] In another implementation, the RF circuit and antenna may be provided independently of the processor performing baseband processing. For example, in a distributed scenario, the RF circuit and antenna may be remotely arranged independent of the communication device.

[0324] In some embodiments, in terms of hardware implementation, those skilled in the art may conceive that the above-mentioned communication device 220 may take the form of the communication device 2300 shown in FIG. 23 .

[0325] As an example, the functions / implementation process of the processing module 2201 in FIG22 can be implemented by the processor 2301 in the communication device 2300 shown in FIG23 calling the computer-executable instructions stored in the memory 2303. The functions / implementation process of the transceiver module 2202 in FIG22 can be implemented by the transceiver 2302 in the communication device 2300 shown in FIG23.

[0326] As another possible product form, the terminal, RAN node, or core network element in this application may adopt the structure shown in Figure 24, or include the components shown in Figure 24. Figure 24 is a schematic diagram of the structure of a communication device 2400 provided in this application. The communication device 2400 may be a terminal, a chip, or a system-on-chip in a terminal; or a RAN node, a module, a chip, or a system-on-chip in a RAN node; or a core network element, a module, a chip, or a system-on-chip in a core network element.

[0327] As shown in FIG24 , the communication device 2400 includes at least one processor 2401 and at least one communication interface ( FIG24 is merely an example of one communication interface 2404 and one processor 2401). Optionally, the communication device 2400 may further include a communication bus 2402 and a memory 2403.

[0328] Processor 2401 can be a general-purpose central processing unit (CPU), a general-purpose processor, a network processor (NP), a digital signal processor (DSP), a microprocessor, a microcontroller, a programmable logic device (PLD), or any combination thereof. Processor 2401 can also be other devices with processing capabilities, such as circuits, devices, or software modules, without limitation.

[0329] Communication bus 2402 is used to connect the various components in communication device 2400, enabling communication between them. Communication bus 2402 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, for example. This bus can be categorized as an address bus, a data bus, a control bus, and so on. For ease of illustration, FIG24 shows a single bold line, but this does not imply that there is only one bus or type of bus.

[0330] Communication interface 2404 is used to communicate with other devices or communication networks. Exemplarily, communication interface 2404 can be a module, circuit, transceiver, or any other device capable of communication. Optionally, communication interface 2404 can also be an input / output interface within processor 2401, used to implement signal input and output to the processor.

[0331] The memory 2403 may be a device with a storage function, used to store instructions and / or data, wherein the instructions may be computer programs.

[0332] Exemplarily, the memory 2403 may be a read-only memory (ROM) or other types of static storage devices that can store static information and / or instructions, or a random access memory (RAM) or other types of dynamic storage devices that can store information and / or instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, etc., without limitation.

[0333] It should be noted that the memory 2403 can exist independently of the processor 2401 or can be integrated with the processor 2401. The memory 2403 can be located within the communication device 2400 or outside the communication device 2400, without limitation. The processor 2401 can be used to execute instructions stored in the memory 2403 to implement the methods provided in the following embodiments of the present application.

[0334] As an optional implementation, the communication device 2400 may further include an output device 2405 and an input device 2406. The output device 2405 communicates with the processor 2401 and can display information in a variety of ways. For example, the output device 2405 can be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. The input device 2406 communicates with the processor 2401 and can receive user input in a variety of ways. For example, the input device 2406 can be a mouse, a keyboard, a touch screen device, or a sensor device.

[0335] In some embodiments, in terms of hardware implementation, those skilled in the art may conceive that the communication device 220 shown in FIG. 22 may take the form of the communication device 2400 shown in FIG. 24 .

[0336] As an example, the functions / implementation process of the processing module 2201 in FIG22 can be implemented by the processor 2401 in the communication device 2400 shown in FIG24 calling the computer-executable instructions stored in the memory 2403. The functions / implementation process of the transceiver module 2202 in FIG22 can be implemented by the communication interface 2404 in the communication device 2400 shown in FIG24.

[0337] It should be noted that the structure shown in Figure 24 does not constitute a specific limitation on the terminal or RAN node. For example, in other embodiments of the present application, the terminal or RAN node may include more or fewer components than shown, or some components may be combined or separated, or arranged differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

[0338] In some embodiments, an embodiment of the present application further provides a communication device, which includes a processor for implementing the method in any of the above method embodiments.

[0339] As a possible implementation, the communication device further includes a memory. The memory is used to store necessary computer programs and data. The computer program may include instructions, and the processor may invoke the instructions in the computer program stored in the memory to instruct the communication device to execute any of the above-described method embodiments. Of course, the memory may not be located in the communication device.

[0340] As another possible implementation, the communication device also includes an interface circuit, which is a code / data read / write interface circuit, and the interface circuit is used to receive computer execution instructions (computer execution instructions are stored in a memory, may be read directly from the memory, or may pass through other devices) and transmit them to the processor.

[0341] As another possible implementation, the communication device further includes a communication interface, where the communication interface is used to communicate with a module outside the communication device.

[0342] It can be understood that the communication device can be a chip or a chip system. When the communication device is a chip system, it can be composed of chips or include chips and other discrete devices. The embodiments of the present application do not specifically limit this.

[0343] The present application also provides a computer-readable storage medium having a computer program or instruction stored thereon, which implements the functions of any of the above method embodiments when executed by a computer.

[0344] The present application also provides a computer program product, which implements the functions of any of the above method embodiments when executed by a computer.

[0345] Those skilled in the art will appreciate that, for the sake of convenience and brevity of description, the specific working processes of the above-described systems, devices, and units may refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0346] It is understood that the systems, devices, and methods described in this application may also be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection shown or discussed may be through some interface, indirect coupling or communication connection of devices or units, and may be electrical, mechanical, or other forms.

[0347] The units described as separate components may or may not be physically separate, i.e., they may be located in one place or distributed across multiple network units. Components shown as units may or may not be physical units. Some or all of these units may be selected to achieve the objectives of this embodiment as needed.

[0348] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0349] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware, or any combination thereof. When implemented using a software program, all or part of the embodiments may be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more media integrated therein. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a DVD), or a semiconductor medium (eg, a solid state drive (SSD)). In the embodiment of the present application, the computer may include the aforementioned device.

[0350] Although the present application is described herein in conjunction with various embodiments, in the process of implementing the claimed application, those skilled in the art can understand and implement other changes to the disclosed embodiments by reviewing the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude multiple situations. A single processor or other unit can implement several functions listed in the claims. Certain measures are recorded in different dependent claims, but this does not mean that these measures cannot be combined to produce good results.

[0351] Although the present application has been described with reference to specific features and embodiments thereof, it is apparent that various modifications and combinations may be made thereto without departing from the scope of the present application. Accordingly, this specification and the drawings are merely illustrative of the present application as defined by the appended claims and are deemed to cover any and all modifications, variations, combinations or equivalents within the scope of the present application. Obviously, those skilled in the art may make various modifications and variations to the present application without departing from the scope of the present application. Thus, the present application is intended to include such modifications and variations as fall within the scope of the claims of the present application and their equivalents.

Claims

1. A communication method based on remote direct memory access, characterized in that The method includes: Sending a first message, where the first message is used to request the establishment of a protocol data unit (PDU) session for transmitting remote direct memory access (RDMA) packets. The first message includes first information for indicating the type of RDMA packets transmitted by the PDU session. The types of RDMA packets include first - type packets and second - type packets, and the transmission priority of the first - type packets is higher than that of the second - type packets. Among them, the first - type packets are management packets, and the second - type packets are data packets, or the first - type packets are first - type management packets, and the second - type packets include second - type management packets and / or data packets, and the first - type management packets are used for subnet management; Receiving a second message, where the second message is used to indicate acceptance of the establishment of the PDU session.

2. A communication method based on Remote Direct Memory Access, characterized in that, The method includes: Receiving a first message, where the first message is used to request the establishment of a protocol data unit (PDU) session for transmitting remote direct memory access (RDMA) packets. The first message includes first information for indicating the type of RDMA packets transmitted by the PDU session. The types of RDMA packets include first - type packets and second - type packets, and the transmission priority of the first - type packets is higher than that of the second - type packets. Among them, the first - type packets are management packets, and the second - type packets are data packets, or the first - type packets are first - type management packets, and the second - type packets include second - type management packets and / or data packets, and the first - type management packets are used for subnet management; Sending a second message, where the second message is used to indicate acceptance of the establishment of the PDU session.

3. The method according to claim 1 or 2, characterized in that The first - type packets are transmitted through the first - type quality of service (QoS) flow of the PDU session, and the second - type packets are transmitted through the second - type QoS flow of the PDU session. The priority of the first - type QoS flow is higher than that of the second - type QoS flow.

4. The method according to any one of claims 1 to 3, characterized in that, The first message further includes second information for indicating that the category of the PDU session is an RDMA session.

5. The method according to any one of claims 1-4, characterized in that, The first information includes the transport - layer identifier of the RDMA packet; When the transport - layer identifier is less than or equal to a first value, the type of the RDMA packet transmitted by the PDU session is the management packet; When the transport - layer identifier is greater than the first value, the type of the RDMA packet transmitted by the PDU session is the data packet.

6. The method according to any one of claims 1 to 4, characterized in that, The first information includes the link - layer identifier of the RDMA packet; When the link - layer identifier is greater than or equal to a second value, the type of the RDMA packet transmitted by the PDU session is the first - type management packet; When the link - layer identifier is less than the second value, the type of the RDMA packet transmitted by the PDU session is the second - type management packet and / or the data packet.

7. A communication method based on remote direct memory access, characterized in that, The method includes: Determine a first radio bearer for carrying a first message, where the first message is obtained based on a Remote Direct Memory Access (RDMA) message; Transmit the first message on the first radio bearer; when the RDMA message is a first type of message, the first radio bearer is a Signaling Radio Bearer (SRB), or when the RDMA message is a second type of message, the first radio bearer is a Compute Radio Bearer (CRB) or a Data Radio Bearer (DRB); where the first type of message is an administrative message, the second type of message is a data message, or the first type of message is a first type of administrative message, the second type of message includes a second type of administrative message and / or a data message, and the first type of administrative message is used for subnet management.

8. The method according to claim 7, characterized in that The method further includes: Generate the RDMA message based on an RDMA protocol stack; Based on a wireless communication protocol stack, determine the first message according to the RDMA message.

9. The method according to claim 8, wherein The RDMA protocol stack includes a transport layer, a network layer, and a link layer; The generating the RDMA message based on the RDMA protocol stack includes: Generate a transport layer message based on the transport layer in the RDMA protocol stack; Based on the network layer in the RDMA protocol stack, generate a network layer message according to the transport layer message; Based on the link layer in the RDMA protocol stack, generate a link layer message according to the network layer message as the RDMA message.

10. The method according to any one of claims 7 to 9, characterized in that When the link layer identifier of the RDMA message is greater than or equal to a second value, the RDMA message is the first type of administrative message; When the link layer identifier of the RDMA message is less than the second value, the RDMA message is the second type of administrative message and / or data message.

11. The method according to claim 8, wherein The RDMA protocol stack includes a transport layer, and the generating the RDMA message based on the RDMA protocol stack includes: Generate a transport layer message based on the transport layer in the RDMA protocol stack; Determine the RDMA message according to the transport layer message.

12. The method according to claim 11, wherein The determining the RDMA message according to the transport layer message includes: Use the transport layer message as the RDMA message; or, Based on the network layer in the RDMA protocol stack, generate a network layer message according to the transport layer message as the RDMA message.

13. The method according to any one of claims 7, 8, 11, or 12, wherein When the transport layer identifier of the RDMA message is less than or equal to a first value, the RDMA message is the administrative message; or, When the transport layer identifier of the RDMA message is greater than the first value, the RDMA message is the data message.

14. The method according to any one of claims 7 - 13, characterized in that, When the RDMA message is the first type of message, the first message is carried in a Radio Resource Control (RRC) container or a Non-Access Stratum (NAS) container.

15. The method according to any one of claims 7-14, characterized in that, The method further includes: Transmit a first message, where the first message is used to request the establishment of an RRC connection, and the first message includes a cause value for requesting the establishment of the RRC connection. Wherein, when the RDMA message is the first type of message, the cause value is the first cause value, and the first cause value is used to trigger control plane transmission; when the RDMA message is the second type of message, the cause value is the second cause value, and the second cause value is used to trigger user plane transmission.

16. The method according to claim 15, wherein the first cause value is at least one of called response, calling signaling access, or RDMA signaling access, and / or, the second cause value is data access or RDMA data access.

17. A communication method based on remote direct memory access, characterized in that, The method includes: receiving a first message through a General Packet Radio Service Tunneling Protocol User Plane (GTP-U) tunnel, where the first message is obtained based on a Remote Direct Memory Access (RDMA) message; sending the first message on a first radio bearer; when the RDMA message is a first type of management message, the first radio bearer is a Signaling Radio Bearer (SRB), and the first type of management message is used for communication management; or, when the RDMA message is a data message, the first radio bearer is a Compute Radio Bearer (CRB) or a Data Radio Bearer (DRB).

18. The method according to claim 17, wherein when the GTP-U tunnel is a first GTP-U tunnel, the RDMA message is a first type of management message; or when the GTP-U tunnel is a second GTP-U tunnel, the RDMA message is a data message.

19. The method according to claim 17, wherein when the transport layer identifier of the RDMA message is less than or equal to a first value, the RDMA message is a first type of management message; or when the transport layer identifier of the RDMA message is greater than the first value, the RDMA message is a data message.

20. A communication method based on remote direct memory access, characterized in that, The method includes: determining a first message, where the first message is obtained based on a Remote Direct Memory Access (RDMA) message; sending the first message through a General Packet Radio Service Tunneling Protocol User Plane (GTP-U) tunnel; when the RDMA message is a first type of management message, the GTP-U tunnel is a first GTP-U tunnel, and the first type of management message is used for communication management; or, when the RDMA message is a data message, the GTP-U tunnel is a second GTP-U tunnel.

21. A communication method based on Remote Direct Memory Access, characterized in that, The method includes: receiving a first message on a first radio bearer, where the first message is obtained based on a Remote Direct Memory Access (RDMA) message; when the RDMA message is a first type of management message, the first radio bearer is a Signaling Radio Bearer (SRB), and the first type of management message is used for communication management; or, when the RDMA message is a data message, the first radio bearer is a Compute Radio Bearer (CRB) or a Data Radio Bearer (DRB); sending the first message through a General Packet Radio Service Tunneling Protocol User Plane (GTP-U) tunnel.

22. The method according to claim 21, wherein When the RDMA message is a first type of management message, the GTP-U tunnel is a first GTP-U tunnel; or, When the RDMA message is a data message, the GTP-U tunnel is a second GTP-U tunnel.

23. The method according to claim 21 or 22, wherein When the transport layer identifier of the RDMA message is less than or equal to a first value, the RDMA message is a first type of management message; or, When the transport layer identifier of the RDMA message is greater than the first value, the RDMA message is a data message.

24. A communication method based on Remote Direct Memory Access, characterized in that, The method includes: Receiving a first message through a General Packet Radio Service Tunneling Protocol User Plane (GTP-U) tunnel, the first message being obtained based on a Remote Direct Memory Access (RDMA) message; when the RDMA message is a first type of management message, the GTP-U tunnel is a first GTP-U tunnel, and the first type of management message is used for communication management; or, when the RDMA message is a data message, the GTP-U tunnel is a second GTP-U tunnel.

25. The method according to any one of claims 18, 20, 22, or 24, wherein The type of the first GTP-U tunnel is a first type, and the first type of GTP-U tunnel is used to transmit the first type of management message of RDMA; or, The type of the second GTP-U tunnel is a second type, and the second type of GTP-U tunnel is used to transmit the data message of RDMA.

26. The method according to any one of claims 18, 20, 22, or 24, wherein The identifier of the first GTP-U tunnel corresponds to the first type of management message, and the first GTP-U tunnel is used to transmit the first type of management message of RDMA; or, The identifier of the second GTP-U tunnel corresponds to the data message, and the second GTP-U tunnel is used to transmit the data message of RDMA.

27. A communication device, characterized in that, The communication device includes a module for executing the method according to any one of claims 1-26.

28. A communication device, characterized in that, The communication device includes a processor; the processor is configured to run a computer program or instruction so that the communication device executes the method according to any one of claims 1-26.

29. A computer-readable storage medium, characterized in that, A computer-readable storage medium stores computer instructions or programs, and when the computer instructions or programs are run on a computer, the method according to any one of claims 1-26 is executed.

30. A computer program product, characterized in that, The computer program product includes computer instructions; when some or all of the computer instructions are run on a computer, the method according to any one of claims 1-26 is executed.

Citation Information

Patent Citations

  • Communication method and device based on remote direct memory access

    CN120358268A

  • Network congestion control method and device

    CN111817977A

  • Network and edge acceleration tile (NEXT) architecture

    CN115516832A

  • Congestion control for remote direct-memory access (RDMA) in next-generation cellular networks

    WO2022170214A1

Cited By

  • Data processing method and device for artificial intelligence scene and storage medium

    CN121750404A