A communication method and device

By discarding some data packets and resetting their sequence numbers in XR services, the problem of frequent disconnections at the transport layer was solved, improving data transmission efficiency and reducing resource waste.

CN115250506BActive Publication Date: 2026-01-13HUAWEI TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202110652968.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-04-09
Filing Date
2021-06-11
Publication Date
2026-01-13
Estimated Expiration
2041-06-11

AI Technical Summary

Technical Problem

In XR services, network failures frequently cause transport layer connections to be dropped, and existing technologies require complex and inefficient methods to re-establish connections.

Method used

By discarding some or all of the failed data packets and reordering the unsent data packets so that their sequence numbers are consecutive with those of the successful data packets, the transport layer connection is maintained, avoiding the maximum number of retransmissions.

Benefits of technology

It reduces the probability of transport layer connection drops, improves data transmission efficiency, reduces network burden, and saves transmission resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115250506B_ABST
    Figure CN115250506B_ABST
Patent Text Reader

Abstract

A communication method and device. First information of data packets failing in transmission in a first QoS flow is determined; part or all of the data packets failing in transmission are discarded, and the sequence numbers of the data packets not yet sent are reset so that the sequence numbers of the data packets not yet sent are continuous with those of the data packets successfully sent. If there are data packets failing in transmission in the first QoS flow, part or all of the data packets can be discarded, which is equivalent to not retransmitting the discarded data packets, so that the number of retransmissions of the sending end does not reach the maximum number of retransmissions, thereby maintaining the connection between the sending end and the receiving end at the transmission layer as much as possible. And because some data packets are discarded, the sending end can reset the sequence numbers of the data packets not yet sent, so that the sequence numbers of the data packets not yet sent are continuous with those of the data packets successfully sent, thereby maintaining the connection between the sending end and the receiving end at the transmission layer as much as possible.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-references to related applications

[0002] This application claims priority to Chinese Patent Application No. 202110382419.8, filed on April 9, 2021, entitled "An Information Transmission Method, Terminal and Network Device", the entire contents of which are incorporated herein by reference. Technical Field

[0003] This application relates to the field of communication technology, and in particular to a communication method and device. Background Technology

[0004] Extended reality (XR) refers to an interactive environment that combines real and virtual elements, created through computer technology and wearable devices. It is a collective term for various forms such as augmented reality (AR), virtual reality (VR), and mixed reality (MR). XR achieves an immersive experience by seamlessly transitioning between the virtual and real worlds through visual interaction technology.

[0005] XR services are typically transmitted between network devices and terminal devices in the form of "frames." Each frame represents a still image, and a frame can be transmitted through multiple Internet Protocol (IP) packets. During transmission, if network failures or other issues occur, the receiving end may not receive IP packets. If the receiving end receives an IP packet, it can send an acknowledgment (ACK) to the sending end. If no ACK is received from the receiving end, the sending end will retransmit the corresponding IP packet. If the sending end reaches the maximum number of retransmissions and still does not receive an ACK from the receiving end, it will disconnect the transport layer connection, such as the Transmission Control Protocol (TCP) connection, between the sender and receiver. At this point, the connection between the sender and receiver is broken. To resume transmission, a new transport layer connection, such as a TCP connection, needs to be established, which is a complex process. Summary of the Invention

[0006] This application provides a communication method and device to reduce the probability of transmission layer connection loss between the sender and receiver, thereby improving data transmission efficiency.

[0007] In a first aspect, a first communication method is provided, which can be executed by a terminal device, or by a larger device including the terminal device, or by a chip system or other functional module capable of implementing the functions of the terminal device. Alternatively, the method can also be executed by a network device, or by a chip system or other functional module capable of implementing the functions of the network device. Exemplarily, the network device is a core network device, such as a UPF. Alternatively, exemplarily, the network device is a server, such as an application server, or an intermediate server connected between the application server and the core network. The method includes: determining first information about data packets that failed to be transmitted in a first QoS stream; discarding part or all of the failed data packets; and re-sequence the unsent data packets such that the sequence numbers of the unsent data packets are consecutive to those of the successfully transmitted data packets.

[0008] In this embodiment, for the sending end, if there are data packets that failed to transmit in the first QoS stream, some or all of these data packets can be discarded, which is equivalent to not retransmitting the discarded data packets. This prevents the sending end from reaching the maximum retransmission count, thus maintaining the uninterrupted connection of the transport layer between the sending and receiving ends as much as possible. When the network recovers, data packets can continue to be transmitted through this transport layer connection without re-establishing the connection, improving data packet transmission efficiency. Furthermore, for the receiving end, if the sequence numbers of the received data packets are not consecutive, the receiving end will wait indefinitely for the unreceived data packets. If the waiting time reaches a certain threshold, the transport layer connection between the sending and receiving ends may be broken. Therefore, in this embodiment, since some data packets are discarded, the sending end can reset the sequence numbers of the unsent data packets, making the sequence numbers of the unsent data packets consecutive with those of the successfully sent data packets. For the receiving end, since it receives data packets with consecutive sequence numbers, it can continue receiving without waiting for discarded data packets, thus also maintaining the uninterrupted connection of the transport layer between the sending and receiving ends as much as possible.

[0009] In conjunction with the first aspect, in a first optional implementation of the first aspect, the method further includes: discarding the remaining data packets corresponding to the frame corresponding to the failed data packet, wherein the remaining data packets are all data packets in the frame except for the failed data packet. Taking XR applications as an example, XR services have a characteristic that if one data packet in a frame fails to transmit, the receiving end may fail to parse the entire frame. In other words, even if the remaining data packets in this frame are transmitted, it is not very meaningful and wastes transmission resources. Therefore, in this embodiment, if the failed data packet corresponds to a frame, and some data packets in that frame are failed data packets, while the remaining data packets in that frame have not yet been transmitted (for example, there are no successfully transmitted data packets in the data packets corresponding to that frame and there are still untransmitted data packets), then the remaining data packets in that frame can be discarded without continuing transmission, thereby reducing the data transmission burden and saving transmission resources.

[0010] In conjunction with the first aspect or the first optional implementation of the first aspect, in the second optional implementation of the first aspect, the data of the first application is transmitted through the first QoS stream and the second QoS stream, wherein the data packets transmitted by the first QoS stream are less important than the data packets transmitted by the second QoS stream. In this embodiment, the data packets transmitted by the second QoS stream are more important, thus ensuring the success rate of the second QoS stream transmission as much as possible. As for the data packets transmitted by the first QoS stream, since their importance is lower, they can be discarded when network problems occur, thereby alleviating network congestion and other problems.

[0011] In conjunction with the first aspect, or the first optional implementation of the first aspect, or the second optional implementation of the first aspect, in the third optional implementation of the first aspect, the first information includes (or indicates) one or more of the following: the frame number of the frame corresponding to the failed data packet, the type of the frame corresponding to the failed data packet, the position of the failed data packet within the frame, the number of failed data packets, or the TCP layer sequence number or IP layer sequence number of M data packets; wherein the M data packets are the failed data packets, or all data packets corresponding to the frame corresponding to the failed data packets. The first information may indicate information about the failed data packets, such as indicating the sequence number of the M data packets, and / or indicating the number of failed data packets, etc. The first information may also indicate information about the frame corresponding to the failed data packets, such as indicating one or more of the frame number, the type of the frame corresponding to the failed data packets, and the position of the failed data packets within the frame. The content indicated by the first information is quite flexible.

[0012] In a fourth optional embodiment of the first aspect, combining any of the first to third optional embodiments of the first aspect, determining first information of a data packet that failed to be transmitted in the first QoS stream includes: receiving the first information; or determining the first information based on the data transmission status of the first QoS stream; or receiving second information of a data packet that failed to be transmitted in the first QoS stream and determining the first information based on the second information. For example, if the method is executed by a server, the first information might be sent to the server by the UPF. As another example, if the method is executed by a UE, the UE is the sender of the data packet, and the UE can determine the first information accordingly based on the data transmission status of the first QoS stream. The data transmission status of the first QoS stream might include, for example, data packet drop status on the first QoS stream. Yet another example, if the method is executed by a UPF, the UPF can receive the second information from the access network device and thus determine the first information based on the second information.

[0013] In conjunction with the fourth optional implementation of the first aspect, in the fifth optional implementation of the first aspect, the second information includes one or more of the following: the frame number of the frame corresponding to the failed data packet, the type of the frame corresponding to the failed data packet, the position of the failed data packet within the frame, the number of failed data packets, or the sequence number of the GTP header corresponding to M data packets; wherein the M data packets are either the failed data packets or all data packets corresponding to the frame corresponding to the failed data packets. The second information may also indicate information about the frame corresponding to the failed data packet, such as one or more of the frame number, the type of the frame, and the position of the failed data packet within the frame. The content indicated by the second information is quite flexible.

[0014] In conjunction with the fifth optional implementation of the first aspect, in the sixth optional implementation of the first aspect, the second information includes the sequence numbers of the GTP headers corresponding to the M data packets. Determining the first information based on the second information includes: mapping the sequence numbers of the GTP headers to the sequence numbers of the TCP layer or the IP layer to obtain the first information, whereby the first information includes the sequence numbers of the TCP layer or the IP layer of the M data packets. For example, this method is executed by a UPF, such as an access network device sending the second information to the UPF. The second information sent by the access network device indicates the sequence numbers of the GTP headers corresponding to the M data packets, but cannot indicate the sequence numbers of the TCP layer or the IP layer of the M data packets. Therefore, the UPF can map the sequence numbers of the GTP headers to the sequence numbers of the TCP layer or the IP layer.

[0015] In a seventh optional embodiment of the first aspect, combining any of the first to sixth optional embodiments of the first aspect, the method further includes: retransmitting N data packets via a second QoS stream, wherein the N data packets belong to the failed transmission data packets and are partial data packets corresponding to a frame of image of the first application. For example, the failed transmission data packets include N data packets, which are partial data packets corresponding to a frame of image of the first application, while the remaining data packets corresponding to that frame of image have been successfully transmitted. To ensure the output quality of that frame of image as much as possible, the server can retransmit the N data packets to the UE. To improve the retransmission success rate of the N data packets, the server can retransmit these N data packets via the second QoS stream, or in other words, the server can retransmit these N data packets via a second TCP connection. After receiving these N data packets, the UPF retransmits them to the UE via the second QoS stream, where N is a positive integer. All other data packets included in the failed transmission data packets, except for these N data packets, can be discarded by the server. In this way, network congestion can be alleviated while ensuring the output quality of more frames as much as possible.

[0016] In conjunction with any of the first optional embodiments of the first aspect or the first to seventh optional embodiments of the first aspect, in the eighth optional embodiment of the first aspect, the method further includes: sending the unsent data packets when it is determined that the network has returned to normal; or, sending the unsent data packets when the first timer expires. If it is determined that the network has returned to normal, transmission can be resumed and the unsent data packets can continue to be sent. Alternatively, if the maintained first timer expires, transmission can also be resumed and the unsent data packets can continue to be sent. The unsent data packets have been renumbered, so the sequence numbers (TCP layer sequence numbers or IP layer sequence numbers) of the unsent data packets are consecutive with the sequence numbers (TCP layer sequence numbers or IP layer sequence numbers) of the data packets successfully received by the receiving end. Therefore, the receiving end will not wait for data packets that have failed to be transmitted, thereby reducing the probability of the connection between the sending end and the receiving end being broken.

[0017] Secondly, a second communication method is provided, which can be executed by a network device or by a chip system or other functional module capable of implementing the functions of the network device. For example, the network device is a core network device, such as a UPF. The method includes: sending a first request to an access network device, the first request being used to request subscription to transmission information of a first QoS stream, the transmission information of the first QoS stream being used to indicate that the first QoS stream transmission failed, or to indicate data packets in the first QoS stream that failed to be transmitted.

[0018] In conjunction with the second aspect, in a first optional implementation of the second aspect, the data of the first application is transmitted through the first QoS stream and the second QoS stream, wherein the quality of service of the first QoS stream is lower than that of the second QoS stream.

[0019] In conjunction with the second aspect or the first optional implementation of the second aspect, in the second optional implementation of the second aspect, the method further includes: receiving second information about data packets that failed to be transmitted in the first QoS stream from the access network device; determining first information about data packets that failed to be transmitted in the first QoS stream based on the second information; and sending the first information to an application server, wherein the application server corresponds to the first application.

[0020] In conjunction with the second optional implementation of the second aspect, in the third optional implementation of the second aspect, the second information includes one or more of the following: the frame number of the frame corresponding to the failed data packet, the type of the frame corresponding to the failed data packet, the position of the failed data packet within the frame, the number of failed data packets, or the sequence number of the GTP header corresponding to M data packets; wherein the M data packets are either the failed data packets or all data packets corresponding to the frame corresponding to the failed data packets.

[0021] In conjunction with the third optional implementation of the second aspect, in the fourth optional implementation of the second aspect, the second information includes the sequence number of the GTP packet header corresponding to the M data packets. Then, determining the first information based on the second information includes: mapping the sequence number of the GTP packet header to the sequence number of the TCP layer or the sequence number of the IP layer to obtain the first information, wherein the first information includes the sequence number of the TCP layer or the sequence number of the IP layer of the M data packets.

[0022] In conjunction with the second, third, or fourth optional implementations of the second aspect, in the fifth optional implementation of the second aspect, the first information includes one or more of the following: the frame number of the frame corresponding to the failed data packet, the type of the frame corresponding to the failed data packet, the position of the failed data packet within the frame, the number of failed data packets, or the TCP layer sequence number or IP layer sequence number of M data packets; wherein the M data packets are the failed data packets, or all data packets corresponding to the frame corresponding to the failed data packets.

[0023] For the technical effects of the second aspect or its various alternative implementations, please refer to the description of the technical effects of the first aspect or its corresponding implementations.

[0024] Thirdly, a third communication method is provided, which can be executed by a terminal device, a larger device including the terminal device, or a chip system or other functional module capable of implementing the functions of the terminal device. Alternatively, the method can also be executed by a network device, or by a chip system or other functional module capable of implementing the functions of the network device. Exemplarily, the network device is a core network device, such as a UPF. Alternatively, exemplarily, the network device is a server, such as an application server, or an intermediate server connected between the application server and the core network. The method includes: receiving fifth information from a first communication device, the fifth information indicating that the first communication device failed to send a data packet in a first QoS stream; generating a second data packet based on the fifth information, the second data packet having the same sequence number as the failed data packet.

[0025] In this embodiment, for the sending end, if there are failed data packets in the first QoS stream, some or all of these data packets can be discarded, which is equivalent to not retransmitting the discarded data packets. This prevents the sending end from reaching the maximum retransmission count, thus maintaining the uninterrupted connection of the transport layer between the sending and receiving ends as much as possible. When the network recovers, the sending end can continue transmitting data packets through this transport layer connection without re-establishing the connection, improving data packet transmission efficiency. Furthermore, for the receiving end, if the sequence numbers of the received data packets are not consecutive, the receiving end will wait indefinitely to receive the unreceived data packets. If the wait reaches a certain duration, the transport layer connection between the sending and receiving ends may also be broken. Therefore, in this embodiment, the sending end can indicate the sequence numbers of the failed data packets to the receiving end. The receiving end can then generate data packets with the same sequence numbers as the failed data packets, thus making the receiving end believe that the sequence numbers of the received data packets are consecutive. This also helps to maintain the uninterrupted connection of the transport layer between the sending and receiving ends as much as possible.

[0026] In conjunction with the third aspect, in a first optional implementation of the third aspect, the data of the first application is transmitted through a first QoS stream and a second QoS stream, where the quality of service of the first QoS stream is lower than that of the second QoS stream. In this embodiment, the data packets transmitted by the second QoS stream are more important, thus the success rate of the second QoS stream's transmission can be guaranteed as much as possible. As for the data packets transmitted by the first QoS stream, since their importance is lower, these data packets can be discarded when network problems occur, thereby alleviating network congestion and other problems.

[0027] In conjunction with the third aspect or the first optional implementation of the third aspect, in the second optional implementation of the third aspect, receiving the fifth information includes: receiving the fifth information from the first communication device via a second QoS stream. Since the first QoS stream may not be able to transmit normally at this time, optionally, the fifth information can be sent via the second QoS stream to improve the success rate of the fifth information transmission.

