Communication method and apparatus
By dividing the data packet set into first and second sets, and easing the transmission of the second set when the first set is successfully transmitted, the problem of delay caused by redundant data packets is solved, and data transmission performance is improved.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-12-04
- Publication Date
- 2026-07-02
AI Technical Summary
Redundant data packets cause delays in forward error correction data transmission, impacting data transmission performance.
The data packet set is divided into a first data packet set and a second data packet set. The successful transmission of the first data packet set is used as a condition to relax the transmission requirements of the second data packet set, reduce the transmission requirements of redundant data packets, or stop their transmission.
By associating data packet sets, the impact of redundant data packet transmission on performance is reduced, and data transmission efficiency is improved.
Smart Images

Figure CN2025139994_02072026_PF_FP_ABST
Abstract
Description
A communication method and apparatus
[0001] This application claims priority to Chinese Patent Application No. 202411989929.1, filed on December 27, 2024, with the China National Intellectual Property Administration and entitled “A Communication Method and Apparatus”, the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of communication technology, and in particular to a communication method and apparatus. Background Technology
[0003] In a data transmission mechanism based on forward error correction (FEC), redundant data packets are generated from the original data packets, and these redundant data packets are used to ensure the transmission of the original data packets. The original data packets and the redundant data packets belong to the same set.
[0004] However, redundant data packets often arrive later than the original data packets, affecting data transmission performance. Summary of the Invention
[0005] To address the aforementioned technical problems, this application provides a communication method and apparatus that can reduce the impact of redundant data packets on transmission performance. To achieve the above objective, this application adopts the following technical solution:
[0006] Firstly, a communication method is provided. This method can be executed by an access network device. The access network device can be the access network device itself, a component within the access network device (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the access network device. The following description uses the access network device as the executing entity. The method includes:
[0007] A first data packet set and a second data packet set are determined, and the first data packet set is associated with the second data packet set. If the first data packet set is successfully transmitted, the transmission of the second data packet set is relaxed.
[0008] The first data packet set includes one or more original data packets, and the second data packet set includes one or more redundant data packets. The second data packet set is generated based on the first data packet set. The second data packet set is used to protect the transmission of the first data packet set.
[0009] Relaxing the transmission of the second data packet set can be understood as stopping the transmission of the second data packet set, reducing the number of retransmissions of the second data packet set, or reducing the transmission requirements of the second data packet set.
[0010] In other words, this application sets up two data packet sets: a first data packet set and a second data packet set. The first data packet set is associated with the second data packet set, thereby utilizing the second data packet set to ensure the transmission of the first data packet set, thus achieving data packet set-level association processing. For example, the first data packet set includes at least one original data packet, and the second data packet set includes at least one redundant data packet. If the first data packet set is successfully transmitted, the transmission of the second data packet set is relaxed. Since the original data packet and the redundant data packet belong to different data packet sets, if the first data packet set is successfully transmitted, there is no need to wait for the transmission of the redundant data packet; that is, the transmission of the second data packet set is relaxed, thereby reducing the impact of delayed transmission of the redundant data packet on transmission performance.
[0011] In one possible design, the second data packet set includes a first data packet, which includes first information used to determine that the first data packet set is associated with the second data packet set.
[0012] For example, the first data packet is any one of the data packets in the second data packet set.
[0013] In other words, the access network device determines the set of data packets associated with the first data packet based on the first information, and then performs association processing. For example, if the first set of data packets is successfully transmitted, the transmission of the second set of data packets is relaxed.
[0014] In one possible design, the first information includes the sequence number of the first data packet set.
[0015] In one possible design, the first data packet set is associated with the second data packet set, including: the second data packet is associated with a third data packet, the second data packet is included in the first data packet set, and the third data packet is included in the second data packet set. The third data packet is used to protect the transmission of the second data packet, or the third data packet is a redundant or repair data packet of the second data packet, thereby achieving association at the data packet granularity level.
[0016] In one possible design, the third data packet includes second information used to determine that the second data packet is associated with the third data packet.
[0017] In other words, the access network device determines the data packet associated with the third data packet based on the second information, and then performs association processing, such as relaxing the transmission of the third data packet if the second data packet is successfully transmitted.
[0018] In one possible design, the second information includes the sequence number of the second data packet.
[0019] In one possible design, if the first data packet set is successfully transmitted, the transmission of the second data packet set is relaxed, which includes: if the second data packet set is successfully transmitted, the transmission of the third data packet set is relaxed.
[0020] In other words, the access network device can perform data packet-level correlation processing, thereby more accurately ensuring data packet transmission performance.
[0021] In one possible design, the method further includes: in the event of a failure in the transmission of the first data packet set, sending the second data packet set so that the receiving end can perform data recovery or reconstruction based on the second data packet set, thereby achieving data packet set-level association processing.
[0022] In one possible design, the method further includes: in the event of a failure in the transmission of the second data packet, sending the third data packet so that the receiving end can perform data recovery or reconstruction based on the third data packet, thereby achieving data packet-level correlation processing.
[0023] In one possible design, the method further includes: receiving a first threshold, the first threshold indicating the maximum number of packet losses that the first data packet set can tolerate. In the event of a transmission failure of the first data packet set, sending a second data packet set includes: sending the second data packet set if a first value is less than or equal to the first threshold, the first value indicating the number of data packets in the first data packet set that failed to transmit.
[0024] In other words, if the first data packet set contains data packets that have failed to be transmitted, and the number of data packets that have failed to be transmitted does not exceed the first threshold, then within the tolerance range of the first data packet set, the second data packet set can be sent so that the receiving end can recover or reconstruct data packets based on the second data packet set.
[0025] Conversely, if the first value is greater than the first threshold, the first data packet set and the second data packet set are discarded to save storage resources.
[0026] In other words, if the first data packet set contains data packets that have failed to transmit, and the number of failed data packets exceeds the first threshold (i.e., exceeds the tolerance range of the first data packet set), then even if the second data packet set is sent, the receiving end cannot recover or reconstruct data packets based on the second data packet set. In this case, both the first and second data packet sets are discarded to save storage resources.
[0027] In one possible design, the method further includes recording the transmission status of the first data packet set, the transmission status including whether the first data packet set was successfully transmitted or failed, so that the access network device can perform association processing based on the transmission status of the first data packet set. For example, if the first data packet set is successfully transmitted, the transmission of the second data packet set can be relaxed. Alternatively, if the first data packet set fails to transmit, the second data packet set can be sent.
[0028] In one possible design, the method further includes receiving third information, the third information indicating that transmission of the second data packet set is relaxed if the first data packet set is successfully transmitted.
[0029] In other words, the third information instructs the access network device to perform association processing.
[0030] In one possible design, the method further includes: receiving fourth information indicating that a first Quality of Service (QoS) stream is associated with a second QoS stream, the first QoS stream being used to transmit the first set of data packets, and the second QoS stream being used to transmit the second set of data packets.
[0031] Determining the first data packet set and the second data packet set includes: determining the first data packet set in the first QoS stream, and determining the second data packet set in the second QoS stream based on the association between the first QoS stream and the second QoS stream.
[0032] In other words, when the first data packet set and the second data packet set belong to different QoS flows, the access network device determines different data packet sets in different QoS flows based on the fourth information.
[0033] In one possible design, the first data packet set and the second data packet set belong to the same QoS flow, so that the access network device can determine different data packet sets in the same QoS flow.
[0034] Secondly, a communication method is provided. This method can be executed by a second core network device. The second core network device can be the second core network device itself, a component within the second core network device (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the second core network device. The following description uses the example of the second core network device as the executing entity. The second core network device can be a user plane management function network element, such as a UPF network element. The method includes:
[0035] A first data packet set and a second data packet set are determined, and the first data packet set is associated with the second data packet set. Based on the association between the first data packet set and the second data packet set, the second data packet set is marked; this association is used to relax the transmission of the second data packet set if the first data packet set is successfully transmitted.
[0036] The first data packet set includes one or more original data packets, and the second core network device does not mark the first data packet set so that the access network device can identify the data packet set as an original data packet set.
[0037] The second data packet set includes one or more redundant data packets. The second core network device marks the second data packet set so that the access network device can identify that the data packet set is a redundant data packet set.
[0038] In other words, when it is determined that there is an association between the first data packet set and the second data packet set, the second core network device marks the second data packet set so that the access network device can perform association processing based on the association relationship. For example, if the first data packet set is successfully transmitted, the transmission of the second data packet set can be relaxed.
[0039] In one possible design, after marking the second set of data packets, the method further includes: sending the first set of data packets and the marked second set of data packets, the marked second set of data packets including a first data packet, the first data packet including first information for determining that the first set of data packets is associated with the second set of data packets.
[0040] In other words, the second core network device adds the first information to the first data packet to achieve the marking process.
[0041] In one possible design, the first information includes the sequence number of the first data packet set.
[0042] In one possible design, the method further includes: determining the sequence number of the first data packet set based on the forward error correction (FEC) header of the first data packet in the second data packet set, and determining the association between the first data packet set and the second data packet set based on the sequence number of the first data packet set.
[0043] In other words, the second core network device identifies the first data packet set protected by the second data packet set based on the FEC header of the redundant data packet set, such as the FEC header of the first data packet.
[0044] In one possible design, determining the sequence number of the first data packet set based on the FEC header of the first data packet in the second data packet set includes: determining the Real-Time Transport Protocol (RTP) sequence number of the original data packet based on the FEC header of the first data packet in the second data packet set; and determining the sequence number of the first data packet set based on the RTP sequence number of the original data packet and a first correspondence, wherein the first correspondence indicates the correspondence between the RTP sequence number of the original data packet in the first data packet set and the sequence number of the first data packet set.
[0045] In one possible design, the first data packet set is associated with the second data packet set, including: the second data packet is associated with a third data packet, the second data packet is included in the first data packet set, and the third data packet is included in the tagged second data packet set. The third data packet is used to protect the transmission of the second data packet, or the third data packet is a redundant or repaired data packet of the second data packet, thereby achieving association at the data packet granularity level.
[0046] In one possible design, the third data packet includes second information used to determine the association between the second data packet and the third data packet, thereby achieving data packet granular labeling.
[0047] In one possible design, the second information includes the sequence number of the second data packet.
[0048] In one possible design, the method further includes: determining the sequence number of the second data packet based on the forward error correction (FEC) header of the third data packet in the second data packet set, and determining the association between the second data packet and the third data packet based on the sequence number of the second data packet.
[0049] In other words, the second core network device identifies the second data packet protected by the third data packet based on the FEC header of the redundant data packet, such as the FEC header of the third data packet.
[0050] In one possible design, determining the sequence number of the second data packet based on the FEC header of the third data packet in the second data packet set includes: determining the Real-Time Transport Protocol (RTP) sequence number of the original data packet based on the FEC header of the third data packet in the second data packet set; and determining the sequence number of the second data packet based on the RTP sequence number of the original data packet and a first correspondence, wherein the first correspondence indicates the correspondence between the RTP sequence number of the original data packet in the first data packet set and the sequence number of the first data packet set, as well as the correspondence between the RTP sequence number of the original data packet in the first data packet set and the data packet sequence number in the first data packet set.
[0051] In one possible design, the method further includes: recording the first correspondence.
[0052] In one possible design, the method further includes: receiving fifth information, the fifth information indicating the marking of the second data packet set, so that the second core network device marks the second data packet set according to the fifth information.
[0053] In one possible design, the method further includes: receiving sixth information indicating that a first Quality of Service (QoS) stream is associated with a second QoS stream, the first QoS stream being used to transmit the first set of data packets, and the second QoS stream being used to transmit the second set of data packets.
[0054] Determining the first data packet set and the second data packet set includes: determining the first data packet set in the first QoS stream, and determining the second data packet set in the second QoS stream based on the association between the first QoS stream and the second QoS stream.
[0055] In other words, when the first set of data packets and the second set of data packets belong to different QoS flows, the second core network device determines different sets of data packets in different QoS flows based on the sixth information.
[0056] Thirdly, a communication method is provided. This method can be executed by a fourth core network device. The fourth core network device can be the fourth core network device itself, a component within the fourth core network device (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the fourth core network device. The following description uses the fourth core network device as the executing entity. The fourth core network device can be an application function network element, such as an AF network element. The method includes:
[0057] The seventh piece of information is determined, comprising at least one of the following: flow description information of a first service data stream, flow description information of a second service data stream, first association information, or a first threshold. The flow description information of the first service data stream indicates the first service data stream, the flow description information of the second service data stream indicates the second service data stream, the first service data stream is used to transmit a first data packet set, the second service data stream is used to transmit a second data packet set, the first data packet set is associated with the second data packet set, the first association information indicates that the first service data stream is associated with the second service data stream, and the first threshold indicates the maximum number of packet losses that the first data packet set can tolerate. The seventh piece of information is then sent.
[0058] For example, the flow description information of the first service data stream includes at least one of the following: IP 5-tuple, IP triple, application identifier (APP ID), etc. Optionally, the flow description information of the first service data stream also includes enhanced packet filter combination information, such as the Real-Time Transport Protocol Synchronization Source (RTP-SSRC) and Real-Time Transport Protocol Payload Type (RTP-PTs) carried in the first and second bytes of the UDP payload used in multi-stream demultiplexing, etc., to allow the core network to distinguish between the first service data stream and the second service data stream.
[0059] For example, the flow description information of the second service data flow includes at least one of the following: IP 5-tuple, IP triplet, APP ID, etc. Optionally, the flow description information of the second service data flow also includes enhanced packet filter combination information, such as RTP-SSRC, RTP-PTs, etc., carried by the first and second bytes of the UDP payload used in multi-flow demultiplexing, to allow the core network to distinguish between the first service data flow and the second service data flow.
[0060] For example, the seventh piece of information is included in the AF request.
[0061] In other words, the fourth core network device sends the seventh information to enable other core network devices to obtain the flow description information of the first service data stream, the flow description information of the second service data stream, the first association information, or the first threshold. This enables other core network devices to perform association marking and association processing of data packet sets based on the flow description information of the first service data stream, the flow description information of the second service data stream, the first association information, or the first threshold. For example, marking the second data packet set, or relaxing the transmission of the second data packet set if the first data packet set is successfully transmitted.
[0062] Fourthly, a communication method is provided. This method can be executed by a third core network device. The third core network device can be the third core network device itself, a component within the third core network device (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the third core network device. The following description uses the third core network device as the executing entity. The third core network device can be a policy control network element, such as a PCF network element. The method includes:
[0063] First policy information is determined, which includes at least one of the following: a service data stream SDF template for a first service data stream, an SDF template for a second service data stream, first indication information, second indication information, or a first threshold. The first service data stream SDF template indicates the first service data stream, the second service data stream SDF template indicates the second service data stream, the first service data stream is used to transmit a first data packet set, the second service data stream is used to transmit a second data packet set, the first data packet set is associated with the second data packet set, the first indication information indicates that the second data packet set is marked, the second indication information indicates that transmission of the second data packet set should be relaxed if the first data packet set is successfully transmitted, and the first threshold indicates the maximum number of packet losses that the first data packet set can tolerate. The first policy information is then sent.
[0064] In other words, the third core network device sends the first policy information to enable other core network devices to obtain the SDF template of the first service data stream, the SDF template of the second service data stream, the first indication information, the second indication information, or the first threshold. This enables other core network devices to perform association marking and association processing of data packet sets based on the SDF template of the first service data stream, the SDF template of the second service data stream, the first indication information, the second indication information, or the first threshold. For example, marking the second data packet set, or relaxing the transmission of the second data packet set if the first data packet set is successfully transmitted.
[0065] In one possible design, the method further includes: receiving seventh information, the seventh information including at least one of the following: flow description information of a first service data stream, flow description information of a second service data stream, first association information, or a first threshold, wherein the flow description information of the first service data stream indicates the first service data stream, the flow description information of the second service data stream indicates the second service data stream, and the first association information indicates that the first service data stream is associated with the second service data stream. Based on the seventh information, the first policy information is determined.
[0066] Fifthly, a communication method is provided. This method can be executed by a first core network device. The first core network device can be the first core network device itself, a component within the first core network device (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the first core network device. The following description uses the example of the first core network device as the executing entity. The first core network device can be a session management function network element, such as an SMF network element.
[0067] The method includes:
[0068] A third piece of information is determined, indicating that if the first data packet set is successfully transmitted, the transmission of the second data packet set should be relaxed. The first data packet set and the second data packet set are associated, and this association is used to relax the transmission of the second data packet set if the first data packet set is successfully transmitted. The third piece of information is then sent.
[0069] In other words, the first core network device sends the third information to enable the access network device to perform association processing between the first data packet set and the second data packet set. For example, if the first data packet set is successfully transmitted, the transmission of the second data packet set is relaxed. Since the original data packets and redundant data packets belong to different data packet sets, if the first data packet set is successfully transmitted, there is no need to wait for the transmission of redundant data packets, i.e., the transmission of the second data packet set is relaxed, thereby reducing the impact of delayed transmission of redundant data packets on transmission performance.
[0070] In one possible design, the method further includes: sending a first threshold, the first threshold indicating the maximum number of packet losses that the first data packet set can tolerate, so that the access network device determines whether to send the second data packet set.
[0071] In one possible design, the method further includes: sending fourth information indicating that a first Quality of Service (QoS) flow is associated with a second QoS flow, the first QoS flow being used to transmit the first set of data packets and the second QoS flow being used to transmit the second set of data packets, so that the access network device determines the first set of data packets and the second set of data packets based on the fourth information.
[0072] Sixthly, a communication method is provided. This method can be executed by a first core network device. The first core network device can be the first core network device itself, a component within the first core network device (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the first core network device. The following description uses the example of the first core network device as the executing entity. The first core network device can be a session management function network element, such as an SMF network element.
[0073] The method includes:
[0074] A fifth piece of information is determined, which indicates and marks a second data packet set. This second data packet set is associated with a first data packet set. This association between the first and second data packet sets is used to relax the transmission of the second data packet set if the first data packet set is successfully transmitted. The fifth piece of information is then sent.
[0075] In other words, the first core network device sends the fifth information to enable the second core network device to perform marking processing on the second data packet set, thereby allowing the access network device to identify the first data packet set and the second data packet set, and thus perform association processing on the data packet sets. For example, if the first data packet set is successfully transmitted, the transmission of the second data packet set is relaxed.
[0076] In one possible design, the method further includes: sending flow description information of a first service data stream, the flow description information of the first service data stream indicating the first service data stream, the first service data stream being used to transmit the first data packet set, so that the second core network device can identify the first data packet set in the corresponding service data stream.
[0077] In one possible design, the method further includes: sending flow description information of a second service data stream, the flow description information of the second service data stream indicating the second service data stream, the second service data stream being used to transmit the second set of data packets, so that the second core network device can identify the second set of data packets in the corresponding service data stream.
[0078] In one possible design, the method further includes: sending a sixth message indicating that a first Quality of Service (QoS) flow is associated with a second QoS flow, the first QoS flow being used to transmit the first set of data packets and the second QoS flow being used to transmit the second set of data packets, so that the second core network device determines the first set of data packets and the second set of data packets based on the sixth message.
[0079] In conjunction with the fifth or sixth aspect, in one possible design, the method further includes: receiving first policy information, the first policy information including at least one of the following: a service data stream SDF template for a first service data stream, an SDF template for a second service data stream, first indication information, second indication information, or a first threshold, wherein the SDF template for the first service data stream indicates the first service data stream, the SDF template for the second service data stream indicates the second service data stream, the first service data stream is used to transmit the first data packet set, the second service data stream is used to transmit the second data packet set, the first data packet set is associated with the second data packet set, the first indication information indicates that the second data packet set is marked, the second indication information indicates that transmission of the second data packet set is relaxed if the first data packet set is successfully transmitted, and the first threshold indicates the maximum number of packet losses that the first data packet set can tolerate.
[0080] In conjunction with the fifth or sixth aspect, in one possible design, the method further includes: associating a first Quality of Service (QoS) stream with a second QoS stream, wherein the first QoS stream is used to transmit the first set of data packets, and the second QoS stream is used to transmit the second set of data packets.
[0081] In a seventh aspect, a communication device is provided for implementing the various methods described above. The communication device includes modules, units, or means corresponding to the methods, which can be implemented in hardware, software, or by hardware executing corresponding software. The hardware or software includes one or more modules or units corresponding to the functions.
[0082] In one possible design, the communication device may include a processing module and a transceiver module. The processing module can be used to implement the processing functions performed by the communication device in any of the above aspects and any possible implementations thereof. The transceiver module, also referred to as a transceiver unit, is used to implement the sending and / or receiving functions performed by the communication device in any of the above aspects and any possible implementations thereof. The transceiver module may consist of transceiver circuitry, a transceiver, a transceiver unit, or a communication interface.
[0083] In one possible design, the transceiver module includes a transmitting module and / or a receiving module, which are used to implement the transmitting or receiving functions performed by the communication device in any of the above aspects and any possible implementations thereof.
[0084] Eighthly, a communication device is provided for implementing the method performed by the communication device in any of the above aspects or any possible design of any of the above aspects.
[0085] Ninth aspect, a communication device is provided, comprising: a processor; the processor being configured to execute a computer program or instructions to cause the communication device to perform the method described in any aspect or the method performed by the communication device in any possible design of any aspect.
[0086] Optionally, the communication device further includes a memory, which may be coupled to the processor, or the memory may exist independently of the processor; for example, the memory and the processor may be two separate modules. The memory may be located outside or inside the communication device.
[0087] In a tenth aspect, a computer-readable storage medium is provided. This computer-readable storage medium stores a computer program or instructions that, when executed, cause the methods described in any of the preceding aspects or the methods executed by a communication device in any possible design of any of the preceding aspects to be implemented.
[0088] In an eleventh aspect, a computer program product containing instructions is provided, which, when run, causes the method described in any of the preceding aspects or the method executed by a communication device in any possible design of any of the preceding aspects to be implemented.
[0089] The communication device provided in any one of the seventh to eleventh aspects may be an access network device as described in the first aspect, or a component included in the access network device, such as a chip or chip system; or it may be a second core network device as described in the second aspect, or a component included in the second core network device, such as a chip or chip system; or it may be a fourth core network device as described in the third aspect, or a component included in the fourth core network device, such as a chip or chip system; or it may be a third core network device as described in the fourth aspect, or a component included in the third core network device, such as a chip or chip system; or it may be a first core network device as described in the fifth or sixth aspect, or a component included in the first core network device, such as a chip or chip system. When the device is a chip system, it may be composed of chips or may include chips and other discrete devices.
[0090] It is understood that when the communication device provided in any of the seventh to eleventh aspects is a chip, the sending action / function of the communication device can be understood as outputting information, and the receiving action / function of the communication device can be understood as inputting information.
[0091] The technical effects of any of the design methods in aspects seven through eleven can be found in the technical effects of any of the design methods in aspects one through six, and will not be repeated here. Attached Figure Description
[0092] Figure 1 is a schematic diagram of the architecture of a communication system applied in an embodiment of this application;
[0093] Figure 2 is a schematic diagram of the architecture of another communication system applied in the embodiments of this application;
[0094] Figure 3 illustrates a user plane protocol provided in an embodiment of this application.
[0095] Figure 4 is a flowchart illustrating a communication method provided in an embodiment of this application;
[0096] Figure 5 is a flowchart illustrating another communication method provided in an embodiment of this application;
[0097] Figure 6 is a flowchart illustrating another communication method provided in an embodiment of this application;
[0098] Figure 7 is a flowchart illustrating another communication method provided in an embodiment of this application;
[0099] Figure 8 is a schematic diagram of the structure of a communication device provided in an embodiment of this application;
[0100] Figure 9 is a schematic diagram of another communication device provided in an embodiment of this application;
[0101] Figure 10 is a schematic diagram of the structure of another communication device provided in an embodiment of this application. Detailed Implementation
[0102] The technical solutions in this application will now be described with reference to the accompanying drawings.
[0103] The network architecture and business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0104] Figure 1 is a schematic diagram of the architecture of a communication system provided in an embodiment of this application. As shown in Figure 1, the communication system includes a terminal device, an access network device, and a core network device. The access network device and the core network device can be collectively referred to as network devices. The access network device can also be called an access network (AN) device or a radio access network (RAN) device.
[0105] The terminal equipment includes devices that provide voice and / or data connectivity to users. Specifically, it includes devices that provide voice connectivity to users, or devices that provide data connectivity to users, or devices that provide both voice and data connectivity to users. For example, it may include a handheld device with wireless connectivity or a processing device connected to a wireless modem. The terminal equipment can communicate with the core network via a radio access network (RAN), exchanging voice or data with the RAN, or interacting with the RAN for both voice and data. The terminal equipment may include user equipment (UE), wireless terminal equipment, mobile terminal equipment, device-to-device (D2D) terminal equipment, vehicle-to-everything (V2X) terminal equipment, machine-to-machine / machine-type communications (M2M / MTC) terminal equipment, Internet of Things (IoT) terminal equipment, subscriber unit, subscriber station, mobile station, remote station, access point (AP), remote terminal, access terminal, user terminal, user agent, or user device, etc. For example, it may include mobile phones (or "cellular" phones), computers with mobile terminal devices, portable, pocket-sized, handheld, or computer-embedded mobile devices, etc. Examples include personal communication service (PCS) phones, cordless phones, session initiation protocol (SIP) phones, wireless local loop (WLL) stations, and personal digital assistants (PDAs). It also includes limited devices, such as those with low power consumption, limited storage capacity, or limited computing power. Examples include information sensing devices such as barcode scanners, radio frequency identification (RFID), sensors, global positioning systems (GPS), and laser scanners.
[0106] The various terminal devices described above, if located in a vehicle (e.g., placed inside or installed inside a vehicle), can be considered as vehicle-mounted terminal devices, also known as on-board units (OBUs).
[0107] In this embodiment, the terminal device may further include a relay. Alternatively, it can be understood that anything capable of data communication with a base station can be considered a terminal device.
[0108] In this application embodiment, the device for implementing the functions of the terminal device can be the terminal device itself, or it can be a device capable of supporting the terminal device in implementing the functions, such as a chip system, which can be installed in the terminal device. In this application embodiment, the chip system can be composed of chips, or it can include chips and other discrete devices. In the technical solutions provided in this application embodiment, the terminal device is used as an example to illustrate the device for implementing the functions of the terminal.
[0109] Access network equipment can be a device that connects terminal devices to a wireless network. In the embodiments of this application, the access network equipment can include various forms of base stations, such as macro base stations, micro base stations (also called small stations), relay stations, access points, transmitting points (TPs), evolved NodeBs (eNodeBs), transmission reception points (TRPs), next-generation NodeBs (gNBs) in 5G communication systems, equipment implementing base station functions in communication systems evolved after 5G, mobile switching centers, and equipment undertaking base station functions in D2D, V2X, and M2M communications; it can also be access network equipment in non-terrestrial networks (NTN) communication systems, i.e., it can be deployed on high-altitude platforms or satellites; it can also be a module or unit that performs some of the functions of a base station, for example, a central unit (CU) or a distributed unit (DU) in a cloud radio access network (C-RAN) system. The embodiments of this application do not limit the specific technology or specific equipment form used in the access network equipment. All or part of the functions of the access network device can also be implemented through software functions running on hardware, or through virtualization functions instantiated on a platform (e.g., a cloud platform). In the embodiments of this application, unless otherwise specified, the access network device refers to the RAN device.
[0110] The different core network devices are described below:
[0111] User plane network elements are used for packet routing and forwarding, as well as quality of service (QoS) processing of user plane data. As shown in Figure 2, in a 5G communication system, user plane network elements can be user plane function (UPF) network elements. In future communication systems, user plane network elements can still be UPF network elements, or they can have other names; this application embodiment does not limit this.
[0112] Data network (DN) element: A network used to provide data transmission. As shown in Figure 2, in a 5G communication system, the data network can be a DN. In future communication systems, the data network can still be a DN, or it can have other names; this application embodiment does not limit this.
[0113] Authentication service network element: Used for authentication services, generating keys to achieve two-way authentication of terminal devices, and supporting a unified authentication framework. As shown in Figure 2, in a 5G communication system, the authentication service network element can be an authentication server function (AUSF) network element. In future communication systems, the authentication server function network element can still be an AUSF network element, or it can have other names; this application embodiment does not limit this.
[0114] Access and Mobility Management (MME) network elements: These are used for mobility management and access management, and can implement functions other than session management within the MME, such as legality monitoring and access authorization / authentication. As shown in Figure 2, in a 5G communication system, the MME network element can be an Access and Mobility Management Function (AMF) network element. In future communication systems, the MME network element can still be an AMF network element, or it can have other names; this application embodiment does not limit this.
[0115] Session management network elements are primarily used for session management, allocation and management of Internet Protocol (IP) addresses for terminal devices, selection of endpoints for manageable user plane functions, policy control, and charging function interfaces, and downlink data notification. As shown in Figure 2, in a 5G communication system, the session management network element can be a session management function (SMF) network element. In future communication systems, the session management network element may still be an SMF network element, or it may have other names; this application embodiment does not limit this.
[0116] Service communication function (SCP) network element: Used to provide selection of communication functions between network function (NF) network elements. As shown in Figure 2, in a 5G communication system, the SCP network element can be a service communication function (SCP) network element. In future communication systems, the SCP network element may still be an SCP network element, or it may have other names; this application embodiment does not limit this.
[0117] A network data analytics function (NWDAF) network element is used for network data analysis, providing network data collection and analysis services based on technologies such as big data and artificial intelligence. As shown in Figure 2, in a 5G communication system, the NWDAF network element can be a network data analytics function (NWDAF) network element. In future communication systems, the NWDAF network element may still be an NWDAF network element, or it may have other names, such as network analysis network element or network analysis function network element. This application embodiment does not limit this.
[0118] Network exposure function (NEF) network elements: These are used to provide customized network functions. As shown in Figure 2, in a 5G communication system, a NEF network element can be a NEF network element. In future communication systems, the NEF network element can still be a NEF network element, or it can have other names; this application embodiment does not limit this.
[0119] Network storage element: Used to maintain real-time information of all network function services in the network. As shown in Figure 2, in a 5G communication system, the network storage element can be a network repository function (NRF) element. In future communication systems, the network storage element can still be an NRF element, or it can have other names; this application embodiment does not limit this.
[0120] Policy control network element: A unified policy framework used to guide network behavior, providing policy rule information to control plane network elements (such as AMF network elements, SMF network elements, etc.). In 4G communication systems, the policy control network element can be a policy and charging rules function (PCRF) network element. As shown in Figure 2, in 5G communication systems, the policy control network element can be a policy control function (PCF) network element. In future communication systems, the policy control network element can still be a PCF network element, or it can have other names; this application embodiment does not limit this.
[0121] Data management network element: Used for handling terminal device identification, access authentication, registration, and mobility management, etc. As shown in Figure 2, in a 5G communication system, the data management network element can be a unified data management (UDM) network element. In future communication systems, the data management network element can still be a UDM network element, or it can have other names; this application embodiment does not limit this.
[0122] Application network elements are used for data routing affected by applications, accessing network open function network elements, and interacting with the policy framework for policy control. As shown in Figure 2, in a 5G communication system, application network elements can be application function (AF) network elements. In future communication systems, application network elements can still be AF network elements, or they can have other names, such as application server (AS), service server, third-party server, etc. This application embodiment does not limit this. In this application embodiment, an application server is used as an example for description.
[0123] Referring to Figure 2, the terminal device accesses the 5G network through the (R)AN device. The terminal device communicates with the AMF network element through the N1 interface (N1); the (R)AN device communicates with the AMF network element through the N2 interface (N2); the (R)AN device communicates with the UPF network element through the N3 interface (N3); the SMF network element communicates with the UPF network element through the N4 interface (N4); the UPF network element accesses the DN through the N6 interface (N6); and different UPF network elements communicate with each other through the N9 interface (N9). In the architecture shown in Figure 2, N1, N2, N3, N4, N6, and N9 represent reference points between relevant network elements / network functions. The (R)AN device refers to either the AN device or the RAN device.
[0124] Furthermore, the control plane functions of the AUSF, AMF, SMF, NWDAF, NEF, NRF, PCF, UDM, or AF network elements shown in Figure 2 interact using service-oriented interfaces. For example, the service-oriented interface provided by the AUSF network element is Nausf; the service-oriented interface provided by the AMF network element is Namf; the service-oriented interface provided by the SMF network element is Nsmf; the service-oriented interface provided by the NWDAF network element is Nnwdaf; the service-oriented interface provided by the NEF network element is Nnef; the service-oriented interface provided by the NRF network element is Nnrf; the service-oriented interface provided by the PCF network element is Npcf; the service-oriented interface provided by the UDM network element is Nudm; and the service-oriented interface provided by the AF network element is Naf. Related functional and interface descriptions can be found in the 5G system architecture diagram in the 23501 standard, and will not be elaborated upon here.
[0125] Optionally, each of the aforementioned core network devices can be implemented by a single device, multiple devices working together, or a functional module within a single device. This application does not specifically limit this. It is understood that the aforementioned functional module can be a network element within a hardware device, a software functional module running on dedicated hardware, or a virtualized functional module instantiated on a platform (e.g., a cloud platform).
[0126] Optionally, in the embodiments of this application, the term "network element" can be interchanged with "entity," "device," etc. For example, "AMF network element" can also be written as "AMF entity" or "AMF device," and "SMF network element" can also be written as "SMF entity" or "SMF device," etc. In addition, in some embodiments, for ease of description, "XXX network element" is abbreviated to "XXX," for example, "AUSF network element" can also be abbreviated to "AUSF," and "SMF network element" can also be abbreviated to "SMF." In the embodiments of this application, the XXX network element is used as an example for introduction, and will be uniformly described here, and will not be repeated below.
[0127] Figure 3 illustrates a user plane protocol model from a terminal device to an application server.
[0128] This protocol model includes, from top to bottom, the application layer, transport layer, network layer, link layer, and physical (PHY) layer.
[0129] In Figure 3, the connection used for sending and receiving data is located at the transport layer, which is the end-to-end protocol layer from the terminal device to the application server. The relevant protocols of the transport layer include Quick User Datagram Protocol Internet Connection (QUIC) and User Datagram Protocol (UDP), or alternatively, UDP or Transmission Control Protocol (TCP), etc.
[0130] It is easy to understand that in some protocol partitioning models, the QUIC protocol is classified as an application layer protocol rather than a transport layer protocol.
[0131] Below the network layer are several different 3GPP network protocol stacks that interface between the terminal device and the access network device, and between the access network device and the user plane network element. Specifically, the 3GPP network protocol stack between the terminal device and the access device includes the Service Data Adaptation Protocol (SDAP) layer, the Packet Data Convergence Protocol (PDCP) layer, and various lower protocol layers, including the Radio Link Control (RLC) layer, the Media Access Control (MAC) layer, and the Physical (PHY) layer. The 3GPP network protocol stack between the access network device and the user plane network element includes the General Packet Radio Service (GPRS) Tunneling Protocol for the User Plane (GTP-U) layer and various lower protocol layers, including the User Datagram Protocol (UDP) layer / Internet Protocol (IP) layer, Layer 2 (L2), and Layer 1 (L1). Among them, access network equipment and user plane network elements belong to the 3GPP network.
[0132] The GTP-U layer includes GTP-U tunnels. A GTP-U tunnel is a connection tunnel between the access network device and the user plane network element (as shown in Figure 3, between the 5G-AN device and the UPF network element). Data from / to the terminal device is added to the GTP-U tunnel for transmission. GTP-U tunnels are at the protocol data unit (PDU) session granularity; that is, for each PDU session, a GTP-U tunnel is established between the access network device and the user plane network element.
[0133] The network protocol stack between terminal equipment and user plane network elements includes the network layer. The network protocol stack between user plane network elements and application servers includes the network layer, link layer, and physical layer.
[0134] To facilitate understanding of the embodiments of this application, the relevant technologies or terms involved in the embodiments of this application will be briefly described below. It should be understood that these descriptions are only for the purpose of understanding the embodiments of this application and should not constitute any limitation on this application.
[0135] 1. PDU Set
[0136] A PDU Set is a collection of one or more PDUs used to transmit application-layer information units. These application-layer information units include frames or slices. Depending on the application implementation, the application layer may require all PDUs in a PDU Set to decode, or it may be able to recover information units even if some PDUs are lost.
[0137] 2. Real-time Transport Protocol (RTP) stream
[0138] RTP (Real-Time Protocol) streams are used for real-time data transmission. It is a standard proposed by the Internet Engineering Task Force (IETF), and its corresponding request for comments (RFC) document is RFC 3550. RFC 3550 not only defines RTP but also related protocols, such as the Real-Time Transport Control Protocol (RTCP). RTP provides end-to-end real-time transmission services for various multimedia data requiring real-time transmission over Internet Protocol (IP) networks, including voice, images, and fax. RTP provides time information and stream synchronization for end-to-end real-time transmission over the network, but it does not guarantee quality of service; that is provided by RTCP.
[0139] 3. Synchronization Source (SSRC)
[0140] SSRC is a field in the RTP header used to identify the synchronization source of the sender. Each RTP data stream has a unique SSRC identifier, which helps the receiver identify different data streams, unpack packets, and synchronize.
[0141] 4. Service Data Flow (SDF)
[0142] Generally speaking, the flow description information can be an SDF template, that is, the business data flow is detected by using the SDF template to determine which data belongs to the current SDF.
[0143] 5. Protocol description
[0144] The protocol description indicates the transport protocols and information used by the service data stream. These transport protocols include RTP and Secure Real-Time Transport Protocol (SRTP), among others.
[0145] 6. QoS flow
[0146] In communication systems, such as 5G systems (5GS), when terminal devices have service communication needs, a PDU session is established. A PDU session can include one or more QoS flows, each QoS flow used to carry a service flow. QoS flows can be pre-configured, established through the PDU session establishment procedure, or established through the PDU session modification procedure. A QoS flow identity (QFI) is used to identify a QoS flow. User plane data with the same QFI in a PDU session will receive the same forwarding processing (such as the same scheduling, the same admission thresholds, etc.).
[0147] For example, the terminal device obtains an IP address through a PDU session, thereby interacting with an external service server to achieve service communication. The 5GS, based on flow description information, such as an SDF template, maps the corresponding services to different QoS flows and performs corresponding QoS processing.
[0148] In communication systems, QoS flows can be controlled by SMF network elements.
[0149] For example, SMF network elements can send QoS rules (e.g., QoS rules) for QoS flows to terminal devices. These QoS rules include QFIs, packet filter sets, and QoS rule IDs. Terminal devices can classify and label uplink service flows according to these QoS rules; that is, they can associate uplink data with corresponding QoS flows based on the QoS rules.
[0150] For example, SMF network elements can send QoS descriptions (e.g., QoS profiles) of QoS flows to access network devices. These QoS descriptions may include 5G QoS identifiers (5QI), allocation and retention priority (ARP), guaranteed flow bit rate (GFBR), maximum flow bit rate (MFBR), and QFIs. One QoS description corresponds to one QFI. Access network devices can control service flows based on these QoS descriptions.
[0151] It should be noted that, in the embodiments of this application, the QoS description may also have other names, such as QoS overview, QoS document, QoS archive, QoS file, QoS configuration, QoS configuration profile, QoS configuration document, etc. In this embodiment, the QoS description is used as an example and should not be construed as a limitation of the embodiments of this application. In this embodiment, the QoS description may refer to a QoS profile, which can be found in relevant 3GPP technical specifications and will not be elaborated further.
[0152] For example, SMF network elements can send N4 rules (e.g., N4 rules) of QoS flows to user plane network elements. N4 rules include packet inspection rules, usage reporting rules, and QoS enforcement rules. QoS enforcement rules include maximum bit rate, guaranteed bit rate (GBR), and average window.
[0153] 7. Extended Reality Media (XRM)
[0154] In the R18 XRM research, for real-time media services, such as the emerging virtual reality (VR), augmented reality (AR), mixed reality (MR), and cloud gaming, there are extremely stringent requirements for end-to-end latency. Furthermore, the data processing granularity during encoding and transmission of upper-layer media services is no longer at the packet level. For example, during encoding at the media layer, processing is often done at the granularity of media frames and fragments, meaning that media frames and fragments can be encoded independently. Simultaneously, the receiving side also performs decoding and display processing at the same granularity of media frames and fragments. Basic data units such as media frames and fragments often contain multiple IP packets (due to IP packet size limitations). To represent these basic data units of the media service layer, the standard refers to them as a protocol data unit set (PDU Set), which is the basic unit that the upper-layer service layer can process independently. The Release 18 standard introduces a PDU aggregation processing feature: In the uplink (UL) direction, the terminal device identifies the PDU aggregation information and performs PDU aggregation processing according to the RAN configuration. The terminal device's PDU aggregation identification relies on its own implementation. Optionally, the core network equipment provides a protocol description to assist the terminal device in identifying the PDU aggregation information. In the downlink (DL) direction, the UPF network element identifies the PDU aggregation information based on the protocol description or its own implementation and sends the PDU aggregation information to the RAN for PDU aggregation processing.
[0155] Meanwhile, in terms of QoS enhancement, QoS parameters at the PDU set granularity are introduced. Different from QoS parameters at the PDU granularity, the parameters at the PDU set granularity include at least one of the following: PDU set delay budget (PSDB), PDU set error rate (PSER), or PDU set integrated handling information (PSIHI), etc. Enabling PDU set-based processing should send at least one of the following information to the RAN side: 1) PSIHI, and / or, 2) PSDB and PSER. For a given QoS flow, the values of PSDB, PSER, and PSIHI for the uplink and downlink can be different. The QoS Profile provided by the SMF network element will carry QoS parameters at the PDU set granularity and QoS parameters at the PDU granularity at the same time. When the RAN side performs PDU set QoS processing, the QoS parameters at the PDU set granularity will replace the QoS parameters at the PDU granularity.
[0156] In some embodiments, commercial XR split rendering and cloud gaming services use application layer forward error correction (AL-FEC). Among them, the basic principles of XR applications using AL-FEC are as follows:
[0157] First, the application sends application data units (ADUs). Among them, one ADU includes the data of one video frame. One ADU includes source symbols, and optionally, modified symbols. Among them, the source symbols include the original data of the video frame, and the repair symbols include the redundant data of the video frame. For example, using a certain coding method, the source symbols are encoded to obtain repair symbols. The coding method includes at least one of the following: Fountain (RaptorQ) code, or Reed-Solomon code.
[0158] Second, if the coding used is maximum distance separable (MDS), for example, in the case where the coding method is RaptorQ or Reed-Solomon code, the source symbols and repair symbols are distributed in N data packets, so that when the receiver receives any K (K < N) data packets among the N data packets, the receiver can reconstruct the actual content (such as a video frame). Among them, N and K are positive integers.
[0159] In other words, if an ADU consists of N data packets, from the receiver's perspective, receiving K data packets from an ADU is sufficient to reconstruct the actual content. This also means that once the receiver successfully receives K data packets out of the aforementioned N data packets, even if the remaining NK data packets of the ADU are transmitted to the receiver, no value will be added, because the receiver can already reconstruct the original content based on the first K data packets.
[0160] Application layers often use FEC (Flexible Enforcement Framework) or retransmission to ensure the reliability of media content transmission. In this case, there is a certain dependency between the original data packets and redundant data packets, but this dependency is inverse: 1) If the original data packets are sent successfully, all redundant data packets are discarded; 2) If not all original data packets are sent successfully, all redundant data packets are guaranteed to be transmitted. The original data packets remain unchanged and are transmitted normally via RTP streams, while redundant data packets are transmitted using different RTP streams to ensure backward compatibility. The RTP header information of redundant data packets differs from that of the original data packets. Specifically, the payload type (PT) of the redundant data packets is a new, independent format, different from the original data packets; the sequence number of the redundant data packets is also a separate sequence number, different from the original data packets; the SSRC (SSRC of the redundant data packets) is related to the RTP stream transmitting the redundant data packets, or it may be the same as the original data packets, depending on the FEC implementation. Based on the FEC header of the redundant data packets, the original data packets protected by the redundant data packets can be identified.
[0161] In the FEC-based PDU set processing technology, each PDU set has an FEC redundancy ratio, denoted as X%, which can be understood as follows: even if PDU data packets in the PDU set that are less than this ratio are discarded, the original PDU set can still be recovered. Specifically:
[0162] First, determine the redundancy ratio based on the PDU set granularity. For example, denote the redundancy ratio as X%. The RAN side guarantees 1-X% successful data transmission.
[0163] Second, for the data in the PDU set, labels S and R are applied. S identifies the original data packets in the PDU set, and R identifies redundant data packets. If the original data packets in the PDU set are successfully sent, the redundant data packets are discarded.
[0164] In summary, the FEC-based PDU aggregation processing technology treats the original data packets and redundant data packets as a single PDU set. Furthermore, redundant data packets are often generated from the original data packets and transmitted in different service data streams, meaning they often lag behind the original packets, thus impacting data transmission performance.
[0165] In view of this, this application provides a communication method. This method can be applied to systems such as those shown in Figure 1 or Figure 2. The method includes:
[0166] Determine a first data packet set and a second data packet set. The first data packet set is associated with the second data packet set. If the first data packet set is successfully transmitted, resume transmission of the second data packet set.
[0167] The first set of data packets includes at least one data packet, such as the original data packet. The second set of data packets includes at least one data packet, such as a redundant data packet.
[0168] The association between the first data packet set and the second data packet set can be understood as follows:
[0169] On the one hand, from the perspective of packet set granularity, the second packet set can be understood as being generated based on the first packet set. For example, the first packet set includes at least one original packet. The second packet set includes at least one redundant packet. The second packet set is a redundant packet set generated based on the first packet set. Correspondingly, the service data stream carrying the first packet set is different from the service data stream carrying the second packet set. For example, the service data stream carrying the first packet set is the first service data stream, such as the first RTP stream, denoted as RTP1. The service data stream carrying the second packet set is the second service data stream, such as the second RTP stream, denoted as RTP2. Furthermore, the first service data stream and the second service data stream can belong to the same QoS stream or different QoS streams. For example, the QoS stream to which the first service data stream belongs is the first QoS stream, and the QoS stream to which the second service data stream belongs is the second QoS stream.
[0170] Alternatively, it can be understood that the second set of data packets is used to protect the transmission of the first set of data packets. For example, if the first set of data packets is transmitted successfully, the transmission of the second set of data packets is relaxed. Or, if the first set of data packets fails to transmit, the second set of data packets is sent. Alternatively, if the first set of data packets fails to transmit, the transmission of the second set of data packets is guaranteed.
[0171] It should be noted that in this application, the business data flow is described using RTP flow as an example, but it can also be data flow of other protocols, without limitation.
[0172] Furthermore, from the perspective of data packet granularity, it can be understood that the second data packet is associated with the third data packet; the second data packet is contained within the first data packet set, and the third data packet is contained within the second data packet set. The third data packet is a redundant data packet of the second data packet.
[0173] Alternatively, it can be understood that the third data packet is used to protect the transmission of the second data packet. For example, if the second data packet is transmitted successfully, the transmission of the third data packet is relaxed. Or, if the second data packet fails to transmit, the third data packet is sent. Alternatively, if the second data packet fails to transmit, the transmission of the third data packet is guaranteed.
[0174] Relaxing the transmission of the second data packet set can be understood as stopping the transmission of the second data packet set, reducing the number of retransmissions of the second data packet set, reducing the transmission requirements of the second data packet set, or discarding the second data packet set. The transmission requirements of the second data packet set include at least one of the following: the bit error rate of the second data packet set, or the transmission rate of the second data packet set, or the transmission delay of the second data packet set, etc.
[0175] Relaxing the transmission of third data packets can be understood as stopping the transmission of third data packets, reducing the number of retransmissions, lowering the transmission requirements, or discarding the third data packets. The transmission requirements for third data packets include at least one of the following: the bit error rate, the transmission rate, or the transmission delay of the third data packets.
[0176] In other words, two data packet sets are set up, for example, a first data packet set and a second data packet set. The first data packet set is associated with the second data packet set, thus utilizing the second data packet set to ensure the transmission of the first data packet set. For example, the first data packet set includes at least one original data packet, and the second data packet set includes at least one redundant data packet. If the first data packet set is successfully transmitted, the transmission of the second data packet set is relaxed. Since the original data packet and the redundant data packet belong to different data packet sets, if the first data packet set is successfully transmitted, there is no need to wait for the transmission of the redundant data packet; that is, the transmission of the second data packet set is relaxed, thereby reducing the impact of delayed transmission of the redundant data packet on transmission performance.
[0177] It should be added that in PDU aggregation processing technology based on FEC ratio, data transmission performance is affected, as detailed below:
[0178] First, since the original data packets and redundant data packets both belong to the same data packet set, and the redundant data packets are often later than the original data packets, the above data packet set usually cannot meet the transmission delay requirements, such as the PSDB.
[0179] In this application, since the redundant data packets and the original data packets belong to different data packet sets, for example, the first data packet set includes one or more original data packets and the second data packet set includes one or more redundant data packets, the first data packet set and the second data packet set each have their own transmission delay. Even if the second data packet set is often later than the first data packet set, it does not affect the transmission delay of the first data packet set.
[0180] Second, a set of data packets may include one or more redundant data packets. Although these redundant data packets carry some information, the information they carry is insufficient for the receiving end to determine which redundant data packet is the last redundant data packet in the set. Furthermore, the transmission of redundant data packets often lags behind the original data packets, resulting in longer waiting times at the receiving end and affecting data recovery.
[0181] In this application, since redundant data packets and original data packets belong to different data packet sets—for example, the first data packet set includes one or more original data packets, and the second data packet set includes one or more redundant data packets—the receiving end can recover data based on the first data packet set after successfully receiving it, thus improving data transmission performance. Even if the second data packet set is often received later than the first data packet set, it does not affect the processing of the first data packet set. Conversely, if the first data packet set fails to be received, the receiving end can continue to wait for the second data packet set, thereby utilizing the second data packet set for data recovery.
[0182] It should be understood that in this application, redundant data packets may also be described in other ways, such as repair data packets. This application uses redundant data packets as an example for description. A data packet set may also be described in other ways, such as a PDU set or a data packet group. This application uses a data packet set as an example for description. A first data packet set may also be described in other ways, such as a primary PDU set. This application uses a first data packet set as an example for description. A second data packet set may also be described in other ways, such as a secondary PDU set. This application uses a second data packet set as an example for description.
[0183] It should be understood that the message names or parameter names between devices in the following embodiments of this application are merely examples, and other names may be used in specific implementations. This application does not impose specific limitations on these names. This is a unified explanation here, and will not be repeated later.
[0184] The communication method proposed in this application embodiment will now be described in detail with reference to Figure 4. The communication method 400 proposed in this application embodiment includes the following operations:
[0185] S401, Optionally, the fourth core network device sends the seventh information to the third core network device. Correspondingly, the third core network device receives the seventh information from the fourth core network device.
[0186] The fourth core network device can be an application function network element. Taking a 5G communication system as an example, the fourth core network device is the AF (Application Function) network element.
[0187] The third core network equipment can be a policy control network element. Taking a 5G communication system as an example, the third core network equipment is a PCF network element.
[0188] The seventh piece of information is described as follows:
[0189] The seventh information indicates at least one of the following:
[0190] The first item includes flow description information for a first service data stream and / or flow description information for a second service data stream. The flow description information for the first service data stream indicates the first service data stream, which is used to transmit a first set of data packets. Taking an RTP stream as an example, the first service data stream can be a first RTP stream. The flow description information for the second service data stream indicates the second service data stream, which is used to transmit a second set of data packets. Taking an RTP stream as an example, the second service data stream can be a second RTP stream. In this application, the example where the first set of data packets is the original set of data packets and the second set of data packets is a set of redundant data packets will be used for illustration.
[0191] For example, the flow description information of the first service data flow includes at least one of the following: IP 5-tuple, IP triplet, application identity (APP ID), etc. Optionally, the flow description information of the first service data flow also includes enhanced packet filter combination information, such as RTP-SSRC, RTP-PTs, etc., carried by the first and second bytes of the UDP payload used in multi-flow demultiplexing, to allow the core network to distinguish between the first service data flow and the second service data flow.
[0192] For example, the flow description information of the second service data flow includes at least one of the following: IP 5-tuple, IP triplet, APP ID, etc. Optionally, the flow description information of the second service data flow also includes enhanced packet filter combination information, such as RTP-SSRC, RTP-PTs, etc., carried by the first and second bytes of the UDP payload used in multi-flow demultiplexing, to allow the core network to distinguish between the first service data flow and the second service data flow.
[0193] The second item is the first association information. This first association information indicates that the first service data stream is associated with the second service data stream. Since the first service data stream is used to transmit the first data packet set, and the second service data stream is used to transmit the second data packet set, the association between the first and second service data streams can also be understood as the association between the first data packet set and the second data packet set.
[0194] Optionally, as a first possible implementation, the first association information also implicitly indicates that association processing should be performed on the first data packet set and the second data packet set; or, the first association information also indicates that association processing should be performed on the first data packet set and the second data packet set. In other words, for the core network device, after receiving the first association information, it performs association processing on the first data packet set and the second data packet set based on the first association information.
[0195] It should be added that, in this application, the association processing of the first data packet set and the second data packet set can be understood as: if the first data packet set is successfully transmitted, the transmission of the second data packet set is relaxed, or if the first data packet set fails to be transmitted, the second data packet set is sent.
[0196] In addition, the association processing of the first data packet set and the second data packet set can also be simply referred to as: association processing. The two have the same meaning and can be used interchangeably.
[0197] Optionally, as a second possible implementation, the first association information further indicates that association processing be performed on the first data packet set and the second data packet set. This can be understood as the first association information also explicitly indicating that association processing be performed on the first data packet set and the second data packet set.
[0198] It should be understood that the first association information may also be described in other ways, such as an association indicator. In this application, the first association information is used as an example for description.
[0199] The third item is the first threshold. The first threshold indicates the maximum number of packet losses that the data packet set can tolerate. In this application, a first data packet set is used as an example for explanation; it can also be understood that the first threshold indicates the maximum number of packet losses that the first data packet set can tolerate. For example, the first data packet set includes 100 data packets. The first threshold is 40, meaning the maximum number of packet losses that the first data packet set can tolerate is 40.
[0200] The maximum number of packet losses that the first data packet set can tolerate can be understood as follows: If the first data packet set contains data packets that have failed to be transmitted, and the number of data packets that have failed to be transmitted exceeds the first threshold, then the first data packet set cannot be demodulated or recovered, and the actual content cannot be reconstructed; conversely, even if the first data packet set contains data packets that have failed to be transmitted, but the number of data packets that have failed to be transmitted does not exceed the first threshold, the first data packet set can still be demodulated and recovered, thereby reconstructing the actual content.
[0201] For example, the seventh piece of information is included in the AF request.
[0202] It should be noted that S401 is an optional step. For example, the seventh piece of information mentioned above may be pre-configured on the third core network device side. In this case, S401 is not executed.
[0203] For the third core network device, after receiving the seventh information, it executes S402:
[0204] S402, Optionally, the third core network device determines the first strategy information based on the seventh information.
[0205] The first strategy information includes at least one of the following:
[0206] The first item includes an SDF template for a first service data stream and / or an SDF template for a second service data stream. The SDF template for the first service data stream indicates the first service data stream, and the SDF template for the second service data stream indicates the second service data stream. In this application, the SDF template can be used for service data stream detection; for details, please refer to the introduction of flow description information in S401, which will not be repeated here.
[0207] The second item is the first indication information. This first indication information indicates the marking of the second set of data packets. This can be understood as indicating that the first indication information indicates the marking of data packets carrying RTP2-SSRC and / or RTP2-PT.
[0208] It should be understood that the first indication information may also have other descriptions, such as associated marker indication, or associated marker, etc.
[0209] The third item is the second instruction information. This second instruction information indicates the processing rules. Alternatively, it indicates that the first data packet set and the second data packet set should be associated. Or, it indicates that if the first data packet set is successfully transmitted, the transmission of the second data packet set should be relaxed; or, it indicates that if the first data packet set fails to be transmitted, the second data packet set should be sent.
[0210] It should be understood that the second instruction information may also have other descriptions, such as associated processing instructions or processing rules.
[0211] The fourth item is the first threshold. The first threshold indicates the maximum number of packet losses that the data packet set can tolerate. Please refer to the description in S401, which will not be repeated here.
[0212] For example, the first policy information is included in the policy and charging control (PCC) rule.
[0213] It should be noted that S402 is an optional step. For example, the first policy information is pre-configured on the third core network device side. In this case, S402 is not executed.
[0214] For the third core network device, after determining the first policy information, it executes S403:
[0215] S403, Optionally, the third core network device sends first policy information to the first core network device. Correspondingly, the first core network device receives the first policy information from the third core network device.
[0216] The information regarding the first strategy can be found in the description of S402, and will not be repeated here.
[0217] The first core network device can be a session management function (SMF) network element. Taking a 5G communication system as an example, the first core network device is an SMF network element.
[0218] For example, in the session management (SM) measurement establishment / modification process, the third core network device sends the first policy information to the first core network device.
[0219] It should be noted that S403 is an optional step. For example, the first policy information is pre-configured on the first core network device side. In this case, S403 is not executed.
[0220] For the first core network device, after receiving the first policy information, the first core network device may optionally perform at least one of the following based on the first policy information and / or local configuration:
[0221] S404a, Optionally, the first core network device sends third information to the access network device. Correspondingly, the access network device receives the third information from the first core network device.
[0222] The third information indicates that the first data packet set and the second data packet set are associated.
[0223] In other words, the third information indicates that if the first set of data packets is successfully transmitted, the transmission of the second set of data packets should be relaxed, and / or, if the first set of data packets fails to be transmitted, the second set of data packets should be sent.
[0224] It should be understood that the third information can be interpreted as an instruction for associated processing. In this application, the third information is used as an example for explanation.
[0225] S404b, Optionally, the first core network device sends a first threshold value to the access network device. Correspondingly, the access network device receives the first threshold value from the first core network device.
[0226] The first threshold is used by the access network device to determine whether to send the second set of data packets. For details, please refer to the description of S411b, which will not be repeated here.
[0227] It should be noted that S404a and S404b are optional steps. For example, the third information and the first threshold are pre-configured on the access network device side. In this case, S404a and S404b are not executed.
[0228] S404c, Optionally, the first core network device sends fourth information to the access network device. Correspondingly, the access network device receives the fourth information from the first core network device.
[0229] The fourth piece of information indicates that the first QoS stream and the second QoS stream are associated. The first QoS stream is used to transmit the first set of data packets, and the second QoS stream is used to transmit the second set of data packets.
[0230] For example, the first QoS stream is designated QFI#1, and the second QoS stream is designated QFI#2. The fourth information indicates that QFI#2 is associated with QFI#1.
[0231] It should be noted that S404c is an optional step. For example, if the first packet set and the second packet set belong to the same QoS flow, S404c is not executed. Conversely, if the first packet set and the second packet set belong to different QoS flows, S404c is executed.
[0232] It should be noted that in this application, the execution times of S404a, S404b and S404c may be the same or different.
[0233] It should be noted that in this application, the third information, the fourth information, and the first threshold can be included in the same message or in different messages. For example, the third information, the fourth information, and the first threshold can all be included in an N2 session management (SM) message. An N2 SM message can also be described as an N2 session message.
[0234] For the first core network device, after receiving the first policy information, the first core network device may optionally perform at least one of the following based on the first policy information and / or local configuration:
[0235] S405a, Optionally, the first core network device sends the fifth information to the second core network device. Correspondingly, the second core network device receives the fifth information from the first core network device.
[0236] The second core network equipment can be a user plane management function network element. Taking a 5G communication system as an example, the second core network equipment is a UPF network element.
[0237] The fifth information indicates that the second data packet set is marked. Marking the second data packet set means adding the first information to the data packets in the second data packet set. Taking the first data packet as an example, it can be understood as adding the first information to the first data packet, where the first data packet is any data packet in the second data packet set. In other words, the fifth information can also be understood as indicating that the fifth information indicates that the first information is added to the first data packet. The first information is used to determine the association between the first data packet set and the second data packet set, which can be found in the description of S407, and will not be elaborated here.
[0238] It should be understood that the fifth piece of information may also have other descriptions, such as a marking indication, that is, an indication to mark the second set of data packets.
[0239] S405b, Optionally, the first core network device sends the sixth information to the second core network device. Correspondingly, the second core network device receives the sixth information from the first core network device.
[0240] The sixth piece of information indicates that the first QoS stream and the second QoS stream are associated. The first QoS stream is used to transmit the first set of data packets, and the second QoS stream is used to transmit the second set of data packets.
[0241] It should be noted that S405b is an optional step. For example, if the first packet set and the second packet set belong to the same QoS flow, S405b is not executed. Conversely, if the first packet set and the second packet set belong to different QoS flows, S405b is executed.
[0242] S405c, Optionally, the first core network device sends flow description information to the second core network device. Correspondingly, the second core network device receives the flow description information from the first core network device.
[0243] The flow description information includes the flow description information of the first service data flow and / or the flow description information of the second service data flow, as detailed in S401, and will not be repeated here.
[0244] It should be noted that in this application, the execution times of S405a, S405b and S405c may be the same or different.
[0245] It should be noted that, in this application, the fifth information, the sixth information, and the flow description information can be included in the same message or in different messages. For example, the fifth information, the sixth information, and the flow description information can all be included in the N4 session establishment / modification request message.
[0246] For the second core network device, when a downlink data packet arrives at the second core network device, executes S406 and S407:
[0247] S406, the second core network device determines the first data packet set and the second data packet set.
[0248] The first data packet set is associated with the second data packet set, as can be seen in the preceding paragraphs, and will not be repeated here.
[0249] Optionally, for QoS flow granularity, when S405b is executed, S406 includes: the second core network device determining a first set of data packets in the first QoS flow, and determining a second set of data packets in the second QoS flow according to the association between the first QoS flow and the second QoS flow, thereby enabling the second core network device to determine the set of data packets according to the association between QoS flows.
[0250] It should be understood that if S405b is not executed, or if the first data packet set and the second data packet set belong to the same QoS flow, the second core network device determines the first data packet set and the second data packet set within the same QoS flow.
[0251] It should be understood that in this application, a QoS flow includes one or more service data flows, and different service data flows can be determined by flow description information.
[0252] Optionally, for the service data flow granularity, when S405c is executed, S406 includes: the second core network device determining the first service data flow based on the flow description information of the first service data flow, and determining the first data packet set in the first service data flow; and the second core network device determining the second service data flow based on the flow description information of the second service data flow, and determining the second data packet set in the second service data flow.
[0253] Optionally, for the first data packet set, the second core network device also records a first correspondence. This first correspondence indicates the correspondence between the RTP sequence number of a data packet in the first data packet set and the sequence number of the first data packet set, as well as the correspondence between the RTP sequence number of a data packet in the first data packet set and the sequence number of a data packet within the first data packet set. In other words, the first correspondence indicates the correspondence between the RTP sequence number of the original data packet and the sequence number of the first data packet set, as well as the correspondence between the RTP sequence number of the original data packet and the sequence number of a data packet within the first data packet set. The first correspondence is used by the second core network device to determine the associated data packet set, thereby facilitating the labeling of the data packet set.
[0254] For example, the second core network device receives 120 data packets. The RTP sequence numbers of these 120 data packets are 1 to 120. Among these 120 data packets, the data packets with RTP sequence numbers 21-120 belong to the first data packet set, and the sequence number of the first data packet set is 1.
[0255] For example, for a data packet with RTP sequence number 21, this data packet belongs to the first data packet set. That is, the sequence number of the data packet set corresponding to this data packet is 1. This data packet belongs to the first data packet in the first data packet set. In other words, in the first data packet set, the data packet sequence number of this data packet is 1.
[0256] For example, for a data packet with RTP sequence number 22, this data packet belongs to the first data packet set, that is, the sequence number of the data packet set corresponding to this data packet is 1. This data packet belongs to the second data packet in the first data packet set, that is, the data packet sequence number of this data packet in the first data packet set is 2.
[0257] For example, for a data packet with RTP sequence number 23, this data packet belongs to the first data packet set, that is, the sequence number of the data packet set corresponding to this data packet is 1. This data packet belongs to the third data packet in the first data packet set, that is, the data packet sequence number of this data packet in the first data packet set is 3.
[0258] The same applies to data packets with other RTP sequence numbers, and will not be described further.
[0259] Optionally, at the data packet set granularity, the second core network device determines the sequence number of the first data packet set based on the FEC header of the data packets in the second data packet set, and determines the first data packet set based on the sequence number of the first data packet set. For example, the second core network device determines the RTP sequence number of the original data packet based on the FEC header of the first data packet in the second data packet set, and determines the sequence number of the first data packet set based on the RTP sequence number of the original data packet and a first correspondence. The first correspondence can be found in the preceding paragraphs and will not be repeated here.
[0260] Optionally, from the perspective of packet granularity, the first packet set includes the second packet, and the second packet set includes the third packet. The second core network device determines the sequence number of the second packet based on the FEC header of the third packet, and then determines the second packet based on the sequence number. For example, the second core network device determines the RTP sequence number of the original packet based on the FEC header of the third packet, and then determines the sequence number of the second packet based on the RTP sequence number of the original packet and the first correspondence. The first correspondence can be found in the preceding paragraphs and will not be repeated here.
[0261] S407. The second core network device marks the second data packet set according to the association relationship between the first data packet set and the second data packet set.
[0262] The aforementioned association relationships are used for the association processing of data packet sets.
[0263] For example, taking the first data packet set and the second data packet set as examples, the above association relationship is used to relax the transmission of the second data packet set when the first data packet set is successfully transmitted, and / or the above association relationship is used to send the second data packet set when the first data packet set fails to be transmitted. For details, please refer to the description of S411a or S411b, which will not be repeated here.
[0264] Specifically, the second set of labeled data packets includes the first data packet. The first data packet can be any data packet within the second set. The first data packet includes first information used to determine the association between the first and second data packet sets. For example, the first information, including the sequence number of the first data packet set, is added to the GTP-U header of the first data packet. In other words, the data packets in the second set carry the sequence number of the first data packet set, thereby achieving labeling at the data packet set level.
[0265] Optionally, for the marked second data packet set, the second data packet set includes a third data packet. The third data packet includes first information and second information. The first information is used to determine the association between the first data packet set and the second data packet set (see the preceding paragraph for details). The second information is used to determine the association between the second data packet and the third data packet. For example, the first and second information are added to the GTP-U header of the third data packet. The second information includes the sequence number of the second data packet. That is, the data packets in the second data packet set not only carry the sequence number of the first data packet set, achieving data packet set-level marking, but also carry the sequence numbers of the data packets in the first data packet set, thereby achieving data packet-level marking.
[0266] Optionally, when S405a is executed, S407 includes: in response to the fifth information, the second core network device marks the second data packet set according to the association between the first data packet set and the second data packet set, for example, by adding the first information to the data packets in the second data packet set, and optionally, by adding the second information to the data packets in the second data packet set.
[0267] For the second core network device, after determining the first data packet set and the second data packet set, it executes S408a and S408b:
[0268] S408a: The second core network device sends a first set of data packets to the access network device. Correspondingly, the access network device receives the first set of data packets from the second core network device.
[0269] S408b: The second core network device sends a second set of data packets to the access network device. Correspondingly, the access network device receives the second set of data packets from the second core network device.
[0270] In S408b, the second set of data packets is the set of tagged data packets.
[0271] It should be understood that the second core network device can execute S408a first, and then execute S408b.
[0272] For the access network device, after receiving the first data packet set and the second data packet set, it executes S409:
[0273] S409. The access network device determines the first data packet set and the second data packet set.
[0274] The first data packet set is associated with the second data packet set, as can be seen in the preceding paragraphs, and will not be repeated here.
[0275] Optionally, when S404c is executed, S409 includes: the access network device determining a first set of data packets in the first QoS flow, and determining a second set of data packets in the second QoS flow according to the association between the first QoS flow and the second QoS flow, thereby enabling the access network device to determine the set of data packets according to the association between the QoS flows.
[0276] S410, Optionally, the access network device sends the first data packet set and records the transmission status of the first data packet set.
[0277] The transmission status of the first data packet set includes: the first data packet set was successfully transmitted or failed to be transmitted.
[0278] For example, the access network device sends a first set of data packets to the terminal device. Correspondingly, the terminal device receives the first set of data packets from the access network device.
[0279] For access network devices, after determining the transmission status of the first data packet set, they execute S411a or S411b:
[0280] S411a. If the access network device successfully transmits the first data packet set, it will relax the transmission of the second data packet set.
[0281] Optionally, from the perspective of data packet set granularity, for the second data packet set, the access network device determines the first data packet set based on the first information carried by the data packets in the second data packet set. If the first data packet set is successfully transmitted, the transmission of the second data packet set is relaxed.
[0282] Optionally, from the perspective of data packet granularity, for the third data packet in the second data packet set, the access network device determines the second data packet in the first data packet set based on the first and second information carried by the third data packet. If the second data packet is successfully transmitted, the transmission of the third data packet is relaxed.
[0283] Optionally, when S404a is executed, S411a includes: in response to the third information, if the first data packet set is successfully transmitted, the access network device relaxes the transmission of the second data packet set.
[0284] S411b: If the first data packet set fails to transmit, the access network device sends a second data packet set. For example, the access network device sends the second data packet set to the terminal device. Accordingly, the terminal device receives the second data packet set from the access network device.
[0285] Optionally, from the perspective of data packet set granularity, for the second data packet set, the access network device determines the first data packet set based on the first information carried by the data packets in the second data packet set. If the transmission of the first data packet set fails, the second data packet set is sent.
[0286] In other words, if the transmission of the first data packet set fails, a second data packet set is sent so that the terminal device can recover the first data packet set based on the second data packet set, thereby achieving protection of the first data packet set based on the second data packet set.
[0287] Optionally, from the perspective of data packet granularity, for the third data packet in the second data packet set, the access network device determines the second data packet in the first data packet set based on the first and second information carried by the third data packet. If the transmission of the second data packet fails, the third data packet is sent.
[0288] In other words, if the second data packet fails to be transmitted, a third data packet is sent so that the terminal device can recover the second data packet based on the third data packet, thereby achieving protection of the second data packet based on the third data packet.
[0289] Optionally, if S404a is executed, S411b includes: in response to the third information, if the first data packet set fails to be transmitted, the access network device sends a second data packet set.
[0290] Optionally, when S404b is executed, S411b includes: if the access network device sends a second set of data packets when the first value is less than or equal to a first threshold. Here, the first value is the number of data packets in the first set that failed to transmit.
[0291] Conversely, if the first value is greater than the first threshold, the access network device discards the first set of data packets and the second set of data packets.
[0292] For example, the first data packet set includes 100 data packets. The first threshold is 40, meaning the maximum number of packet losses the first data packet set can tolerate is 40. If the first data packet set contains data packets that have failed to transmit, and the number of failed data packets exceeds the first threshold, the first data packet set cannot be demodulated or recovered, and the actual content cannot be reconstructed. In this case, the first data packet set and the second data packet set can be discarded, thereby saving the device's storage resources. Conversely, even if the first data packet set contains data packets that have failed to transmit, but the number of failed data packets does not exceed the first threshold, the access network device sends the second data packet set, which helps in the demodulation and recovery of the first data packet set, thereby reconstructing the actual content. For example, the access network device sends the second data packet set to the terminal device so that the terminal device can reconstruct the actual content corresponding to the first data packet set based on the second data packet set.
[0293] In other words, the second core network device can identify and mark the relationships between data packet sets, enabling the access network device to perform enhanced processing based on the relationships between data packet sets. For example, if the first data packet set is successfully transmitted, the transmission of the second data packet set can be relaxed.
[0294] It should be understood that this application uses RTP as an example for description, such as the aforementioned RTP stream or RTP sequence number. With the evolution of communication technologies, RTP can be replaced by other protocols, and correspondingly, the RTP stream can be replaced by other protocol streams, and the RTP sequence number can be replaced by the sequence number of other protocols.
[0295] Next, referring to Figures 5, 6, or 7, the specific implementation of the communication method shown in Figure 4 will be described in detail. In Figure 5, the first and second data packet sets belong to the same QoS flow, and the marking and association processing is at the data packet set granularity. In Figure 6, the first and second data packet sets belong to the same QoS flow, and the marking and association processing is at the data packet granularity. In Figure 7, the first and second data packet sets belong to different QoS flows.
[0296] The following section, using the example shown in Figure 5, details the specific implementation of the communication method shown in Figure 4.
[0297] Figure 5 is a schematic flowchart of the communication method provided in an embodiment of this application. In Figure 4, the access network device can be the RAN device shown in Figure 5; the first core network device in Figure 4 can be the SMF network element shown in Figure 5; the second core network device in Figure 4 can be the UPF network element shown in Figure 5; the third core network device in Figure 4 can be the PCF network element shown in Figure 5; and the fourth core network device in Figure 4 can be the AF network element shown in Figure 5.
[0298] Specifically, as shown in Figure 5, the communication method of this application embodiment includes the following steps:
[0299] S501, Optionally, the AF network element sends an AF request to the PCF network element. Correspondingly, the PCF network element receives the AF request from the AF network element.
[0300] The AF request includes flow description information (such as SDF) and QoS requirement parameters.
[0301] Optionally, the AF request may also include first association information, which can be found in the description of S401 and will not be repeated here.
[0302] Optionally, the AF request also includes a first threshold, which can be found in the description of S401 and will not be repeated here.
[0303] S502, Optionally, the PCF network element generates PCC rules based on the AF request.
[0304] Optionally, the PCF network element generates PCC rules based on AF requests and / or local configuration.
[0305] The PCC rules include first policy information, which can be found in the description of S402 and will not be repeated here.
[0306] S503, Optionally, when the terminal device initiates a PDU session establishment process, the terminal device sends a PDU session establishment request to the SMF network element through the AMF network element. Correspondingly, the SMF network element receives the PDU session establishment request from the terminal device through the AMF network element.
[0307] The PDU session establishment request is used to request the establishment of a PDU session.
[0308] It should be understood that the aforementioned PDU session establishment request can also be replaced with a PDU session modification request. For example, when a terminal device initiates a PDU session modification process, the terminal device sends a PDU session modification request to the SMF network element through the AMF network element. Correspondingly, the SMF network element receives the PDU session modification request from the terminal device through the AMF network element. The PDU session modification request is used to request modification of the PDU session; relevant technologies can be consulted, and will not be elaborated further.
[0309] S504. Optionally, the PCF network element sends PCC rules to the SMF network element. Correspondingly, the SMF network element receives the PCC rules from the PCF network element.
[0310] For example, when the terminal device initiates the PDU session establishment process (i.e., executes S503), the SMF network element initiates the session management policy association establishment process (SM Policy Association procedure) to obtain PCC rules from the PCF network element through the SM Policy Association procedure.
[0311] For example, when a terminal device initiates a PDU session modification process, the SMF network element initiates a session management policy association modification process, and obtains PCC rules from the PCF network element through the session management policy association modification process.
[0312] For example, if the terminal device does not initiate the PDU session establishment and modification process, the PCF network element initiates the session management policy association modification process and sends the PCC rule to the SMF network element through the session management policy association modification process.
[0313] For SMF network elements, after obtaining the PCC rules, S505 is executed:
[0314] S505, Optionally, the SMF network element determines the N2 session message based on PCC rules and / or local configuration.
[0315] The N2 session message includes at least one of the following: third information or a first threshold. The third information and the first threshold are described in the introduction to communication method 400 and will not be repeated here.
[0316] For example, an N2 session message can be denoted as an N2 SM message.
[0317] S506. Optionally, the SMF network element determines the N4 session message based on PCC rules and / or local configuration.
[0318] The N4 session message includes at least one of the following: a fifth message or a flow description message. The fifth message and the flow description message can be found in the description of communication method 400, and will not be repeated here.
[0319] Optionally, the N4 session message may also include service flow information such as protocol description, thereby completing the PDU session modification process.
[0320] For example, N4 session messages include N4 session modification request messages and / or N4 session establishment request messages.
[0321] For terminal equipment, AMF network elements, SMF network elements, and UPF network elements, S507 is also executed:
[0322] S507, Optionally, when executing the PDU session establishment procedure, the terminal device, AMF network element, SMF network element and UPF network element execute the remaining steps for PDU session establishment procedure.
[0323] The PDU Session Establishment process can be found in the relevant 3GPP technical specifications and will not be elaborated further.
[0324] It should be understood that when executing the PDU session modification procedure, the terminal device, AMF network element, SMF network element and UPF network element execute the remaining steps for PDU session modification.
[0325] The PDU Session Modification process can be found in the relevant 3GPP technical specifications and will not be elaborated further.
[0326] Next, taking the transmission of the first data packet set and the second data packet set as an example, we will introduce the transmission process:
[0327] S508. When a downlink data packet arrives at the UPF network element, the UPF network element determines the first set of data packets.
[0328] S509 and UPF network elements determine the second data packet set and mark the second data packet set.
[0329] For example, the UPF performs at least one of the following operations:
[0330] The first item records the first correspondence, wherein the first correspondence indicates the correspondence between the RTP sequence number and the sequence number of the first data packet set, and indicates the correspondence between the RTP sequence number and the data packet sequence number in the first data packet set.
[0331] The second step is to determine the second set of data packets based on the SSRC or PT carried by the downlink data packets.
[0332] The third step is to determine the sequence number of the first data packet set based on the FEC header of the data packets in the second data packet set.
[0333] The fourth item is to mark the second data packet set. For example, add first information to the first data packet of the second data packet set, such as adding first information to the header of the first data packet. The first information includes the sequence number of the first data packet set.
[0334] The S510 and UPF network elements send downlink data packets to the RAN device. Correspondingly, the RAN device receives downlink data packets from the UPF network elements. These downlink data packets include data packets from a first data packet set and data packets from a second data packet set.
[0335] The S511 and RAN devices process downlink data packets.
[0336] For example, the RAN device performs at least one of the following operations on a downlink data packet:
[0337] The first item is that, for the first data packet set, the RAN device ensures the transmission of the first data packet set and records the transmission status of the first data packet set.
[0338] The second point concerns the second data packet set. Based on the first information carried by the data packets in the second data packet set, the RAN device determines that its associated data packet set is the first data packet set. Then, based on the transmission status of the first data packet set, it performs transmission processing for the second data packet set. See the descriptions in the third and fourth points below for further details.
[0339] Thirdly, if the first set of data packets is successfully transmitted, the RAN device will either relax or stop the transmission of the second set of data packets.
[0340] Fourthly, if the first set of data packets fails to be transmitted, the RAN device sends a second set of data packets.
[0341] Fifthly, if the first data packet set fails to be transmitted and the number of failed data packets exceeds the first threshold, the RAN device discards the first data packet set and the second data packet set.
[0342] The following section, using the example shown in Figure 6, details the specific implementation of the communication method shown in Figure 4.
[0343] Figure 6 is a schematic flowchart of the communication method provided in an embodiment of this application. In Figure 4, the access network device can be the RAN device shown in Figure 6; the first core network device in Figure 4 can be the SMF network element shown in Figure 6; the second core network device in Figure 4 can be the UPF network element shown in Figure 6; the third core network device in Figure 4 can be the PCF network element shown in Figure 6; and the fourth core network device in Figure 4 can be the AF network element shown in Figure 6.
[0344] Specifically, as shown in Figure 6, the communication method of this application embodiment includes the following steps:
[0345] S601, Optionally, the AF network element sends an AF request to the PCF network element. Correspondingly, the PCF network element receives the AF request from the AF network element.
[0346] S602, Optionally, the PCF network element generates PCC rules based on the AF request.
[0347] S603, Optionally, when the terminal device initiates a PDU session establishment process, the terminal device sends a PDU session establishment request to the SMF network element through the AMF network element. Correspondingly, the SMF network element receives the PDU session establishment request from the terminal device through the AMF network element.
[0348] S604. Optionally, the PCF network element sends PCC rules to the SMF network element. Correspondingly, the SMF network element receives the PCC rules from the PCF network element.
[0349] S605, Optionally, the SMF network element determines the N2 session message based on PCC rules and / or local configuration.
[0350] S606. Optionally, the SMF network element determines the N4 session message based on PCC rules and / or local configuration.
[0351] S607. Optionally, when executing the PDU session establishment procedure, the terminal device, AMF network element, SMF network element and UPF network element execute the remaining PDU session establishment procedure.
[0352] S608. When a downlink data packet arrives at the UPF network element, the UPF network element determines the first data packet set.
[0353] The implementation process of S601-S608 can be found in the introduction of S501-S508, and will not be repeated here.
[0354] S609 and UPF network elements determine the second data packet set and mark the second data packet set.
[0355] For example, the UPF performs at least one of the following operations:
[0356] The first item records the first correspondence.
[0357] The second step is to determine the second set of data packets based on the SSRC or PT carried by the downlink data packets.
[0358] The third step is to determine the sequence number of the first data packet set based on the FEC header of the data packets in the second data packet set.
[0359] The fourth item is to mark the second data packet set. For example, adding first and second information to the third data packet of the second data packet set, such as adding first and second information to the header of the third data packet. The first information includes the sequence number of the first data packet set, and the second information includes the sequence number of the data packets in the first data packet set.
[0360] The S610 and UPF network elements send downlink data packets to the RAN device. Correspondingly, the RAN device receives downlink data packets from the UPF network elements. These downlink data packets include data packets from a first data packet set and data packets from a second data packet set.
[0361] The S611 and RAN devices process downlink data packets.
[0362] For example, the RAN device performs at least one of the following operations on a downlink data packet:
[0363] The first item is that, for the first data packet set, the RAN device ensures the transmission of the first data packet set and records the transmission status of the first data packet set.
[0364] The second point concerns the second data packet set. Taking the third data packet within the second data packet set as an example, the RAN device determines that the associated data packet is the second data packet in the first data packet set based on the first and second information carried by the third data packet. Then, based on the transmission status of the second data packet, it performs the transmission processing for the third data packet. See the descriptions in the third and fourth points below for further details.
[0365] Thirdly, if the second data packet is successfully transmitted, the RAN device will either relax or stop the transmission of the third data packet.
[0366] Fourthly, if the second data packet transmission fails, the RAN device sends a third data packet.
[0367] Fifthly, if the first data packet set fails to be transmitted and the number of failed data packets exceeds the first threshold, the RAN device discards the first data packet set and the second data packet set.
[0368] The following section, using the example shown in Figure 7, details the specific implementation of the communication method shown in Figure 4.
[0369] Figure 7 is a schematic flowchart of the communication method provided in an embodiment of this application. In Figure 4, the access network device can be the RAN device shown in Figure 7; the first core network device in Figure 4 can be the SMF network element shown in Figure 7; the second core network device in Figure 4 can be the UPF network element shown in Figure 7; the third core network device in Figure 4 can be the PCF network element shown in Figure 7; and the fourth core network device in Figure 4 can be the AF network element shown in Figure 7.
[0370] Specifically, as shown in Figure 7, the communication method of this application embodiment includes the following steps:
[0371] S701, Optionally, the AF network element sends an AF request to the PCF network element. Correspondingly, the PCF network element receives the AF request from the AF network element.
[0372] S702, Optionally, the PCF network element generates PCC rules based on the AF request.
[0373] S703, Optionally, when the terminal device initiates a PDU session establishment process, the terminal device sends a PDU session establishment request to the SMF network element through the AMF network element. Correspondingly, the SMF network element receives the PDU session establishment request from the terminal device through the AMF network element.
[0374] S704. Optionally, the PCF network element sends PCC rules to the SMF network element. Correspondingly, the SMF network element receives the PCC rules from the PCF network element.
[0375] The implementation process of S701-S704 can be found in the introduction of S501-S504, and will not be repeated here.
[0376] For SMF network elements, after obtaining the PCC rules, S705 and S706 are executed:
[0377] S705, Optionally, the SMF network element determines the associated QFI based on PCC rules and / or local configuration.
[0378] For example, the SMF network element determines the association between a first QoS flow and a second QoS flow based on PCC rules and / or local configuration. The first QoS flow is used to transmit a first set of data packets, and the second QoS flow is used to transmit a second set of data packets.
[0379] For example, the first QoS flow containing the first set of data packets is denoted as QFI#1. The second QoS flow containing the second set of data packets is denoted as QFI#2. The SMF network element associates QFI#2 with QFI#1, thereby associating QFIs.
[0380] S706. Optionally, the SMF network element determines the N2 session message based on PCC rules and / or local configuration.
[0381] The N2 session message includes at least one of the following: a third message, a fourth message, or a first threshold. The third message, the fourth message, and the first threshold are described in the introduction to communication method 400 and will not be repeated here.
[0382] For example, an N2 session message can be denoted as an N2 SM message.
[0383] S707, Optionally, the SMF network element determines the N4 session message based on PCC rules and / or local configuration.
[0384] The N4 session message includes at least one of the following: fifth information, sixth information, or flow description information. The fifth information, sixth information, and flow description information can be found in the description of communication method 400, and will not be repeated here.
[0385] Optionally, the N4 session message may also include service flow information such as protocol description, thereby completing the PDU session modification process.
[0386] For example, N4 session messages include N4 session modification request messages and / or N4 session establishment request messages.
[0387] For terminal equipment, AMF network elements, SMF network elements, and UPF network elements, S708 is also executed:
[0388] S708, Optionally, when executing the PDU session establishment procedure, the terminal device, AMF network element, SMF network element and UPF network element execute the remaining PDU session establishment procedure.
[0389] The implementation process of S708 can be found in the introduction of S507, and will not be repeated here.
[0390] Next, taking the transmission of the first data packet set and the second data packet set as an example, we will introduce the transmission process:
[0391] S709. When a downlink data packet arrives at the UPF network element, the UPF network element determines the first set of data packets.
[0392] The S710 and UPF network elements determine the second data packet set and mark the second data packet set.
[0393] The implementation process of S710 can be found in the introduction of S509, and will not be repeated here.
[0394] Alternatively, the implementation process of S710 can be found in the introduction of S609, which will not be repeated here.
[0395] S711, the UPF network element sends downlink data packets to the RAN device. Correspondingly, the RAN device receives downlink data packets from the UPF network element. These downlink data packets include data packets from a first data packet set and data packets from a second data packet set.
[0396] S712 and RAN devices process downlink data packets.
[0397] The implementation process of S712 can be found in the introduction of S511, and will not be repeated here.
[0398] Alternatively, the implementation process of S712 can be found in the introduction of S611, and will not be repeated here.
[0399] It is understood that the methods and / or steps implemented by the access network device in the above embodiments can also be implemented by components of the access network device (e.g., processor, chip, chip system, circuit, logic module, or software). Alternatively, the methods and / or steps implemented by the core network device (such as any one of the first to fourth core network devices described above) can also be implemented by components of the core network device (e.g., processor, chip, chip system, circuit, logic module, or software). The chip system can be composed of chips, or it can include chips and other discrete devices.
[0400] It is understood that, in order to achieve the aforementioned functions, the communication device includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, based on the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0401] This application embodiment can divide the communication device into functional modules according to the above method embodiment. For example, each function can be divided into a separate functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.
[0402] Figure 8 shows a schematic diagram of a communication device 800. The communication device 800 includes a processing module 801 and a transceiver module 802. The communication device 800 can be used to implement the functions of the aforementioned access network equipment or core network equipment (such as any one of the first to fourth core network equipment).
[0403] In some embodiments, the communication device 800 may further include a storage module (not shown in FIG8) for storing program instructions and data.
[0404] In some embodiments, the transceiver module 802, also referred to as a transceiver unit, is used to implement sending and / or receiving functions. The transceiver module 802 may consist of a transceiver circuit, a transceiver, a transceiver unit, or a communication interface.
[0405] In some embodiments, the transceiver module 802 may include a receiving module and a sending module, respectively configured to perform the receiving and sending steps performed by the access network device in the above method embodiments, and / or other processes to support the technology described herein; the processing module 801 may be configured to perform the processing steps (e.g., determination) performed by the access network device in the above method embodiments, and / or other processes to support the technology described herein.
[0406] In one possible design, taking the communication device 800 as an example, which is the access network device in the above method embodiment:
[0407] Processing module 801 is used to determine a first data packet set and a second data packet set, wherein the first data packet set is associated with the second data packet set.
[0408] The transceiver module 802 is used to release the transmission of the second data packet set if the first data packet set is successfully transmitted.
[0409] In some embodiments, the transceiver module 802 may include a receiving module and a sending module, respectively configured to perform the receiving and sending steps performed by the core network device in the above method embodiments, and / or other processes to support the technology described herein; the processing module 801 may be configured to perform the processing steps (e.g., determination) performed by the core network device in the above method embodiments, and / or other processes to support the technology described herein.
[0410] In one possible design, taking the communication device 800 as the second core network device in the above method embodiment as an example:
[0411] Processing module 801 is used to determine a first data packet set and a second data packet set, wherein the first data packet set is associated with the second data packet set.
[0412] The processing module 801 is further configured to mark the second data packet set according to the association relationship between the first data packet set and the second data packet set. The association relationship is used to relax the transmission of the second data packet set if the first data packet set is successfully transmitted.
[0413] All relevant content of each step involved in the above method embodiments can be referenced from the functional description of the corresponding functional module, and will not be repeated here.
[0414] Optionally, in this application, the transceiver module receiving / sending information can also be understood as the processing module receiving / sending information through the transceiver module. The processing module receiving / sending information through the transceiver module can also be understood as the processing module controlling the transceiver module to receive / send information. Alternatively, the processing module sending information through the transceiver module can be understood as the processing module outputting information to the transceiver module, which then sends that information; the processing module receiving information through the transceiver module can be understood as the transceiver module receiving information and inputting that information into the processing module.
[0415] In this application, the communication device 800 can be presented in an integrated manner by dividing it into various functional modules. Here, "module" can refer to an application-specific integrated circuit (ASIC), a circuit, a processor and memory that executes one or more software or firmware programs, integrated logic circuits, and / or other devices that can provide the above functions.
[0416] In some embodiments, when the communication device 800 in FIG8 is a chip or chip system, the function / implementation process of the transceiver module 802 can be implemented through the input / output interface (or communication interface) of the chip or chip system, and the function / implementation process of the processing module 801 can be implemented through the processor (or processing circuit) of the chip or chip system.
[0417] Since the communication device 800 provided in this embodiment can execute the above method, the technical effects it can achieve can be referred to the above method embodiment, and will not be repeated here.
[0418] As a possible product form, the access network device or core network device described in the embodiments of this application (such as any one of the first to fourth core network devices mentioned above) can also be implemented using the following: one or more field programmable gate arrays (FPGAs), programmable logic devices (PLDs), controllers, state machines, gate logic, discrete hardware components, any other suitable circuits, or any combination of circuits capable of performing the various functions described throughout this application.
[0419] As another possible product form, the access network device or core network device described in this application embodiment (such as any one of the first to fourth core network devices mentioned above) can be implemented using a general bus architecture. For ease of explanation, refer to FIG9, which is a schematic diagram of the structure of a communication device 900 provided in an embodiment of this application. The communication device 900 includes a processor 901 and a transceiver 902. The communication device 900 can be an access network device or a core network device (such as any one of the first to fourth core network devices mentioned above), or a chip or module thereof. FIG9 only shows the main components of the communication device 900. In addition to the processor 901 and transceiver 902, the communication device 900 may further include a memory 903 and input / output devices (not shown in the figure).
[0420] Optionally, the processor 901 is mainly used to process communication protocols and communication data, control the entire communication device, execute software programs, and process the data of the software programs. The memory 903 is mainly used to store software programs and data. The transceiver 902 may include radio frequency (RF) circuitry and an antenna. The RF circuitry is mainly used for converting baseband signals to RF signals and processing RF signals. The antenna is mainly used for transmitting and receiving RF signals in the form of electromagnetic waves. Input / output devices, such as touchscreens, displays, and keyboards, are mainly used to receive user input data and output data to the user.
[0421] Optionally, the processor 901, transceiver 902, and memory 903 can be connected via a communication bus.
[0422] It should be noted that the memory 903 can exist independently of the processor 901, or it can be integrated with the processor 901. The memory 903 can be located inside or outside the communication device 900, without restriction.
[0423] When the communication device is powered on, the processor 901 can read the software program in the memory 903, 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 901 performs baseband processing on the data to be transmitted and outputs the baseband signal to the radio frequency (RF) circuit. The RF circuit processes the baseband signal and transmits the RF signal outward in the form of electromagnetic waves through the antenna. When data is sent to the communication device, the RF circuit receives the RF signal through the antenna, converts the RF signal into a baseband signal, and outputs the baseband signal to the processor 901. The processor 901 converts the baseband signal into data and processes the data.
[0424] In another implementation, the radio frequency circuitry and antenna can be set up independently of the processor performing baseband processing. For example, in a distributed scenario, the radio frequency circuitry and antenna can be arranged remotely, independent of the communication device.
[0425] In some embodiments, those skilled in the art will recognize that the above-described communication device 800 can be implemented in the form of the communication device 900 shown in FIG9.
[0426] As an example, the function / implementation process of the processing module 801 in Figure 8 can be implemented by the processor 901 in the communication device 900 shown in Figure 9 calling computer execution instructions stored in the memory 903. The function / implementation process of the transceiver module 802 in Figure 8 can be implemented by the transceiver 902 in the communication device 900 shown in Figure 9.
[0427] As another possible product form, the access network equipment or core network equipment in this application (such as any one of the first to fourth core network equipment mentioned above) can adopt the composition structure shown in FIG10, or include the components shown in FIG10. FIG10 is a schematic diagram of the composition of a communication device 1000 provided in this application.
[0428] As shown in Figure 10, the communication device 1000 includes at least one processor 1001. Optionally, the communication device also includes a communication interface 1002.
[0429] When the relevant program instructions are executed in the at least one processor 1001, the communication device 1000 can implement the methods and any possible designs provided in any of the foregoing embodiments. Alternatively, the processor 1001 can implement the methods and any possible designs provided in any of the foregoing embodiments through logic circuits or executable code instructions.
[0430] The communication interface 1002 can be used to receive program instructions and transmit them to the processor, or the communication interface 1002 can be used for communication interaction between the communication device 1000 and other communication devices, such as exchanging control signaling and / or service data. For example, the communication interface 1002 can be used to receive signals from other devices besides the communication device 1000 and transmit them to the processor 1001, or to send signals from the processor 1001 to other communication devices besides the communication device 1000.
[0431] Optionally, the communication interface 1002 can be a code and / or data read / write interface circuit, or the communication interface 1002 can be a signal transmission interface circuit between a communication processor and a transceiver, or a chip pin.
[0432] Optionally, the communication device 1000 may further include at least one memory 1003, which may be used to store the required program instructions and / or data.
[0433] It should be noted that the memory 1003 can exist independently of the processor 1001, or it can be integrated with the processor 1001. The memory 1003 can be located inside or outside the communication device 1000, without limitation.
[0434] Optionally, the communication device 1000 may further include a power supply circuit 1004, which can be used to power the processor 1001. The power supply circuit 1004 may be located in the same chip as the processor 1001, or in a separate chip outside the chip containing the processor 1001.
[0435] Optionally, the communication device 1000 may also include a bus 1005, through which the various parts of the communication device 1000 can be interconnected.
[0436] In some embodiments, those skilled in the art will recognize that the communication device 800 shown in FIG8 can take the form of the communication device 1000 shown in FIG10 in terms of hardware implementation.
[0437] As an example, the function / implementation process of the processing module 801 in Figure 8 can be implemented by the processor 1001 in the communication device 1000 shown in Figure 10 calling computer execution instructions stored in the memory 1003. The function / implementation process of the transceiver module 802 in Figure 8 can be implemented by the communication interface 1002 in the communication device 1000 shown in Figure 10.
[0438] It should be noted that the structure shown in Figure 10 does not constitute a specific limitation on the access network equipment or core network equipment (such as any of the first to fourth core network equipment described above). For example, in other embodiments of this application, the core network equipment may include more or fewer components than shown in the figure, or combine some components, or split some components, or have different component arrangements. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0439] Optionally, the processor in this application can be a central processing unit (CPU), but it can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The general-purpose processor can be a microprocessor, or it can be any conventional processor.
[0440] Optionally, the memory in this application can be volatile memory or non-volatile memory, or it can include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), double data rate synchronous DRAM (DDR SDRAM), enhanced synchronous DRAM (ESDRAM), synchronous linked DRAM (SLDRAM), or direct rambus RAM (DR RAM).
[0441] Optionally, the power supply circuit described in the embodiments of this application includes, but is not limited to, at least one of the following: a power supply line for an electronic system, a power management chip, a power management processor, or a power management control circuit.
[0442] In some embodiments, this application also provides a communication device, which includes a processor for implementing the methods in any of the above method embodiments.
[0443] As one possible implementation, the communication device also includes a memory. This memory stores necessary computer programs and data. The computer program may include instructions, which a processor can invoke to instruct the communication device to execute the methods described in any of the above method embodiments. Alternatively, the memory may not be present in the communication device.
[0444] As another possible implementation, the communication device also includes an interface circuit, which is a code / data read / write interface circuit, used to receive computer execution instructions (which are stored in memory and may be read directly from memory or may be transmitted through other devices) and transmit them to the processor.
[0445] As another possible implementation, the communication device also includes a communication interface for communicating with modules outside the communication device.
[0446] It is understood that the communication device can be a chip or a chip system. When the communication device is a chip system, it can be composed of chips or may include chips and other discrete devices. This application does not specifically limit this.
[0447] This application also provides a computer-readable storage medium having a computer program or instructions stored thereon, which, when executed by a computer, implements the functions of any of the above-described method embodiments.
[0448] This application also provides a computer program product that, when executed by a computer, implements the functions of any of the above method embodiments.
[0449] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0450] It is understood that the systems, apparatuses, and methods described in this application can also be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the couplings or direct couplings or communication connections shown or discussed may be through some interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms.
[0451] The units described as separate components may or may not be physically separate; that is, they may be located in one place or distributed across multiple network units. The components shown as units may or may not be physical units. Some or all of the units can be selected to achieve the purpose of this embodiment, depending on actual needs.
[0452] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0453] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented using software programs, implementation can be, in whole or in part, in the form of a computer program product. This computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device containing one or more servers, data centers, etc., that can be integrated with the medium. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive (SSD)). In this embodiment, the computer may include the aforementioned apparatus.
[0454] Although this application has been described herein in conjunction with various embodiments, those skilled in the art, by reviewing the accompanying drawings, disclosure, and appended claims, will understand and implement other variations of the disclosed embodiments in carrying out the claimed application. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude a plurality. A single processor or other unit can implement several functions listed in the claims. While different dependent claims may recite certain measures, this does not mean that these measures cannot be combined to produce good results.
Claims
1. A communication method, characterized in that, include: Determine a first data packet set and a second data packet set, and associate the first data packet set with the second data packet set; If the first set of data packets is successfully transmitted, the transmission of the second set of data packets is relaxed.
2. The method according to claim 1, characterized in that, The second data packet set includes a first data packet, which includes first information used to determine that the first data packet set is associated with the second data packet set.
3. The method according to claim 2, characterized in that, The first information includes the sequence number of the first data packet set.
4. The method according to any one of claims 1-3, characterized in that, The first data packet set is associated with the second data packet set, including: the second data packet is associated with the third data packet, the second data packet is included in the first data packet set, and the third data packet is included in the second data packet set; The third data packet is used to protect the transmission of the second data packet, or the third data packet is a redundant data packet or a repair data packet of the second data packet.
5. The method according to claim 4, characterized in that, The third data packet includes second information, which is used to determine that the second data packet is associated with the third data packet.
6. The method according to claim 5, characterized in that, The second information includes the sequence number of the second data packet.
7. The method according to any one of claims 4-6, characterized in that, If the first data packet set is successfully transmitted, the transmission of the second data packet set is relaxed, including: If the second data packet is successfully transmitted, the transmission of the third data packet is relaxed.
8. The method according to any one of claims 1-7, characterized in that, Relaxing the transmission of the second data packet set includes: stopping the transmission of the second data packet set, reducing the number of retransmissions of the second data packet set, or reducing the transmission requirements of the second data packet set.
9. The method according to any one of claims 1-8, characterized in that, The method further includes sending the second set of data packets if the transmission of the first set of data packets fails.
10. The method according to claim 9, characterized in that, The method further includes: receiving a first threshold, wherein the first threshold indicates the maximum number of packet losses that the first data packet set can tolerate; In the event of a failure to transmit the first set of data packets, a second set of data packets is sent, including: If the first value is less than or equal to the first threshold, the second set of data packets is sent, where the first value indicates the number of data packets in the first set of data packets that failed to be transmitted.
11. The method according to any one of claims 1-10, characterized in that, The method further includes: recording the transmission status of the first data packet set, the transmission status including whether the first data packet set was successfully transmitted or failed to be transmitted.
12. The method according to any one of claims 1-11, characterized in that, The method further includes receiving third information, the third information indicating that, if the first data packet set is successfully transmitted, the transmission of the second data packet set should be relaxed.
13. The method according to any one of claims 1-12, characterized in that, The method further includes: receiving fourth information, the fourth information indicating that a first Quality of Service (QoS) stream is associated with a second QoS stream, the first QoS stream being used to transmit the first set of data packets, and the second QoS stream being used to transmit the second set of data packets; Determining the first data packet set and the second data packet set includes: Determine the first set of data packets in the first QoS flow; Based on the association between the first QoS flow and the second QoS flow, the second set of data packets is determined in the second QoS flow.
14. A communication method, characterized in that, include: Determine a first data packet set and a second data packet set, and associate the first data packet set with the second data packet set; The second data packet set is marked according to the association between the first data packet set and the second data packet set. The association is used to relax the transmission of the second data packet set if the first data packet set is successfully transmitted.
15. The method according to claim 14, characterized in that, After marking the second set of data packets, the method further includes: Send the first set of data packets and the marked second set of data packets, wherein the marked second set of data packets includes the first data packet, and the first data packet includes first information, which is used to determine that the first set of data packets is associated with the second set of data packets.
16. The method according to claim 14 or 15, characterized in that, The first data packet set is associated with the second data packet set, including: the second data packet is associated with the third data packet, the second data packet is included in the first data packet set, and the third data packet is included in the second data packet set after the tag; The third data packet is used to protect the transmission of the second data packet, or the third data packet is a redundant data packet or a repair data packet of the second data packet.
17. The method according to claim 16, characterized in that, The third data packet includes second information, which is used to determine that the second data packet is associated with the third data packet.
18. The method according to any one of claims 14-17, characterized in that, The method further includes: receiving fifth information, the fifth information indicating the marking of the second data packet set.
19. The method according to any one of claims 14-18, characterized in that, The method further includes: receiving sixth information, the sixth information indicating that a first QoS flow is associated with a second QoS flow, the first QoS flow being used to transmit the first data packet set, and the second QoS flow being used to transmit the second data packet set; Determining the first data packet set and the second data packet set includes: Determine the first set of data packets in the first QoS flow; Based on the association between the first QoS flow and the second QoS flow, the second set of data packets is determined in the second QoS flow.
20. A communication device, characterized in that, The communication device includes a processor; the processor is configured to run a computer program or instructions to cause the communication device to perform the method as described in any one of claims 1-13, or to cause the communication device to perform the method as described in any one of claims 14-19.
21. A computer-readable storage medium, characterized in that, A computer-readable storage medium stores computer instructions or programs that, when executed on a computer, cause the method as described in any one of claims 1-13 to be performed, or cause the method as described in any one of claims 14-19 to be performed.
22. A computer program product, characterized in that, The computer program product includes computer instructions; when some or all of the computer instructions are run on a computer, they cause the method as described in any one of claims 1-13 to be performed, or cause the method as described in any one of claims 14-19 to be performed.