A message processing method and related apparatus
By using transport layer protocols with different reliability to process data packets in the data stream, the problem of varying reliability in the transmission of different types of packets is solved, and efficient decoding and transmission of the data stream are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-01-29
- Publication Date
- 2026-04-03
AI Technical Summary
In existing technologies, different types of data packets in the same data stream cannot meet their differentiated requirements for transmission reliability. This results in the loss of I-frames causing significant data loss, while the loss of B/P frames has a smaller impact. The transmission mechanism cannot balance overall transmission speed and decoding reliability.
By using transport layer protocols with different levels of reliability to process data packets in the same data stream, critical packets use highly reliable transport layer protocols (such as TCP), while non-critical packets use less reliable protocols (such as UDP), and by combining decoding unit identifiers and reception times, the decoding order and reliability are ensured.
It achieves differentiated processing of transmission reliability for different data packets, improves the overall decoding accuracy and transmission efficiency of data streams, and avoids transmission bottlenecks caused by a single protocol.
Smart Images

Figure CN115918251B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, specifically to a message processing method and related apparatus. Background Technology
[0002] Generally, a terminal device can only process the corresponding data stream after acquiring and decoding a data packet containing a data stream. Typically, the sending end of the data stream (e.g., the server side) uses an encoding technique to encode the data stream, and the terminal device uses a corresponding decoding technique to decode the data packet. A common technique is the I / B / P frame-based encoding and decoding technique. This technique defines a group of pictures (GOP) as a set of several consecutive frames, divided into I-frames, P-frames, and B-frames. These are defined as follows:
[0003] I-frame: An intra-coded frame, usually the first frame of each GOP, moderately compressed, serving as a reference point for random access, and can be considered as an image. An I-frame can be viewed as the compressed product of an image.
[0004] P-frame: Forward predictive coded frame, a coded image that compresses the amount of data transmitted by fully utilizing the temporal redundancy information of the previously coded frames in the image sequence; also called a predictive frame.
[0005] B-frame: Bidirectional predictive interpolation coded frame. It is a coded image that compresses the amount of data transmitted by taking into account both the temporal redundancy between the source image sequence and the previously coded frames and the later coded frames in the source image sequence. It is also called a bidirectional predictive frame.
[0006] The decoder based on this encoding technology identifies the header information in the data packet to recognize I / B / P frames. One possible implementation is that the decoder identifies the frame type based on the header information. Considering that in I / B / P frame encoding, each frame has a fixed beginning (4 bytes), followed by 2 bits indicating the frame type: 00 for I-frame, 01 for P-frame, and 10 for B-frame, the decoder can identify the frame type accordingly. It is understandable that within a GOP, I-frames can be decoded independently, B-frames require reference to the previous I-frame, or the previous P-frame and the following P-frame, and P-frames require reference to the previous I-frame or B-frame to be decoded. If an I-frame transmission fails, the decoding of B and P frames in the GOP containing that I-frame will also be affected, potentially leading to significant data loss and a substantial impact. If a B or P frame is lost, it generally only affects the current B or P frame, or a few frames within the GOP, with a smaller impact on the overall playback of the data stream. Therefore, transmitting data packets of different frame types has different requirements for transmission reliability.
[0007] For data streams acquired by terminal devices, there are new challenges in how to better meet the different requirements for transmission reliability of different types of data packets in the data stream. Summary of the Invention
[0008] This application provides a message processing method and related apparatus that can utilize the differentiated processing of data messages at the transport layer to meet the differentiated transmission reliability requirements of different data messages.
[0009] A first aspect of this application provides a message processing method, which may include: establishing a first transport layer protocol between a terminal device and a first network element, and establishing a second transport layer protocol between a terminal device and a second network element, wherein the reliability of the first transport layer protocol is higher than that of the second transport layer protocol, and the first network element and the second network element may be the same or different; the terminal device sending a data stream request to an application network element to obtain a corresponding data stream; the terminal device receiving a first message sent through the first transport layer protocol, and receiving a second message sent through the second transport layer protocol, wherein the first message is a critical message in the data stream, and the second message is a non-critical message in the data stream; and the terminal device decoding the first message and the second message.
[0010] It should be noted that the first message mentioned above, being a critical message in the data stream, can be understood as a data message that can be independently decoded within the data stream, such as an I-frame in I / B / P frame coding technology or a basic layer in layered coding technology. Alternatively, it can be understood as a data message that, in some cases, cannot be independently decoded but has high requirements for transmission reliability, such as a B / P frame in I / B / P frame coding technology. The second message mentioned above, being a non-critical message in the data stream, can be understood as a data message in the same data stream as the first message that requires a critical message in the same data stream to be decoded, such as a B / P frame in I / B / P frame coding technology or an enhancement layer in layered coding technology. Alternatively, it can be understood as a data message that can be independently decoded but has lower requirements for transmission reliability, such as an I-frame in I / B / P frame coding technology. Therefore, through the above method, the terminal device receives the first message (critical message) sent through a reliable transport layer protocol and the second message (non-critical message) sent through an unreliable transport layer protocol, and decodes the first message and the second message to obtain the corresponding data stream information. This enables the use of the transport layer's differentiated processing of data messages, thus realizing the differentiated requirements of different data messages for transmission reliability.
[0011] Optionally, in some examples, the method further includes: the first message containing a first decoding unit identifier, and the second message containing a second decoding unit identifier.
[0012] It should be noted that the first decoding unit identifier identifies the decoding unit where the first message is located, and the second decoding unit identifier identifies the decoding unit where the second message is located. Furthermore, the described decoding unit can be understood as the smallest unit within which data messages depend on each other; data messages from different decoding units are independent of each other during decoding. Additionally, the first and second decoding unit identifiers can be the same or different. When the first and second decoding unit identifiers are the same, it indicates that the first and second messages originate from the same decoding unit within the same data stream. When the first and second decoding unit identifiers are different, it indicates that the first and second messages originate from different decoding units within the same data stream.
[0013] Optionally, in other examples, the terminal device decoding the first message and the second message may include: the terminal device determining a first time when the first message is received and a second time when the second message is received; the terminal device decoding the first message and the second message based on the first time, the second time, the first decoding unit identifier, and the second decoding unit identifier.
[0014] It should be noted that the aforementioned "first moment" is understood as the moment when the first message arrives at the terminal device, and the "second moment" is the moment when the second message arrives at the terminal device. Furthermore, the first decoding unit identifier identifies the decoding unit where the first message is located, and the second decoding unit identifier identifies the decoding unit where the second message is located; moreover, for the same decoding unit, the decoding of the second message may depend on the decoding of the first message. Therefore, the terminal device also needs to determine the first moment when it receives the first message and the second moment when it receives the second message, and then combine the first decoding unit identifier and the second decoding unit identifier to decode the first and second messages, ensuring that no decoding errors occur during the subsequent decoding of the second message.
[0015] Optionally, in other examples, the terminal device decodes the first message and the second message based on the first time, the second time, the first decoding unit identifier, and the second decoding unit identifier. This may include: when the first decoding unit identifier and the second decoding unit identifier are the same, when the first time is later than the second time, the terminal device buffers the second message, and decodes the first message and the second message after receiving the first message.
[0016] It should be noted that the terminal device decodes the first and second messages based on the first time, the second time, the first decoding unit identifier, and the second decoding unit identifier. Specifically, this can include four scenarios: the first and second decoding unit identifiers are the same, but the first time is later than the second time; the first and second decoding unit identifiers are the same, but the first time is earlier than the second time; the first and second decoding unit identifiers are different, but the first time is later than the second time; and the first and second decoding unit identifiers are different, but the first time is earlier than the second time. Taking the first scenario as an example, if the first time is later than the second time, it means the terminal device received the second message first, followed by the first message. This also reflects that the second message received earlier might fail to decode due to the absence of the first message. Therefore, in the scenario where the first and second decoding unit identifiers are the same, but the first time is later than the second time, the terminal device should first buffer the second message until it receives the first message sent via the first transport layer protocol. Then, it should decode the first message and the buffered second message to avoid incorrect decoding of the second message during the decoding process.
[0017] Optionally, in other examples, the terminal device receiving a first message sent via the first transport layer protocol and receiving a second message sent via the second transport layer protocol may include: the terminal device receiving the first message sent by the first network element based on the first transport layer protocol; and the terminal device receiving the second message sent by the second network element based on the second transport layer protocol.
[0018] It should be noted that the first network element described can be an application network element or a user plane function network element; the second network element can be either an application network element or a user plane function network element, without limitation here. Furthermore, the terminal device receiving a first message sent via a first transport layer protocol and receiving a second message sent via a second transport layer protocol can include the following four scenarios: the terminal device receives a first message sent by an application network element via a first transport layer protocol and receives a second message sent by an application network element via a second transport layer protocol; the terminal device receives a first message sent by a user plane function network element via a first transport layer protocol and receives a second message sent by a user plane function network element via a second transport layer protocol; the terminal device receives a first message sent by a user plane function network element via a first transport layer protocol and receives a second message sent by an application network element via a second transport layer protocol; the terminal device receives a first message sent by an application network element via a first transport layer protocol and receives a second message sent by a user plane function network element via a second transport layer protocol, without further specific explanation here.
[0019] Secondly, this application provides another message processing method, which may include: an application network element receiving a data stream request sent by a terminal device to obtain a corresponding data stream; the application network element determining the corresponding data stream based on the data stream request; the application network element sending a first message to the terminal device through a first transport layer protocol and sending a second message to the terminal device through a second transport layer protocol, wherein the first message is a critical message in the data stream, the second message is a non-critical message in the data stream, and the reliability of the first transport layer protocol is higher than that of the second transport layer protocol.
[0020] Thirdly, this application provides another message processing method, which may include: an application network element receiving a data stream request sent by a terminal device to obtain a corresponding data stream; the application network element determining the corresponding data stream based on the data stream request; the application network element sending a first message and a second message, wherein the first message is a key message in the data stream, the second message is a non-key message in the data stream, the first message includes a first decoding unit identifier, and the second message includes a second decoding unit identifier.
[0021] Optionally, in other examples, the method may further include: the application network element sending a differentiated transmission request to the policy control network element, the differentiated transmission request being used to indicate that the data stream has a differentiated transmission requirement.
[0022] Fourthly, this application provides another message processing method, which may include: a user plane function network element receiving a data packet sent by an application network element through a first transport layer protocol or a second transport layer protocol, wherein the reliability of the first transport layer protocol is higher than that of the second transport layer protocol; the user plane function network element identifying the type of the data packet, wherein the type of the data packet is a first message or a second message, wherein the first message is a critical message and the second message is a non-critical message; the user plane function network element sending the first message to a terminal device through the first transport layer protocol and / or sending the second message to the terminal device through the second transport layer protocol.
[0023] In this way, after receiving the data packet sent by the application network element and identifying the data packet, the user plane function network element sends the first packet (critical packet) to the terminal device through a reliable transport layer protocol and sends the second packet (non-critical packet) to the terminal device through an unreliable transport layer protocol, thus realizing the differentiated requirements of different data packets for transmission reliability.
[0024] Optionally, in other examples, the method may further include: the first message containing a first decoding unit identifier, and the second message containing a second decoding unit identifier.
[0025] Optionally, in other examples, the method may further include: the user plane function network element receiving second information sent by the session management network element, the second information being used to instruct the user plane function network element to determine the type of the data packet, and to instruct the user plane function network element to send the first packet through the first transport layer protocol, and / or send the second packet through the second transport layer protocol.
[0026] Fifthly, this application provides another message processing method, which may include: a session management network element receiving first information from a policy control network element, the first information indicating that the data stream has differentiated transmission requirements; the session management network element sending second information to the user plane function network element, the second information instructing the user plane function network element to determine the type of the data packet, the data packet type being a first packet or a second packet, the first packet being a critical packet and the second packet being a non-critical packet; and instructing the user plane function network element to send the first packet through a first transport layer protocol and / or send the second packet through a second transport layer protocol, wherein the reliability of the first transport layer protocol is higher than that of the second transport layer protocol.
[0027] Optionally, in other examples, the method may further include: the first message containing a first decoding unit identifier, and the second message containing a second decoding unit identifier.
[0028] Sixthly, embodiments of this application provide a terminal device, which may include: a first processing unit, configured to establish a first transport layer protocol between the terminal device and a first network element, and to establish a second transport layer protocol between the terminal device and a second network element, wherein the reliability of the first transport layer protocol is higher than that of the second transport layer protocol, and the first network element and the second network element may be the same or different; a first sending unit, configured to send a data stream request to an application network element to obtain a corresponding data stream; a first receiving unit, configured to receive a first message sent through the first transport layer protocol, and to receive a second message sent through the second transport layer protocol, wherein the first message is a critical message in the data stream, and the second message is a non-critical message in the data stream; and the first processing unit, configured to decode the first message and the second message.
[0029] Optionally, in some examples, the first message contains a first decoding unit identifier, and the second message contains a second decoding unit identifier.
[0030] Optionally, in other examples, the first processing unit is used for:
[0031] Determine the first moment when the first message is received and the second moment when the second message is received;
[0032] Based on the first time point, the second time point, the first decoding unit identifier, and the second decoding unit identifier, decode the first message and the second message.
[0033] Optionally, in other examples, the first processing unit is configured to: when the first decoding unit identifier is the same as the second decoding unit identifier, when the first time is later than the second time, buffer the second message, and decode the first message and the second message after receiving the first message.
[0034] Optionally, in other examples, the first receiving unit is used for:
[0035] Based on the first transport layer protocol, the first message sent by the first network element is received;
[0036] Based on the second transport layer protocol, the second message sent by the second network element is received.
[0037] In a seventh aspect, embodiments of this application provide an application network element, which may include: a second receiving unit, configured to receive a data stream request sent by a terminal device for obtaining a corresponding data stream; a second processing unit, configured to determine a corresponding data stream based on the data stream request; and a third sending unit, configured to send a first message to the terminal device via a first transport layer protocol and a second message to the terminal device via a second transport layer protocol, wherein the first message is a critical message in the data stream, the second message is a non-critical message in the data stream, and the reliability of the first transport layer protocol is higher than that of the second transport layer protocol.
[0038] Eighthly, this application embodiment provides another application network element, which may include: a third receiving unit, configured to receive a data stream request sent by a terminal device for obtaining a corresponding data stream; a third processing unit, configured to determine a corresponding data stream according to the data stream request; and a third sending unit, configured to send a first message and a second message, wherein the first message is a critical message in the data stream, the second message is a non-critical message in the data stream, the first message includes a first decoding unit identifier, and the second message includes a second decoding unit identifier.
[0039] Optionally, in other examples, the third transmitting unit is further configured to:
[0040] A differentiated transmission request is sent to the policy control network element, the differentiated transmission request being used to indicate that the data stream has differentiated transmission requirements.
[0041] Ninthly, embodiments of this application provide a user plane function network element, which may include: a fourth receiving unit, configured to receive data packets sent by an application network element via a first transport layer protocol or a second transport layer protocol, wherein the reliability of the first transport layer protocol is higher than that of the second transport layer protocol; a fourth processing unit, configured to identify the type of the data packet, wherein the type of the data packet is a first packet or a second packet, wherein the first packet is a critical packet and the second packet is a non-critical packet; and a fourth sending unit, configured to send the first packet to a terminal device via the first transport layer protocol and / or send the second packet to the terminal device via the second transport layer protocol.
[0042] Optionally, in other examples, the first message includes a first decoding unit identifier, and the second message includes a second decoding unit identifier.
[0043] Optionally, in other examples, the fourth receiving unit is further configured to: receive first information sent by the session management network element, the first information being used to instruct the user plane function network element to determine the type of the data packet, and to instruct the user plane function network element to send the first packet through the first transport layer protocol, and / or send the second packet through the second transport layer protocol.
[0044] In a tenth aspect, embodiments of this application provide a session management network element, which may include: a fifth receiving unit, configured to receive second information from a policy control network element, the second information indicating that the data stream has differentiated transmission requirements; and a fifth sending unit, configured to send first information to the user plane function network element, the first information instructing the user plane function network element to determine the type of a data packet, the type of the data packet being a first packet or a second packet, the first packet being a critical packet and the second packet being a non-critical packet, and instructing the user plane function network element to send the first packet through a first transport layer protocol and / or send the second packet through a second transport layer protocol, wherein the reliability of the first transport layer protocol is higher than that of the second transport layer protocol.
[0045] Optionally, in other examples, the first message includes a first decoding unit identifier, and the second message includes a second decoding unit identifier.
[0046] Eleventhly, embodiments of this application provide a terminal device, which may include: a memory for storing computer-readable instructions. It may also include a processor coupled to the memory for executing the computer-readable instructions in the memory to perform the methods described in the first aspect and any possible implementation thereof.
[0047] In a twelfth aspect, embodiments of this application provide an application network element that may include: a memory for storing computer-readable instructions. It may also include a processor coupled to the memory for executing the computer-readable instructions in the memory to perform the methods described in any of the second, third, or any possible implementations of the third aspect.
[0048] In a thirteenth aspect, embodiments of this application provide a user plane function network element, which may include: a memory for storing computer-readable instructions. It may also include a processor coupled to the memory for executing the computer-readable instructions in the memory to perform the methods described in the fourth aspect and any possible implementation thereof.
[0049] In a fourteenth aspect, embodiments of this application provide a session management network element, which may include: a memory for storing computer-readable instructions. It may also include a processor coupled to the memory for executing the computer-readable instructions in the memory to perform the methods described in the fifth aspect and any possible implementation thereof.
[0050] The fifteenth aspect of this application provides a computer-readable storage medium that, when instructions are executed on a computer device, causes the computer device to perform the method described in any of the possible embodiments of the first to fifth aspects.
[0051] The sixteenth aspect of this application provides a computer program product that, when run on a computer, enables the computer to perform the methods described in any of the possible implementations of the first to fifth aspects.
[0052] The seventeenth aspect of this application provides a chip system that may include a processor for supporting a terminal device or server in implementing the functions involved in the methods described in any of the possible embodiments of the first to fifth aspects.
[0053] Optionally, in conjunction with the seventeenth aspect above, in a first possible implementation, the chip system may further include a memory for storing necessary program instructions and data for the terminal device. The chip system may be composed of chips or may include chips and other discrete devices. The chip system may include application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices. Furthermore, the chip system may also include interface circuits, etc.
[0054] It should be noted that the beneficial effects of the embodiments of the sixth, eleventh, and fifteenth to seventeenth aspects of this application described above can be understood with reference to the embodiments of the first aspect, and will not be repeated here.
[0055] The beneficial effects of the embodiments of the seventh, twelfth, and fifteenth to seventeenth aspects of this application described above can be understood with reference to the embodiments of the second aspect, and will not be repeated here.
[0056] The beneficial effects of the embodiments of the present application in aspects eight, twelfth, and fifteenth to seventeenth described above can be understood with reference to the embodiments of aspect three, and will not be repeated here.
[0057] The beneficial effects of the embodiments of the ninth, thirteenth, and fifteenth to seventeenth aspects of this application described above can be understood with reference to the embodiments of the fourth aspect, and will not be repeated here.
[0058] The beneficial effects of the embodiments described above in aspects ten, fourteen, and fifteen to seventeen of this application can be understood with reference to the embodiments in aspect five, and will not be repeated here.
[0059] As can be seen from the above technical solutions, the embodiments of this application have the following advantages:
[0060] In the technical solution provided in this application embodiment, the terminal device receives a first message sent through a reliable transport layer protocol and a second message sent through an unreliable transport layer protocol, and decodes the first message and the second message to obtain the corresponding data stream information, so as to utilize the differentiated processing of data messages by the transport layer and realize the differentiated requirements of different data messages for transmission reliability. Attached Figure Description
[0061] Figure 1 This is a schematic diagram of a decoding process;
[0062] Figure 2 A schematic diagram of a system architecture provided for an embodiment of this application;
[0063] Figure 3 A schematic diagram illustrating a message processing method provided in an embodiment of this application;
[0064] Figure 4 A schematic diagram illustrating a message processing method provided in an embodiment of this application;
[0065] Figure 5 A schematic diagram illustrating another message processing method provided in an embodiment of this application;
[0066] Figure 6 A schematic diagram illustrating another message processing method provided in an embodiment of this application;
[0067] Figure 7 A schematic diagram illustrating another message processing method provided in an embodiment of this application;
[0068] Figure 8 This is a schematic diagram of the hardware structure of a computer device provided in an embodiment of this application;
[0069] Figure 9 This is a schematic diagram of the structure of a terminal device provided in an embodiment of this application;
[0070] Figure 10 This is a schematic diagram of the structure of an application network element provided in an embodiment of this application;
[0071] Figure 11 This is a schematic diagram of another application network element provided in an embodiment of this application;
[0072] Figure 12 A schematic diagram of the structure of a user plane function network element provided in an embodiment of this application;
[0073] Figure 13 This is a schematic diagram of the structure of a session management network element provided in an embodiment of this application. Detailed Implementation
[0074] This application provides a message processing method and related apparatus that can utilize the differentiated processing of data messages at the transport layer to meet the differentiated transmission reliability requirements of different data messages.
[0075] The technical solutions of the embodiments of this application will now be described with reference to the accompanying drawings. It should be understood that the terms "comprising" and "including" used in the specification and claims of this application indicate the presence of the described features, integrals, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or sets thereof. It should also be understood that the terminology used in this specification is merely for the purpose of describing specific embodiments and is not intended to limit the scope of this application.
[0076] Generally, during data stream processing, a terminal device needs to acquire and decode the data packets containing the data stream before it can play the corresponding data stream. During data packet decoding, the terminal device typically uses a decoder based on I / B / P encoding technology to identify the header information of the data packet, thus recognizing I / B / P frames. Furthermore, I-frames within the same GOP can be decoded independently, while B-frames and P-frames depend on I-frames for decoding. If an I-frame transmission fails during decoding, the decoding of B-frames and P-frames within the GOP containing that I-frame is also affected, leading to significant data loss and a substantial impact. Therefore, reliable transport layer protocols (e.g., TCP) are generally used to transmit I-frames. If a B-frame or P-frame is lost, it typically only affects the current B-frame or P-frame, or a few frames within the GOP, with a smaller impact on the overall playback of the data stream. Therefore, unreliable transport layer protocols (e.g., UDP) are generally used to transmit B-frames or P-frames. For example, see [link to relevant documentation]. Figure 1 This is a schematic diagram of a decoding process. From Figure 1 As can be seen, this GOP is a unit with a length of 15 frames. From its decoding order, it can be seen that the decoding of B-frames and P-frames depends on I-frames, and I-frames need to appear in the first position of this GOP in order to ensure that B-frames or P-frames are not lost in subsequent decoding.
[0077] It should be noted that the encoding technology mentioned in this invention only uses Advanced Video Coding (MPEG-4, Part 10, MPEG-4 AVC) as an example. Encoding technologies can also include Scalable Video Coding (MPEG-4 SVC), VP8 / VP9, etc. MPEG-4 SVC utilizes enhancement layers and a base layer to encode and decode data packets.
[0078] However, in related technologies, all data packets for the same data stream are transmitted using the same transport layer protocol. This limitation is detrimental to meeting the differentiated transmission needs of different packets. As a concrete example, let's illustrate this problem with the Real-Time Streaming Protocol (RTSP). RTSP allows the transport layer to use one of two protocols to transmit packets: the reliable Transmission Control Protocol (TCP) or the unreliable User Datagram Protocol (UDP). If all packets are transmitted via TCP, a retransmission mechanism is triggered when the transmission of a packet corresponding to a B / P frame fails, resulting in a slower overall transmission speed. Although this reduces the packet loss rate of B / P frames, the impact of B / P frame packet loss on decoding is relatively small, so this reduction in packet loss rate at the expense of overall transmission speed is often considered not worthwhile. If all packets are transmitted via UDP, the risk of I-frame packet loss increases. Although the overall transmission speed is improved by eliminating the need for retransmission, the impact of I-frame packet loss on decoding is significant, so retransmission is often considered beneficial even at the cost of lower transmission speed. Therefore, this mechanism cannot meet the different reliability requirements of different data packets in the same data stream.
[0079] Therefore, in order to solve the technical problems described above, this application provides a message processing method, which aims to transmit different types of data messages in the same data stream through at least two different transport layer protocols, so as to meet the different transmission reliability requirements of different data messages in the same data stream.
[0080] It should be noted that the message processing method provided in this application can be applied to 4G networks, 5G networks, or other future 6G networks, communication systems, etc. The 5G network structure applicable to this application will be introduced below with reference to the accompanying drawings.
[0081] Fourth-generation (4G) and fifth-generation (5G) networks can both be referred to as mobile networks. From a service perspective, a mobile network can include a radio access network (RAN) and a core network (CN). The RAN can be connected to the CN. The RAN is responsible for user access, while the CN is responsible for service processing. The RAN includes, but is not limited to, base stations. The 5G network structure applicable to this application is described below with reference to the accompanying diagram.
[0082] Figure 2 This is a schematic diagram of a system architecture provided for an embodiment of this application.
[0083] like Figure 2 As shown, this system architecture is a schematic diagram of the 5G network system architecture. This system architecture not only supports access to the core network side by radio technologies defined by the 3GPP standard group, but also supports non-3GPP access technologies to access the core network side through non-3GPP interworking function (N3IWF), next generation packet data gateway (ngPDG), fixed network access gateway, or trusted non-3GPP access gateway.
[0084] Figure 2 In this context, user equipment (UE), radio access network (RAN), user plane function (UPF) network elements, and data network (DN) are generally referred to as user layer network functions or entities. User data traffic can be transmitted through the data transmission channel established between the UE and the DN.
[0085] UE, also known as terminal equipment, can include: handheld terminals, laptops, subscriber units, cellular phones, smartphones, wireless data cards, personal digital assistant (PDA) computers, tablet computers, wireless modems, handheld devices, laptop computers, cordless phones, wireless local loop (WLL) stations, machine-type communication (MTC) terminals, or other devices capable of accessing the network. The UE communicates with access network equipment using some form of air interface technology.
[0086] The access network (AN), also known as the radio access network (RAN) in specific applications, consists of access network equipment and is responsible for user equipment access. In 5G networks, the RAN equipment can be next-generation (NG) RAN equipment or evolved universal terrestrial radio access network (E-UTRAN) equipment. A 5G network can connect to both types of access network equipment simultaneously. In this embodiment, the RAN can be a next-generation NodeB (gNB) or a next-generation evolved NodeB (ng-eNB). The gNB provides the UE with new radio (NR) user plane and control plane functions, while the ng-eNB provides the UE with evolved universal terrestrial radio access (E-UTRA) user plane and control plane functions. It should be noted that gNB and ng-eNB are merely names used to indicate base stations supporting 5G network systems and are not intended to be restrictive.
[0087] A data network (DN) can be an external network of an operator or a network controlled by the operator, used to provide services to users. A UE can access the DN by connecting to the operator's network and use services provided by the operator or third parties on the DN.
[0088] Figure 2 In this network structure, the Session Management Function (SMF) network element is primarily responsible for user plane network element selection, user plane network element redirection, Internet Protocol (IP) address allocation, bearer establishment, modification, and release. The Access and Mobility Management Function (AMF) network element is mainly responsible for signaling processing, such as access control, mobility management, attach and detach, and network element selection. The User Plane Function (UPF) network element is primarily responsible for processing data packets, such as forwarding and charging statistics.
[0089] Specifically, such as Figure 2As shown, the User Equipment (UE) can connect to the AMF network element via the RAN. The AMF network element connects to the SMF network element, the Unified Data Management (UDM) network element, etc., the SMF network element connects to the UPF network element, and the UPF network element connects to the DN. The interfaces and connections in the system architecture can include: N1, N2, N3, N4, and N6. Specifically, N1 is the control plane connection between the UE and the AMF network element, used to transmit control signaling between the UE and the core network control plane. Messages in the N1 connection can be transmitted via the connection between the UE and the RAN, or via the N2 connection between the RAN and the AMF network element. N2 is the control plane connection between the RAN and the AMF network element. N3 is the connection between the RAN and the UPF network element. N4 is the connection between the SMF network element and the UPF network element, used to transmit control signaling between them. N6 is the connection between the UPF network element and the DN.
[0090] In addition, core network functions or entities may also include policy control function (PCF) network elements, which primarily support providing a unified policy framework to control network behavior, providing policy rules to control layer network functions, and acquiring user subscription information related to policy decisions. Application function (AF) network elements primarily support interaction with the 3rd Generation Partner Project (3GPP) core network to provide services, such as influencing data routing decisions, policy control, or providing third-party services to the network side. Network slice selection function (NSSF) network elements are mainly used for network slice selection. Authentication server function (AUSF) network elements primarily provide authentication and authorization functions. Unified data management (UDM) can be used for location management and subscription management.
[0091] It is worth noting that the Application Controller (AF) and the Application Server (AS) can be co-located. The AF interacts with the control plane of the core network, while the AS interacts with user plane functional network elements or terminal devices. Information between the AF and AS is generally considered shared. For example, if the AF learns of a UE's data transmission needs, it is assumed that the AS is aware of these needs without requiring additional steps to inform the AS. The application network elements mentioned in this invention can specifically refer to the AF and / or the AS.
[0092] The interfaces and connections in the system architecture may include: N5, N7, N8, N9, N10, N11, N12, N13, N14, N15, and N22. Specifically, N5 is the control plane connection between the PCF network element and the AF network element, used to transmit control signaling between them; N7 is the control plane connection between the SMF network element and the PCF network element, used to transmit control signaling between them; N8 is the control plane connection between the AMF network element and the UDM network element, used to transmit control signaling between them; and N10 is the control plane connection between the UDM network element and the SMF network element, used to transmit control signaling between them. N11 is the control plane connection between AMF and SMF network elements, used to transmit control signaling between AMF and SMF network elements; N12 is the control plane connection between AMF and AUSF network elements; N13 is the control plane connection between AUSF and UDM network elements; N15 is the control plane connection between AMF and PCF network elements, used to transmit control signaling between SMF and UPF network elements; N22 is the control plane connection between NSSF and AMF network elements.
[0093] The above describes the system architecture of 5G networks and the system architecture of 3GPP networks in message transmission systems. However, it's understandable that some network elements in 5G networks functionally correspond to those in 4G networks, for example: Figure 2 The SMF network element in the corresponding network architecture can correspond to the packet data network gateway-control (PGW-C) or serving gateway-control (SGW-C) in the 4G network. Figure 2 The corresponding UPF network element in the network architecture can correspond to the packet data network gateway user plane (PGW-U) or the serving gateway control plane (SGW-U) in the 4G network. Figure 2 The PCF network element in the corresponding network architecture can correspond to the policy and charging rules function (PCRF) in the 4G network; Figure 2 The AMF network element in the corresponding network architecture can correspond to the mobility management entity (MME) in the 4G network; while Figure 2The NEF network element in the corresponding network architecture can also correspond to the service capability exposure function (SCEF) in the 4G network; Figure 2 In the corresponding network architecture, DN corresponds to the packet data network (PDN) in 4G networks.
[0094] It should be noted that the message processing method provided in this application can be applied not only to the network architectures of the aforementioned 4G and 5G networks, but also to future 6G networks, communication systems, etc., without further explanation.
[0095] For a better understanding of this application, please refer to Figure 3 The following is a schematic diagram of a message processing method provided in an embodiment of this application:
[0096] 301. A first transport layer protocol is established between the terminal device and the first network element, and a second transport layer protocol is established between the terminal device and the second network element. The reliability of the first transport layer protocol is higher than that of the second transport layer protocol. The first network element and the second network element may be the same or different.
[0097] In the example, the establishment of a first transport layer protocol between the terminal device and the first network element, and the establishment of a second transport layer protocol between the terminal device and the second network element, typically involve at least the following situations:
[0098] The first scenario: When both the first and second network elements are application network elements, the terminal device can establish both the first and second transport layer protocols with the application network elements. (Subsequent...) Figure 5 The Chinese military will provide a detailed introduction to the information interaction process between terminal devices and application network elements, which will not be elaborated here.
[0099] The second approach: When both the first and second network elements are user plane function network elements, the terminal device can establish both the first and second transport layer protocols with the user plane function network elements. (Subsequent...) Figure 6 The general secretary will provide a detailed introduction to the information interaction process between terminal equipment and user plane functional network elements, which will not be elaborated here.
[0100] The third type: When the first network element is a user plane function network element and the second network element is an application network element, the terminal device can establish a first transport layer protocol with the user plane function network element and a second transport layer protocol with the application network element. (Subsequent...) Figure 7 The article will provide a detailed introduction to the information interaction process between terminal equipment, user plane function network elements, and application network elements, which will not be elaborated here.
[0101] The fourth scenario: When the first network element is an application network element and the second network element is a user plane function network element, the terminal device can establish a first transport layer protocol with the application network element and a second transport layer protocol with the user plane function network element. This scenario is similar to the third scenario mentioned above, with the difference being... Figure 7 Additional explanation is provided below.
[0102] Furthermore, the reliability of first-layer transport protocols is higher than that of second-layer transport protocols. In other words, the first-layer transport protocols mentioned above can be understood as reliable transport protocols, meaning they can possess high reliability, such as TCP and Stream Control Transmission Protocol (SCTP). The second-layer transport protocols can be understood as unreliable transport protocols, such as UDP and Data Grammar Congestion Control Protocol (DCCP), etc., without further clarification here.
[0103] 302. The terminal device sends a data stream request to the application network element to obtain the corresponding data stream.
[0104] In the example, since the application network element stores the corresponding data stream, when the terminal device needs to play corresponding data based on the data stream, it can send a data stream request to the application network element. This allows the application network element to determine the corresponding data stream based on the data stream request and then send it back to the terminal device in the form of a data packet. It should be noted that the aforementioned data stream request may include, but is not limited to, requests for video streams and image streams; this is not a limitation here.
[0105] 303. The terminal device receives a first message sent through a first transport layer protocol and a second message sent through a second transport layer protocol, wherein the first message is a critical message in the data stream and the second message is a non-critical message in the data stream.
[0106] In the example, the first message mentioned above, which is a key message in the data stream, can be understood as a data message that can be independently decoded within the data stream, such as an I-frame in I / B / P frame coding technology or a basic layer in layered coding technology. Alternatively, it can be understood as a data message that, in some cases, cannot be independently decoded but has high requirements for transmission reliability, such as a B / P frame in I / B / P frame coding technology. Therefore, after establishing a highly reliable first transport layer protocol, the terminal device can receive the first message sent through this first transport layer protocol, thereby ensuring that the first message can be transmitted in a reliable environment.
[0107] Similarly, the aforementioned second message being a non-critical message in the data stream can be understood as a data message that, within the same data stream as the first message, requires a critical message in the same data stream to be decoded. Examples include B / P frames in I / B / P frame coding technology and enhancement layers in layered coding technology. Alternatively, it can be understood as a data message that can be decoded independently but has lower requirements for transmission reliability, such as I frames in I / B / P frame coding technology. Therefore, after establishing a second transport layer protocol with lower reliability, the terminal device can receive the second message sent through the second transport layer protocol, thus ensuring that the transmission of the second message does not occupy the first transport protocol with higher reliability requirements. It should be noted that the above examples are for illustrative purposes only. Although each I frame or B / P frame can be defined as a critical or non-critical message, the same message cannot simultaneously be a critical or non-critical message.
[0108] In other words, the "critical messages" and "non-critical messages" in this invention are determined by the reliability requirements of message transmission, rather than by their interdependence during decoding.
[0109] It is worth noting that one data frame can correspond to multiple data packets, and multiple data frames can also correspond to one data packet; this is not a limitation here.
[0110] Furthermore, it should be noted that the terminal device receiving the first message sent via the first transport layer protocol and receiving the second message sent via the second transport layer protocol can correspond to the four situations described in step 301:
[0111] The first method involves the terminal device receiving a first message sent by the application network element through a first transport layer protocol, and a second message sent by the application network element through a second transport layer protocol. See below for details. Figure 5 ;
[0112] The second method involves the terminal device receiving a first message sent by a user plane function network element through a first transport layer protocol, and receiving a second message sent by a user plane function network element through a second transport layer protocol. See below for details. Figure 6 ;
[0113] The third method involves the terminal device receiving a first message sent by a user plane function network element via a first transport layer protocol, and a second message sent by an application network element via a second transport layer protocol. See below for details. Figure 7 ;
[0114] The fourth type: The terminal device receives a first message sent by the application network element through the first transport layer protocol, and receives a second message sent by the user plane function network element through the second transport layer protocol. See details for... Figure 7 The explanatory section.
[0115] Optionally, in other examples, the first message may include a first decoding unit identifier, and the second message may include a second decoding unit identifier. The first decoding unit identifier identifies the decoding unit where the first message is located, and the second decoding unit identifier identifies the decoding unit where the second message is located.
[0116] It should be noted that the described decoding unit can be understood as the smallest unit in which internal data packets depend on each other; data packets from different decoding units are independent of each other during decoding. For example, a decoding unit can be a Group of Pictures (GOP) in I / B / P frame coding technology. Furthermore, the first decoding unit identifier and the second decoding unit identifier mentioned above can be the same or different. When the first decoding unit identifier and the second decoding unit identifier are the same, it indicates that the first packet and the second packet originate from the same decoding unit in the same data stream. When the first decoding unit identifier and the second decoding unit identifier are different, it indicates that the first packet and the second packet originate from different decoding units in the same data stream.
[0117] It should be noted that the decoding unit identifier can be added to any protocol layer that supports extensions. For example, it can be extended at the application layer, transport layer, IP layer, etc. One possible implementation is that the application network element adds a 16-bit decoding unit identifier to the RTP extension header, with the first decoder unit identifier marked in chronological order being 0x0000, and each subsequent decoder unit incrementing by 0x1. This invention does not limit the specific implementation of the decoding unit identifier.
[0118] 304. The terminal device decodes the first and second messages.
[0119] In this example, after receiving a first message sent through a first transport layer protocol and a second message sent through a second transport layer protocol, the terminal device can decode the first and second messages to obtain the corresponding data stream information.
[0120] Optionally, in some examples, the terminal device decodes the first message and the second message in the following manner: the terminal device determines the first time of receiving the first message and the second time of receiving the second message; then, the terminal device decodes the first message and the second message according to the first time, the second time, the first decoding unit identifier and the second decoding unit identifier.
[0121] In this embodiment, since the first decoding unit identifier can identify the decoding unit where the first message is located, and the second decoding unit can identify the decoding unit where the second message is located, and considering that the decoding of the second message may depend on the decoding of the first message for the same decoding unit, the terminal device also needs to determine the first moment when the first message is received and the second moment when the second message is received, thereby ensuring that no decoding errors occur during the subsequent decoding of the second message. It should be noted that the first moment is understood as the moment when the first message arrives at the terminal device, and the second moment is the moment when the second message arrives at the terminal device.
[0122] In this way, once the terminal device determines the first time and the second time, it can combine the first decoding unit identifier and the second decoding unit identifier to decode the first message and the second message.
[0123] It should be noted that the terminal device decodes the first and second packets based on the first time point, the second time point, the first decoding unit identifier, and the second decoding unit identifier, which may specifically include the following four scenarios:
[0124] ① The identifier of the first decoding unit is the same as that of the second decoding unit, and the first moment is later than the second moment.
[0125] In this example, after receiving the first message and the second message, the terminal device determines that the first message contains a first decoding unit identifier and that the second message contains a second decoding unit identifier. Then, the terminal device compares whether the first decoding unit identifier and the second decoding unit identifier are the same.
[0126] If the first decoding unit identifier and the second decoding unit identifier are the same, then it can be determined that the first message and the second message come from the same decoding unit. Thus, the terminal device further determines the first moment of receiving the first message from the first network element and the second moment of receiving the second message from the second network element; then it compares the time difference between the first moment and the second moment.
[0127] If the first time interval is later than the second time interval, it indicates that the terminal device received the second message first, followed by the first message. This also reflects that the second message, received earlier, might fail to decode due to the absence of the first message. Therefore, in cases where the first and second decoding unit identifiers are the same, and the first time interval is later than the second time interval, the terminal device should buffer the second message until it receives the first message sent via the first transport layer protocol. Then, it should decode the first message and the buffered second message, thus avoiding incorrect decoding of the second message during decoding.
[0128] For example, the terminal device receives the following messages in sequence: Message 1 (corresponding to decoding unit A, corresponding to the second message), Message 2 (corresponding to decoding unit A, corresponding to the first message), and Message 3 (corresponding to decoding unit A, corresponding to the second message). After determining that messages 1, 2, and 3 reside in the same decoding unit A, and after determining that the time of receiving message 2 is later than the time of receiving message 1, the terminal device can first buffer message 1, then wait for message 2 to be received, and then decode message 1, and finally decode message 3.
[0129] It should be noted that this explanation only uses messages 1 to 3 as examples. In actual applications, the data stream may also include multiple messages such as message 4 and message 5, which is not limited here.
[0130] It should be noted that ① can also be described as follows: for a certain decoding unit, when the terminal device receives a non-critical message before the critical message, the terminal device needs to buffer the non-critical message until the critical message is received.
[0131] ② The identifiers of the first decoding unit and the second decoding unit are the same, and the first moment is earlier than the second moment.
[0132] In this example, based on the same comparison method as ① above, when the terminal device determines that the first moment is earlier than the second moment, it indicates that the terminal device received the first message first and then the second message. This also reflects that the second message received later will not fail to decode due to the absence of the first message. Therefore, in the case where the first decoding unit identifier and the second decoding unit identifier are the same, and the first moment is earlier than the second moment, the terminal device can decode the first message and then decode the second message based on the first message, ensuring that no errors occur during decoding.
[0133] For example, the terminal device receives the following messages in sequence: Message 1 (corresponding to decoding unit A, corresponding to the first message), Message 2 (corresponding to decoding unit A, corresponding to the second message), and Message 3 (corresponding to decoding unit A, corresponding to the second message). After determining that messages 1, 2, and 3 reside in the same decoding unit A, the terminal device can first decode message 1, and then decode messages 2 and 3 based on message 1. This is merely an illustrative description and is not intended to limit the scope of practical applications.
[0134] ③ The identifiers of the first and second decoding units are different, and the first moment is later than the second moment.
[0135] In this example, messages from different decoding units do not depend on each other during decoding. Furthermore, when the terminal device determines that the first decoding unit identifier in the first message is different from the second decoding unit identifier in the second message, it indicates that the decoding unit where the first message is located is different from the decoding unit where the second message is located. In other words, the first and second messages received by the terminal device do not depend on each other during decoding.
[0136] Therefore, in cases where the first decoding unit identifier and the second decoding unit identifier are different, and the first time is later than the second time, on the one hand, the terminal device can also buffer the second message and wait until it receives a third message (which can be a critical message) that has the same second decoding unit identifier as the second message before decoding the third message and then decoding the second message. On the other hand, the terminal device can also decode the first message and then wait to receive a fourth message (which can be a non-critical message) that has the same first decoding unit identifier as the first message.
[0137] For example, the terminal device receives the following data packets in sequence: Message 1 (corresponding to decoding unit A, corresponding to the second message), Message 2 (corresponding to decoding unit B, corresponding to the first message), and Message 3 (corresponding to decoding unit A, corresponding to the first message). Then, the terminal device determines that Message 1 and Message 3 are not located in the same decoding unit A as Message 2.
[0138] On one hand, the terminal device can decode messages 1 and 3 in decoding unit A. The specific decoding process can be understood by referring to the case in ① above, and will not be elaborated here. On the other hand, the terminal device can decode message 2 in decoding unit B.
[0139] ④ The identifiers of the first decoding unit and the second decoding unit are different, and the first moment is earlier than the second moment.
[0140] For the same reason as ③ above, the first and second messages received by the terminal device do not depend on each other during decoding. Therefore, in the case where the first decoding unit identifier and the second decoding unit identifier are different, and the first moment is earlier than the second moment, on the one hand, the terminal device can decode the first message and then wait to receive a third message (which can be a non-critical message) that has the same first decoding unit identifier as the first message. On the other hand, the terminal device can also buffer the second message and wait until it receives a fourth message (which can be a critical message) that has the same second decoding unit identifier as the second message before decoding the fourth message and then decoding the second message.
[0141] For scenarios ③ or ④, there is another possible implementation. When the terminal device recognizes that the first decoding unit identifier and the second decoding unit identifier are different, since the messages belong to different decoding units, there is no interdependence during decoding. Therefore, the order of the first message (containing the first decoding unit identifier) and the second message (containing the second decoding unit identifier) will not be compared.
[0142] Furthermore, it should be noted that if neither the first nor the second message contains an identifiable message identifier, the terminal device can also determine whether the received message is the first or the second message, for example, based on the size of the message, without specifying any limitations here.
[0143] In this embodiment of the application, the terminal device receives a first message (critical message) sent through a reliable transport layer protocol and a second message (non-critical message) sent through an unreliable transport layer protocol, and decodes the first message and the second message to obtain the corresponding data stream information, so as to utilize the differentiated processing of data messages by the transport layer and realize the differentiated requirements of different data messages for transmission reliability.
[0144] Please see Figure 4 This is a schematic diagram illustrating another message processing method provided in an embodiment of this application. From Figure 4 It can be seen that this message processing method can be applied to user plane function network elements, as follows:
[0145] 401. User plane function network elements receive data packets sent by application network elements through the first transport layer protocol or the second transport layer protocol. The reliability of the first transport layer protocol is higher than that of the second transport layer protocol.
[0146] It should be noted that the first transport layer protocol and the second transport layer protocol mentioned above can be referred to as described above. Figure 3 The content described herein is understood and will not be elaborated upon here.
[0147] 402. User plane functional network elements identify the type of data packets. The type of data packet is either the first packet or the second packet. The first packet is a critical packet, and the second packet is a non-critical packet.
[0148] In this example, the data packet type can be either a first packet or a second packet, with the first packet being a critical packet in the data stream and the second packet being a non-critical packet. Therefore, after the user plane function network element receives a data packet sent by the application network element, it needs to identify the type of the data packet. If the data packet type is a first packet, the user plane function network element can send the first packet to the terminal device using a more reliable first transport layer protocol. If the data packet type is a second packet, the user plane function network element can send the second packet to the terminal device using a less reliable second transport layer protocol.
[0149] Optionally, the first message mentioned above includes a first decoding unit identifier, and the second message includes a second decoding unit identifier.
[0150] It should be noted that the identifiers for the first and second decoding units mentioned above are specific to the preceding text. Figure 3 The content in step 303 needs to be understood, and will not be elaborated here.
[0151] 403. The user plane function network element sends a first message to the terminal device through a first transport layer protocol and / or sends a second message to the terminal device through a second transport layer protocol.
[0152] In this embodiment, because the first transport layer protocol has high reliability, it can be used to transmit data packets that can be decoded independently, or data packets that cannot be decoded independently but have high requirements for transmission reliability. The first packet is a data packet that can be decoded independently or has high requirements for transmission reliability. Therefore, when the user plane function network element identifies the type of the data packet and determines that the type of the data packet belongs to the first packet, it can send the first packet to the terminal device based on the first transport layer protocol.
[0153] On the other hand, because the reliability of the second transport layer protocol is relatively low, it can be used to transmit data packets that cannot be decoded independently, or data packets that can be decoded independently but have low requirements for transmission reliability. The second packet is a data packet that cannot be decoded independently or has low requirements for transmission reliability. Therefore, when the user plane function network element identifies the type of a data packet and determines that it belongs to the second packet type, it can send the second packet to the terminal device based on the second transport layer protocol. In this way, the terminal device can receive the first packet through the first transport layer protocol and the second packet through the second transport layer protocol, respectively.
[0154] It should be noted that this step includes the following two actions: sending the first message to the terminal device based on the first transport layer protocol, and sending the second message to the terminal device based on the second transport layer protocol. Either one of these actions can be performed, or both, but at least one must be performed. The specific actions performed may depend on the establishment of transport layer protocols between the terminal device and the user plane function network element, between the user plane function network element and the application network element, and between the terminal device and the application network element.
[0155] Optionally, in some other embodiments, before step 403, the user plane function network element may first perform: extending the first decoding unit identifier in the first message and extending the second decoding unit identifier in the second message.
[0156] Optionally, in other embodiments, before step 403, the user plane function network element may also first perform: the user plane function network element detects whether the first message contains a first decoding unit identifier and detects whether the second message contains a second decoding unit identifier; when the first message does not contain a first decoding unit identifier and the second message does not contain a second decoding unit identifier, the above-mentioned action of extending the decoding unit identifier is performed.
[0157] It is important to understand that if it is determined that the first message does not contain the corresponding first decoding unit identifier, and the second message does not contain the second decoding unit identifier, then the data packets received by the user plane function network element are packets without decoding unit identifiers. Therefore, before sending the first message to the terminal device based on the first transport layer protocol and the second message to the terminal device based on the second transport layer protocol, the user plane function network element can first confirm that the first message does not contain the first decoding unit identifier and the second message does not contain the second decoding unit identifier, and then add the first decoding unit identifier to the corresponding first message and add the second decoding unit identifier to the corresponding second message.
[0158] It is important to understand that when user plane function elements (MPF elements) need to add decoding unit identifiers to packets, the MPF elements should have the ability to determine the decoding unit to which the packet belongs. One possible solution to achieve this is: when an MPF element detects a critical packet, it determines that the packet corresponds to a new decoding unit; when a non-critical packet is detected, it determines that the packet belongs to the same decoding unit as the previously detected critical packet. It should be noted that this solution is only an example, and the method for determining the decoding unit is not limited to this.
[0159] Optionally, in some other examples, before performing steps 402 to 403, the user plane function network element may first perform the following steps:
[0160] The user plane function network element receives first information sent by the session management network element. This first information instructs the user plane function network element to determine the type of the data packet and to send the data packet according to its type. Specifically, when the data packet is a first packet, the user plane function network element sends the first packet via the first transport layer protocol, and / or when the data packet is a second packet, the user plane function network element sends the second packet via the second transport layer protocol.
[0161] In this embodiment, after receiving a data packet sent by an application network element and identifying the data packet, the user plane function network element sends a first packet (critical packet) to the terminal device through a reliable transport layer protocol and a second packet (non-critical packet) to the terminal device through an unreliable transport layer protocol, thereby realizing the differentiated requirements of different data packets for transmission reliability.
[0162] The above Figure 3 It mainly describes the process of receiving a first message based on a first transport layer protocol and receiving a second message based on a second transport layer protocol from the perspective of the terminal device; and Figure 4 This mainly describes the process of sending a first message via a first transport layer protocol and a second message via a second transport layer protocol, from the perspective of user plane functional network elements. Additionally, from the above... Figure 3 As can be seen from step 303, the first message received by the terminal device through the first transport layer protocol and the second message received through the second transport layer protocol can include the following four cases:
[0163] The first method involves the terminal device establishing a first transport layer protocol and a second transport layer protocol with the application network element to receive the first message and the second message.
[0164] The second method involves the terminal equipment establishing a first transport layer protocol and a second transport layer protocol with the user plane function network element to receive the first message and the second message.
[0165] The third method involves the terminal device establishing a first transport layer protocol with the user plane function network element to receive the first message, and establishing a second transport layer protocol with the application network element to receive the second message.
[0166] The fourth method involves the terminal device establishing a first transport layer protocol with the application network element to receive the first message, and establishing a second transport layer protocol with the user plane function network element to receive the second message.
[0167] The third and fourth scenarios are similar; therefore, the first three scenarios will be described in detail with different embodiments. For the fourth scenario, the differences from the third scenario will be explained in the embodiment corresponding to the third scenario, without separate accompanying drawings.
[0168] (i) Regarding the first scenario above: The terminal device establishes a first transport layer protocol and a second transport layer protocol with the application network element, and receives the first message and the second message.
[0169] Please see Figure 5 This is a schematic diagram illustrating another message processing method provided in an embodiment of this application. From Figure 4 As can be seen, the described message processing method may include the following steps:
[0170] 501. Protocol Data Unit (PDU) Session Establishment Process.
[0171] It should be understood that the application network element here can be an AS, and no specific limitation is specified here.
[0172] 502. The terminal device sends a transmission establishment request to the application network element. The transmission establishment request includes the first transport layer protocol and the second transport layer protocol.
[0173] It should be noted that in practical applications, the terminal device can also send two transmission establishment requests to the application network element, with each transmission establishment request including a transport layer protocol. For example, the terminal device sends a first transmission establishment request and a second transmission establishment request to the application network element, wherein the first transmission establishment request includes a first transport layer protocol, and the second transmission establishment request includes a second transport layer protocol. This explanation will only use a single transmission establishment request including both the first and second transport layer protocols as an example.
[0174] 503. Establish a first transport layer protocol and a second transport layer protocol between the terminal equipment and the application network element.
[0175] It should be noted that steps 501-503 mentioned above are not the subject of this application, so they will not be elaborated upon here.
[0176] 504. The terminal device sends a data stream request to the application network element in order to obtain the corresponding data stream.
[0177] In the example, step 504 can be referred to the above. Figure 3 Step 302 in the previous section will be understood and will not be elaborated here.
[0178] 505. The application network element determines the corresponding data flow based on the data flow request.
[0179] In this example, since the application network element stores the data packets corresponding to the data stream, or can obtain the data packets from other application network elements, such as from an AS with a more centralized deployment location and larger capacity, the application network element can determine the corresponding data stream after receiving a data stream request from the terminal device.
[0180] Optionally, in other examples, after determining the data flow, the application network element can add a first decoding unit identifier to the first packet in the data flow and a second decoding unit identifier to the second packet. See the above for details. Figure 3 Step 303 in the previous section will be described in detail here, and will not be repeated here.
[0181] 506. The application network element sends a first message to the terminal device through a first transport layer protocol and a second message to the terminal device through a second transport layer protocol. The first message is a critical message in the data stream, and the second message is a non-critical message in the data stream. The reliability of the first transport layer protocol is higher than that of the second transport layer protocol.
[0182] In this embodiment, since the first transport layer protocol can be used to transmit data packets that can be independently decoded, or data packets that cannot be independently decoded but have high requirements for transmission reliability, and the first packet is a data packet in the data stream that can be independently decoded or has high requirements for transmission reliability, the application network element can send the first packet to the terminal device through the first transport layer protocol. Similarly, since the second transport layer protocol can be used to transmit data packets that cannot be independently decoded, or data packets that can be independently decoded but have low requirements for transmission reliability, and the second packet is a data packet that cannot be independently decoded or has low requirements for transmission reliability, the application network element can send the second packet to the terminal device through the second transport layer protocol.
[0183] Furthermore, in other examples, before sending a first message to the terminal device via a first transport layer protocol and a second message to the terminal device via a second transport layer protocol, the application network element can also determine the type of data packets in the data stream. Then, if it is determined that the data packet type belongs to the first message, the first message is sent to the terminal device via the first transport layer protocol; and if it is determined that the data packet type belongs to the second message, the second message is sent to the terminal device via the second transport layer protocol.
[0184] 507. The terminal device decodes the first and second messages.
[0185] It should be noted that step 507 can refer to the aforementioned steps. Figure 3 Step 304 in the previous section will be understood, and will not be elaborated here.
[0186] In this embodiment, by establishing a reliable transport layer protocol and an unreliable transport layer protocol between the terminal device and the application network element, and by having the application network element detect the data packet to determine whether the packet belongs to a first packet (critical packet) or a second packet (non-critical packet), the first packet is sent using the reliable transport layer protocol and the second packet is sent using the unreliable transport layer protocol. This differentiated processing of the transport layer enables the different reliability requirements of different data packets to be met.
[0187] The above Figure 5 The description primarily addresses the first scenario mentioned above (i.e., the terminal device establishes a first transport layer protocol and a second transport layer protocol with the application network element, and receives a first message and a second message). The second scenario will be described below:
[0188] (ii) Regarding the second situation mentioned above: the terminal equipment establishes a first transport layer protocol and a second transport layer protocol with the user plane function network element, and receives the first message and the second message.
[0189] Please see Figure 6 This is a schematic diagram illustrating another message processing method provided in an embodiment of this application. From Figure 6 As can be seen, the described message processing method may include the following steps:
[0190] 601. The application network element sends a differentiated transmission request to the policy control network element. The differentiated transmission request is used to indicate that the data flow has differentiated transmission requirements.
[0191] In this embodiment, the differentiated transmission request is used to reflect the data flow requested by the subsequent terminal device from the application network element, which needs to be differentiated by the transport layer. That is, data packets that can be decoded independently, or data packets that cannot be decoded independently but have high requirements for transmission reliability, need to be transmitted through the first transport layer protocol, and data packets that cannot be decoded independently, or data packets that can be decoded independently but have low requirements for transmission reliability, need to be transmitted through the second transport layer protocol.
[0192] In addition, in practical applications, the differentiated transmission request may also include media stream description information.
[0193] 602. The policy control network element sends a second message to the session management network element based on the differentiated transmission request. The second message is used to indicate that the data stream has differentiated transmission requirements.
[0194] In this embodiment, the second information is used to indicate that the data stream has differentiated transmission requirements. In other words, the second information can indicate that the data stream requested by the subsequent terminal device from the application network element needs to undergo transport layer differentiated processing. Specifically, the policy control network element sends the second information to the session management network element, which can be done through signaling in different processes, for example:
[0195] Method 1: In the session establishment process, the session management network element first sends an Npcf_SMPolicyControl_Create Request message to the policy control network element to request a policy. Then, the policy control network element carries a second response message containing authorization information in the Npcf_SMPolicyControl_Create Response message.
[0196] Method 2: In the session modification process, the policy control network element can initiate a session modification process to the session management network element after receiving a differentiated transmission request from the application network element. In this way, the policy control network element carries a second response message containing authorization information in the Npcf_SMPolicyControl_Update Notify Request message.
[0197] It should be noted that, in addition to methods one and two mentioned above, other methods may also be used in practical applications for the policy control network element to send the second information to the session management network element; these are not limited here. Furthermore, in practical applications, the second information may also include media stream description information.
[0198] 603. The session management network element sends first information to the user plane function network element. The first information is used to instruct the user plane function network element to determine the type of data packet, which is either a first packet or a second packet. The first packet is a critical packet, and the second packet is a non-critical packet. The information also instructs the user plane function network element to send the first packet through a first transport layer protocol and / or send the second packet through a second transport layer protocol. The reliability of the first transport layer protocol is higher than that of the second transport layer protocol.
[0199] In the example, after receiving the first information, the user plane function network element is essentially informed by the session management network element that it needs to perform a detection operation on the data packet sent by the application network element, specifically, to determine whether the data packet type is a first packet or a second packet. Furthermore, if the data packet type is a first packet, it needs to send the first packet to the terminal device via the first transport layer protocol; and if the data packet type is a second packet, it needs to send the second packet to the terminal device via the second transport layer protocol.
[0200] It should be noted that the session management network element can send the first information to the user plane function network element by sending an N4Session Establishment Request or an N4 Session Modification Request; the specific method is not limited here.
[0201] In another example, after receiving the first information, the user plane function network element can also send a response message to the session management network element. Specifically, this can be done via an N4 Session Establishment Response or an N4 SessionModification Response message.
[0202] The session management network element sends a non-access stratum (NAS) message to the terminal device. This NAS message contains information such as the Internet Protocol (IP) address of the user plane function network element, instructing the terminal device to identify the user plane function network element.
[0203] 604. The terminal device sends a transmission establishment request to the user plane function network element. The transmission establishment request includes the first transport layer protocol and the second transport layer protocol.
[0204] Similar to 502, in practical applications, terminal devices can also send two transport establishment requests to the user plane function network element, each including a transport layer protocol. This explanation will focus on an example where a single transport establishment request includes both a first and a second transport layer protocol.
[0205] 605. Establish a first transport layer protocol and a second transport layer protocol between the terminal equipment and the user plane functional network element.
[0206] 606. The user plane function network element sends a transmission establishment request to the application network element. The transmission establishment request includes a first transport layer protocol or a second transport layer protocol.
[0207] 607. Application network elements establish a first transport layer protocol or a second transport layer protocol with user plane functional network elements.
[0208] It should be noted that the execution of steps 604-605 and steps 606-607 above has no specific order. This application only uses the example of executing steps 604-605 first and then steps 606-607 as an example for illustration, and does not limit the scope of this application.
[0209] 608. The terminal device sends a data stream request to the application network element to obtain the corresponding data stream.
[0210] 609. The application network element determines the corresponding data flow based on the data flow request.
[0211] In the example, steps 608-609 can be referred to the above. Figure 5 Steps 504-505 in the previous section will be understood and will not be elaborated here.
[0212] It should be noted that before executing the subsequent step 610, the application network element can also add identifiers to the data packets of the data stream, that is, execute the following step S61: extend the first decoding unit identifier in the first packet, and extend the second decoding unit identifier in the second packet. Specifically, for the same decoding unit, the application network element can add the same identifier, so that the first packet and the second packet located in the same decoding unit can use the same decoding unit identifier. For different decoding units, the application network element can add different identifiers. For example, decoding unit A and decoding unit B, the user plane function network element can add one identifier for decoding unit A and another identifier for decoding unit B, so that the identifiers of the first packet and the second packet in decoding unit A are different from the identifiers of the first packet and the second packet in decoding unit B. This facilitates the subsequent decoding process of the terminal device, which decodes the second packet based on the first packet in the same decoding unit, resulting in a lower error rate during the decoding process.
[0213] 610. The application network element sends data packets to the user plane function network element based on the first transport layer protocol or the second transport layer protocol. The first packet in the data packet contains the identifier of the first decoding unit, and the second packet in the data packet contains the identifier of the second decoding unit.
[0214] In this embodiment, after identifying the corresponding data packet, the application network element can send the data packet to the user plane function network element through the previously established connection, using either the first transport layer protocol or the second transport layer protocol. In this way, the user plane function network element, upon receiving the data packet, can then inspect and transmit it.
[0215] 611. User plane function network elements identify the type of data packets, which is either the first packet or the second packet.
[0216] 612. The user plane function network element sends a first message to the terminal device through the first transport layer protocol and a second message to the terminal device through the second transport layer protocol.
[0217] In this embodiment, since the first transport layer protocol can be used to transmit data packets that can be decoded independently, or data packets that cannot be decoded independently but have high requirements for transmission reliability, and the first packet is a data packet that can be decoded independently or has high requirements for transmission reliability, the user plane function network element can send the first packet to the terminal device based on the first transport layer protocol when it identifies the type of the data packet and determines that the type of the data packet belongs to the first packet.
[0218] On the other hand, since the second transport layer protocol can be used to transmit data packets that cannot be decoded independently, or data packets that can be decoded independently but have low requirements for transmission reliability, and the second packet is a data packet that cannot be decoded independently or has low requirements for transmission reliability, the user plane function network element, upon identifying the type of the data packet and determining that the data packet belongs to the second packet type, can send the second packet to the terminal device based on the second transport layer protocol. In this way, the terminal device can receive the first packet through the first transport layer protocol and the second packet through the second transport layer protocol, respectively.
[0219] Optionally, in other embodiments, before step 612, the user plane function network element may first perform the following steps: the user plane function network element extends the first decoding unit identifier in the first message and extends the second decoding unit identifier in the second message.
[0220] Optionally, in other embodiments, before step 612, the user plane function network element may also perform the following steps: the user plane function network element detects whether the first message contains a first decoding unit identifier and detects whether the second message contains a second decoding unit identifier; when the first message does not contain a first decoding unit identifier and the second message does not contain a second decoding unit identifier, the user plane function network element extends the first decoding unit identifier in the first message and extends the second decoding unit identifier in the second message.
[0221] It is important to understand that when the application network element does not execute the aforementioned step S61, the data packets received by the user plane function network element are packets without any added identifiers. Therefore, before sending the first packet to the terminal device based on the first transport layer protocol and the second packet to the terminal device based on the second transport layer protocol, the user plane function network element can first confirm that the first packet does not contain a first decoding unit identifier and the second packet does not contain a second decoding unit identifier, and then add a first decoding unit identifier to the corresponding first packet and a second decoding unit identifier to the corresponding second packet.
[0222] Specifically, for the same decoding unit, user plane function network elements can add the same identifier, allowing the first and second packets located in the same decoding unit to use the same decoder unit identifier. For different decoding units, user plane function network elements can add different identifiers. For example, for decoding unit A and decoding unit B, the user plane function network element can add one identifier for decoding unit A and another identifier for decoding unit B. This ensures that the identifiers of the first and second packets in decoding unit A are different from those in decoding unit B. This facilitates subsequent decoding by the terminal equipment, allowing the second packet to be decoded based on the first packet within the same decoding unit, resulting in a lower error rate during the decoding process.
[0223] In addition, in step 612, the user plane function network element may also carry the aforementioned first decoding unit identifier when sending the first message to the terminal device; and carry the aforementioned second decoding unit identifier when sending the second message to the terminal device.
[0224] 613. The terminal device decodes the first and second messages.
[0225] It should be noted that step 613 can be referred to the above. Figure 3 Step 304 in the previous section will be understood, and will not be elaborated here.
[0226] In this embodiment, by establishing a reliable transport layer protocol and an unreliable transport layer protocol between the terminal device and the user plane function network element, and by having the user plane function network element detect whether the data packet belongs to the first packet (critical packet) or the second packet (non-critical packet) before forwarding the data packet sent by the application network element, the first packet is sent using the reliable transport layer protocol, and the second packet is sent using the unreliable transport layer protocol, thereby utilizing the differentiated processing of the transport layer to realize the differentiated requirements of different data packets for transmission reliability.
[0227] The above Figure 5 This section primarily describes the first scenario mentioned above (i.e., the terminal device establishes a first transport layer protocol and a second transport layer protocol with the application network element, and receives a first message and a second message), and... Figure 6 This mainly addresses the second scenario mentioned above (i.e., the terminal device establishes a first transport layer protocol and a second transport layer protocol with the user plane function network element, and receives a first message and a second message). The third scenario will be described below:
[0228] (III) Regarding the third situation mentioned above: the terminal device establishes a first transport layer protocol with the user plane function network element to receive the first message, and establishes a second transport layer protocol with the application network element to receive the second message.
[0229] It should be noted that the fourth case mentioned above (i.e., the terminal device establishes a first transport layer protocol with the application network element to receive the first message, and establishes a second transport layer protocol with the user plane function network element to receive the second message) is similar to the third case. Therefore, only the parts that are different from the third case are described in this part of the text description, and it is not listed separately as another embodiment.
[0230] Figure 7 This is a schematic diagram illustrating another message processing method provided in an embodiment of this application. Figure 7 As can be seen, the described message processing method may include the following steps:
[0231] 701. The application network element sends a differentiated transmission request to the policy control network element. The differentiated transmission request is used to indicate that the data stream has differentiated transmission requirements.
[0232] 702. The policy control network element sends a second message to the session management network element based on the differentiated transmission request. The second message is used to indicate that the data stream has differentiated transmission requirements.
[0233] 703. The session management network element sends first information to the user plane function network element. The first information is used to instruct the user plane function network element to determine the type of data packet, which is either a first packet or a second packet. It also instructs the user plane function network element to send the first packet through a first transport layer protocol or to send the second packet through a second transport layer protocol. The reliability of the first transport layer protocol is higher than that of the second transport layer protocol.
[0234] In this embodiment, steps 701-703 can be referred to the above. Figure 6 Steps 601-603 in the previous section will be understood and will not be elaborated here.
[0235] The session management network element sends a NAS message to the terminal device. This NAS message contains information such as the IP address of the user plane function network element, instructing the terminal device to identify the user plane function network element.
[0236] 704. The terminal device sends a transmission establishment request to the user plane function network element. The transmission establishment request includes the first transport layer protocol.
[0237] 705. The terminal equipment establishes a first transport layer protocol with the user plane functional network element.
[0238] 706. The terminal device sends a transmission establishment request to the application network element. The transmission establishment request includes the second transport layer protocol.
[0239] 707. The terminal equipment and application network elements establish a second transport layer protocol.
[0240] It should be noted that, for the fourth case mentioned above, the transmission establishment request in steps 704-705 should include the second transport layer protocol, and the transmission establishment request in steps 706-707 should include the first transport layer protocol.
[0241] Furthermore, the execution of steps 704-705 and steps 706-707 above does not have a specific order. This application only uses the example of executing steps 704-705 first and then steps 706-707 as an example for illustration, and does not impose any limitations in this application.
[0242] 708. The terminal device sends a data stream request to the application network element in order to obtain the corresponding data stream.
[0243] 709. The application network element determines the corresponding data flow based on the data flow request.
[0244] In the example, steps 708-709 can be referred to the above. Figure 6 Steps 608-609 in the previous section will be understood and will not be elaborated here.
[0245] 710. The application network element sends data packets based on the second transport layer protocol. The first packet in the data packet may contain the identifier of the first decoding unit, and the second packet in the data packet may contain the identifier of the second decoding unit.
[0246] In this embodiment, after the application network element determines the corresponding data packet, it can send the data packet through the second transport layer protocol.
[0247] It should be noted that, for the fourth case, this step uses the first transport layer protocol.
[0248] 711. User plane functional network elements identify the type of data packets. The type of data packet is either the first packet or the second packet. The first packet is a critical packet, and the second packet is a non-critical packet.
[0249] In this embodiment, the data packet type can be either a first packet or a second packet. Furthermore, as seen in step 705, a first transport layer protocol is established between the terminal device and the user plane function network element to meet the requirement of transmitting the first packet. Therefore, after the user plane function network element receives the data packet sent by the application network element, it needs to identify the type of the data packet. If the data packet type is a first packet, the user plane function network element executes the subsequent step 712. If the data packet type is a second packet, the user plane function network element does not change the transmission method of the second packet, and the application network element then sends the second packet to the terminal device through the second transport layer protocol (see subsequent step 713).
[0250] 712. The user plane function network element sends the first message to the terminal device through the first transport layer protocol.
[0251] Optionally, in some other embodiments, before step 712, the user plane function network element may first perform the following steps:
[0252] Step S72: The user plane function network element detects whether the first message contains the first decoding unit identifier and whether the second message contains the second decoding unit identifier.
[0253] Step S73: When the first message does not contain the first decoding unit identifier and the second message does not contain the second decoding unit identifier, the user plane function network element extends the first decoding unit identifier in the first message and extends the second decoding unit identifier in the second message.
[0254] Steps S72-S73 here can be referred to the above. Figure 6 This will be understood in more detail here.
[0255] In addition, when the user plane function network element sends the first message to the terminal device in step 712, it may also carry the aforementioned first decoding unit identifier.
[0256] 713. Continue to send the second message to the terminal device through the second transport layer protocol.
[0257] It should be noted that, for the fourth case, in steps 711-713, the user plane function network element sends the detected second packet to the terminal device through the second transport layer protocol, and for the detected first packet, it does not change the sending method and continues to send it to the terminal device through the first transport layer protocol.
[0258] 714. The terminal device decodes the first and second messages.
[0259] It should be noted that step 714 can refer to the aforementioned steps. Figure 3 Step 304 in the previous section will be understood, and will not be elaborated here.
[0260] It is worth noting that, Figure 7 and Figure 6 The difference in the message processing methods described above lies in the following: Taking the third case as an example, since step 705 establishes the connection between the user plane function network element and the terminal device based only on the first transport layer protocol, after the user plane function network element receives the data packet sent by the application network element based on the second transport layer protocol and determines whether the data belongs to the first or second packet, it can forward the first packet to the first transport layer protocol for transmission to the terminal device. Furthermore, the user plane function network element does not change the transmission method of the second packet; the application network element continues to transmit it to the terminal device using the original second transport layer protocol. Through the above methods, multiple options for differentiated message transmission are provided, enriching the transmission scenarios.
[0261] In this embodiment, by establishing a reliable transport layer protocol and an unreliable transport layer protocol between the terminal device and the user plane function network element, and by having the user plane function network element detect whether the data packet belongs to the first packet (critical packet) or the second packet (non-critical packet) before forwarding the data packet sent by the application network element, the first packet is sent using the reliable transport layer protocol, and the application network element sends the second packet using the unreliable transport layer protocol. In this way, the differentiated processing of the transport layer is used to realize the differentiated requirements of different data packets for transmission reliability.
[0262] It is understood that the aforementioned terminal devices, application network elements, user plane function network elements, and session management network elements include corresponding hardware structures and / or software modules for executing each function in order to achieve the above functions. Those skilled in the art should readily recognize that, based on the modules and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0263] From a hardware structure perspective, the terminal device, application network element, user plane function network element, and session management network element can be implemented by a single physical device, or by multiple physical devices working together, or by a logical function module within a single physical device. This application does not specifically limit these aspects.
[0264] For example, Figure 8 The diagram shows a hardware structure of a computer device provided in an embodiment of this application. It includes a communication interface 801 and a processor 802, and may also include a memory 803.
[0265] The communication interface 801 can use any transceiver-like device for communicating with other devices or communication networks, such as Ethernet, radio access network (RAN), wireless local area network (WLAN), etc.
[0266] Processor 802 includes, but is not limited to, one or more of a central processing unit (CPU), a network processor (NP), an application-specific integrated circuit (ASIC), or a programmable logic device (PLD). The aforementioned PLD can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof. Processor 802 is responsible for communication lines 804 and general processing, and can also provide various functions, including timing, peripheral interface, voltage regulation, power management, and other control functions. Memory 803 can be used to store data used by processor 802 during operation.
[0267] The memory 803 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited to these. The memory may exist independently and be connected to the processor 802 via communication line 804. The memory 803 may also be integrated with the processor 802. If the memory 803 and the processor 802 are independent devices, the memory 803 and the processor 802 may be connected, for example, the memory 803 and the processor 802 may communicate via communication line 804. The communication interface 801 and the processor 802 can communicate through the communication line 804, and the communication interface 801 can also be directly connected to the processor 802.
[0268] The communication line 804 may include any number of interconnected buses and bridges, and the communication line 804 may link together various circuits including one or more processors 802 represented by processor 802 and memory represented by memory 803. The communication line 804 may also link together various other circuits such as peripheral devices, voltage regulators and power management circuits, which are well known in the art and therefore will not be described further in this application.
[0269] The above primarily describes the terminal device, application network element, user plane function network element, and session management network element provided in the embodiments of this application from the perspective of physical functions. From the perspective of functional units, this application can divide the terminal device, application network element, user plane function network element, and session management network element into functional units according to the above method embodiments. For example, each function can be divided into its own functional unit, or two or more functions can be integrated into one functional unit. The integrated functional unit can be implemented in hardware or as a software functional unit.
[0270] For example, when functional units are divided in an integrated manner. Figure 9 A schematic diagram of the structure of a terminal device provided in an embodiment of this application is shown. Figure 9 As shown, one embodiment of the terminal device of this application may include:
[0271] The first processing unit 901 is used to establish a first transport layer protocol between the terminal device and the first network element, and to establish a second transport layer protocol between the terminal device and the second network element. The reliability of the first transport layer protocol is higher than that of the second transport layer protocol. The first network element and the second network element may be the same or different.
[0272] The first sending unit 902 is used to send a data stream request to the application network element in order to obtain the corresponding data stream;
[0273] The first receiving unit 903 is configured to receive a first message sent through the first transport layer protocol and a second message sent through the second transport layer protocol, wherein the first message is a critical message in the data stream and the second message is a non-critical message in the data stream.
[0274] The first processing unit 901 is used to decode the first message and the second message.
[0275] Optionally, in some examples, the first message contains a first decoding unit identifier, and the second message contains a second decoding unit identifier.
[0276] Optionally, in other examples, the first processing unit 901 is configured to:
[0277] Determine the first moment when the first message is received and the second moment when the second message is received;
[0278] Based on the first time point, the second time point, the first decoding unit identifier, and the second decoding unit identifier, decode the first message and the second message.
[0279] Optionally, in other examples, the first processing unit 901 is configured to:
[0280] When the first decoding unit identifier is the same as the second decoding unit identifier, if the first time is later than the second time, the second message is buffered, and after receiving the first message, the first message and the second message are decoded.
[0281] Optionally, in other examples, the first receiving unit 903 is configured to:
[0282] Based on the first transport layer protocol, the first message sent by the first network element is received;
[0283] Based on the second transport layer protocol, the second message sent by the second network element is received.
[0284] The above mainly describes the terminal device provided in the embodiments of this application from the perspective of functional units. The application network elements provided in the embodiments of this application will be described below from the perspective of functional units. Figure 10 A schematic diagram of the structure of an application network element provided in an embodiment of this application is shown. For example... Figure 10 As shown, one embodiment of the application network element of this application may include:
[0285] The second receiving unit 1001 is used to receive a data stream request sent by the terminal device in order to obtain the corresponding data stream;
[0286] The second processing unit 1002 is used to determine the corresponding data stream according to the data stream request;
[0287] The second sending unit 1003 is used to send a first message to the terminal device through a first transport layer protocol and to send a second message to the terminal device through a second transport layer protocol, wherein the first message is a critical message in the data stream, the second message is a non-critical message in the data stream, and the reliability of the first transport layer protocol is higher than that of the second transport layer protocol.
[0288] Figure 11 A schematic diagram of another application network element provided in an embodiment of this application is shown. For example... Figure 11 As shown, one embodiment of the application network element of this application may include:
[0289] The third receiving unit 1101 is used to receive a data stream request sent by the terminal device in order to obtain the corresponding data stream;
[0290] The third processing unit 1102 is used to determine the corresponding data stream according to the data stream request;
[0291] The third sending unit 1103 is used to send a first message and a second message, wherein the first message is a critical message in the data stream, the second message is a non-critical message in the data stream, the first message contains a first decoding unit identifier, and the second message contains a second decoding unit identifier.
[0292] Optionally, in some examples, the third transmitting unit 1103 is further configured to:
[0293] A differentiated transmission request is sent to the policy control network element, the differentiated transmission request being used to indicate that the data stream has differentiated transmission requirements.
[0294] The above mainly describes the terminal equipment and application network elements provided in the embodiments of this application from the perspective of functional units. The user plane function network elements provided in the embodiments of this application will be described below from the perspective of functional units. Figure 12 A schematic diagram of the structure of a user plane function network element provided in an embodiment of this application is shown. Figure 12 As shown, one embodiment of the user plane function network element of this application may include:
[0295] The fourth receiving unit 1201 is used to receive data packets sent by the application network element through a first transport layer protocol or a second transport layer protocol, wherein the reliability of the first transport layer protocol is higher than that of the second transport layer protocol.
[0296] The fourth processing unit 1202 is used to identify the type of the data packet, wherein the type of the data packet is a first packet or a second packet, the first packet is a critical packet, and the second packet is a non-critical packet;
[0297] The fourth sending unit 1203 is used to send the first message to the terminal device through the first transport layer protocol, and / or send the second message to the terminal device through the second transport layer protocol.
[0298] Optionally, in some examples, the first message contains a first decoding unit identifier, and the second message contains a second decoding unit identifier.
[0299] Optionally, in some examples, the fourth receiving unit 1201 is further configured to:
[0300] The system receives second information sent by the session management network element. The second information is used to instruct the user plane function network element to determine the type of the data packet, and to instruct the user plane function network element to send the first packet through the first transport layer protocol, and / or send the second packet through the second transport layer protocol.
[0301] The above mainly describes the terminal device, application network element, and user plane function network element provided in the embodiments of this application from the perspective of functional units. The session management network element provided in the embodiments of this application will be described below from the perspective of functional units. Figure 13 A schematic diagram of the structure of a session management network element provided in an embodiment of this application is shown. Figure 13 As shown, one embodiment of the session management network element of this application may include:
[0302] The fifth receiving unit 1301 is used to receive the first information of the policy control network element, the first information being used to indicate that the data stream has differentiated transmission requirements;
[0303] The fifth sending unit 1302 is used to send second information to the user plane function network element. The second information is used to instruct the user plane function network element to determine the type of data packet, wherein the type of data packet is a first packet or a second packet, the first packet is a critical packet, and the second packet is a non-critical packet. The information also instructs the user plane function network element to send the first packet through a first transport layer protocol and / or send the second packet through a second transport layer protocol, wherein the reliability of the first transport layer protocol is higher than that of the second transport layer protocol.
[0304] In this embodiment of the application, by establishing a reliable transport layer protocol and an unreliable transport layer protocol, and by having application network elements and / or user plane function network elements detect data packets to determine whether the packet belongs to the first packet (critical packet) or the first packet (non-critical packet), the first packet is sent using the reliable transport layer protocol, and the second packet is sent using the unreliable transport layer protocol. In this way, the differentiated processing of the transport layer is used to realize the differentiated requirements of different data packets for transmission reliability.
[0305] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0306] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between devices or units through some interfaces, and may be electrical, mechanical, or other forms.
[0307] The unit described as a separate component may or may not be physically separate. The component shown as a unit may or may not be a physical unit; that is, it may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0308] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0309] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0310] The above embodiments can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented by software, they can be implemented in whole or in part in the form of a computer program product.
[0311] A computer program product includes one or more computer instructions. When these computer instructions are loaded and executed on a computer, they generate, in whole or in part, the processes or functions according to embodiments of this application. 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. For example, computer instructions may be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a server or data center that integrates one or more available media. The available medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., SSD), etc.
[0312] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.
Claims
1. A message processing method, characterized in that, include: A first transport layer protocol is established between the terminal device and a first network element, and a second transport layer protocol is established between the terminal device and a second network element. The reliability of the first transport layer protocol is higher than that of the second transport layer protocol. The first network element and the second network element may be the same or different. Wherein, if the first network element includes an application network element, the second network element includes a user plane function network element; if the first network element includes the user plane function network element, the second network element includes either the user plane function network element or the application network element. The terminal device sends a data stream request to the application network element to obtain the corresponding data stream; The terminal device receives a first message sent through the first transport layer protocol and a second message sent through the second transport layer protocol, wherein the first message is a critical message in the data stream and the second message is a non-critical message in the data stream; The terminal device decodes the first message and the second message.
2. The method according to claim 1, characterized in that, The method further includes: the first message contains a first decoding unit identifier, and the second message contains a second decoding unit identifier.
3. The method according to claim 2, characterized in that, The terminal device decodes the first message and the second message, including: The terminal device determines the first moment of receiving the first message and the second moment of receiving the second message; The terminal device decodes the first message and the second message based on the first time, the second time, the first decoding unit identifier, and the second decoding unit identifier.
4. The method according to claim 3, characterized in that, The terminal device decodes the first message and the second message based on the first time, the second time, the first decoding unit identifier, and the second decoding unit identifier, including: When the first decoding unit identifier is the same as the second decoding unit identifier, and the first time is later than the second time, the terminal device buffers the second message, and decodes the first message and the second message after receiving the first message.
5. The method according to any one of claims 1-4, characterized in that, The terminal device receives a first message sent via the first transport layer protocol and a second message sent via the second transport layer protocol, including: The terminal device receives the first message sent by the first network element based on the first transport layer protocol; The terminal device receives the second message sent by the second network element based on the second transport layer protocol.
6. A message processing method, characterized in that, include: The application network element receives a data stream request sent by the terminal device, the data stream request being used to obtain the corresponding data stream; The application network element determines the corresponding data flow based on the data flow request; The application network element sends a first message through a first transport layer protocol or a second message through a second transport layer protocol, wherein the first message is a critical message in the data stream, and the second message is a non-critical message in the data stream, and the reliability of the first transport layer protocol is higher than that of the second transport layer protocol; when the application network element sends the first message through the first transport layer protocol, the second message is sent by the user plane function network element through the second transport layer protocol. When the application network element sends the second message through the second transport layer protocol, the first message is sent by the user plane function network element through the first transport layer protocol.
7. A message processing method, characterized in that, include: The application network element receives a data stream request sent by the terminal device, the data stream request being used to obtain the corresponding data stream; The application network element determines the corresponding data stream based on the data stream request; The application network element sends a first message or a second message, wherein the first message is a critical message in the data stream, and the second message is a non-critical message in the data stream. The first message contains a first decoding unit identifier, and the second message contains a second decoding unit identifier. When the application network element sends the first message, the second message is sent by the user plane function network element. When the application network element sends the second message, the first message is sent by the user plane function network element.
8. The method according to claim 7, characterized in that, The method further includes: The application network element sends a differentiated transmission request to the policy control network element, the differentiated transmission request being used to indicate that the data stream has differentiated transmission requirements.
9. A message processing method, characterized in that, include: User plane function network elements receive data packets sent by application network elements through a first transport layer protocol or a second transport layer protocol. The reliability of the first transport layer protocol is higher than that of the second transport layer protocol. The user plane function network element identifies the type of the data packet, which is either a first packet or a second packet. The first packet is a critical packet, and the second packet is a non-critical packet. The user plane function network element sends the first message to the terminal device through the first transport layer protocol, and / or sends the second message to the terminal device through the second transport layer protocol.
10. The method according to claim 9, characterized in that, The method further includes: The first message contains a first decoding unit identifier, and the second message contains a second decoding unit identifier.
11. The method according to claim 9 or 10, characterized in that, The method further includes: The user plane function network element receives first information sent by the session management network element. The first information is used to instruct the user plane function network element to determine the type of the data packet, and to instruct the user plane function network element to send the first packet through the first transport layer protocol, and / or send the second packet through the second transport layer protocol.
12. A message processing method, characterized in that, include: The session management network element receives second information from the policy control network element, the second information being used to indicate that the data stream has differentiated transmission requirements; The session management network element sends first information to the user plane function network element. The first information is used to instruct the user plane function network element to determine the type of data packet, which is either a first packet or a second packet. The first information also instructs the user plane function network element to send the first packet through a first transport layer protocol and / or send the second packet through a second transport layer protocol. The first packet is a critical packet, and the second packet is a non-critical packet. The reliability of the first transport layer protocol is higher than that of the second transport layer protocol.
13. The method according to claim 12, characterized in that, The method further includes: The first message contains a first decoding unit identifier, and the second message contains a second decoding unit identifier.
14. A terminal device, characterized in that, include: A first processing unit is configured to establish a first transport layer protocol between the terminal device and a first network element, and to establish a second transport layer protocol between the terminal device and a second network element. The reliability of the first transport layer protocol is higher than that of the second transport layer protocol. The first network element and the second network element may be the same or different. Wherein, if the first network element includes an application network element, the second network element includes a user plane function network element; if the first network element includes the user plane function network element, the second network element includes either the user plane function network element or the application network element. The first sending unit is used to send a data stream request to the application network element in order to obtain the corresponding data stream; The first receiving unit is configured to receive a first message sent via the first transport layer protocol and a second message sent via the second transport layer protocol, wherein the first message is a critical message in the data stream and the second message is a non-critical message in the data stream. The first processing unit is used to decode the first message and the second message.
15. The terminal device according to claim 14, characterized in that, The first message contains a first decoding unit identifier, and the second message contains a second decoding unit identifier.
16. The terminal device according to claim 15, characterized in that, The first processing unit is configured to: Determine the first moment when the first message is received and the second moment when the second message is received; Based on the first time point, the second time point, the first decoding unit identifier, and the second decoding unit identifier, decode the first message and the second message.
17. The terminal device according to claim 16, characterized in that, The first processing unit is configured to: When the first decoding unit identifier is the same as the second decoding unit identifier, if the first time is later than the second time, the second message is buffered, and after receiving the first message, the first message and the second message are decoded.
18. The terminal device according to any one of claims 14-17, characterized in that, The first receiving unit is configured to: Based on the first transport layer protocol, the first message sent by the first network element is received; Based on the second transport layer protocol, the second message sent by the second network element is received.
19. An application network element, characterized in that, include: The second receiving unit is used to receive a data stream request sent by the terminal device, wherein the data stream request is used to obtain the corresponding data stream. The second processing unit is used to determine the corresponding data stream based on the data stream request; The third sending unit is used to send a first message through a first transport layer protocol or to send a second message through a second transport layer protocol, wherein the first message is a critical message in the data stream, the second message is a non-critical message in the data stream, the reliability of the first transport layer protocol is higher than that of the second transport layer protocol, and when the application network element sends the first message through the first transport layer protocol, the second message is sent by the user plane function network element through the second transport layer protocol. When the application network element sends the second message through the second transport layer protocol, the first message is sent by the user plane function network element through the first transport layer protocol.
20. An application network element, characterized in that, include: The third receiving unit is used to receive a data stream request sent by the terminal device, wherein the data stream request is used to obtain the corresponding data stream. The third processing unit is used to determine the corresponding data stream based on the data stream request; The third sending unit is used to send a first message or a second message, wherein the first message is a critical message in the data stream, and the second message is a non-critical message in the data stream. The first message contains a first decoding unit identifier, and the second message contains a second decoding unit identifier. When the application network element sends the first message, the second message is sent by the user plane function network element; when the application network element sends the second message, the first message is sent by the user plane function network element.
21. The application network element according to claim 20, characterized in that, The third transmitting unit is further configured to: A differentiated transmission request is sent to the policy control network element, the differentiated transmission request being used to indicate that the data stream has differentiated transmission requirements.
22. A user plane function network element, characterized in that, include: The fourth receiving unit is used to receive data packets sent by the application network element through the first transport layer protocol or the second transport layer protocol, wherein the reliability of the first transport layer protocol is higher than that of the second transport layer protocol. The fourth processing unit is used to identify the type of the data packet, wherein the type of the data packet is a first packet or a second packet, the first packet is a critical packet, and the second packet is a non-critical packet; The fourth sending unit is configured to send the first message to the terminal device via the first transport layer protocol, and / or send the second message to the terminal device via the second transport layer protocol.
23. The user plane function network element according to claim 22, characterized in that, The first message contains a first decoding unit identifier, and the second message contains a second decoding unit identifier.
24. The user plane function network element according to claim 22 or 23, characterized in that, The fourth receiving unit is further configured to: The system receives first information sent by a session management network element, the first information being used to instruct the user plane function network element to determine the type of the data packet, and to instruct the user plane function network element to send the first packet through the first transport layer protocol, and / or send the second packet through the second transport layer protocol.
25. A session management network element, characterized in that, include: The fifth receiving unit is used to receive the second information from the policy control network element, the second information being used to indicate that the data stream has differentiated transmission requirements; The fifth sending unit is configured to send first information to the user plane function network element. The first information is used to instruct the user plane function network element to determine the type of data packet, wherein the type of data packet is a first packet or a second packet, the first packet is a critical packet, and the second packet is a non-critical packet. The first information is also used to instruct the user plane function network element to send the first packet through a first transport layer protocol and / or send the second packet through a second transport layer protocol, wherein the reliability of the first transport layer protocol is higher than that of the second transport layer protocol.
26. The session management network element according to claim 25, characterized in that, The first message contains a first decoding unit identifier, and the second message contains a second decoding unit identifier.
27. A computer device, characterized in that, include: Memory, used to store computer-readable instructions; It also includes a processor coupled to the memory for executing computer-readable instructions in the memory to perform the method as described in any one of claims 1 to 5, 6, 7 to 8, 9 to 11, or 12 to 13.
28. A computer-readable storage medium, characterized in that, When the instructions are executed on a computer device, the computer device performs the method as described in any one of claims 1 to 5, 6, 7 to 8, 9 to 11, or 12 to 13.
Citation Information
Patent Citations
Hybrid transport-layer protocol media streaming
US20120173748A1