[0028] Fourthly, a communication device is provided. The communication device can be a terminal device as described in any of the first to third aspects above. The communication device possesses the functions of the aforementioned terminal device. The communication device is, for example, a terminal device, or a functional module within a terminal device, such as a baseband device or a chip system. Alternatively, the communication device possesses the functions of the aforementioned network device. The communication device is, for example, a network device, or a functional module within a network device, such as a baseband device or a chip system. Exemplarily, the network device is a core network device, such as a UPF. Or, exemplaryly, the network device is a server, such as an application server, or an intermediate server connected between an application server and a core network. In one optional implementation, the communication device includes a baseband device and a radio frequency device. In another optional implementation, the communication device includes a processing unit (sometimes also called a processing module) and a transceiver unit (sometimes also called a transceiver module). The transceiver unit can implement both sending and receiving functions. When the transceiver unit implements the sending function, it can be called a sending unit (sometimes also called a sending module), and when the transceiver unit implements the receiving function, it can be called a receiving unit (sometimes also called a receiving module). The transmitting unit and the receiving unit can be the same functional module, which is called the transceiver unit. This functional module can realize the transmitting and receiving functions; or, the transmitting unit and the receiving unit can be different functional modules, and the transceiver unit is a general term for these functional modules.

[0029] For example, the processing unit is configured to determine first information of data packets that failed to be transmitted in the first QoS stream; the processing unit is also configured to discard part or all of the data packets that failed to be transmitted, and reset the sequence number of the data packets that have not yet been sent, so that the sequence number of the data packets that have not yet been sent is consecutive to the sequence number of the data packets that were successfully sent.

[0030] For example, the transceiver unit (or the sending unit) is used to send a first request to the access network device. The first request is used to request subscription to the transmission information of the first QoS stream. The transmission information of the first QoS stream is used to indicate that the first QoS stream transmission failed, or to indicate the data packets that failed to be transmitted in the first QoS stream.

[0031] For example, the transceiver unit (or the receiving unit) is configured to receive fifth information from the first communication device, the fifth information being used to instruct the first communication device to send a failed data packet in the first QoS stream; the processing unit is configured to generate a second data packet based on the fifth information, the sequence number of the second data packet being the same as the sequence number of the failed data packet.

[0032] In one alternative implementation, the communication device further includes a storage unit, and the processing unit is configured to couple with the storage unit and execute programs or instructions in the storage unit to enable the communication device to perform the functions of the terminal device or network device described in any one of the first to third aspects above.

[0033] Fifthly, a computer-readable storage medium is provided for storing a computer program or instructions that, when executed, cause the methods performed by the terminal device or network device in the above aspects to be implemented.

[0034] Sixthly, a computer program product containing instructions is provided, which, when run on a computer, enables the methods described in the above aspects to be implemented. Attached Figure Description

[0035] Figure 1 This is a schematic diagram illustrating the relationship between P-frames and I-frames;

[0036] Figure 2 This is a schematic diagram illustrating an application scenario according to an embodiment of this application;

[0037] Figure 3 A flowchart illustrating the first communication method provided in this application embodiment;

[0038] Figure 4 This is a schematic diagram illustrating how the server divides the services of the first application into two data streams for transmission in an embodiment of this application.

[0039] Figure 5 This is a schematic diagram illustrating how the server sets sequence numbers for data packets that have not yet been sent, as shown in this embodiment of the application.

[0040] Figure 6 A flowchart illustrating the second communication method provided in the embodiments of this application;

[0041] Figure 7 A flowchart illustrating the third communication method provided in the embodiments of this application;

[0042] Figure 8 A flowchart illustrating the fourth communication method provided in the embodiments of this application;

[0043] Figure 9A flowchart illustrating the fifth communication method provided in the embodiments of this application;

[0044] Figure 10 A flowchart illustrating the sixth communication method provided in this application embodiment;

[0045] Figure 11 This is a flowchart illustrating the establishment of an MPTCP connection in an embodiment of this application;

[0046] Figure 12 A schematic block diagram of a terminal device provided in an embodiment of this application;

[0047] Figure 13 This is a schematic block diagram of a communication device provided in an embodiment of this application. Detailed Implementation

[0048] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the embodiments of this application will be further described in detail below with reference to the accompanying drawings.

[0049] The following explanations of some terms or concepts used in the embodiments of this application are provided to facilitate understanding by those skilled in the art.

[0050] In this embodiment, the terminal device is a device with wireless transceiver capabilities, which can be a fixed device, a mobile device, a handheld device (e.g., a mobile phone), a wearable device, an in-vehicle device, or a wireless device (e.g., a communication module, a modem, or a chip system, etc.) built into the aforementioned devices. The terminal device is used to connect people, objects, machines, etc., and can be widely used in various scenarios, including but not limited to the following: cellular communication, device-to-device (D2D) communication, vehicle-to-everything (V2X) communication, machine-to-machine / machine-type communications (M2M / MTC) communication, Internet of Things (IoT), virtual reality (VR), augmented reality (AR), industrial control, self-driving, remote medical care, smart grid, smart furniture, smart office, smart wearables, smart transportation, smart city, drones, robots, and other scenarios. The terminal device may sometimes be referred to as user equipment (UE), terminal, access station, UE station, remote station, wireless communication equipment, or user device, etc. For ease of description, the terminal device in this application embodiment will be described using UE as an example.

[0051] The network devices in this application embodiment include, for example, access network devices and / or core network devices. The access network devices are devices with wireless transceiver capabilities, used to communicate with the terminal devices. The access network devices include, but are not limited to, base stations (BTS, Node B, eNodeB / eNB, or gNodeB / gNB), transmission reception points (TRPs), base stations evolved from the 3rd Generation Partnership Project (3GPP), access nodes, wireless relay nodes, and wireless backhaul nodes in Wi-Fi systems. The base stations can be macro base stations, micro base stations, pico base stations, small cells, relay stations, etc. Multiple base stations can support networks using the same access technology mentioned above, or networks using different access technologies mentioned above. A base station can contain one or more co-located or non-co-located transmission and reception points. The network devices can also be radio controllers, centralized units (CUs), and / or distributed units (DUs) in cloud radio access network (CRAN) scenarios. Network equipment can also be servers, wearable devices, or vehicle-mounted equipment. For example, in vehicle-to-everything (V2X) technology, the network equipment can be a roadside unit (RSU). The following description of access network equipment uses a base station as an example. A base station can communicate with a terminal device or through a relay station. A terminal device can communicate with multiple base stations in different access technologies. The core network equipment is used to implement functions such as mobility management, data processing, session management, policy and charging. The names of the equipment implementing core network functions may differ in systems using different access technologies; this application does not limit this. Taking a 5G system as an example, the core network equipment includes: access and mobility management function (AMF), session management function (SMF), policy control function (PCF), or user plane function (UPF), etc.Taking a 4G system as an example, the core network equipment includes: a mobility management entity (MME), a serving gateway (SGW), a policy and charging rules function (PCRF), or a public data network gateway (PGW), etc.

[0052] In this application embodiment, the communication device used to implement the network device function can be a network device itself, or it can be a device capable of supporting the network device in implementing that function, such as a chip system. This device can be installed within the network device. In the technical solutions provided in this application embodiment, the example of a network device being used to implement the network device function is used to describe the technical solutions provided in this application embodiment.

[0053] XR refers to an interactive environment combining real and virtual elements, created through computer technology and wearable devices. It's a collective term for various forms such as AR, VR, and MR. XR achieves an immersive experience by seamlessly transitioning between the virtual and real worlds through visual interaction technology. XR services are typically transmitted between the network and terminal devices in the form of "frames," each representing a still image. During actual compression, various algorithms are used to reduce data size. For example, an I-frame represents a keyframe, which can be understood as a complete preservation of the image; decoding only requires the data from this frame (because it contains the complete image). A P-frame represents the difference between this frame and a previous keyframe (e.g., an I-frame); decoding requires overlaying the previously cached image with the difference defined in this frame to generate the final image. In actual transmission, the size of each frame is related to the size and quality of the image (e.g., 1080P, 720P, etc.). Typically, each frame needs to be transmitted through multiple Internet Protocol (IP) packets; for example, an I-frame requires 100 IP packets, and a P-frame requires 40 IP packets.

[0054] Comparatively, I-frames are more important than P-frames because when some P-frames fail to transmit, usually only the display of that P-frame is affected, resulting in a brief stutter for the user. However, if an I-frame fails to transmit, subsequent P-frames cannot be parsed, leading to a longer period of stuttering for the user. Figure 1For example, P0 is a P-frame with significant modifications to an I-frame, P1 is a frame with minor modifications to either an I-frame or a P0-frame, and P2 is a P-frame with minor modifications to the previous frame (I-frame, P0-frame, or P1-frame). If a P1-frame or P2-frame is lost, it only affects the display of that frame, with a minor impact. However, if an I-frame or P0-frame is lost, it will affect the display of subsequent frames, with a significant impact.

[0055] In this application embodiment, the number of nouns, unless otherwise specified, refers to "singular nouns or plural nouns," that is, "one or more." "At least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, or B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the related objects before and after are in an "or" relationship. For example, A / B means: A or B. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c means: a, b, c, a and b, a and c, b and c, or a and b and c, where a, b, and c can be single or multiple.

[0056] The ordinal numbers such as "first" and "second" mentioned in the embodiments of this application are used to distinguish multiple objects, and are not used to limit the size, content, order, timing, priority, or importance of the multiple objects. For example, first information and second information can be the same information or different information, and such names do not indicate that the content, priority, or importance of the two pieces of information are different. In addition, the numbering of steps in the various embodiments described in this application is only to distinguish different steps, and is not used to limit the order between steps. For example, step S301 may occur before step S302, or may occur after S302, or may occur simultaneously with S302.

[0057] For reference Figure 2 This is a schematic diagram illustrating an application scenario according to an embodiment of this application. Figure 2 In this context, the UE can communicate with a server through access network equipment and core network equipment. This server may be, for example, an application server, or an intermediate server. An application server corresponds to an application. For instance, an application server can provide the data for that application. For example, an application server corresponding to an XR application can provide the XR application's data. Figure 2In this configuration, core network equipment can be directly connected to the application server. Alternatively, other intermediate servers can be connected between the core network equipment and the application server, and these intermediate servers can also function as the application server. Intermediate servers may include, for example, content delivery network (CDN) servers or multimedia resource function processors (MRFPs).

[0058] Figure 2 The access network equipment in different systems corresponds to different devices. For example, in a 4G system it may correspond to an eNB, while in a 5G system it may correspond to a 5G access network equipment, such as a gNB. Figure 2 The core network equipment in a network corresponds to different devices in different systems. For example, it may correspond to a PGW in a 4G system and a UPF in a 5G system. Of course, the technical solutions provided in this application can also be applied to future mobile communication systems. Figure 2 The access network equipment mentioned here can also correspond to the access network equipment in future mobile communication systems, and the core network equipment can also correspond to the core network equipment in future communication systems. This application embodiment uses a base station as an example of access network equipment; however, referring to the preceding description, access network equipment can also be devices such as RSUs (Radio Service Units).

[0059] The methods provided in the embodiments of this application are described below with reference to the accompanying drawings. In the drawings corresponding to the various embodiments of this application, all optional steps are indicated by dashed lines. The technical solutions described in the various embodiments of this application can be applied to... Figure 2 The network architecture shown. For example, the UE described in various embodiments of this application is, for example, a network architecture shown in the embodiment. Figure 2 The UE in the network architecture shown; the server described in the various embodiments of this application is, for example, a... Figure 2 The application server in the network architecture shown, or for example, an intermediate server connecting the core network device and the application server; the UPF described in various embodiments of this application is, for example, Figure 2 The core network equipment in the network architecture shown. The "connection" mentioned in the various embodiments of this application can be understood as a transport layer connection, such as a TCP connection, a user datagram protocol (UDP) connection, a quick UDP internet connection (QUIC), or a secure reliable transport (SRT), etc. In the description of the various embodiments of this application, a TCP connection is used as an example. Furthermore, in the description of the various embodiments of this application, the method of this application is applied to a 5G system as an example.

[0060] This application provides a communication method, please refer to [link to relevant documentation]. Figure 3 Here is a flowchart of the method.

[0061] S301. The server sends downlink data packets to the UPF, and the UPF receives downlink data packets from the server accordingly. There can be one or more downlink data packets, which can be, for example, IP packets. These downlink data packets belong to a first application, such as an XR application, or other video applications, cloud gaming (CG) applications, or image applications, etc.

[0062] Take XR applications as an example. XR services are characterized by bursty data transmission. For instance, when an XR service operates at 60 frames per second, a data frame arrives at the access network device every 16.67 ms. This means that a group of IP packets arrives at the access network device every 16.67 ms, requesting the device to send these packets to the UE. If the access network device is unable to send these IP packets, due to network congestion, it will randomly drop one or more of these IP packets to alleviate congestion. If the randomly dropped IP packets belong to high-priority frames, such as I-frames or P0 frames, the packet loss will have a significant impact on the user; however, if the dropped packets belong to low-priority frames, such as P1 or P2 frames, the impact is smaller. Since the access network device drops packets randomly, it cannot control the impact on the user. To address the impact of random packet loss by the access network device on the user's XR service viewing experience, layered transmission can be implemented.

[0063] For example, refer to Figure 4 The server divides the service of the first application into two data streams (e.g., two socket streams). One data stream transmits data packets of relatively important frames, such as I-frames and / or P0 frames; this data stream can be called the base layer data stream. The other data stream transmits data packets of relatively unimportant frames, such as P1 frames and / or P2 frames; this data stream can be called the enhancement layer data stream. In various embodiments of this application, the data streams can also be called traffic flows. After these two data streams arrive at the receiving end, the receiving end processes and decodes the I-frame data packets and the corresponding P-frame data packets for display. In this split transmission scenario, if the access network device cannot guarantee data transmission, such as due to network congestion, the access network device can prioritize the transmission of high-priority data packets and discard low-priority data packets to ensure the user's service experience.

[0064] This application embodiment can apply this split transmission method, where the server can transmit the services of the first application in two data streams, which are transmitted through two TCP connections. That is, two TCP connections can be established between the server and the UE, for example, these two TCP connections are referred to as the first TCP connection and the second TCP connection, respectively. The first TCP connection transmits the first data stream, and the second TCP connection transmits the second data stream. The first and second data streams are the data streams of the first application, with the second data stream having a higher priority than the first data stream. The first TCP connection transmits through the first QoS stream, and the second TCP connection transmits through the second QoS stream; therefore, it can also be understood that the service quality of the second QoS stream is higher than that of the first QoS stream. Taking an XR application as an example, for instance, the second data stream transmits data packets of relatively important frames, such as I-frames and / or P0 frames, while the first data stream transmits data packets of relatively unimportant frames, such as P1 frames and / or P2 frames.

[0065] For example, the number of downlink data packets is one or more, and these one or more downlink data packets are transmitted through the first TCP connection; or, the number of downlink data packets is multiple, some of these multiple downlink data packets are transmitted through the first TCP connection, and the remaining parts of these multiple downlink data packets are transmitted through the second TCP connection.

[0066] Optionally, the server can provide the UPF with information about the frame corresponding to each data packet. This information may include one or more of the following: frame type, frame number, total number of data packets within the frame, and the position of the data packet within the frame (e.g., which packet within the frame it is). Frame types may include I-frames or P-frames, or I-frames, P0 frames, P1 frames, or P2 frames, etc. The frame number can also be understood as the frame's identifier; for example, frame number 100 indicates that the frame number is 100. The total number of data packets within the frame refers to the total number of data packets included in a frame, such as 100 TCP packets or 100 IP packets, etc. The position of the data packet within the frame may indicate, for example, that a data packet is the 5th TCP packet or the 5th IP packet within the frame, etc.

[0067] S302, UPF sends a first request to the access network device, and the access network device receives the first request accordingly.

[0068] After receiving the downlink data packet, the UPF determines that the first TCP connection is transmitted through a first Quality of Service (QoS) stream. The UPF can send a first request to the access network device. The first request can request the transmission information of the first QoS stream. For example, the first request can be used to request subscription to the transmission information of the first QoS stream, and thus it can also be called a subscription request. In various embodiments of this application, the first request is used to request subscription to the transmission information of the first QoS stream as an example. The transmission information of the first QoS stream may indicate, for example, a data packet transmission failure in the first QoS stream, or indicate a data packet that failed to be transmitted in the first QoS stream (e.g., indicating the sequence number of the data packet that failed to be transmitted in the first QoS stream). The second TCP connection is transmitted through a second QoS stream. Since the second data stream is of higher importance, it is considered in this embodiment that the success rate of the second data stream needs to be guaranteed. Therefore, the UPF does not need to subscribe to the transmission information of the second QoS stream from the access network device. The first data stream is of lower importance. If a network problem occurs, the access network device may discard the data packets carried by the first QoS stream. Therefore, the UPF can subscribe to the transmission information of the first QoS stream. Alternatively, the UPF can subscribe to the transmission information of the second QoS stream from the access network device. For example, it can subscribe to the transmission information of the first QoS stream and the second QoS stream through a single first request, or it can subscribe to the transmission information of the first QoS stream and the second QoS stream through two separate first requests. This application's embodiments primarily focus on the subscription to the transmission information of the first QoS stream.

[0069] For example, after receiving the downlink data packet, the UPF determines the corresponding QoS flow based on information such as the IP 5-tuple carried by the downlink data packet, and thus maps the downlink data packet to the QoS flow for transmission. This QoS flow may be, for example, a first QoS flow or a second QoS flow. The IP 5-tuple carried by the downlink data packet includes, for example, the source IP address, destination IP address, source port number, destination port number, and protocol number of the downlink data packet. The source IP address of the downlink data packet is the IP address of the sender of the downlink data packet, for example, the IP address of the server in this embodiment. The source port number of the downlink data packet is also the port number of the sender of the downlink data packet, for example, the port number of the server. The destination IP address of the downlink data packet is the IP address of the receiver of the downlink data packet, for example, the IP address of the UE in this embodiment. The destination port number of the downlink data packet is also the port number of the receiver of the downlink data packet, for example, the port number of the UE. Furthermore, if the downlink data packet corresponds to a first QoS flow, the UPF can also subscribe to the transmission information of the first QoS flow. For example, the subscription request may include the QoS flow identifier (QFI) of the first QoS flow. Alternatively, even if the UPF does not receive downlink data packets, it can still subscribe to the transmission information of the first QoS stream if it determines that the first QoS stream has been established. Therefore, S301 is an optional step.

[0070] For example, the UPF sends the first request to the SMF, which then forwards it to the access network device, thus the access network device receives the first request. Optionally, after receiving the first request, the access network device can send a response message to the SMF, for example, called response message 1. Response message 1 can indicate whether the subscription was successful or failed. After receiving response message 1 from the access network device, the SMF sends response message 2 to the UPF. If response message 1 indicates successful subscription, then response message 2 indicates successful subscription; if response message 1 indicates failed subscription, then response message 2 indicates failed subscription. After receiving response message 2 from the SMF, the UPF can determine whether the subscription was successful or failed. To simplify the accompanying drawings, in... Figure 2 Response message 1 and response message 2 are not shown in the image.

[0071] Alternatively, the UPF can directly send the first request to the access network device. For example, the UPF can add a General Packet Radio Service Tunnel Protocol (GTP) header to the first request, allowing the user to send the first request to the access network device, which can then receive the first request from the UPF. Optionally, after receiving the first request, the access network device can send a response message to the UPF. Upon receiving the response message from the access network device, the UPF can determine whether the subscription was successful or failed. (For simplicity, the accompanying figures are omitted.) Figure 2 The response message was not shown in the image.

[0072] S303, the UPF transmits data packets of the first data stream through the first QoS stream. Alternatively, the UPF transmits data packets of the first TCP connection through the first QoS stream. The data packets described in various embodiments of this application are, for example, IP packets or TCP packets.

[0073] Optionally, the UPF can determine the frame information corresponding to each data packet. This frame information can be provided to the UPF by the server or generated by the UPF itself. For example, when the XR service is 60 frames / s, a data frame will arrive at the UPF every 16.67ms, that is, a group of IP packets will arrive at the UPF every 16.67ms. The UPF can then generate frame information based on the size and arrival pattern of the data packets.

[0074] S304, UPF transmits data packets of the second data stream through the second QoS stream. Alternatively, UPF transmits data packets of the second TCP connection through the second QoS stream.

[0075] Optionally, the UPF can determine the information of the frame corresponding to each data packet. This frame information can be provided to the UPF by the server or generated by the UPF itself.

[0076] Taking the first application as an example of an XR application, the second data stream transmits data packets of relatively important frames, such as I-frames and / or P0-frames, while the first data stream transmits data packets of relatively unimportant frames, such as P1-frames and / or P2-frames.

[0077] S305. The access network device sends the second information of the data packet that failed to be transmitted, and correspondingly, the UPF receives the second information of the data packet that failed to be transmitted.

[0078] For example, if the access network device detects packet loss or transmission failure in the first QoS flow, it can send a second message. The access network device can send the second message to the SMF, which then forwards it to the UPF; alternatively, the access network device can send the second message directly to the UPF.

[0079] The second information may include, for example, one or more of the following (or, the information indicated by the second information may include one or more of the following): the frame number of the frame corresponding to the failed data packet, the type of the frame corresponding to the failed data packet, the position of the failed data packet within the frame (e.g., which data packet within the frame it is), the number of failed data packets, and the sequence numbers of M data packets (M data packets may include the failed data packets, or may include all data packets corresponding to the frame corresponding to the failed data packets, where M is a positive integer). The sequence numbers of the data packets included (or indicated) by the second information may be, for example, the GTP sequence number corresponding to the data packet (or, in other words, the sequence number of the GTP header corresponding to the failed data packet).

[0080] Optionally, the second information includes (or indicates) the sequence number of the failed data packet, but does not include (or indicates) the other information as described above. The second information sent by the access network device may include a GTP header. There may be a correspondence between the sequence numbers of data packets transmitted on a QoS flow (e.g., TCP layer sequence numbers or IP layer sequence numbers) and the sequence numbers in the GTP header. Therefore, after the access network device identifies a failed data packet, it can determine the sequence number of the GTP header corresponding to the sequence number of the failed data packet, and this sequence number of the GTP header can be included in the second information.

[0081] Optionally, the second information includes (or indicates) one or more of the following: the frame number of the frame corresponding to the failed data packet, the type of the frame corresponding to the failed data packet, or the position of the failed data packet within the frame. Taking the first application as an example of an XR application, XR services have a characteristic that if one data packet in a frame fails to transmit, the receiving end may fail to parse the entire frame. In other words, if one data packet in a frame fails to transmit, the remaining data packets in that frame, even if transmitted, are of little significance and waste transmission resources. For example, if a frame corresponds to 50 data packets, and if even one of these 50 data packets fails to transmit, the receiving end will fail to parse that frame. Therefore, in this embodiment, if the access network device determines that the failed data packet corresponds to a certain frame, and some data packets in that frame are failed data packets, while the remaining data packets in that frame have not yet been transmitted (for example, there are no successfully transmitted data packets in the data packets corresponding to that frame and there are still untransmitted data packets), then if the access network device has already received the remaining data packets in that frame, it can discard the remaining data packets in that frame without continuing transmission, thereby reducing the data transmission burden of the access network device and saving transmission resources. In addition, the access network device can also indicate the information of the failed data packet to the UPF through the second information. For example, the second information includes (or indicates) one or more of the following: the frame number of the frame corresponding to the failed data packet, the type of the frame corresponding to the failed data packet, or the position of the failed data packet within the frame. The access network device can carry the information of the failed data packet in the GTP header included in the second information, so that the UPF or the server can perform corresponding processing.

[0082] For example, if the access network device determines that a failed data packet corresponds to a frame, and some data packets in that frame are failed data packets, while the remaining data packets in that frame have not yet been transmitted (or, in other words, there are still untransmitted data packets in the data packets corresponding to that frame), then the second information may include (or indicate) one or more of the following: the frame number of the frame corresponding to the failed data packet, the type of the frame corresponding to the failed data packet, or the position of the failed data packet within the frame; or, the second information may include (or indicate) the GTP sequence number of the failed data packet; or, the second information may include (or indicate) the GTP sequence numbers of all data packets corresponding to the frame corresponding to the failed data packet. Alternatively, if the access network device determines that a failed data packet corresponds to a frame, and some data packets in that frame are failed data packets, but some data packets in the remaining data packets in that frame have already been successfully transmitted, then the second information may include (or indicate) the GTP sequence number of the failed data packet.

[0083] Optionally, in addition to sending the second information, the access network device can also send a third information, which can indicate the duration of the first timer. The first timer can also be called a stop-transmission timer, or it can have other names. The first timer is maintained, for example, by a UPF or server. Before the first timer expires, the UPF or server cannot send data packets corresponding to the first application. Only after the first timer expires can the UPF or server continue sending data packets corresponding to the first application. This method can alleviate network congestion. The duration of the first timer can be determined by the access network device. Since the access network device has a relatively clear understanding of the network situation—for example, it can determine when normal communication can be restored based on the network conditions—the duration of the first timer determined by the access network device can be relatively accurate. The access network device can send the third information to the UPF through the SMF, or it can send the third information directly to the UPF.

[0084] Optionally, in addition to sending the second information, the access network device may also send a fourth piece of information, such as indicating the reason for the transmission failure. There can be multiple reasons for transmission failure, including one or more of the following: network congestion, insufficient network resources, temporary network fluctuations, integrity transmission dropping data packets, integrity transmission dropping remaining data packets, or dropping low-priority data packets. Alternatively, the reasons for transmission failure may include other reasons besides one or more of the above. For example, if the reason for transmission failure includes dropping low-priority data packets, it can be considered a default indication that the reason for the transmission failure is network congestion or insufficient network resources. The access network device can send the fourth information to the UPF through the SMF, or it can send the fourth information directly to the UPF.

[0085] S306. The UPF sends first information about the failed data packets to the server, and correspondingly, the server receives the first information about the failed data packets from the UPF. The first information may include, for example, one or more of the following (or, the first information may indicate, for example, one or more of the following): the frame number of the frame corresponding to the failed data packet, the type of the frame corresponding to the failed data packet, the position of the failed data packet within the frame (e.g., which data packet within the frame it is), the number of failed data packets, and the sequence numbers of M data packets (M data packets may include the failed data packets, or may include all data packets corresponding to the frame corresponding to the failed data packets). The sequence number of the data packets indicated by the first information may, for example, be the TCP layer sequence number or the IP layer sequence number corresponding to the data packet.

[0086] UPF can record the mapping between packet sequence numbers (e.g., TCP layer sequence numbers or IP layer sequence numbers) and GTP header sequence numbers. After receiving the second information, if the second information includes (or indicates) the sequence number of the GTP header corresponding to the failed transmission packet, the UPF can map the GTP header sequence number indicated by the second information to a TCP layer sequence number or an IP layer sequence number, thereby determining the first information. For example, the first information determined by the UPF may include (or indicate) the sequence number of the packet that failed transmission in the first QoS stream (or in other words, the first information is used to determine the sequence number of the packet that failed transmission in the first QoS stream), for example, the first information may include (or indicate) the TCP layer sequence number or IP layer sequence number of these packets.

[0087] For example, if the second information includes (or indicates) the sequence number of the GTP header corresponding to the failed data packet, the UPF can map the sequence number of the GTP header included (or indicated) in the second information to a TCP layer sequence number or an IP layer sequence number, and then determine the frame to which the data packet corresponding to these TCP layer sequence numbers or IP layer sequence numbers belongs. Alternatively, the UPF can determine the frame to which the data packet corresponding to these GTP header sequence numbers belongs based on the sequence number of the GTP header included (or indicated) in the second information. Then, the first information determined by the UPF may include (or indicate) the frame corresponding to the failed data packet in the first QoS stream (or in other words, the first information is used to determine the frame corresponding to the failed data packet in the first QoS stream). For example, the first information may include (or indicate) one or more of the following: the frame number of the frame corresponding to the failed data packet in the first QoS stream, the type of the frame corresponding to the failed data packet, or the position of the failed data packet within the frame. Alternatively, if the UPF can determine the sequence numbers (e.g., TCP layer sequence numbers or IP layer sequence numbers) of all data packets corresponding to the frame corresponding to the failed data packet, then the first information determined by the UPF may include (or indicate) the sequence numbers of all data packets corresponding to the frame corresponding to the failed data packet in the first QoS stream.

[0088] Alternatively, if the second information includes (or indicates) the GTP sequence numbers of all data packets corresponding to the frame corresponding to the failed data packet, then after receiving the second information, the UPF can map the sequence numbers of the GTP header included (or indicated) in the second information to TCP layer sequence numbers or IP layer sequence numbers, thereby determining the first information, for example, the first information includes (or indicates) the TCP sequence numbers or IP sequence numbers of all data packets corresponding to the frame corresponding to the failed data packet.

[0089] Alternatively, if the second information includes (or indicates) the GTP sequence numbers of all data packets corresponding to the frame corresponding to the failed data packet, then after receiving the second information, the UPF can determine the information of the frame corresponding to the failed data packet, such as determining the frame number and / or the type of the frame corresponding to the failed data packet, and can use the determined information of the frame corresponding to the failed data packet as the first information.

[0090] Alternatively, if the second information includes (or indicates) information about the frame corresponding to the data packet that failed to be transmitted in the first QoS stream, such as including (or indicating) the frame number of the frame corresponding to the data packet that failed to be transmitted in the first QoS stream and / or the type of the frame corresponding to the data packet that failed to be transmitted, then after receiving the second information, the UPF can determine that the second information is the first information, that is, the first information also includes (or indicates) information about the frame corresponding to the data packet that failed to be transmitted in the first QoS stream.

[0091] Alternatively, if the second information includes (or indicates) information about the frame corresponding to the data packet that failed to be transmitted in the first QoS stream, such as including (or indicating) the frame number of the frame corresponding to the data packet that failed to be transmitted in the first QoS stream and / or the type of the frame corresponding to the data packet that failed to be transmitted, then after receiving the second information, the UPF can determine the sequence number (e.g., TCP layer sequence number or IP layer sequence number) of all data packets corresponding to the frame included (or indicated) in the second information, thereby determining the first information, such as the first information including (or indicating) the sequence number of all data packets corresponding to the frame corresponding to the data packet that failed to be transmitted in the first QoS stream.

[0092] After determining the initial information, the UPF can send the initial information to the server.

[0093] Optionally, if the UPF also receives third information, the UPF can send the duration of the first timer to the server, and the server can receive the duration of the first timer from the UPF. Alternatively, the UPF may not send the duration of the first timer to the server, in which case the server can determine the duration of the first timer itself, for example, by specifying it through the protocol or using a default value. Alternatively, if the UPF does not send the duration of the first timer to the server, the server may also disable the first timer.

[0094] Optionally, if the UPF also receives a fourth piece of information, the UPF can send the reason for the transmission failure to the server, and the server can obtain the reason for the transmission failure from the UPF. Optionally, the server can determine the duration of the first timer based on the reason for the transmission failure.

[0095] S307. The server discards part or all of the data packets that failed to transmit.

[0096] For example, if the server does not receive the reason for the transmission failure from the UPF, the server can directly execute S307. Alternatively, if the server receives the reason for the transmission failure from the UPF, the server can determine whether to discard the failed data packets based on the reason. As an example, if the reason for the transmission failure is a temporary network fluctuation, this network problem may be temporary, and the network may recover in a short time. Therefore, the server may not discard the failed data packets but wait for the network to recover before continuing to send them. In this case, the server does not need to execute S307, nor does it need to execute S308, which will be introduced later. As another example, if the reason for the transmission failure includes one or more of the following: network congestion, insufficient network resources, or discarding low-priority data packets, this network problem may require a long recovery time. In this case, to alleviate network congestion or insufficient resources, the server may discard some or all of the failed data packets, i.e., execute S307.

[0097] The server can discard all failed data packets, which can significantly alleviate network congestion. Alternatively, the server can choose to discard only a portion of the failed data packets and retransmit the remaining packets to the UE. For example, if the failed data packets include N packets, each representing a portion of a frame from the first application, while the remaining packets for that frame have been successfully transmitted, the server can retransmit all N packets to the UE to maximize the output quality of that frame. To improve the retransmission success rate of these N packets, the server can retransmit them via a second QoS stream, or in other words, the server retransmits all N packets. After receiving these N packets, the UPF retransmits them to the UE via the second QoS stream, where N is a positive integer. All other data packets included in the failed data packets besides these N packets can be discarded by the server. This approach alleviates network congestion while maximizing the output quality of more frames. Optionally, the server can retransmit these N packets via a second TCP connection, or via a first TCP connection. Additionally, the server can send first indication information to the UPF, which can then map the N data packets to a second QoS stream for transmission based on this information. The first indication information may be, for example, a retransmission indication or a high priority indication, used by the UPF to determine which QoS stream to map the data packets to. This application does not limit the specific implementation of the first indication information.

[0098] Optionally, the server may also discard the data packets of the frame corresponding to the failed data packet. For example, if the failed data packet corresponds to the first frame, and the remaining data packets in the first frame are all untransmitted data packets, or if the first frame has not yet successfully transmitted data packets and still has untransmitted data packets, then the server can discard the remaining data packets of the first frame. For example, if the first information indicates the sequence number of the failed data packets in the first QoS stream, the server may discard only some or all of the failed data packets; or, in addition to discarding some or all of the failed data packets, the server may also determine the information of the frame corresponding to the failed data packet, for example, if the first frame is determined, and if the first frame has not yet successfully transmitted data packets and still has untransmitted data packets, then the server may discard the remaining data packets of the first frame (in addition, the server will also discard the data packets corresponding to the first frame from the failed data packets), then the untransmitted data packets will no longer include the data packets of the first frame. As another example, if the first information indicates the information of the frames corresponding to the failed data packets in the first QoS stream, then the server may discard all data packets corresponding to these frames. For example, if the first information indicates the sequence number of all data packets corresponding to the frame corresponding to the data packet that failed to be transmitted in the first QoS stream, then the server may discard the data packets indicated by the first information. These data packets may include all or part of the data packets that failed to be transmitted, and / or include the data packets corresponding to the frame corresponding to the data packet that failed to be transmitted in the first QoS stream.

[0099] S308. The server resets the sequence numbers of unsent data packets so that their sequence numbers are consecutive to those of successfully sent data packets. Unsent data packets may be, for example, unsent packets within a first QoS stream; packets transmitted via a second QoS stream can be disregarded. The sequence numbers set for these unsent data packets may be, for example, TCP layer sequence numbers or IP layer sequence numbers.

[0100] In S307, if the server discards a data packet, and the sequence number of the unsent data packets is not reset, then after the server sends the unsent data packets to the UE, the sequence numbers of the received data packets will be discontinuous compared to the sequence numbers of the data packets received before the network failure. Consequently, the UE will wait indefinitely to receive the unsent data packets. For example, in the first QoS flow, the sequence numbers of the failed data packets are 11-20, and the server discards these 10 packets. For the server, the largest sequence number of a successfully sent data packet is 10, and the smallest sequence number of an unsent data packet is 21. If the server does not reset the sequence numbers of the unsent data packets, the UE will receive data packet 21 and then wait indefinitely for data packets 11-20. If this waiting period exceeds a certain time, the TCP connection between the server and the UE may be broken. Therefore, the server can reset the sequence numbers of unsent data packets, ensuring that the sequence numbers of unsent packets are consecutive with those of successfully sent packets. For the receiving end, since it receives packets with consecutive sequence numbers, it can continue receiving packets without waiting for discarded packets, thus maintaining the TCP connection between the server and the UE as much as possible. Continuing the previous example, if the server resets the sequence number of unsent data packet 21 to 11, and also resets the sequence numbers of other unsent data packets in sequence, ensuring that the sequence numbers of unsent packets are consecutive with those of successfully sent packets, the UE will receive data packet 11 instead of data packet 21. Due to the consecutive sequence numbers, the UE will not wait for discarded packets, thus maintaining the TCP connection between the server and the UE.

[0101] The requirement for consecutive sequence numbers is a requirement of the TCP layer at the receiving end (e.g., UE). After receiving data packets, if the sequence numbers of the packets are consecutive, the TCP layer will deliver the packets with consecutive sequence numbers to the application layer for processing. The application layer can then identify the actual data contained in the data packets and will not associate data packets with incorrect frames due to sequence numbers. For example, if the server resets the sequence number of data packet 21 to 11, data packet 21 corresponds to frame B, while the actual data packet 11 corresponds to frame A, the UE's application layer, upon receiving data packet 11, can determine that the frame corresponding to data packet 11 is frame B, not frame A, thus preventing output confusion.

[0102] If the server only discards some or all of the data packets that failed to transmit in the first QoS stream, but does not discard the remaining data packets corresponding to the frames corresponding to these data packets, then the unsent data packets still include the remaining data packets corresponding to these frames. For example, if the data packets that failed to transmit in the first QoS stream include data packets 1-5 and data packets 12-13, where data packets 1-5 correspond to frame A, data packets 12-13 correspond to frame B, and frame A also corresponds to data packets 6-10, and frame B also corresponds to data packets 11, 14-20. If the server discards data packets 1-5 and data packets 12-13, but does not discard data packets 6-10, and data packets 11, 14-20, then data packets 6-10, 11, and 14-20 are unsent data packets, and the server needs to reset the sequence numbers for these data packets. Alternatively, if the server not only discards some or all of the data packets that failed to transmit in the first QoS stream, but also discards the remaining data packets corresponding to the frames corresponding to these data packets, then the unsent data packets no longer include the remaining data packets corresponding to these frames. Using the example above, if the server discards data packets 1-20, then data packets 11 and 14-20 are not data packets that have not yet been sent, and the server does not need to set sequence numbers for these data packets.

[0103] S309. When the network is determined to be back to normal, the server sends the data packets that have not yet been sent, and the UE receives these data packets accordingly. Alternatively, when the first timer expires, the server sends the data packets that have not yet been sent, and the UE receives these data packets accordingly. These unsent data packets may be, for example, data packets that have not yet been sent on the first QoS stream. For example, the server sends the unsent data packets to the UPF through the first TCP connection, and the UPF then maps these data packets to the first QoS stream and sends them to the UE. Optionally, the first timer expiration can also be understood as the first timer expiring, or the first timer countdown ending.

[0104] For example, if the server receives the duration of the first timer from the UPF, the server can start the first timer. This could be done after receiving the first information, or after receiving the duration of the first timer. Alternatively, if the protocol specifies the duration of the first timer, or if a default value is used, the server can start the first timer, for example, after receiving the first information. If the server starts the first timer, it cannot send or stops sending data packets on the first QoS stream corresponding to the first application before the first timer expires. However, the server can continue sending data packets on the second QoS stream corresponding to the first application, or it can choose not to send them. When the first timer expires, the server can send any unsent data packets through the first TCP connection.

[0105] Alternatively, if the server does not receive the duration of the first timer from the UPF, the protocol does not specify the duration of the first timer, and there is no default value for the duration, the server may not start the first timer. In this case, if network recovery is determined, the access network device can send a sixth message to the UPF (e.g., the access network device sends the sixth message directly to the UPF, or the access network device sends the sixth message to the UPF through the SMF). After receiving the sixth message, the UPF can send it to the server. After receiving the sixth message, the server can determine that the unsent data packets can be sent through the first TCP connection. This sixth message can indicate that the network has returned to normal, or indicate the sending of data packets, or indicate the sending of data packets through the first QoS flow, etc. Optionally, the first message is used by the server to determine that the network has returned to normal.

[0106] Alternatively, even if the server starts the first timer, if the access network device, after determining that the network has returned to normal, finds that the first QoS flow has not yet resumed transmission, it can also send the sixth information to the UPF, which can then forward this sixth information to the server. In this case, the first timer may not have expired, but based on the access network device's notification, the server can also determine that the network has returned to normal and thus promptly send the unsent data packets through the first TCP connection. Furthermore, the server can stop the first timer.

[0107] For example, refer to Figure 5 This is an example of a server sending data packets that have not yet been sent. For instance, data packets 1, 2, and 3 are successfully sent, data packets 4 and 5 are failed to transmit, and data packets 6, 7, 8, and 9 are unsent data packets. Data packets 4 and 5 are discarded due to transmission failure. The server re-sequences data packets 6, 7, 8, and 9, changing them to data packets 4, 5, 6, and 7. After the network recovers, the server sends data packets 4, 5, 6, and 7. Thus, for the UE, the sequence numbers of the received data packets are consecutive.

[0108] S301 to S305 and S309 are optional steps.

[0109] The above steps describe the downlink transmission situation involved in the embodiments of this application. The uplink transmission situation involved in the embodiments of this application is described below.

[0110] After the application (APP) providing the first application in the UE's application layer generates service data, the APP or application processor (AP) encapsulates the service data into data packets (e.g., IP packets). The UE's modem requests radio resources from the access network equipment to send these data packets to the server through the access network equipment and the UPF. The UE transmits the data of the first application through a first QoS stream and a second QoS stream. Optionally, the application providing the first application can also be understood as the application (APP) corresponding to the first application.

[0111] For example, if the UE's modem receives data packets from the application layer that need to be transmitted via the first QoS stream, but network problems occur, such as network congestion or insufficient network resources, the modem cannot complete the transmission of these data packets. In this case, the modem can determine the first information of the failed data packets based on the data transmission status of the first QoS stream, and the modem can send the first information to the UE's application layer. The data transmission status of the first QoS stream can indicate the network condition; for example, if a large number of data packets in the first QoS stream are lost, the network may be congested or have insufficient network resources. Optionally, the modem can also send third and / or fourth information to the application layer. For details on the content of this information, please refer to the preceding description.

[0112] The UE's application layer (e.g., the AP or an APP installed in the UE providing the first application) can directly discard part or all of the failed data packets. Optionally, it can also discard the remaining data packets corresponding to the frames of the failed data packets. Alternatively, the UE's application layer can determine whether to discard data packets based on the reason for the transmission failure; see S307 for details. If the UE's application layer discards data packets, it can reset the sequence numbers of unsent data packets; see S308 for details. When the network recovers, or when the first timer expires, the UE can continue to send unsent data packets; see S309 for details. One way the UE's application layer determines network recovery is as follows: if network recovery is determined, the UE's modem can send a sixth message to the UE's application layer. After receiving this sixth message, the UE's application layer can determine that the network has recovered normally, and then the UE's application layer can send the unsent data packets through the first QoS stream. This sixth message can indicate that the network has recovered normally, or indicate the sending of data packets, or indicate the sending of data packets through the first QoS stream. Alternatively, even if the UE's application layer starts the first timer, the UE's modem can still send the sixth message to the UE's application layer. For more information, please refer to S309.

[0113] In this embodiment, for the sending end, if there are failed data packets in the first QoS stream, some or all of these data packets can be discarded, which is equivalent to not retransmitting the discarded data packets. This prevents the sending end from reaching the maximum retransmission count, thus maintaining the uninterrupted connection of the transport layer between the sending and receiving ends as much as possible. When the network recovers, the sending end can continue transmitting data packets through this transport layer connection without re-establishing the connection, improving data packet transmission efficiency. Furthermore, for the receiving end, if the sequence numbers of the received data packets are not consecutive, the receiving end will wait indefinitely for the unreceived data packets. If the wait reaches a certain duration, the transport layer connection between the sending and receiving ends may be broken. Therefore, in this embodiment, since some data packets are discarded, the sending end can reset the sequence numbers of the unsent data packets, making the sequence numbers of the unsent data packets consecutive with those of the successfully sent data packets. For the receiving end, since it receives data packets with consecutive sequence numbers, it can continuously receive data packets without waiting for discarded data packets, thus also maintaining the uninterrupted connection of the transport layer between the sending and receiving ends as much as possible.

[0114] exist Figure 3 In the downlink transmission process of the illustrated embodiment, the server can sense the transmission status of data packets and determine whether to discard them, which requires modification to the server's execution process. A second communication method according to an embodiment of this application is provided below. In this method, the server does not need to sense the transmission status of data packets, requiring less modification to the server. Please refer to... Figure 6 Here is a flowchart of the method.

[0115] S601. The server sends downlink data packets to the UPF, and the UPF receives downlink data packets from the server accordingly. There can be one or more downlink data packets, which may be IP packets, for example. These downlink data packets belong to a first application, such as an XR application, or other video or image applications.

[0116] For more information about the S601, please refer to [link / reference]. Figure 3 S301 is shown.

[0117] S602, UPF determines that the TCP proxy function is to be executed.

[0118] This can be understood as follows: by using the UPF to perform TCP proxying, a single TCP connection between the UE and the server is split into two TCP connections: one between the UE and the UPF, and the other between the UPF and the server. The UE sends an ACK to the UPF for each received data packet; the UPF does not forward it to the server. However, after receiving a data packet from the server, the UPF sends an ACK to the server. In this embodiment, there can be a first TCP connection and a second TCP connection between the UE and the server; each of these two TCP connections can be considered as being split into two separate TCP connections.

[0119] S603, UPF sends a first request to the access network device, and the access network device receives the first request accordingly.

[0120] For more information about the S603, please refer to [link / reference]. Figure 3 S302 of the illustrated embodiment.

[0121] S604, the UPF transmits data packets of the first data stream through the first QoS stream. Alternatively, the UPF transmits data packets of the first TCP connection through the first QoS stream. The data packets described in various embodiments of this application are, for example, IP packets.

[0122] S605, UPF transmits data packets of the second data stream through the second QoS stream. Alternatively, UPF transmits data packets of the second TCP connection through the second QoS stream.

[0123] For more information on S604 and S605, please refer to [link / reference]. Figure 3 S303 and S304 of the illustrated embodiment.

[0124] S606. The access network device sends the second information of the data packet that failed to be transmitted, and correspondingly, the UPF receives the second information of the data packet that failed to be transmitted.

[0125] For more information about the S606, please refer to [link / reference]. Figure 3 S305 of the illustrated embodiment.

[0126] S607, UPF discards part or all of the data packets that failed to transmit.

[0127] For more information about the S607, please refer to [link / reference]. Figure 3 S307 of the illustrated embodiment is only Figure 3 In the illustrated embodiment, S307 is executed by the server, while S607 is executed by the UPF, but the execution methods are similar.

[0128] S608 and UPF reset the sequence numbers of unsent data packets, ensuring that their sequence numbers are consecutive to those of successfully sent data packets. Unsent data packets may be, for example, unsent packets in the first QoS stream transmission; they can be disregarded in the second QoS stream transmission. The sequence numbers set for these unsent data packets may be, for example, TCP layer sequence numbers or IP layer sequence numbers.

[0129] It is important to note that in this embodiment, the UPF performs a TCP proxy function, therefore the server is unaware of the data packet transmission status. The server only needs to send data packets to the UPF, and after receiving the data packets, the UPF can send an ACK to the server. Upon receiving the ACK, the server can then continuously send data packets to the UPF. For the UPF, if any data packet transmission fails, it may still continue to receive data packets from the server; however, these data packets may have to be treated as unsent data packets.

[0130] For more information about the S608, please refer to [link / reference]. Figure 3 S308 of the illustrated embodiment is only Figure 3 In the illustrated embodiment, S308 is executed by the server, while S608 is executed by the UPF, but the execution methods are similar.

[0131] S609. When the network is determined to have returned to normal, the UPF sends the data packets that have not yet been sent, and the UE receives these data packets accordingly. Alternatively, when the first timer expires, the UPF sends the data packets that have not yet been sent, and the UE receives these data packets accordingly. These unsent data packets may be, for example, data packets that have not yet been sent on the first QoS flow. For example, the UPF maps the unsent data packets to the first QoS flow and sends them to the UE.

[0132] For more information about the S609, please refer to [link / reference]. Figure 3 S309 of the illustrated embodiment is only Figure 3 In the illustrated embodiment, S309 is executed by the server, while S609 is executed by the UPF, but the execution methods are similar.

[0133] S601 to S606 and S609 are optional steps.

[0134] The steps described above illustrate the downlink transmission scenario in the embodiments of this application. The uplink transmission scenario in the embodiments of this application is different. Figure 3 The upstream transmission scenarios involved in the illustrated embodiments are similar and will not be described in detail here.

[0135] In this embodiment, for the sending end, if there are failed data packets in the first QoS stream, some or all of these data packets can be discarded, which is equivalent to not retransmitting the discarded data packets. This prevents the sending end from reaching the maximum retransmission count, thus maintaining the uninterrupted connection of the transport layer between the sending and receiving ends as much as possible. When the network recovers, the sending end can continue transmitting data packets through this transport layer connection without re-establishing the connection, improving data packet transmission efficiency. Furthermore, for the receiving end, if the sequence numbers of the received data packets are not consecutive, the receiving end will wait indefinitely for the unreceived data packets. If the wait reaches a certain duration, the transport layer connection between the sending and receiving ends may be broken. Therefore, in this embodiment, since some data packets are discarded, the sending end can reset the sequence numbers of the unsent data packets, making the sequence numbers of the unsent data packets consecutive with those of the successfully sent data packets. For the receiving end, since it receives data packets with consecutive sequence numbers, it can continuously receive data packets without waiting for discarded data packets, thus also maintaining the uninterrupted connection of the transport layer between the sending and receiving ends as much as possible. Furthermore, in this embodiment, the TCP proxy is performed by UPF, so the server does not need to be aware of the data transmission situation, but can simply send data packets normally, which simplifies the implementation process of the server.

[0136] exist Figure 3 The illustrated embodiments or Figure 6 In the illustrated embodiment, two TCP connections are established between the UE and the server to transmit data for the first application, which requires modifications to the server implementation. The following describes a third communication method provided by an embodiment of this application. In this method, only one TCP connection needs to be established between the UE and the server, requiring less modification to the server. Please refer to... Figure 7 Here is a flowchart of the method.

[0137] S701, the server sends downlink data packets to the UPF, and the UPF receives downlink data packets from the server accordingly. The number of downlink data packets can be one or more, and these downlink data packets can be, for example, IP packets. These downlink data packets belong to a first application, such as an XR application, or other video or image applications.

[0138] In this embodiment, only one TCP connection needs to be established between the server and the UE. Regardless of the importance of the data of the first application, the server sends the data of the first application to the UPF through this single TCP connection.

[0139] S702 and UPF determine to execute the TCP proxy function.

[0140] For more information about the S702, please refer to [link / reference]. Figure 6S602 of the illustrated embodiment.

[0141] S703, the UPF determines that the data packets of the TCP connection are transmitted between the UPF and the UE through at least two QoS streams. Alternatively, the UPF determines that the data packets of the first application are transmitted between the UPF and the UE through at least two QoS streams.

[0142] For example, if the UPF determines that the data packets of the first application have different levels of importance—some packets are more important and some are less important—then the UPF can determine to transmit the TCP connection's data packets between the UPF and the UE through at least two QoS streams. Different QoS streams transmit data packets of different importance levels, thereby improving the reliability of data transmission. For example, in this embodiment of the application, the data packets of the first application are transmitted through two QoS streams, which may include, for example, a first QoS stream and a second QoS stream.

[0143] The first connection is established between S704, UPF and UE.

[0144] The first connection may include at least two subflows, which are transmitted over at least two QoS streams. These at least two QoS streams include a first QoS stream, for example, a first QoS stream and a second QoS stream. The first connection may be, for example, a multipath TCP (MPTCP) connection, or it may be another connection such as multipath QUIC (MPQUIC). This embodiment of the application uses an MPTCP connection as an example.

[0145] The MPTCP connection can be understood as including at least two sub-streams, which are transmitted on at least two QoS streams, with one QoS stream transmitting one sub-stream. Taking the transmission of data packets from the first application through a first QoS stream and a second QoS stream as an example, the MPTCP connection includes a first sub-stream and a second sub-stream, with the first sub-stream transmitted through the first QoS stream and the second sub-stream transmitted through the second QoS stream. If an MPTCP connection has not yet been established between the UPF and the UE, step S704 can be executed; however, if an MPTCP connection has already been established between the UPF and the UE, step S704 does not need to be executed. The process of establishing an MPTCP connection will be described in other embodiments later.

[0146] The advantage of MPTCP connections is that they allow for better management of data packets transmitted across multiple paths, ensuring correct and efficient data packet transmission. Furthermore, only one TCP connection needs to be established between the server and the user interface (UE), requiring minimal modifications to the server and facilitating commercial deployment.

[0147] S705 and UPF send a first request to the access network device, and the access network device receives the first request accordingly.

[0148] For more information about the S705, please refer to [link / reference]. Figure 3 S302 of the illustrated embodiment.

[0149] S706, UPF transmits data packets of the first sub-stream through the first QoS stream. The data packets described in various embodiments of this application are, for example, IP packets.

[0150] S707 and UPF transmit data packets of the second sub-stream through the second QoS stream.

[0151] For more information on the S706 and S707, please refer to [link / reference]. Figure 3 S303 and S304 of the illustrated embodiment.

[0152] S708, the access network device sends the second information of the data packet that failed to be transmitted, and correspondingly, the UPF receives the second information of the data packet that failed to be transmitted.

[0153] For more information about the S708, please refer to [link / reference]. Figure 3 S606 of the illustrated embodiment.

[0154] S709, UPF discards part or all of the data packets that failed to transmit.

[0155] For more information about the S709, please refer to [link / reference]. Figure 3 S307 of the illustrated embodiment is only Figure 3 In the illustrated embodiment, S307 is executed by the server, while S709 is executed by the UPF, but the execution methods are similar.

[0156] S710 and UPF reset the sequence numbers of unsent data packets, ensuring that their sequence numbers are consecutive to those of successfully sent data packets. Unsent data packets may be, for example, unsent packets in the first QoS stream transmission; they can be disregarded in the second QoS stream transmission. The sequence numbers set for these unsent data packets may be, for example, TCP layer sequence numbers or IP layer sequence numbers.

[0157] It is important to note that in this embodiment, the UPF performs a TCP proxy function, therefore the server is unaware of the data packet transmission status. The server only needs to send data packets to the UPF, and after receiving the data packets, the UPF can send an ACK to the server. Upon receiving the ACK, the server can then continuously send data packets to the UPF. For the UPF, if any data packet transmission fails, it may still continue to receive data packets from the server; however, these data packets may have to be treated as unsent data packets.

[0158] For more information about the S710, please refer to [link / reference]. Figure 3 S308 of the illustrated embodiment is only Figure 3 In the illustrated embodiment, S308 is executed by the server, while S710 is executed by the UPF, but the execution methods are similar.

[0159] S711. Upon determining that the network has returned to normal, the UPF sends the data packets that have not yet been sent, and the UE receives these data packets accordingly. Alternatively, when the first timer expires, the UPF sends the data packets that have not yet been sent, and the UE receives these data packets accordingly. These unsent data packets may be, for example, data packets that have not yet been sent on the first QoS flow. For example, the UPF maps the unsent data packets to the first QoS flow and sends them to the UE.

[0160] For more information about the S711, please refer to [link / reference]. Figure 3 S309 of the illustrated embodiment is only Figure 3 In the illustrated embodiment, S309 is executed by the server, while S711 is executed by the UPF, but the execution methods are similar.

[0161] S701 to S708 and S711 are optional steps.

[0162] The steps described above illustrate the downlink transmission scenario in the embodiments of this application. The uplink transmission scenario in the embodiments of this application is different. Figure 3 The upstream transmission scenarios involved in the illustrated embodiments are similar and will not be described in detail here.

[0163] In this embodiment, for the sending end, if there are failed data packets in the first QoS stream, some or all of these data packets can be discarded, which is equivalent to not retransmitting the discarded data packets. This prevents the sending end from reaching the maximum retransmission count, thus maintaining the uninterrupted connection of the transport layer between the sending and receiving ends as much as possible. When the network recovers, the sending end can continue transmitting data packets through this transport layer connection without re-establishing the connection, improving data packet transmission efficiency. Furthermore, for the receiving end, if the sequence numbers of the received data packets are not consecutive, the receiving end will wait indefinitely for the unreceived data packets. If the wait reaches a certain duration, the transport layer connection between the sending and receiving ends may be broken. Therefore, in this embodiment, since some data packets are discarded, the sending end can reset the sequence numbers of the unsent data packets, making the sequence numbers of the unsent data packets consecutive with those of the successfully sent data packets. For the receiving end, since it receives data packets with consecutive sequence numbers, it can continuously receive data packets without waiting for discarded data packets, thus also maintaining the uninterrupted connection of the transport layer between the sending and receiving ends as much as possible. Furthermore, in this embodiment, only a transport layer connection needs to be established between the server and the UE, requiring minimal modifications to the server. Additionally, in this embodiment, the TCP proxy is performed by the UPF, so the server does not need to be aware of data transmission; it can simply send data packets normally, simplifying the server implementation process.

[0164] In the embodiments described above, the server or UPF maintains the transport layer connection by discarding failed data packets and re-sequence-numbering unsent data packets. The following provides a fourth communication method based on embodiments of this application. In this method, it is not necessary to re-sequence-number unsent failed data packets; the receiving end can construct failed data packets itself, thereby maintaining the transport layer connection. Please refer to... Figure 8 Here is a flowchart of the method.

[0165] S801. The server sends downlink data packets to the UPF, and the UPF receives downlink data packets from the server accordingly. There can be one or more downlink data packets, which may be IP packets, for example. These downlink data packets belong to a first application, such as an XR application, or other video or image applications.

[0166] For more information about the S801, please refer to [link / reference]. Figure 3 S301 of the illustrated embodiment.

[0167] S802, UPF sends a first request to the access network device, and the access network device receives the first request accordingly.

[0168] For more information about the S802, please refer to [link / reference]. Figure 3 S302 of the illustrated embodiment.

[0169] S803, the UPF transmits data packets of the first data stream through the first QoS stream. Alternatively, the UPF transmits data packets of the first TCP connection through the first QoS stream. The data packets described in various embodiments of this application are, for example, IP packets.

[0170] S804, UPF transmits data packets of the second data stream through the second QoS stream. Alternatively, UPF transmits data packets of the second TCP connection through the second QoS stream.

[0171] For more information on S803 and S804, please refer to [link / reference]. Figure 3 S303 and S304 of the illustrated embodiment.

[0172] S805, the access network device sends the second information of the data packet that failed to be transmitted, and correspondingly, the UPF receives the second information of the data packet that failed to be transmitted.

[0173] For more information about the S805, please refer to [link / reference]. Figure 3 S305 of the illustrated embodiment.

[0174] S806, the UPF sends the first information of the failed data packet to the server, and correspondingly, the server receives the first information of the failed data packet from the UPF.

[0175] For more information about the S806, please refer to [link / reference]. Figure 3 S306 of the illustrated embodiment.

[0176] S807. The server sends the fifth information to the UE, and the UE receives the fifth information from the server accordingly.

[0177] The fifth information can indicate the sequence numbers of some or all of the data packets that failed to be transmitted (or, in other words, failed to be transmitted) in the first QoS stream by the first communication device. Alternatively, the fifth information can be used to determine the sequence numbers of some or all of the data packets that failed to be transmitted by the first communication device in the first QoS stream. These sequence numbers are, for example, TCP layer sequence numbers or IP layer sequence numbers. In this case, the first communication device is, for example, a server. For example, the data packets that failed to be transmitted in the first QoS stream include data packets 1-5 and data packets 12-13. Data packets 1-5 correspond to frame A, data packets 12-13 correspond to frame B, and frame A also corresponds to data packets 6-10, and frame B also corresponds to data packets 11, 14-20. If the server discards data packets 1-5 and data packets 12-13, but does not discard data packets 6-10, and data packets 11, 14-20, then the fifth information can indicate the sequence numbers of data packets 1-5 and data packets 12-13, but may not indicate the sequence numbers of data packets 6-10, nor the sequence numbers of data packets 11, 14-20.

[0178] Alternatively, if the server, in addition to discarding some or all of the failed data packets, also identifies the frames corresponding to the failed data packets and discards the remaining data packets corresponding to these frames, then the fifth information can indicate the sequence numbers of all data packets corresponding to the frames corresponding to the failed partial or complete data packets transmitted by the first communication device in the first QoS stream. Alternatively, the fifth information can be used to determine the sequence numbers of all data packets corresponding to the frames corresponding to the failed partial or complete data packets transmitted by the first communication device in the first QoS stream. These sequence numbers are, for example, TCP layer sequence numbers or IP layer sequence numbers. In this case, the first communication device is, for example, a server. For example, the failed data packets in the first QoS stream include data packets 1-5 and data packets 12-13, where data packets 1-5 correspond to frame A, data packets 12-13 correspond to frame B, and frame A also corresponds to data packets 6-10, and frame B also corresponds to data packets 11, 14-20. If the server discards data packets 1-5 and data packets 12-13, but does not discard data packets 6-10, and data packets 11, 14-20, then the fifth information can indicate the sequence numbers of data packets 1-20.

[0179] This can be understood as the fifth piece of information indicating the sequence numbers of all data packets discarded by the server. The discarded data packets include, for example, some or all data packets that failed to be sent, and optionally, the remaining data packets corresponding to the frames of the failed data packets.

[0180] The first communication device is the sender of the failed data packet; for example, in this embodiment, the first communication device is a server. Optionally, the fifth information may also indicate other information about the failed portion or all of the data packets, such as the size of the data packet.

[0181] Since the first TCP connection may fail to transmit normally at this point, or the first QoS stream may fail to transmit normally, the server can optionally send the fifth information to the UE via the second QoS stream. Alternatively, the server can send the fifth information to the UPF via the second TCP connection, and the UPF can then send the fifth information to the UE via the second QoS stream. Sending the fifth information via the second TCP connection improves the success rate of its transmission.

[0182] S808, UE generates (or constructs) a second data packet based on the fifth information. The number of second data packets can be one or more.

[0183] After receiving the fifth information, the UE (e.g., its modem) can generate a second data packet based on it. The sequence number of this second data packet is the same as the sequence number of the data packet indicated by the fifth information. This sequence number can be, for example, the TCP layer sequence number or the IP layer sequence number. For instance, if the fifth information indicates data packets 1-5, the UE will generate 5 second data packets, each with sequence numbers 1-5. The UE's modem can then send these second data packets to the UE's TCP layer (or TCP entity, or simply the TCP layer itself). The UE's TCP layer then considers itself to have received data packets with sequence numbers consecutive to those of successfully received data packets. The second data packet is not a real data packet and does not contain the actual payload of the data packet indicated by the fifth information; it is only there to make the UE's TCP layer believe that the sequence numbers of the received data packets are consecutive. For the UE's application layer, the content of these data packets can be identified, thus determining that these data packets do not correspond to any frame of the first application, preventing output confusion.

[0184] and Figure 3 The difference in the illustrated embodiment is that although the server discards data packets, the UE automatically generates data packets with the same sequence numbers as these packets. Therefore, the server does not need to reset the sequence numbers for the unsent data packets. When the network recovers, the server can continue to send the unsent data packets. For information on how the server determines network recovery, please refer to [link to relevant documentation]. Figure 3 The illustrated embodiment shows that after the network is restored, the UE receives previously unsent data packets from the server. Since the UE has already constructed data packets that the server discards, the UE's TCP layer will consider that the discarded data packets have been received. Therefore, the UE's TCP layer will not wait to receive these data packets. Since the sequence numbers of the unsent data packets received from the server are consecutive to those of the previously successfully received data packets, the UE's TCP layer will maintain the receiving state, thereby ensuring that the TCP connection between the UE and the server remains unbroken.

[0185] S801 to S806 are optional steps.

[0186] The above steps describe the downlink transmission situation involved in the embodiments of this application. The uplink transmission situation involved in the embodiments of this application is described below.

[0187] After the application layer of the UE generates service data, the application (APP) providing the first application encapsulates the service data into data packets (e.g., IP packets). The UE's modem requests radio resources from the access network equipment to send these data packets to the server via the access network equipment and the UPF. The UE transmits the data of the first application through a first QoS stream and a second QoS stream.

[0188] For example, if the UE's modem receives data packets from the application layer that need to be transmitted via the first QoS stream, but network problems occur, such as network congestion or insufficient network resources, the modem cannot complete the transmission of these data packets. In this case, the modem can determine the first information of the failed data packets based on the data transmission status of the first QoS stream, and the modem can send the first information to the UE's application layer. Optionally, the modem can also send third and / or fourth information to the application layer. For details on the content of this information, please refer to the preceding description.

[0189] The UE's application layer (e.g., the AP or an APP installed on the UE providing the first application) can directly discard part or all of the data packets that failed to transmit. Optionally, it can also discard the remaining data packets corresponding to the frames of the failed data packets. Alternatively, the UE's application layer can determine whether to discard data packets based on the reason for the transmission failure. For more information on this, please refer to [link / reference needed]. Figure 3 S307 of the illustrated embodiment. If the UE's application layer discards the data packet, the UE can send the fifth information to the server, for example, the UE sends the fifth information to the server through the second QoS flow. Alternatively, it can be understood that the UE sends the fifth information to the UPF through the second QoS flow, and the UPF sends the fifth information to the server through the second TCP connection. Sending the fifth information through the second TCP connection can improve the success rate of the fifth information transmission. In this case, the first communication device is the UE.

[0190] After receiving the fifth message, the server can generate a second data packet based on it. The sequence number of the second data packet is the same as that of the data packet indicated by the fifth message. The server can then send the second data packet to its TCP layer (or TCP entity, or simply TCP layer). The server's TCP layer then considers itself to have received a data packet with a sequence number consecutive to that of the successfully received data packet.

[0191] and Figure 3The difference in the illustrated embodiment is that although the UE discards data packets, the server automatically generates data packets with the same sequence numbers as these packets. Therefore, the UE does not need to reset the sequence numbers of the unsent data packets. When the network recovers, the UE can continue to send the unsent data packets. For information on how the UE determines network recovery, please refer to [link to relevant documentation]. Figure 3 The illustrated embodiment shows that after the network is restored, the server receives previously unsent data packets from the UE. Since the server has already constructed data packets that were discarded by the UE, the server's TCP layer will consider that the discarded data packets have been received. Therefore, the server's TCP layer will not wait to receive these data packets. Since the sequence numbers of the unsent data packets received from the UE are consecutive to those of the previously successfully received data packets, the server's TCP layer will maintain the receiving state, thereby ensuring that the TCP connection between the UE and the server remains unbroken.

[0192] In this embodiment, for the sending end, if there are failed data packets in the first QoS stream, some or all of these data packets can be discarded, which is equivalent to not retransmitting the discarded data packets. This prevents the sending end from reaching the maximum retransmission count, thus maintaining the uninterrupted connection of the transport layer between the sending and receiving ends as much as possible. When the network recovers, the sending end can continue transmitting data packets through this transport layer connection without re-establishing the connection, improving data packet transmission efficiency. Furthermore, for the receiving end, if the sequence numbers of the received data packets are not consecutive, the receiving end will wait indefinitely to receive the unreceived data packets. If the wait reaches a certain duration, the transport layer connection between the sending and receiving ends may also be broken. Therefore, in this embodiment, the sending end can indicate the sequence numbers of the failed data packets to the receiving end. The receiving end can then generate data packets with the same sequence numbers as the failed data packets, thus making the receiving end believe that the sequence numbers of the received data packets are consecutive. This also helps to maintain the uninterrupted connection of the transport layer between the sending and receiving ends as much as possible.

[0193] exist Figure 8 In the downlink transmission process of the illustrated embodiment, the server can sense the transmission status of data packets and determine whether to discard them, which requires modification to the server's execution process. The following provides a fifth communication method according to an embodiment of this application. In this method, the server does not need to sense the transmission status of data packets, requiring less modification to the server. Please refer to... Figure 9 Here is a flowchart of the method.

[0194] S901, The server sends downlink data packets to the UPF, and the UPF receives downlink data packets from the server accordingly. There can be one or more downlink data packets, which may be IP packets, for example. These downlink data packets belong to a first application, such as an XR application, or other video or image applications.

[0195] For more information about the S901, please refer to [link / reference]. Figure 3 S301 is shown.

[0196] S902 and UPF determine to execute the TCP proxy function.

[0197] For more information about the S902, please refer to [link / reference]. Figure 3 S302 is shown.

[0198] S903 and UPF send a first request to the access network device, and the access network device receives the first request accordingly.

[0199] For more information about the S903, please refer to [link / reference]. Figure 3 S302 of the illustrated embodiment.

[0200] S904, the UPF transmits data packets of the first data stream through the first QoS stream. Alternatively, the UPF transmits data packets of the first TCP connection through the first QoS stream. The data packets described in various embodiments of this application are, for example, IP packets.

[0201] S905, UPF transmits data packets of the second data stream through the second QoS stream. Or, in other words, UPF transmits data packets of the second TCP connection through the second QoS stream.

[0202] For more information on the S904 and S905, please refer to [link / reference]. Figure 3 S303 and S304 of the illustrated embodiment.

[0203] S906, the access network device sends the second information of the data packet that failed to be transmitted, and correspondingly, the UPF receives the second information of the data packet that failed to be transmitted.

[0204] For example, if the UPF records the correspondence between the sequence number of a data packet (e.g., the sequence number of the TCP layer or the sequence number of the IP layer) and the sequence number of the GTP header, then after receiving the second information, the UPF can map the sequence number of the GTP header indicated by the second information to the sequence number of the TCP layer or the sequence number of the IP layer, and obtain the first information of the failed data packets accordingly. The first information can indicate the sequence number of the failed data packets in the first QoS stream, and the sequence number of the failed data packets indicated by the first information is the TCP layer sequence number or the IP layer sequence number of these data packets. Optionally, the first information is used by the UPF to determine the sequence number of the failed data packets in the first QoS stream.

[0205] For more information about the S906, please refer to [link / reference]. Figure 3 S305 of the illustrated embodiment.

[0206] S907, the UPF sends the fifth information to the UE, and correspondingly, the UE receives the fifth information from the UPF. The fifth information may indicate the sequence number of some or all data packets that failed to be transmitted in the first QoS stream by the first communication device, or the fifth information may be used to determine the sequence number of some or all data packets that failed to be transmitted in the first QoS stream.

[0207] Alternatively, the fifth information may indicate the sequence number of all data packets corresponding to the frame corresponding to the part or all of the data packets that the first communication device failed to transmit in the first QoS stream, or the fifth information may be used to determine the sequence number of all data packets corresponding to the frame corresponding to the part or all of the data packets that the first communication device failed to transmit in the first QoS stream.

[0208] In this case, the first communication device is, for example, a UPF.

[0209] For more information about the S907, please refer to [link / reference]. Figure 8 S807 of the illustrated embodiment.

[0210] S908, the UE generates a second data packet based on the fifth information. The sequence number of the second data packet is the same as the sequence number of the data packet indicated by the fifth information. The sequence number of the data packet is, for example, the TCP layer sequence number or the IP layer sequence number of the data packet.

[0211] For more information about the S908, please refer to [link / reference]. Figure 8 S808 of the illustrated embodiment.

[0212] S901 to S907 are optional steps.

[0213] The above steps describe the downlink transmission situation involved in the embodiments of this application. The uplink transmission situation involved in the embodiments of this application is described below.

[0214] After the application layer of the UE generates service data, the application (APP) providing the first application encapsulates the service data into data packets (e.g., IP packets). The UE's modem requests radio resources from the access network equipment to send these data packets to the server via the access network equipment and the UPF. The UE transmits the data of the first application through a first QoS stream and a second QoS stream.

[0215] For example, if the UE's modem receives data packets from the application layer that need to be transmitted via the first QoS stream, but network problems occur, such as network congestion or insufficient network resources, the modem cannot complete the transmission of these data packets. In this case, the modem can determine the first information of the failed data packets based on the data transmission status of the first QoS stream, and the modem can send the first information to the UE's application layer. Optionally, the modem can also send third and / or fourth information to the application layer. For details on the content of this information, please refer to the preceding description.

[0216] The UE's application layer (e.g., the AP or an APP installed on the UE providing the first application) can directly discard part or all of the data packets that failed to transmit. Optionally, it can also discard the remaining data packets corresponding to the frames of the failed data packets. Alternatively, the UE's application layer can determine whether to discard data packets based on the reason for the transmission failure. For more information on this, please refer to [link / reference needed]. Figure 3 S307 of the illustrated embodiment. If the UE's application layer discards the data packet, the UE can send the fifth information via the UPF, for example, the UE sends the fifth information to the UPF through the second QoS stream. Sending the fifth information via the second QoS stream can improve the success rate of the fifth information transmission. In this case, the first communication device is the UE.

[0217] After receiving the fifth information, the UPF can generate a second data packet based on the fifth information. The sequence number of the second data packet is the same as the sequence number of the data packet indicated by the fifth information. The UE can send the second data packet to the UPF's TCP layer (or TCP entity, or simply TCP layer), and the UPF's TCP layer will then consider that it has received a data packet with a sequence number consecutive to that of the successfully received data packet.

[0218] and Figure 3 The difference in the illustrated embodiment is that although the UE discards data packets, the UPF automatically generates data packets with the same sequence numbers as these packets. Therefore, the UE does not need to reset the sequence numbers of the unsent data packets. When the network recovers, the UE can continue to send the unsent data packets. For information on how the UE determines network recovery, please refer to [link to relevant documentation]. Figure 3 The illustrated embodiment shows that after the network is restored, the UPF receives previously unsent data packets from the UE. Since the UPF has already constructed data packets that were discarded by the server, the UPF's TCP layer will consider that the data packets discarded by the UE have been received. Therefore, the server's TCP layer will not wait to receive these data packets. Since the sequence numbers of the unsent data packets received from the UE are consecutive to those of the previously successfully received data packets, the UPF's TCP layer will maintain the receiving state. This ensures that the TCP connection between the UE and the UPF remains open, and consequently, the TCP connection between the UE and the server remains open.

[0219] In this embodiment, for the sending end, if there are failed data packets in the first QoS stream, some or all of these data packets can be discarded, which is equivalent to not retransmitting the discarded data packets. This prevents the sending end from reaching the maximum retransmission count, thus maintaining the uninterrupted connection of the transport layer between the sending and receiving ends as much as possible. When the network recovers, the sending end can continue transmitting data packets through this transport layer connection without re-establishing the connection, improving data packet transmission efficiency. Furthermore, for the receiving end, if the sequence numbers of the received data packets are not consecutive, the receiving end will wait indefinitely to receive the unreceived data packets. If the wait reaches a certain duration, the transport layer connection between the sending and receiving ends may also be broken. Therefore, in this embodiment, the sending end can indicate the sequence numbers of the failed data packets to the receiving end. The receiving end can then generate data packets with the same sequence numbers as the failed data packets, thus making the receiving end believe that the sequence numbers of the received data packets are consecutive. This also helps to maintain the uninterrupted connection of the transport layer between the sending and receiving ends as much as possible. Furthermore, in this embodiment, the TCP proxy is performed by UPF, so the server does not need to be aware of the data transmission situation, but can simply send data packets normally, which simplifies the implementation process of the server.

[0220] exist Figure 8 The illustrated embodiments or Figure 9 In the illustrated embodiment, two TCP connections are established between the UE and the server to transmit data for the first application, which requires modifications to the server implementation. The sixth communication method provided in this application embodiment is described below. In this method, only one transport layer connection needs to be established between the UE and the server, requiring less modification to the server. Please refer to... Figure 10 Here is a flowchart of the method.

[0221] S1001, The server sends downlink data packets to the UPF, and the UPF receives downlink data packets from the server accordingly. There can be one or more downlink data packets, which may be IP packets, for example. These downlink data packets belong to a first application, such as an XR application, or other video or image applications.

[0222] For more information about S1001, please refer to [link / reference]. Figure 7 S701 of the illustrated embodiment.

[0223] S1002, UPF determines that the TCP proxy function will be executed.

[0224] For more information about S1002, please refer to [link / reference]. Figure 7 S702 of the illustrated embodiment.

[0225] S1003, the UPF determines that the data packets of the TCP connection are transmitted between the UPF and the UE through at least two QoS streams. Alternatively, the UPF determines that the data packets of the first application are transmitted between the UPF and the UE through at least two QoS streams.

[0226] For more information about S1003, please refer to [link / reference]. Figure 7 S703 of the illustrated embodiment.

[0227] S1004. A first connection is established between the UPF and the UE.

[0228] For more information about S1004, please refer to [link / reference]. Figure 7 S704 of the illustrated embodiment.

[0229] S1005, UPF sends a first request to the access network device, and the access network device receives the first request accordingly.

[0230] For more information about S1005, please refer to [link / reference]. Figure 7 S704 of the illustrated embodiment.

[0231] S1006, UPF transmits data packets of the first sub-stream through the first QoS stream. The data packets described in various embodiments of this application are, for example, IP packets.

[0232] S1007, UPF transmits data packets of the second sub-stream through the second QoS stream.

[0233] For more information on S1006 and S1007, please refer to [link / reference]. Figure 7 S705 and S706 of the illustrated embodiment.

[0234] S1008. The access network device sends the second information of the data packet that failed to be transmitted, and correspondingly, the UPF receives the second information of the data packet that failed to be transmitted.

[0235] For more information about S1008, please refer to [link / reference]. Figure 7 S707 of the illustrated embodiment.

[0236] S1009, the UPF sends the fifth information to the UE, and the UE receives the fifth information from the UPF accordingly.

[0237] The fifth information may indicate the sequence number of the partial or all data packets that the first communication device failed to transmit in the first QoS stream, or the fifth information may be used to determine the sequence number of the partial or all data packets that failed to transmit in the first QoS stream.

[0238] Alternatively, the fifth information may indicate the sequence number of all data packets corresponding to the frame corresponding to the part or all of the data packets that the first communication device failed to transmit in the first QoS stream, or the fifth information may be used to determine the sequence number of all data packets corresponding to the frame corresponding to the part or all of the data packets that the first communication device failed to transmit in the first QoS stream.

[0239] In this case, the first communication device is, for example, a UPF.

[0240] For more information about S1009, please refer to [link / reference]. Figure 8 S807 of the illustrated embodiment.

[0241] S1010, the UE generates a second data packet based on the fifth information. The sequence number of the second data packet is the same as the sequence number of the data packet indicated by the fifth information. The sequence number of the data packet is, for example, the TCP layer sequence number or the IP layer sequence number of the data packet.

[0242] For more information about the S1010, please refer to [link / reference]. Figure 8 S808 of the illustrated embodiment.

[0243] S1001 to S1008 are optional steps.

[0244] The above steps describe the downlink transmission involved in the embodiments of this application. For information on the uplink transmission involved in the embodiments of this application, please refer to [link to relevant documentation]. Figure 9 The embodiments shown are not described in detail.

[0245] In this embodiment, for the sending end, if there are failed data packets in the first QoS stream, some or all of these data packets can be discarded, which is equivalent to not retransmitting the discarded data packets. This prevents the sending end from reaching the maximum retransmission count, thus maintaining the uninterrupted connection of the transport layer between the sending and receiving ends as much as possible. When the network recovers, the sending end can continue transmitting data packets through this transport layer connection without re-establishing the connection, improving data packet transmission efficiency. Furthermore, for the receiving end, if the sequence numbers of the received data packets are not consecutive, the receiving end will wait indefinitely to receive the unreceived data packets. If the wait reaches a certain duration, the transport layer connection between the sending and receiving ends may also be broken. Therefore, in this embodiment, the sending end can indicate the sequence numbers of the failed data packets to the receiving end. The receiving end can then generate data packets with the same sequence numbers as the failed data packets, thus making the receiving end believe that the sequence numbers of the received data packets are consecutive. This also helps to maintain the uninterrupted connection of the transport layer between the sending and receiving ends as much as possible. Furthermore, in this embodiment, the TCP proxy is performed by UPF, so the server does not need to be aware of the data transmission process; it only needs to send data packets normally, thus simplifying the server implementation.

[0246] exist Figure 7 The illustrated embodiments and Figure 10 The embodiments shown all involve establishing a first connection. One implementation of the first connection is an MPTCP connection. The process of establishing an MPTCP connection is described below through an embodiment. (See reference...) Figure 11 Here is a flowchart of this embodiment.

[0247] S1101 and SMF are determined to be the first application, and two QoS flows are established.

[0248] For example, SMF can determine to establish two QoS flows for the first application based on the type of the first application, or SMF can determine to establish two QoS flows for the first application based on other factors.

[0249] S1102, the SMF sends a first session modification request message to the UPF, and correspondingly, the UPF receives the first session modification request message from the SMF. The first session modification request message may carry information indicating the establishment of an MPTCP connection.

[0250] S1103. The UPF sends the seventh message to the SMF, and correspondingly, the SMF receives the seventh message from the UPF. The seventh message may include, for example, information for establishing an MPTCP connection, such as information carried in the first session modification response message. As an example, the seventh message includes the two port numbers used by the MPTCP connection, and / or, information that the UPF supports MPTCP brokering. These two ports are ports on the UPF used to transmit the MPTCP connection.

[0251] by Figure 11 The embodiments shown are intended to provide Figure 7 The embodiment shown takes the establishment of an MPTCP connection as an example. For instance, if the UPF executes S703, that is, if the UPF determines that the data packets of the first application are transmitted between the UPF and the UE through at least two QoS streams, then the UPF can execute S1103. Otherwise, if the UPF does not execute S703, for example, if the UPF determines that the data packets of the first application are transmitted between the UPF and the UE through one QoS stream, then the UPF may not execute S1103.

[0252] S1104. The SMF sends the eighth message to the AMF, and correspondingly, the AMF receives the eighth message from the SMF. For example, the eighth message includes the information for establishing the MPTCP connection described in S1103.

[0253] S1105, the AMF sends the ninth information to the UE, and correspondingly, the UE receives the ninth information from the AMF. The ninth information may include, for example, information related to the MPTCP connection.

[0254] S1106. The UE establishes an MPTCP connection with the UPF based on the MPTCP connection-related information.

[0255] For example, if the UE determines that the data packets for the first application need to be transmitted using at least two QoS streams, then the UE can execute S1106. If the UE determines that the data packets for the first application are transmitted through one QoS stream, then S1106 does not need to be executed.

[0256] Through the above process, an MPTCP connection is established between the UE and the UPF. Of course, this process of establishing an MPTCP connection is merely an example, and the embodiments of this application are not limited to establishing an MPTCP connection through other methods.

[0257] because Figure 11 The embodiments shown are optional embodiments, therefore Figure 11 Each step in the process is optional. Figure 11 All lines are represented by solid lines for ease of understanding.

[0258] In summary, the solution provided by the embodiments of this application can maintain the TCP connection between the sending end and the receiving end as much as possible without interruption. After the transmission is restored, the original TCP connection can continue to be used without the need to create a new TCP connection, which can improve data transmission efficiency and reduce the transmission overhead caused by creating a new TCP connection.

[0259] It should be noted that the embodiments of this application all take the transmission of the data stream of the first application through a first QoS stream and a second QoS stream as an example. However, for a scheme where the device (including one or more devices among the access network device, UPF, server, or UE, as described in the above embodiments) discards the remaining data packets of the frame corresponding to the failed data packet, the data stream of the first application can also be transmitted through a single QoS stream. For example, the first data stream and the second data stream of the first application can be transmitted through a single QoS stream. Figure 7 or Figure 10 In the illustrated embodiment, it is not necessary to establish a first connection.

[0260] For example, the first application is an XR application. When a user launches the XR application through an XR client, a session (e.g., a Protocol Data Unit (PDU) session) is established between the XR client (i.e., the UE) and the server, and corresponding QoS flows (e.g., a first QoS flow and a second QoS flow) are established, thus starting the transmission of data packets, allowing the user to watch XR video. During video viewing, network quality may degrade, for example, due to network congestion. In this case, the access network equipment may begin discarding some data packets transmitted by the first QoS flow, which transmits data packets corresponding to P1 frames and / or P2 frames. Before the network recovers, the server may not transmit data packets, potentially causing stuttering for the user, and the quality of the stuttering video may also be poor due to the loss of some data packets. After the network recovers, since the connection between the XR client and the server remains intact, the server can promptly resume transmission. Because the server renumbers the unsent data packets, or the XR client constructs a second data packet, the XR client's transport layer (e.g., TCP layer) assumes there are no lost data packets and continues to receive them. This prevents the connection from being broken due to waiting for lost packets, thus maintaining the connection between the XR client and the server. For the user, the recovered frame or a few frames might appear unsatisfactory, or even discontinuous, indicating missing frames. However, the image quickly returns to normal after this, and the impact of the missing frames is minimal, providing a good user experience.

[0261] Based on the foregoing method embodiments, the communication device provided in the embodiments of this application is described.

[0262] This application provides a communication device, which includes, for example, a processing unit and a transceiver unit (or, a communication unit). The processing unit can be used to implement... Figure 3 The illustrated embodiments Figure 6 The illustrated embodiments Figure 7 The illustrated embodiments Figure 8 The illustrated embodiments Figure 9 The illustrated embodiments Figure 10 The illustrated embodiments or Figure 11 The transceiver unit can be used to implement the processing functions of the UE described in any of the embodiments shown. Figure 3 The illustrated embodiments Figure 6 The illustrated embodiments Figure 7 The illustrated embodiments Figure 8 The illustrated embodiments Figure 9 The illustrated embodiments Figure 10 The illustrated embodiments or Figure 11 The UE described in any of the illustrated embodiments may have all or part of its transmit / receive functions. Alternatively, the processing unit may be used to implement... Figure 3 The illustrated embodiments Figure 6 The illustrated embodiments Figure 7 The illustrated embodiments Figure 8 The illustrated embodiments Figure 9 The illustrated embodiments Figure 10 The illustrated embodiments or Figure 11 The transceiver unit can be used to implement the processing functions of the network device described in any of the embodiments shown. Figure 3 The illustrated embodiments Figure 6 The illustrated embodiments Figure 7 The illustrated embodiments Figure 8 The illustrated embodiments Figure 9 The illustrated embodiments Figure 10 The illustrated embodiments or Figure 11 The network device described in any of the embodiments shown may have all or part of its transmit / receive functions. The network device may be, for example, a server or a UPF. Specific functions can be found in the descriptions of the above method embodiments.

[0263] Optionally, the processing unit and / or transceiver unit can be implemented using virtual modules. For example, the processing unit can be implemented using software functional units or virtual devices, and the transceiver unit can be implemented using software functional units or virtual devices. Alternatively, the processing unit and / or transceiver unit can also be implemented using physical devices (e.g., circuit systems and / or processors). The case where the processing unit and transceiver unit are implemented using physical devices is described below.

[0264] This application provides a terminal device (referred to as UE for convenience) that can be used in the foregoing embodiments. The terminal device includes components for implementing... Figure 3 The illustrated embodiments Figure 6 The illustrated embodiments Figure 7 The illustrated embodiments Figure 8 The illustrated embodiments Figure 9 The illustrated embodiments Figure 10 The illustrated embodiments or Figure 11 The embodiments shown illustrate corresponding means, units, and / or circuits for the terminal device functions described in any of the embodiments. For example, the terminal device includes a transceiver module for supporting the terminal device in implementing transceiver functions, and a processing module for supporting the terminal device in processing signals.

[0265] Figure 12 A schematic diagram of the structure of a terminal device provided in an embodiment of this application is given.

[0266] The terminal device 1200 is applicable to Figure 2 In the architecture shown. For ease of explanation, Figure 12 Only the main components of the terminal device 1200 are shown. (Example) Figure 12 As shown, the terminal device 1200 includes a processor, memory, control circuitry, antenna, and input / output devices. The processor is primarily used to process communication protocols and data, control the entire terminal device 1200, execute software programs, and process the data from those programs. The memory is mainly used to store software programs and data. The control circuitry is primarily used for converting baseband signals to radio frequency signals and processing radio frequency signals. The antenna is primarily used for transmitting and receiving radio frequency signals in the form of electromagnetic waves. Input / output devices, such as a touchscreen, display screen, microphone, and keyboard, are primarily used to receive user input data and output data to the user.

[0267] Taking a mobile phone as an example, when the terminal device 1200 is powered on, the processor can read the software program in the storage unit, interpret and execute the instructions of the software program, and process the data of the software program. When data needs to be transmitted wirelessly, the processor performs baseband processing on the data to be transmitted and outputs the baseband signal to the control circuit. The control circuit performs radio frequency processing on the baseband signal and transmits the radio frequency signal outward in the form of electromagnetic waves through the antenna. When data is sent to the terminal device 1200, the control circuit receives the radio frequency signal through the antenna, converts the radio frequency signal into a baseband signal, and outputs the baseband signal to the processor. The processor converts the baseband signal into data and processes the data.

[0268] Those skilled in the art will understand that, for ease of explanation, Figure 12Only one memory and processor are shown. In some embodiments, the terminal device 1200 may include multiple processors and memories. Memory may also be referred to as storage medium or storage device, etc., and this application embodiment does not limit this.

[0269] As an optional implementation, the processor may include a baseband processor and a central processing unit. The baseband processor is mainly used to process communication protocols and communication data, while the central processing unit is mainly used to control the entire terminal device 1200, execute software programs, and process the data of the software programs. Figure 12 The processor in the terminal device 1200 integrates the functions of a baseband processor and a central processing unit (CPU). Those skilled in the art will understand that the baseband processor and CPU can also be independent processors interconnected via technologies such as buses. The terminal device 1200 may include multiple baseband processors to adapt to different network standards, and multiple CPUs to enhance its processing capabilities. The various components of the terminal device 1200 can be connected via various buses. The baseband processor can also be described as a baseband processing circuit or a baseband processing chip. The CPU can also be described as a central processing circuit or a central processing chip. The function of processing communication protocols and communication data can be built into the processor or stored in the storage unit as a software program, with the processor executing the software program to implement the baseband processing function.

[0270] In one example, the antenna and control circuit with transceiver functions can be considered as the transceiver unit 1210 of the terminal device 1200, and the processor with processing functions can be considered as the processing unit 1220 of the terminal device 1200. For example... Figure 12 As shown, the terminal device 1200 includes a transceiver unit 1210 and a processing unit 1220. The transceiver unit can also be referred to as a transceiver, transceiver device, or transceiver apparatus. Optionally, the device in the transceiver unit 1210 used to implement the receiving function can be considered as a receiving unit, and the device in the transceiver unit 1210 used to implement the transmitting function can be considered as a transmitting unit; that is, the transceiver unit 1210 includes both a receiving unit and a transmitting unit. For example, the receiving unit can also be referred to as a receiver, receiver circuit, or receiving device, and the transmitting unit can be referred to as a transmitter, transmitter, or transmitting circuit.

[0271] like Figure 13 The diagram shown is a schematic of an apparatus provided in this application. The apparatus 1300 can be a network device or a circuit system (e.g., a chip system) disposed within a network device. This network device can be used in the foregoing embodiments. The network device includes components for implementing... Figure 3 The illustrated embodiments Figure 6 The illustrated embodiments Figure 7 The illustrated embodiments Figure 8 The illustrated embodiments Figure 9 The illustrated embodiments Figure 10 The illustrated embodiments or Figure 11 The means, units, and / or circuits illustrating the functions of a network device as described in any of the embodiments shown. For example, the network device includes a transceiver module to support the network device in implementing transceiver functions, and a processing module to support the network device in processing signals. The network device is, for example, a server or UPF as described in the foregoing embodiments.

[0272] The device 1300 includes at least one processor 1301, a communication line 1302, and at least one communication interface 1304. As an optional implementation, the device 1300 may also include a memory 1303. Because the memory 1303 is not a mandatory functional module but only an optional one, therefore... Figure 13 The dashed box indicates the area.

[0273] Processor 1301 may include a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of programs according to the present application.

[0274] Communication line 1302 may include a path for transmitting information between the aforementioned components.

[0275] Communication interface 1304 uses any transceiver-like device for communicating with other devices or communication networks, such as Ethernet, radio access network (RAN), wireless local area network (WLAN), wired access network, etc.

[0276] The memory 1303 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 thereto. The memory 1303 may exist independently and be connected to the processor 1301 via communication line 1302. Alternatively, the memory 1303 may be integrated with the processor 1301.

[0277] The memory 1303 stores computer execution instructions for implementing the scheme of this application, and its execution is controlled by the processor 1301. The processor 1301 executes the computer execution instructions stored in the memory 1303, thereby implementing the communication method provided in the above embodiments of this application.

[0278] Optionally, the computer execution instructions in the embodiments of this application may also be referred to as application code, and the embodiments of this application do not specifically limit this.

[0279] In a specific implementation, as one example, the processor 1301 may include one or more CPUs, for example... Figure 13 CPU0 and CPU1 in the CPU.

[0280] In a specific implementation, as one embodiment, device 1300 may include multiple processors, for example... Figure 13 Processors 1301 and 1308 are mentioned. Each of these processors can be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. A processor here can refer to one or more devices, circuits, and / or processing cores used to process data (e.g., computer program instructions).

[0281] when Figure 13When the device shown is a chip, such as a chip for a policy control function network element, a session management function network element, a mobility management function network element, an access network element, or a terminal device, then the chip includes a processor 1301 (which may also include a processor 1308), a communication line 1302, a memory 1303, and a communication interface 1304. Specifically, the communication interface 1304 may be an input interface, pins, or circuits, etc. The memory 1303 may be a register, cache, etc. The processor 1301 and processor 1308 may be a general-purpose CPU, microprocessor, ASIC, or one or more integrated circuits for controlling the execution of a program that controls the communication method of any of the above embodiments.

[0282] Those skilled in the art will recognize that the units and steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0283] 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. Units described as separate components may or may not be physically separated, and components shown as units may or may not be physical units, i.e., they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0284] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned computer-readable storage medium can be any available medium that a computer can access. For example, but not limited to: computer-readable media may include random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM), universal serial bus flash disk, portable hard disk, or other optical disc storage, magnetic disk storage media, or other magnetic storage devices, or any other medium capable of carrying or storing desired program code having the form of instructions or data structures and accessible by a computer. Additionally, by way of example but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), or direct rambus RAM (DR RAM).

[0285] The above description is merely a specific embodiment of this application, but the protection scope of the embodiments of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the embodiments of this application should be included within the protection scope of the embodiments of this application. Therefore, the protection scope of the embodiments of this application should be determined by the protection scope of the claims.

[0286] Example 1. A communication method, comprising:

[0287] First information to determine the packets that failed to be transmitted in the first Quality of Service (QoS) stream;

[0288] Discard some or all of the failed data packets and reset the sequence numbers of the unsent data packets so that the sequence numbers of the unsent data packets are consecutive to those of the successfully sent data packets.

[0289] Example 2. The method according to Example 1, the method further includes:

[0290] The remaining data packets corresponding to the frame corresponding to the failed data packet are discarded. The remaining data packets are all data packets in the frame except for the failed data packet.

[0291] Example 3. According to the method described in Example 1 or 2, the data of the first application is transmitted through the first QoS stream and the second QoS stream, wherein the data packets transmitted by the first QoS stream are less important than the data packets transmitted by the second QoS stream.

[0292] Example 4. According to the method described in any one of Examples 1 to 3, the first information includes one or more of the following: the frame number of the frame corresponding to the failed data packet, the type of the frame corresponding to the failed data packet, the position of the failed data packet within the frame, the number of failed data packets, or the sequence number of the Transmission Control Protocol (TCP) layer or the sequence number of the Internet Protocol (IP) layer for the M data packets; wherein the M data packets are the failed data packets, or all data packets corresponding to the frame corresponding to the failed data packets.

[0293] Example 5. Determining first information of a data packet that failed to be transmitted in the first QoS stream according to any one of Examples 1 to 4, including:

[0294] Receive the first information; or,

[0295] The first information is determined based on the data transmission status of the first QoS stream; or,

[0296] Receive second information about a data packet that failed to be transmitted in the first QoS stream, and determine the first information based on the second information.

[0297] Example 6. According to the method described in Example 5, the second information includes one or more of the following: the frame number of the frame corresponding to the failed data packet, the type of the frame corresponding to the failed data packet, the position of the failed data packet within the frame, the number of failed data packets, or the sequence number of the General Packet Radio Service Tunneling Protocol (GTP) header corresponding to the M data packets; wherein the M data packets are the failed data packets, or all data packets corresponding to the frame corresponding to the failed data packets.

[0298] Example 7. According to the method described in Example 6, where the second information includes the sequence number of the GTP packet header corresponding to the M data packets, determining the first information based on the second information includes:

[0299] The sequence number of the GTP packet header is mapped to the sequence number of the TCP layer or the sequence number of the IP layer to obtain the first information, which includes the sequence number of the TCP layer or the sequence number of the IP layer of the M data packets.

[0300] Example 8. The method according to any one of Examples 1 to 7, the method further comprising:

[0301] N data packets are retransmitted through the second QoS stream. The N data packets belong to the data packets that failed to be transmitted, and the N data packets are part of the data packets corresponding to a frame of image of the first application.

[0302] Example 9. The method according to any one of Examples 1 to 8, the method further comprising:

[0303] Once the network is determined to be back to normal, send the data packets that have not yet been sent; or,

[0304] When the first timer expires, the data packet that has not yet been sent is sent.

[0305] Example 10. Determining that the network has returned to normal according to the method described in Example 9 includes:

[0306] Receive a sixth message, which is used to indicate that the network has returned to normal or to indicate the transmission of data packets.

[0307] Example 11. The method according to Example 9, the method further includes:

[0308] Receive third information, the third information being used to indicate the timing duration of the first timer; or,

[0309] The duration of the first timer is determined based on the data transmission status of the first QoS stream.

[0310] Example 12. The method according to any one of Examples 1 to 11, the method further comprising:

[0311] Receive fourth information, which is used to indicate the reason for the transmission failure, or determine the reason for the transmission failure based on the data transmission status of the first QoS stream;

[0312] Based on the reason for the transmission failure, determine whether to discard some or all of the data packets that failed to transmit.

[0313] Example 13. According to the method described in Example 12, the reasons for the transmission failure include one or more of the following: network congestion, insufficient network resources, or dropping low-priority data packets.

[0314] Example 14. The method according to any one of Examples 1 to 13, the method further comprising:

[0315] A first request is sent to the access network device. The first request is used to request the acquisition of the transmission information of the first QoS stream. The transmission information of the first QoS stream is used to indicate that the data packet transmission in the first QoS stream failed, or to indicate the data packet that failed to be transmitted in the first QoS stream.

[0316] Example 15. The method according to any one of Examples 1 to 14, the method further comprising:

[0317] It is determined that the data of the first application is transmitted through at least two QoS streams;

[0318] A first connection is established with the receiving end of the at least two QoS streams, the first connection including at least two sub-streams, the at least two sub-streams being transmitted on the at least two QoS streams, the at least two QoS streams including the first QoS stream.

[0319] Example 16. A communication method, comprising:

[0320] A first request is sent to the access network device. The first request is used to request the subscription of the transmission information of a first Quality of Service (QoS) stream. The transmission information of the first QoS stream is used to indicate that the first QoS stream transmission failed, or to indicate the data packets that failed to be transmitted in the first QoS stream.

[0321] Example 17. According to the method described in Example 16, the data of the first application is transmitted through the first QoS stream and the second QoS stream, wherein the quality of service of the first QoS stream is lower than that of the second QoS stream.

[0322] Example 18. The method according to 16 or 17, the method further comprising:

[0323] Receive second information from the access network device regarding data packets that failed to be transmitted in the first QoS stream;

[0324] The first information of the data packets that failed to be transmitted in the first QoS stream is determined based on the second information;

[0325] The first information is sent to the application server, which corresponds to the first application.

[0326] Example 19. According to the method described in 18, the second information includes one or more of the following: the frame number of the frame corresponding to the failed data packet, the type of the frame corresponding to the failed data packet, the position of the failed data packet within the frame, the number of failed data packets, or, the sequence number of the General Packet Radio Service Tunneling Protocol (GTP) header corresponding to the M data packets; wherein, the M data packets are the failed data packets, or all data packets corresponding to the frame corresponding to the failed data packets.

[0327] Example 20. According to the method described in Example 19, where the second information includes the sequence number of the GTP packet header corresponding to the M data packets, determining the first information based on the second information includes:

[0328] The sequence number of the GTP packet header is mapped to the sequence number of the Transmission Control Protocol (TCP) layer or the sequence number of the Internet Protocol (IP) layer to obtain the first information, which includes the sequence number of the TCP layer or the sequence number of the IP layer of the M data packets.

[0329] Example 21. According to the method described in any one of Examples 18 to 20, the first information includes one or more of the following: the frame number of the frame corresponding to the failed data packet, the type of the frame corresponding to the failed data packet, the position of the failed data packet within the frame, the number of failed data packets, or the TCP layer sequence number or IP layer sequence number of M data packets; wherein, the M data packets are the failed data packets, or all data packets corresponding to the frame corresponding to the failed data packets.

[0330] Example 22. A communication method, comprising:

[0331] The first communication device receives a fifth message, which instructs the first communication device to send a failed data packet in the first Quality of Service (QoS) stream.

[0332] A second data packet is generated based on the fifth information, and the sequence number of the second data packet is the same as the sequence number of the data packet that failed to be sent.

[0333] Example 23. According to the method described in Example 22, the data of the first application is transmitted through the first QoS stream and the second QoS stream, wherein the service quality of the first QoS stream is lower than that of the second QoS stream.

[0334] Example 24. According to the method described in Example 22 or 23, receiving the fifth information includes:

[0335] The fifth information is received from the first communication device via a second QoS stream.

[0336] Example 25. A communication device, comprising:

[0337] The processing unit is used to determine first information about data packets that failed to be transmitted in the first Quality of Service (QoS) flow.

[0338] The processing unit is further configured to discard part or all of the data packets that failed to be transmitted, and to reset the sequence number of the data packets that have not yet been sent, so that the sequence numbers of the data packets that have not yet been sent are consecutive to those of the data packets that were successfully sent.

[0339] Example 26. According to the communication device of Example 25, the processing unit is further configured to discard the remaining data packets corresponding to the frame corresponding to the failed data packet, wherein the remaining data packets are the data packets other than the failed data packet among all the data packets corresponding to the frame.

[0340] Example 27. According to the communication device described in Example 25 or 26, data of the first application is transmitted through the first QoS stream and the second QoS stream, wherein the data packets transmitted by the first QoS stream are less important than the data packets transmitted by the second QoS stream.

[0341] Example 28. According to any one of Examples 25 to 27, the communication device, the first information includes one or more of the following: the frame number of the frame corresponding to the failed data packet, the type of the frame corresponding to the failed data packet, the position of the failed data packet within the frame, the number of failed data packets, or the sequence number of the Transmission Control Protocol (TCP) layer or the sequence number of the Internet Protocol (IP) layer for M data packets; wherein the M data packets are the failed data packets, or all data packets corresponding to the frame corresponding to the failed data packets.

[0342] Example 29. A communication apparatus according to any one of Examples 25 to 28, the communication apparatus further comprising a receiving unit; the processing unit is configured to determine first information of a data packet that failed to be transmitted in a first QoS stream by means of:

[0343] Receive the first information; or,

[0344] The first information is determined based on the data transmission status of the first QoS stream; or,

[0345] The receiving unit receives second information about a data packet that failed to be transmitted in the first QoS stream, and determines the first information based on the second information.

[0346] Example 30. According to the communication device described in Example 29, the second information includes one or more of the following: the frame number of the frame corresponding to the failed data packet, the type of the frame corresponding to the failed data packet, the position of the failed data packet within the frame, the number of failed data packets, or, the sequence number of the General Packet Radio Service Tunneling Protocol (GTP) header corresponding to M data packets; wherein, the M data packets are the failed data packets, or all data packets corresponding to the frame corresponding to the failed data packets.

[0347] Example 31. According to the communication device of Example 30, the second information includes the sequence number of the GTP packet header corresponding to the M data packets. Then, the processing unit is used to determine the first information according to the second information in the following manner: mapping the sequence number of the GTP packet header to the sequence number of the TCP layer or the sequence number of the IP layer to obtain the first information, wherein the first information includes the sequence number of the TCP layer or the sequence number of the IP layer of the M data packets.

[0348] Example 32. The communication device according to any one of Examples 25 to 31, the communication device further includes a sending unit for retransmitting N data packets via a second QoS stream (or, the processing unit is further configured to retransmit N data packets via the sending unit via the second QoS stream), the N data packets belonging to the failed data packets, and the N data packets being a portion of data packets corresponding to a frame of image of the first application.

[0349] Example 33. The communication device according to any one of Examples 25 to 32, wherein the communication device further includes a transmitting unit;

[0350] The sending unit is configured to send the unsent data packets when it is determined that the network has returned to normal (or, the processing unit is further configured to send the unsent data packets through the sending unit when it is determined that the network has returned to normal); or,

[0351] The sending unit is configured to send the unsent data packet when the first timer expires (or, the processing unit is further configured to send the unsent data packet through the sending unit when the first timer expires).

[0352] Example 34. The communication device according to Example 33, the communication device further includes a receiving unit, and the processing unit is configured to determine that the network has returned to normal in the following manner:

[0353] The receiving unit receives a sixth message, which is used to indicate that the network has returned to normal or to indicate the transmission of data packets.

[0354] Example 35. The communication device according to Example 33, the communication device further includes a receiving unit;

[0355] The receiving unit is configured to receive third information (or, the processing unit is further configured to receive third information through the receiving unit), the third information being used to indicate the timing duration of the first timer; or,

[0356] The processing unit is further configured to determine the timing duration of the first timer based on the data transmission status of the first QoS stream.

[0357] Example 36. The communication device according to any one of Examples 25 to 35, wherein the communication device further includes a receiving unit;

[0358] The receiving unit is configured to receive fourth information (or, the processing unit is further configured to receive fourth information through the receiving unit), the fourth information being used to indicate the reason for the transmission failure; or, the processing unit is further configured to determine the reason for the transmission failure based on the data transmission status of the first QoS stream.

[0359] The processing unit is further configured to determine, based on the reason for the transmission failure, to discard part or all of the data packets that failed to transmit.

[0360] Example 37. According to the communication device of Example 36, the reason for the transmission failure includes one or more of the following: network congestion, insufficient network resources, or dropping low-priority data packets.

[0361] Example 38. The communication apparatus according to any one of Examples 25 to 37, the communication apparatus further includes a sending unit for sending a first request to the access network device (or, the processing unit is further configured to send a first request to the access network device through the sending unit), the first request being used to request to obtain transmission information of the first QoS stream, the transmission information of the first QoS stream being used to indicate that the data packet transmission in the first QoS stream failed, or to indicate the data packet that failed to be transmitted in the first QoS stream.

[0362] Example 39. The communication device according to any one of Examples 25 to 38, wherein the processing unit is further configured to:

[0363] It is determined that the data of the first application is transmitted through at least two QoS streams;

[0364] A first connection is established with the receiving end of the at least two QoS streams, the first connection including at least two sub-streams, the at least two sub-streams being transmitted on the at least two QoS streams, the at least two QoS streams including the first QoS stream.

[0365] Example 40. A communication device, comprising:

[0366] The sending unit is configured to send a first request to the access network device (or, the processing unit is configured to send a first request to the access network device through the sending unit), the first request being configured to request subscription to the transmission information of a first Quality of Service (QoS) stream, the transmission information of the first QoS stream being configured to indicate that the first QoS stream transmission failed, or to indicate a data packet that failed to be transmitted in the first QoS stream.

[0367] Example 41. According to the communication device described in Example 40, the data of the first application is transmitted through the first QoS stream and the second QoS stream, wherein the quality of service of the first QoS stream is lower than that of the second QoS stream.

[0368] Example 42. The communication device according to 40 or 41, the communication device further includes a receiving unit;

[0369] The receiving unit is configured to receive second information about data packets that failed to be transmitted in the first QoS stream from the access network device (or, the processing unit is further configured to receive second information about data packets that failed to be transmitted in the first QoS stream from the access network device through the receiving unit).

[0370] The processing unit is further configured to determine, based on the second information, the first information of the data packets that failed to be transmitted in the first QoS stream;

[0371] The sending unit is further configured to send the first information to the application server (or, the processing unit is further configured to send the first information to the application server through the sending unit), wherein the application server corresponds to the first application.

[0372] Example 43. According to the communication device described in 42, the second information includes one or more of the following: the frame number of the frame corresponding to the failed data packet, the type of the frame corresponding to the failed data packet, the position of the failed data packet within the frame, the number of failed data packets, or, the sequence number of the General Packet Radio Service Tunneling Protocol (GTP) header corresponding to the M data packets; wherein, the M data packets are the failed data packets, or all data packets corresponding to the frame corresponding to the failed data packets.

[0373] Example 44. According to the communication device described in Example 43, the second information includes the sequence number of the GTP packet header corresponding to the M data packets. Then, the processing unit is used to determine the first information based on the second information in the following manner: mapping the sequence number of the GTP packet header to the sequence number of the Transmission Control Protocol (TCP) layer or the sequence number of the Internet Protocol (IP) layer to obtain the first information, wherein the first information includes the sequence number of the TCP layer or the sequence number of the IP layer of the M data packets.

[0374] Example 45. According to any one of Examples 41 to 44, the communication device, the first information includes one or more of the following: the frame number of the frame corresponding to the failed data packet, the type of the frame corresponding to the failed data packet, the position of the failed data packet within the frame, the number of failed data packets, or the TCP layer sequence number or IP layer sequence number of M data packets; wherein, the M data packets are the failed data packets, or all data packets corresponding to the frame corresponding to the failed data packets.

[0375] Example 46. A communication device, comprising:

[0376] A receiving unit is configured to receive fifth information from a first communication device (or, a processing unit is configured to receive fifth information from a first communication device via the receiving unit), the fifth information being used to instruct the first communication device to send a failed data packet in a first Quality of Service (QoS) stream;

[0377] The processing unit is configured to generate a second data packet based on the fifth information, wherein the sequence number of the second data packet is the same as the sequence number of the data packet that failed to be sent.

[0378] Example 47. According to the communication device described in Example 46, the data of the first application is transmitted through the first QoS stream and the second QoS stream, wherein the quality of service of the first QoS stream is lower than that of the second QoS stream.

[0379] Example 48. According to the communication device of Example 46 or 47, the receiving unit is configured to receive the fifth information by receiving the fifth information from the first communication device via a second QoS stream (or, the processing unit is configured to receive the fifth information through the receiving unit by receiving the fifth information from the first communication device via a second QoS stream).

[0380] Example 49. An apparatus comprising units for performing the methods described in any embodiment of this application.

Claims

1. A communication method, characterized in that, include: It is determined that the data packets of the first application are transmitted through at least two QoS streams, the at least two QoS streams including a first QoS stream and a second QoS stream; A first connection is established with the receiving end of the at least two QoS streams, the first connection including at least two sub-streams, the at least two sub-streams being transmitted on the at least two QoS streams, and the first connection being a Multiple Transmission Control Protocol (MPTCP) connection; First information is used to determine the data packets of a first application that failed to be transmitted in a first QoS stream, wherein the importance of the data packets transmitted in the first QoS stream is lower than the importance of the data packets transmitted in the second QoS stream. Discard some or all of the failed data packets and reset the sequence numbers of the unsent data packets so that the sequence numbers of the unsent data packets are consecutive to those of the successfully sent data packets. N data packets are retransmitted through the second QoS stream. The N data packets belong to the data packets that failed to be transmitted, and the N data packets are part of the data packets corresponding to a frame of image of the first application.

2. The method according to claim 1, characterized in that, The method further includes: The remaining data packets corresponding to the frame corresponding to the failed data packet are discarded. The remaining data packets are all data packets in the frame except for the failed data packet.

3. The method according to claim 1 or 2, characterized in that, The first information includes one or more of the following: the frame number of the frame corresponding to the failed data packet, the type of the frame corresponding to the failed data packet, the position of the failed data packet within the frame, the number of failed data packets, or the sequence number of the Transmission Control Protocol (TCP) layer or the sequence number of the Internet Protocol (IP) layer for the M data packets; wherein the M data packets are either the failed data packets or all data packets corresponding to the frame corresponding to the failed data packets.

4. The method according to claim 1 or 2, characterized in that, The first information for determining packets that failed to be transmitted in the first QoS stream includes: Receive the first information; or, The first information is determined based on the data transmission status of the first QoS stream; or, Receive second information about a data packet that failed to be transmitted in the first QoS stream, and determine the first information based on the second information.

5. The method according to claim 4, characterized in that, The second information includes one or more of the following: the frame number of the frame corresponding to the failed data packet, the type of the frame corresponding to the failed data packet, the position of the failed data packet within the frame, the number of failed data packets, or the sequence number of the General Packet Radio Service Tunneling Protocol (GTP) header corresponding to the M data packets; wherein the M data packets are either the failed data packets or all data packets corresponding to the frame corresponding to the failed data packets.

6. The method according to claim 5, characterized in that, The second information includes the sequence number of the GTP packet header corresponding to the M data packets. Therefore, determining the first information based on the second information includes: The sequence number of the GTP packet header is mapped to the sequence number of the TCP layer or the sequence number of the IP layer to obtain the first information, which includes the sequence number of the TCP layer or the sequence number of the IP layer of the M data packets.

7. The method according to any one of claims 1, 2, 5, and 6, characterized in that, The method further includes: Once the network is determined to be back to normal, send the data packets that have not yet been sent; or, When the first timer expires, the data packet that has not yet been sent is sent.

8. The method according to claim 7, characterized in that, To confirm that the network has returned to normal, the following steps should be taken: Receive a sixth message, which is used to indicate that the network has returned to normal or to indicate the transmission of data packets.

9. The method according to claim 7, characterized in that, The method further includes: Receive third information, the third information being used to indicate the timing duration of the first timer; or, The duration of the first timer is determined based on the data transmission status of the first QoS stream.

10. The method according to any one of claims 1, 2, 5, 6, 8, and 9, characterized in that, The method further includes: Receive fourth information, which is used to indicate the reason for the transmission failure, or determine the reason for the transmission failure based on the data transmission status of the first QoS stream; Based on the reason for the transmission failure, determine whether to discard some or all of the data packets that failed to transmit.

11. The method according to claim 10, characterized in that, The transmission failure may be caused by one or more of the following: network congestion, insufficient network resources, or dropping low-priority data packets.

12. The method according to any one of claims 1, 2, 5, 6, 8, 9, and 11, characterized in that, The method further includes: A first request is sent to the access network device. The first request is used to request the acquisition of the transmission information of the first QoS stream. The transmission information of the first QoS stream is used to indicate that the data packet transmission in the first QoS stream failed, or to indicate the data packet that failed to be transmitted in the first QoS stream.

13. The method according to any one of claims 1, 2, 5, 6, 8, 9, and 11, characterized in that, The method further includes: A first request is sent to the access network device. The first request is used to request the subscription of the transmission information of a first Quality of Service (QoS) stream. The transmission information of the first QoS stream is used to indicate that the first QoS stream transmission failed, or to indicate the data packets that failed to be transmitted in the first QoS stream.

14. The method according to claim 13, characterized in that, The data of the first application is transmitted through the first QoS stream and the second QoS stream, where the quality of service of the first QoS stream is lower than that of the second QoS stream.

15. The method according to claim 13, characterized in that, The method further includes: Receive second information from the access network device regarding data packets that failed to be transmitted in the first QoS stream; The first information of the data packets that failed to be transmitted in the first QoS stream is determined based on the second information; The first information is sent to the application server, which corresponds to the first application.

16. The method according to claim 15, characterized in that, The second information includes one or more of the following: the frame number of the frame corresponding to the failed data packet, the type of the frame corresponding to the failed data packet, the position of the failed data packet within the frame, the number of failed data packets, or the sequence number of the General Packet Radio Service Tunneling Protocol (GTP) header corresponding to the M data packets; wherein the M data packets are either the failed data packets or all data packets corresponding to the frame corresponding to the failed data packets.

17. The method according to claim 16, characterized in that, The second information includes the sequence number of the GTP packet header corresponding to the M data packets. Therefore, determining the first information based on the second information includes: The sequence number of the GTP packet header is mapped to the sequence number of the Transmission Control Protocol (TCP) layer or the sequence number of the Internet Protocol (IP) layer to obtain the first information, which includes the sequence number of the TCP layer or the sequence number of the IP layer of the M data packets.

18. The method according to any one of claims 15 to 17, characterized in that, The first information includes one or more of the following: the frame number of the frame corresponding to the failed data packet, the type of the frame corresponding to the failed data packet, the position of the failed data packet within the frame, the number of failed data packets, or the TCP layer sequence number or IP layer sequence number of the M data packets; wherein the M data packets are the failed data packets, or all data packets corresponding to the frame corresponding to the failed data packets.

19. A communication device, characterized in that, include: One or more processors; One or more memory units; And one or more computer programs, wherein the one or more computer programs are stored in the one or more memories, the one or more computer programs including instructions that, when executed by one or more processors of the communication device, cause the communication device to perform the method as described in any one of claims 1 to 18.

20. A computer-readable storage medium, characterized in that, The computer-readable storage medium is used to store a computer program that, when run on a computer, causes the computer to perform the method as described in any one of claims 1 to 18.

21. A chip, characterized in that, It includes one or more processors and a communication interface, wherein the one or more processors are used to read instructions to perform the method as described in any one of claims 1 to 18.

Citation Information

Patent Citations

  • Data transmission method, system and transmitting terminal

    CN101340269A

  • Packet duplication at a packet data convergence protocol (PDCP) entity

    CN110574487A

  • Method and system for RLP optimization

    US20050135423A1