Device, method and computer program product

By using data flow identifiers and serial numbers in the communication network, combined with the redundant transmission mechanism, the problem of missing or wrong reception during packet transmission is solved, and the high reliability and orderly transmission of data packets are achieved.

CN113785511BActive Publication Date: 2024-12-10NOKIA TECHNOLOGIES OY
View PDF 14 Cites 0 Cited by

Patent Information

Application Number
CN201980095908.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-05-02
Publication Date
2024-12-10
Estimated Expiration
2039-05-02

AI Technical Summary

Technical Problem

In communication networks, prior art is difficult to ensure reliable transmission of data packets, especially in cases where the original data packet or a copy thereof is lost or received incorrectly during transmission, which may result in data transmission failure.

Method used

By sending data packets and their copies in the data stream, and using data stream identifiers and sequence numbers to identify the location and order of data packets, ensuring orderly transmission and reception of data packets, adopting a redundant transmission mechanism to improve reliability. Specifically, it includes sending data packets and copies thereof in different data tunnel streams, and determining the order of the data packets and whether they are copies based on the sequence number and identifier at the receiving end.

Benefits of technology

It improves the reliability and orderliness of data transmission, and ensures the successful transmission of data packets in the communication network, especially when the network deployment conditions are poor, meeting high reliability requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113785511B_ABST
    Figure CN113785511B_ABST
Patent Text Reader

Abstract

A device (700) includes a component for executing sending of a first data packet, wherein the first data packet includes: a data stream identifier indicating the data stream to which the first data packet belongs; and a data stream sequence number indicating the position of the first data packet in the sequence of the data stream.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to sending and receiving information in a communication network. More specifically, the present disclosure relates to an apparatus, method, and computer program product for reliably sending and receiving data. Background Art

[0002] By sending a copy (duplicate) of the original data packet to a target device in the network along with the original data packet, the reliability of successful data transmission can be improved. This data transmission technique includes redundant data transmission. However, if the original data packet or its copy is not correctly sent to the target device or is not correctly received at the target device, there may still be problems. Summary of the invention

[0003] According to a first aspect, an apparatus is provided, comprising a component for performing the following operations: sending a first data packet, the first data packet comprising: a data stream identifier indicating a data stream to which the first data packet belongs; and a data stream sequence number indicating a position of the first data packet in a sequence of the data stream.

[0004] According to some examples, the component is further configured to perform: sending a copy of the first data packet, wherein the copy of the first data packet includes a same data flow identifier as the first data packet and a same data flow sequence number as the first data packet.

[0005] According to some examples, the first data packet and the copy of the first data packet are sent through different data tunnel flows.

[0006] According to some examples, the first data packet includes a sequence number present field.

[0007] According to some examples, the different data tunnel flows are different General Packet Radio Service Tunneling Protocol flows.

[0008] According to some examples, the data flow is a quality of service flow.

[0009] According to some examples, sending the data packet includes sending the data packet in a downlink direction.

[0010] According to some examples, sending the data packet includes sending the data packet in an uplink direction.

[0011] According to some examples, the component is further configured to perform: incrementing the data stream sequence number when sending the next data packet in the data stream so that the data stream sequence number of the second data packet following the first data packet in the data stream is 1 greater than the data stream sequence number of the first data packet.

[0012] According to some examples, the component is further configured to perform: sending a copy of the second data packet, wherein the copy of the second data packet includes a same data flow identifier as the second data packet and a same data flow sequence number as the second data packet.

[0013] According to some examples, the apparatus comprises a radio access network node and the sending is towards a user plane function.

[0014] According to some examples, the apparatus comprises a user plane functionality and the sending is towards a radio access network node.

[0015] According to some examples, the apparatus comprises a first user plane function and the sending is towards a second user plane function.

[0016] According to some examples, a plurality of data packets are sent from at least two data flows.

[0017] According to some examples, the at least two data flows are quality of service flows.

[0018] According to a second aspect, a device is provided, comprising: at least one processor; and at least one memory comprising computer program code, wherein the at least one memory and the computer program code are configured to, together with the at least one processor, cause the device to at least execute: sending a first data packet, wherein the first data packet comprises: a data stream identifier indicating a data stream to which the first data packet belongs; and a data stream sequence number indicating a position of the first data packet in a sequence of the data stream.

[0019] According to some examples, the at least one memory and the computer program code are configured to, together with the at least one processor, cause the apparatus to at least perform: sending a copy of the first data packet, wherein the copy of the first data packet includes the same data flow identifier as the first data packet and the same data flow sequence number as the first data packet.

[0020] According to some examples, the first data packet and the copy of the first data packet are sent through different data tunnel flows.

[0021] According to some examples, the first data packet includes a sequence number present field.

[0022] According to some examples, the different data tunnel flows are different General Packet Radio Service Tunneling Protocol flows.

[0023] According to some examples, the data flow is a quality of service flow.

[0024] According to some examples, sending the data packet includes sending the data packet in a downlink direction.

[0025] According to some examples, sending the data packet includes sending the data packet in an uplink direction.

[0026] According to some examples, the at least one memory and the computer program code are configured to, together with the at least one processor, cause the apparatus to at least perform: incrementing a data stream sequence number when sending a next data packet in the data stream, so that a data stream sequence number of a second data packet following the first data packet in the data stream is 1 greater than the data stream sequence number of the first data packet.

[0027] According to some examples, the at least one memory and the computer program code are configured to, together with the at least one processor, cause the apparatus to at least perform: sending a copy of the second data packet, wherein the copy of the second data packet includes the same data flow identifier as the second data packet and the same data flow sequence number as the second data packet.

[0028] According to some examples, the apparatus comprises a radio access network node and the sending is towards a user plane function.

[0029] According to some examples, the apparatus comprises a user plane functionality and the sending is towards a radio access network node.

[0030] According to some examples, the apparatus comprises a first user plane function and the sending is towards a second user plane function.

[0031] According to some examples, a plurality of data packets are sent from at least two data flows.

[0032] According to some examples, the at least two data flows are quality of service flows.

[0033] According to a third aspect, a device is provided, comprising a circuit for performing the following operations: sending a first data packet, wherein the first data packet comprises: a data stream identifier indicating a data stream to which the first data packet belongs; and a data stream sequence number indicating a position of the first data packet in a sequence of the data stream.

[0034] According to a fourth aspect, a method is provided, comprising: sending a first data packet, wherein the first data packet comprises: a data stream identifier indicating a data stream to which the first data packet belongs; and a data stream sequence number indicating a position of the first data packet in a sequence of the data stream.

[0035] According to some examples, the method includes sending a copy of the first data packet, wherein the copy of the first data packet includes the same data flow identifier as the first data packet and the same data flow sequence number as the first data packet.

[0036] According to some examples, the first data packet and the copy of the first data packet are sent through different data tunnel flows.

[0037] According to some examples, the first data packet includes a sequence number present field.

[0038] According to some examples, the different data tunnel flows are different General Packet Radio Service Tunneling Protocol flows.

[0039] According to some examples, the data flow is a quality of service flow.

[0040] According to some examples, sending the data packet includes sending the data packet in a downlink direction.

[0041] According to some examples, sending the data packet includes sending the data packet in an uplink direction.

[0042] According to some examples, the method includes: incrementing a data stream sequence number when sending a next data packet in the data stream so that a data stream sequence number of a second data packet following the first data packet in the data stream is 1 greater than the data stream sequence number of the first data packet.

[0043] According to some examples, the method includes sending a copy of the second data packet, wherein the copy of the second data packet includes the same data flow identifier as the second data packet and the same data flow sequence number as the second data packet.

[0044] According to some examples, the method comprises: a radio access network node and the sending is towards a user plane function.

[0045] According to some examples, the method comprises: a user plane functionality and the sending is towards a radio access network node.

[0046] According to some examples, the method includes: a first user plane function and the sending is towards a second user plane function.

[0047] According to some examples, a plurality of data packets are sent from at least two data flows.

[0048] According to some examples, the at least two data flows are quality of service flows.

[0049] According to a fifth aspect, a computer program is provided, comprising instructions for causing an apparatus to perform at least the following operations: send a first data packet, wherein the first data packet comprises: a data stream identifier indicating a data stream to which the first data packet belongs; and a data stream sequence number indicating a position of the first data packet in a sequence of the data stream.

[0050] According to a sixth aspect, a computer program is provided, comprising instructions stored thereon, the instructions being used to perform at least the following operations: sending a first data packet, the first data packet comprising: a data stream identifier indicating a data stream to which the first data packet belongs; and a data stream sequence number indicating a position of the first data packet in a sequence of the data stream.

[0051] According to the seventh aspect, a non-transitory computer-readable medium is provided, which includes instructions for causing a device to perform at least the following operations: send a first data packet, the first data packet including: a data stream identifier indicating the data stream to which the first data packet belongs; and a data stream sequence number indicating the position of the first data packet in the sequence of the data stream.

[0052] According to an eighth aspect, a non-transitory computer-readable medium is provided, the non-transitory computer-readable medium including program instructions stored thereon, the program instructions being used to perform at least the following operations: sending a first data packet, the first data packet including: a data stream identifier indicating the data stream to which the first data packet belongs; and a data stream sequence number indicating the position of the first data packet in the sequence of the data stream.

[0053] According to a ninth aspect, a device is provided, comprising a component for performing the following operations: receiving a first data packet, wherein the first data packet comprises: a data stream identifier, indicating a data stream symbol to which the first data packet belongs; and a data stream sequence number, indicating a position of the first data packet in a sequence of the data stream.

[0054] According to some examples, the component is also configured to perform: receiving a second data packet, the second data packet comprising: a data stream identifier indicating the data stream described by the second data packet; and a second data stream sequence number indicating the position of the second data packet in the sequence of the data stream; wherein the second data packet is received at a second time that is later than the first time when the first data packet is received.

[0055] According to some examples, the component is also configured to perform: when the data flow identifier of the first data packet and the data flow identifier of the second data packet have the same value and the flow sequence number of the first data packet and the flow sequence number of the second data packet have the same value, determine that the second data packet is a copy of the first data packet; and when the second data packet is a copy of the first data packet, do not further transmit the second data packet.

[0056] According to some examples, the component is also configured to perform: when the data flow identifier of the first data packet and the data flow identifier of the second data packet have the same value and the data flow sequence number of the first data packet is 1 less than the data flow sequence number of the second data packet, determine that the second data packet is the next data packet after the first data packet in the data flow; and when the second data packet is the next data packet after the first data packet in the data flow, further transmit the second data packet.

[0057] According to some examples, the first data packet and the second data packet are received through different data tunnel flows.

[0058] According to some examples, the first data packet includes a sequence number present field.

[0059] According to some examples, the different data tunnel flows are different General Packet Radio Service Tunneling Protocol flows.

[0060] According to some examples, the data flow is a quality of service flow.

[0061] According to some examples, receiving a data packet includes receiving a data packet in a downlink direction.

[0062] According to some examples, receiving the data packet includes receiving the data packet in an uplink direction.

[0063] According to some examples, the apparatus comprises a radio access network node and the receiving is from a user plane function.

[0064] According to some examples, the apparatus comprises a user plane functionality and the receiving is from a radio access network node.

[0065] According to some examples, the apparatus includes a first user plane function and the receiving is from a second user plane function.

[0066] According to some examples, a plurality of data packets are received from at least two data flows.

[0067] According to some examples, the at least two data flows are quality of service flows.

[0068] According to the tenth aspect, a device is provided, comprising: at least one processor; and at least one memory comprising computer program code, wherein the at least one memory and the computer program code are configured to, together with the at least one processor, cause the device to at least execute: receiving a first data packet, wherein the first data packet comprises: a data stream identifier indicating a data stream to which the first data packet belongs; and a data stream sequence number indicating a position of the first data packet in a sequence of the data stream.

[0069] According to some examples, at least one processor; and at least one memory including computer program code, wherein the at least one memory and the computer program code are configured to, together with the at least one processor, cause the apparatus to at least perform: receiving a second data packet, the second data packet comprising: a data stream identifier indicating a data stream described by the second data packet; and a second data stream sequence number indicating a position of the second data packet in a sequence of the data stream; wherein the second data packet is received at a second time that is later than a first time at which the first data packet is received.

[0070] According to some examples, at least one processor; and at least one memory including computer program code, wherein the at least one memory and the computer program code are configured to, together with the at least one processor, cause the apparatus to at least perform: when a data flow identifier of the first data packet and a data flow identifier of the second data packet have the same value and a flow sequence number of the first data packet and a flow sequence number of the second data packet have the same value, determine that the second data packet is a copy of the first data packet; and when the second data packet is a copy of the first data packet, not further transmit the second data packet.

[0071] According to some examples, at least one processor; and at least one memory including computer program code, wherein the at least one memory and the computer program code are configured to, together with the at least one processor, cause the apparatus to at least perform: when a data flow identifier of the first data packet and a data flow identifier of the second data packet have the same value and a data flow sequence number of the first data packet is 1 less than a data flow sequence number of the second data packet, determining that the second data packet is the next data packet after the first data packet in the data flow; and when the second data packet is the next data packet after the first data packet in the data flow, further transmitting the second data packet.

[0072] According to some examples, the first data packet and the second data packet are received through different data tunnel flows.

[0073] According to some examples, the first data packet includes a sequence number present field.

[0074] According to some examples, the different data tunnel flows are different General Packet Radio Service Tunneling Protocol flows.

[0075] According to some examples, the data flow is a quality of service flow.

[0076] According to some examples, receiving a data packet includes receiving a data packet in a downlink direction.

[0077] According to some examples, receiving the data packet includes receiving the data packet in an uplink direction.

[0078] According to some examples, the apparatus comprises a radio access network node and the receiving is from a user plane function.

[0079] According to some examples, the apparatus comprises a user plane functionality and the receiving is from a radio access network node.

[0080] According to some examples, the apparatus includes a first user plane function and the receiving is from a second user plane function.

[0081] According to some examples, a plurality of data packets are received from at least two data flows.

[0082] According to some examples, the at least two data flows are quality of service flows.

[0083] According to the eleventh aspect, a device is provided, comprising a circuit for performing the following operations: receiving a first data packet, the first data packet comprising: a data stream identifier indicating the data stream to which the first data packet belongs; and a data stream sequence number indicating the position of the first data packet in the sequence of the data stream.

[0084] According to the twelfth aspect, a method is provided, comprising: receiving a first data packet, the first data packet comprising: a data stream identifier indicating the data stream to which the first data packet belongs; and a data stream sequence number indicating the position of the first data packet in the sequence of the data stream.

[0085] According to some examples, the method includes: receiving a second data packet, the second data packet including: a data stream identifier indicating the data stream described by the second data packet; and a second data stream sequence number indicating the position of the second data packet in the sequence of the data stream; wherein the second data packet is received at a second time that is later than the first time when the first data packet is received.

[0086] According to some examples, the method includes: when a data flow identifier of the first data packet and a data flow identifier of the second data packet have the same value and a flow sequence number of the first data packet and a flow sequence number of the second data packet have the same value, determining that the second data packet is a copy of the first data packet; and when the second data packet is a copy of the first data packet, not further transmitting the second data packet.

[0087] According to some examples, the method includes: when the data flow identifier of the first data packet and the data flow identifier of the second data packet have the same value and the data flow sequence number of the first data packet is 1 less than the data flow sequence number of the second data packet, determining that the second data packet is the next data packet after the first data packet in the data flow; and when the second data packet is the next data packet after the first data packet in the data flow, further transmitting the second data packet.

[0088] According to some examples, the first data packet and the second data packet are received through different data tunnel flows.

[0089] According to some examples, the first data packet includes a sequence number present field.

[0090] According to some examples, the different data tunnel flows are different General Packet Radio Service Tunneling Protocol flows.

[0091] According to some examples, the data flow is a quality of service flow.

[0092] According to some examples, receiving the data packet includes receiving the data packet in a downlink direction.

[0093] According to some examples, receiving a data packet includes receiving a data packet in an uplink direction.

[0094] According to some examples, the method is performed by a radio access network node and the receiving is from a user plane function.

[0095] According to some examples, the method is performed by a user plane function and the receiving is from a radio access network node.

[0096] According to some examples, the method is performed by a first user plane function and the receiving is from a second user plane function.

[0097] According to some examples, a plurality of data packets are received from at least two data flows.

[0098] According to some examples, the at least two data flows are quality of service flows.

[0099] According to the thirteenth aspect, a computer program is provided, comprising instructions for causing a device to perform at least the following operations: receive a first data packet, the first data packet comprising: a data stream identifier indicating the data stream to which the first data packet belongs; and a data stream sequence number indicating the position of the first data packet in the sequence of the data stream.

[0100] According to a fourteenth aspect, a computer program is provided, the computer program comprising instructions stored thereon, the instructions being used to perform the following operations: receiving a first data packet, the first data packet comprising: a data stream identifier indicating a data stream to which the first data packet belongs; and a data stream sequence number indicating a position of the first data packet in a sequence of the data stream.

[0101] According to the fifteenth aspect, a non-transitory computer-readable medium is provided, comprising program instructions for causing a device to perform at least the following operations: receive a first data packet, the first data packet comprising: a data stream identifier indicating the data stream to which the first data packet belongs; and a data stream sequence number indicating the position of the first data packet in the sequence of the data stream.

[0102] According to the sixteenth aspect, a non-transitory computer-readable medium is provided, the non-transitory computer-readable medium including program instructions stored thereon, the program instructions being used to perform at least the following operations: receiving a first data packet, the first data packet including: a data stream identifier indicating a data stream to which the first data packet belongs; and a data stream sequence indicating a position of the first data packet in the sequence of the data stream. BRIEF DESCRIPTION OF THE DRAWINGS

[0103] The present invention will now be described in more detail, by way of example only, with reference to the following examples and accompanying drawings, in which:

[0104] Figure 1 A schematic diagram showing a method of data transmission;

[0105] Figure 2 A schematic diagram showing a method of sending data;

[0106] Figure 3 A schematic diagram showing a method of data transmission;

[0107] Figure 4 shows example message formats for sending and / or receiving data;

[0108] Figure 5 shows example message formats for sending and / or receiving data;

[0109] Figure 6 A schematic diagram of a device according to an example is shown;

[0110] Figure 7 A schematic diagram of a device according to an example is shown;

[0111] Figure 8 A flow chart of a method according to an example is shown;

[0112] Fig. 9 A flowchart showing a method according to an example is shown; and

[0113] Fig.10 A flow chart of a method according to an example is shown. DETAILED DESCRIPTION

[0114] The present disclosure relates to the transmission and reception of data in a wireless communication network. More specifically, some examples relate to redundant data transmission.

[0115] Some data flows require high reliability of successful transmission. An example of such a data flow is an Ultra-Reliable Low Latency Communication (URLLC) data flow. In some cases, high reliability of successful transmission can be achieved by using redundant transmissions on the user plane of the communication network instead of using a single path on the user plane of the communication network.

[0116] Due to network deployment conditions, there may be a need to use redundant transmission on the user plane of the communication network instead of using a single path on the user plane of the communication network. For example, due to certain network deployment configurations, certain network segments may not meet the required reliability standards.

[0117] For example, when reliability requirements cannot be met on the N3 interface between a user plane function (UPF) and a next generation radio access network (NG-RAN) node in the network, data packets sent through a first general packet radio service (GPRS) tunneling protocol (GTP) tunnel can be replicated on a second GTP tunnel. Similarly, when reliability requirements cannot be met on the N9 interface between a user plane function (UPF) and another user plane function (UPF) in the network, data packets sent through a first data tunnel can be replicated on a second data tunnel. In some examples, the first GTP tunnel and the second GTP tunnel can traverse different transport networks.

[0118] In some examples, in the downlink (DL) direction, a UPF of a network may send a data packet through a nominal (first) GTP tunnel associated with a protocol data unit (PDU) session while sending a copy of the data packet in parallel through a second GTP tunnel associated with the same PDU session. At the NG-RAN node that receives the data packet, the NG-RAN may consider the first of the two data packets to arrive for further transmission to a user equipment (UE) in the network. The NG-RAN node may also detect and eliminate another of the two data packets that arrives at the NG-RAN node at a later arrival time than the first of the two data packets to arrive. In some examples, the UPF may send the data packet and the copy data packet to the downlink UPF instead of the NG-RAN node.

[0119] A similar situation may occur in the uplink (UL) direction, where the sender is the NG-RAN node and the receiver is the UPF. The NG-RAN node may send a data packet through a nominal (first) GTP tunnel associated with a protocol data unit (PDU) session while sending a copy of the data packet in parallel through a second GTP tunnel associated with the same PDU session. When the UPF receives the data packet, the UPF may consider the first of the two data packets to arrive for further transmission in the network. The UPF may also detect and eliminate another of the two data packets that arrives at the UPF at a later arrival time than the first of the two data packets. In some examples, the UPF (rather than the NG-RAN node) may send the data packet and the copy data packet to the uplink UPF.

[0120] In the DL or UL transmission example, two GTP tunnels may be enabled for each PDU session. In some examples, more than two GTP tunnels may be enabled for each PDU session.

[0121] In some cases, one or more GTP packets may be assigned a GTP sequence number (SN). The GTP SN may be added to the GTP header of a GTP packet. For example, a GTP SN may be used when there is a requirement standard for packet transmission reliability. A GTP SN may also be used for URLLC data transmission. A GTP SN may be used in either or both of the UL or DL ​​directions in the network.

[0122] In some examples, when a GTP SN is used for a data packet, the data packet and a copy of the data packet are sent through two GTP tunnels having the same GTP SN.

[0123] For DL ​​transmission, UPF can send packets that require reliable or ultra-reliable transmission as the payload of a GTP packet in which the GTP SN will be added in the GTP header. UPF sends the packet and a copy of the packet through two different GTP tunnels with the same GTP SN. When the NG-RAN node receives these two packets, it can identify that they are duplicates based on the GTPSN. Therefore, NG-RAN will only consider the first arriving packet for further transmission to the UE, and when the second packet with the same GTP SN arrives, NG-RAN will eliminate the second packet.

[0124] Redundant transmission may include sending a dupliate packet of the original packet through different GTP tunnels. In more detail, considering the case of DL transmission / service, the UPF may duplicate the packet from the data network and assign the same GTP SN to the original packet and the dupliate packet of the packet for redundant transmission. In some examples, the two packets are transmitted to the NG-RAN through N3 tunnel 1 and N3 tunnel 2, respectively. The NG-RAN may forward the first packet received from either tunnel to the UE, and may discard subsequently received packets with the same GTPSN as the forwarded packet. Similarly, in the case of UL services, the NG-RAN may duplicate the packets and assign the same GTP SN to them, and the UPF may eliminate subsequently received redundant packets based on the GTP SN.

[0125] For each data flow for which a copy has been requested and / or set, redundant transmission may be performed in the network. In some examples, these data flows may be considered quality of service (QoS) flows.

[0126] Figure 1 An example of redundant transmission is shown. In this example, a request is made to replicate QoS flows 1, 2, and 3. These QoS flows may have different delay requirements. Figure 1 As shown, the GTP SN can be added as part of the GTP layer in the network as described above. Figure 1 As shown, examples of sequence numbers that may be transmitted via two GTP tunnels 102 and 104 are as follows:

[0127] GTP Tunnel Flow 1 :GTP SN 47,GTP SN 48,GTP SN 50

[0128] GTP Tunnel Flow 2 :GTP SN 47,GTP SN 48,GTP SN 49

[0129] For the purpose of explanation, this example may be referred to as "Example A". In Example A, a packet with GTP SN 49 is sent in GTP tunnel flow 1 ( Figure 1 In example A, packets 47 and 49 belong to QoS flow 1, and packets 48 and 50 belong to QoS flow 2. Therefore, packets 111a, 113a, and 113c belong to QoS flow 1, while packets 111b, 111c, and 113b belong to QoS flow 2. During the time period of this example, no packets are transmitted from QoS flow 3. Assume that after a waiting time DT, the GTP tunnel flow 2 ( Figure 1104), then in order to maintain in-order delivery at the destination of the GTP tunnel flow, the packet 111c with GTP SN 50 may be delayed by the DT time. After the packet 113c with GTP SN 49 is received on GTP tunnel flow 2 (flow 104), the packet 111c with GTP SN 50 may be received from GTP tunnel flow 1 (flow 102).

[0130] In some examples, rather than using a GTP SN as part of the GTP layer, an SN may be associated with (and managed with respect to) each QoS flow in the network. Such examples include Figure 2 shown.

[0131] Figure 2 The generic protocol stack from a replicated PDU session is shown along with the decision mechanism observed by the receiver during DL transmission.

[0132] The first data stream is Figure 2 The second data stream is shown at 202. Figure 2 204. Data flow 202 may be sent via a first data tunnel, which in some examples may be a first GTP tunnel flow. Data flow 204 may be sent via a second data tunnel, which in some examples may be a second GTP tunnel flow.

[0133] At 206a and 206b, data is sent on each flow from the UPF of the network. As shown at 208a and 208b, each PDU Session (User Plane) Protocol (PDU SP) packet of flows 202 and 204 is associated with a data flow identifier. The data flow identifier may include a QoS flow identifier (QFI).

[0134] As shown at 212 and 214, the Service Data Adaptation Protocol (SDAP) and the Packet Data Convergence Protocol (PDCP) may constitute part (or all) of the protocol stack used at the receiver.

[0135] Data flows 202 and 204 are received at 210. The receiver may be, for example, a NG-RAN node. As discussed in more detail further below, a decision may be made at 210 by the receiver as to which packets are to be forwarded and which packets are to be dropped.

[0136] Figure 3An example of redundant transmission is shown. In this illustrative example, the following considers the case where the packets arrive in the same order as in Example A, however, GTP SNs are not used, but SNs are associated with each data flow in the network and SNs are managed per data flow. SNs can be associated with each QoS flow 302 and 304 in the network and managed per QoS flow 302 and 304. For the purpose of distinction, this example may be considered as "Example B". A general protocol stack for a PDU session that is replicated and such Figure 2 The receiver-observed decision mechanism 210 shown may be used for Example B.

[0137] In example B, data packets will be received from data flows 302 and 304. As an example, data flow 302 can be considered as GTP tunnel flow 1 and data flow 304 can be considered as GTP tunnel flow 2. The data flow identifier QFIx and data flow sequence number SNy values ​​of the data packets can be shown as (QFIx, SNy). In this example, an arbitrary starting point for the y value has been chosen for each QFIx. Data packets 311a, 311b, 311c, 313a, 313b and 313c will be received from a data flow with the following numbering chain (where the GTP SNs assigned using the mechanism of example A are shown in square brackets):

[0138] GTP Tunnel Flow 1 :(QFI1,10)[=GTP SN 47 in example A];(QFI2,25)[=GTPSN 48 in example A];(QFI2,26)[=GTP SN 50 in example A]

[0139] GTP Tunnel Flow 2 :(QFI1,10)[=GTP SN 47 in example A];(QFI2,25)[=GTPSN 48 in example A];(QFI1,11)[=GTP SN 49 in example A]

[0140] In this example, similar to Example A, packet (QFI1, 11) is lost on first tunnel flow 302 (using the sequence numbering of Example A, the packet would have been numbered as GTP SN 49). The lost packet (QFI1, 11) would have been received from GTP tunnel flow 1 between packet 311b (QFI2, 25) and packet 311c (QF2, 26). However, instead of waiting to receive packet (QF1, 11) on GTP tunnel flow 2 before receiving packet 311c (QFI2, 26) on GTP tunnel flow 1, packet 311c (QFI2, 26) can be received on GTP tunnel flow 1 after packet 311b (QFI2, 25) without having to receive packet 313c (QFI1, 11) on GTP tunnel flow 2, while respecting the in-order delivery of each QoS flow 1, 2, 3.

[0141] Therefore, if there is a delay time DT in receiving the (QFI1, 11) packet 313c from GTP tunnel flow 2 after receiving the (QFI2, 25) packet 313b from GTP tunnel flow 1, the receiver does not have to wait for time DT to receive the packet 313c (QFI2, 26) to comply with the in-order delivery of QoS flows 1 and 2. This is because the receiver knows from the QFI and SN of the (QFI2, 25) and (QFI2, 26) packets 311b and 311c that these packets are from the same QoS flow and that the in-order delivery of the QoS flow is being complied with (because SN=26 follows SN=25). Therefore, the delay time DT in receiving the (QFI2, 25) packet 313c from GTP tunnel flow 1 is avoided. Figure 3 The delay marked as 304 in the example above.

[0142] Although Example A and Example B are described above with respect to DL transmissions, similar mechanisms and sequence numbering may be used for UL transmissions (e.g., from an NG-RAN node to a UPF).

[0143] Figure 4 An example of a DL PDU Session Information (PDU Type 0) format is shown. The DL PDU Session Information (PDU Type 0) format may be used for data packets sent according to Example B above.

[0144] like Figure 4 As shown, the DL PDU Session Information (PDU Type 0) format may include a field 416 indicating a PDU frame type "0".

[0145] At 422, Figure 4 Further shown is a field named "DL QFI Sequence Number" in frame type 0 of the DL PDU session information frame format. In some examples, this field may include 3 bytes. At 420, Figure 4A DL QFI sequence number 422 is also shown to be associated in the same frame as the QoS flow identifier (QFI) 420. The QFI field 420 may be in the octet above the DL QFI sequence number 422 and may be used to identify to which QoS flow the packet belongs. The DL QFI sequence number may then be associated and managed according to QoS flows, i.e., if the next packet to be sent corresponds to the same QoS flow, the DL QFI sequence number is incremented. The DL QFI sequence number parameter may be assigned by the UPF or NG-RAN node associated with a given QoS flow. The DL QFI sequence number parameter may have a field length of 3 octets. Additionally, in some examples, the DL QFI sequence number parameter may have a field length between 0 and 2 octets. 24 The value range is between -1.

[0146] In some examples, such as Figure 4 As shown, an optional Sequence Number Presence (SNP) field 418 may also be included to indicate to the receiver that a DL QFI sequence number is present. In some examples, a value of 0 may indicate that a DL QFI sequence number is not present and a value of 1 may indicate that a DL QFI sequence number is present. For example, the SNP parameter may have a field length of 1 bit.

[0147] In some examples, packets of QoS flows in a PDU session applicable only for redundant transmission are marked with a DL QFI sequence number.

[0148] like Figure 4 As shown, the DL PDU Session Information (PDU Type 0) format may also include other fields, such as one or more "spare" fields, Point-to-Point Protocol (PPP) fields, Reflective QoS Indication (RQI) fields, Payload Protocol Identifier (PPI) fields, and "padding" fields. The number of bits and octets of these fields is also specified in Figure 4 is shown in an illustrative example.

[0149] Figure 5 An example of a UL PDU Session Information (PDU Type 1) format is shown. The UL PDU Session Information (PDU Type 1) format may be used for data packets similar to those sent according to Example B above, albeit in the UL direction.

[0150] like Figure 5 As shown, the UL PDU Session Information (PDU Type 1) format may include a field 516 indicating a PDU frame type "1".

[0151] In 522, Figure 5 Further shown is a field named "UL QFI Sequence Number" in frame type 1 of the UL PDU Session Information frame format. In some examples, this field may include 3 bytes. At 520, Figure 5 A UL QFI sequence number 522 is also shown to be associated in the same frame as the QoS flow identifier (QFI) 520. The QFI field 520 may be in an octet above the UL QFI sequence number 522 and may be used to identify to which QoS flow the packet belongs. The UL QFI sequence number for each QoS flow may then be associated and managed, i.e., if the next packet to be sent corresponds to the same QoS flow, the UL QFI sequence number is incremented. The UL QFI sequence number parameter may be assigned by the NG-RAN node or by the UPF function associated with a given QoS flow. The UL QFI sequence number parameter may have a field length between 0 and 3 octets. Additionally, in some examples, the UL QFI sequence number parameter may have a field length between 0 and 2 24 The value range is between -1.

[0152] In some examples, such as Figure 5 As shown, an optional SNP field 518 may also be included to indicate to the receiver that a UL QFI sequence number is present. In some examples, a value of 0 may indicate that there is no UL QFI sequence number and a value of 1 may indicate that there is a UL QFI sequence number. For example, the SNP parameter may have a field length of 1 bit.

[0153] In some examples, only QoS flows in a PDU session that are eligible for redundant transmission are marked with a UL QFI sequence number.

[0154] like Figure 5 As shown, the UL PDU Session Information (PDU Type 1) format may also include other fields, such as a "spare" field and a "padding" field. The number of bits and octets of these fields is also shown in Figure 5 is shown in an illustrative example.

[0155] In some of the above examples, data packets are sent between the UPF and the NG-RAN node. Data packets can also be sent between the first UPF and the second UPF in a similar manner.

[0156] Now refer to Figure 6 describing in more detail possible wireless communication devices, Figure 6A schematic partial cross-sectional view of a communication device 600 is shown. Such a communication device is generally referred to as a user equipment (UE) or a terminal. Any device capable of sending and receiving radio signals can provide a suitable mobile communication device. Non-limiting examples include a mobile station (MS) or a mobile device (such as a mobile phone or a so-called "smart phone"), a computer equipped with a wireless interface card or other wireless interface facilities (such as a USB dongle), a personal data assistant (PDA) or a tablet computer with wireless communication capabilities, or any combination of these devices, etc. The mobile communication device can provide, for example, data communications for carrying communications such as voice, e-mail (email), text messages, multimedia, etc. Therefore, a variety of services can be supplied and provided to users through the user's communication device. Non-limiting examples of these services include two-way or multi-way calls, data communications or multimedia services or simply access to a data communication network system, such as the Internet. Broadcast or multicast data can also be provided to users. Non-limiting examples of these contents include downloads, television and radio programs, videos, advertisements, various alarms and other information.

[0157] A wireless communication device may be, for example, a mobile device, i.e., a device that is not fixed to a particular location, or it may be a fixed device. A wireless device may or may not require human interaction to communicate. In the present teachings, the term UE or "user" is used to refer to any type of wireless communication device.

[0158] The wireless device 600 may receive signals over the air interface or radio interface 607 via appropriate means for receiving and may transmit signals via appropriate means for transmitting radio signals. Figure 6 In the wireless device, the transceiver device is schematically indicated by block 606. The transceiver device 606 may be provided, for example, by a radio component and an associated antenna arrangement. The antenna arrangement may be arranged internally or externally to the wireless device.

[0159] The wireless device is typically equipped with at least one data processing entity 601, at least one memory 602 and other possible components 603 for software and hardware-assisted execution of the tasks it is designed to perform, including access to and control of communications with access systems and other communication devices. Data processing, storage and other related control devices may be provided on a suitable circuit board and / or in a chipset. This function is represented by reference numeral 604. The user can control the operation of the wireless device through a suitable user interface such as a keyboard 605, voice commands, a touch-sensitive screen or touchpad, or a combination thereof. A display 608, a speaker and a microphone may also be provided. In addition, the wireless communication device may include appropriate connectors (wired or wireless) for connecting to other devices and / or for connecting external accessories (e.g., a hands-free device) thereto. The communication devices 602, 604, 605 may access the communication system based on various access technologies.

[0160] Figure 7 An example of a control device 700 for a communication system is shown, the control device being, for example, to be coupled to and / or used to control a station of an access system, such as a RAN node, such as a base station, a gNB, a central unit of a cloud architecture, or a node of a core network such as an MME or S-GW, a scheduling entity such as a spectrum management entity, or a server or host, or an IAB or a relay node. The device 700 may be coupled to an NG-RAN node, or to a portion of a UPF. The control device may be integrated with or external to a node or module of a core network or RAN. In some example embodiments, the base station includes a separate control device unit or module. In other example embodiments, the control device may be another network element, such as a radio network controller or a spectrum controller. In some example embodiments, each base station may have such a control device as well as a control device provided in a radio network controller. The control device 700 may be arranged to provide control of communications in a service area of ​​the system. The control device 700 includes at least one memory 701, at least one data processing unit 702, 703 and an input / output interface 704. Through the interface, the control device may be coupled to a receiver and a transmitter of the base station. The receiver and / or transmitter may be implemented as a radio front end or a remote radio head.For example, the control device 700 or the processor 701 may be configured to execute appropriate software code to provide control functionality.

[0161] Figure 8 is a flow chart of a method according to an example. Figure 8 The flowchart is viewed from the perspective of a device such as a NG-RAN node or UPF. Figure 8S801 includes sending a first data packet, wherein the first data packet includes: a data stream identifier indicating a data stream to which the first data packet belongs; and a data stream sequence number indicating a position of the first data packet in a sequence of the data stream.

[0162] Fig. 9 is a flow chart of a method according to an example. Fig. 9 The flowchart is viewed from the perspective of a device such as a NG-RAN node or UPF. Fig. 9 S901 includes receiving a first data packet, wherein the first data packet includes: a data stream identifier indicating a data stream to which the first data packet belongs; and a data stream sequence number indicating a position of the first data packet in a sequence of the data stream.

[0163] Fig.10 is a flow chart of a method according to an example. Fig.10 The flowchart can be executed by the system. Fig.10 S1001 includes sending a first data packet, the first data packet including: a data stream identifier indicating the data stream to which the first data packet belongs; and a data stream sequence number indicating the position of the first data packet in the sequence of the data stream. S1001 may be performed by a device such as an NG-RAN node or UPF in the system. S1002 includes receiving a first data packet, the first data packet including: a data stream identifier indicating the data stream to which the first data packet belongs; and a data stream sequence number indicating the position of the first data packet in the sequence of the data stream. S1002 may be performed by a device other than the device that does not perform S1001 in the system. In the case where S1001 is performed by the NG-RAN node, S1002 may be performed by the UPF. In the case where S1001 is performed by the UPF, S1002 may be performed by a different UPF or by the NG-RAN node.

[0164] In general, the various example embodiments may be implemented in hardware or dedicated circuits, software, logic, or any combination thereof. Some aspects of the invention may be implemented in hardware, while other aspects may be implemented in firmware or software that may be executed by a controller, microprocessor, or other computing device, but the invention is not limited thereto. Although various aspects of the invention may be illustrated and described as block diagrams, flow charts, or using some other graphical representation, it is readily understood that, as non-limiting examples, the blocks, devices, systems, techniques, or methods described herein may be implemented in hardware, software, firmware, dedicated circuits or logic, general purpose hardware or controllers or other computing devices, or some combination thereof.

[0165] In this application, the term "circuitry" may refer to one or more or all of the following: (a) a pure hardware circuit implementation (e.g., an implementation in analog and / or digital circuits only) and (b) a combination of hardware circuits and software, such as (as applicable): (i) a combination of analog and / or digital hardware circuits and software / firmware, (ii) any portion of a hardware processor (including a digital signal processor) with software, software, and memory that work together to enable a device (e.g., a mobile phone or server) to perform various functions) and (c) a hardware circuit and / or processor, such as a microprocessor or a portion of a microprocessor, which requires software (e.g., firmware) to operate, but the software may not be present when the operation does not require the software. This definition of circuitry applies to all uses of the term in this application (including in any claims). As another example, as used in this application, the term "circuitry" also covers an implementation of only a hardware circuit or processor (or multiple processors) or a portion of a hardware circuit or processor and its (or their) accompanying software and / or firmware. The term "circuitry" also covers, for example and if applicable to a particular claim element, a baseband integrated circuit or a processor integrated circuit for a mobile device or a similar integrated circuit in a server, cellular network device, or other computing or network device.

[0166] Exemplary embodiments of the present invention may be implemented by computer software executable by a data processor of a mobile device, for example in a processor entity, or by hardware, or by a combination of software and hardware. Computer software or programs, also referred to as program products, include software routines, applets and / or macros, which may be stored in any device-readable data storage medium, and they include program instructions for performing specific tasks. A computer program product may include one or more computer executable components that are configured to perform the exemplary embodiments when the program is run. One or more computer executable components may be at least one software code or a portion thereof.

[0167] Further in this regard, it should be noted that any block of the logic flow in the Figures may represent program steps, or interconnected logic circuits, blocks and functions, or a combination of program steps and logic circuits, blocks and functions. The software may be stored on physical media such as memory chips or memory blocks implemented within a processor, magnetic media such as hard disks or floppy disks, and optical media such as DVDs and their data variants CDs. Physical media is non-transitory media.

[0168] The memory may be of any type suitable for the local technical environment and may be implemented using any suitable data storage technology, such as semiconductor-based storage devices, magnetic storage devices and systems, optical storage devices and systems, fixed memory, and removable memory. The data processor may be of any type suitable for the local technical environment and may include, by way of non-limiting example, a general-purpose computer, a special-purpose computer, a microprocessor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), an FPGA, gate-level circuits based on a multi-core processor architecture, and processors.

[0169] Example embodiments of the present invention may be practiced in various components such as integrated circuit modules. The design of integrated circuits is generally a highly automated process. Complex and powerful software tools are available to convert logic level designs into semiconductor circuit designs ready to be etched and formed on semiconductor substrates.

[0170] The foregoing description has provided by way of non-limiting examples a complete and informative description of exemplary embodiments of the present invention. However, various modifications and adaptations will become apparent to those skilled in the relevant art in view of the foregoing description when read in conjunction with the accompanying drawings and the appended claims. However, all such and similar modifications of the teachings of the present invention will still fall within the scope of the present invention as defined by the appended claims. Indeed, there are further exemplary embodiments including combinations of one or more exemplary embodiments with any other exemplary embodiments discussed above.

Claims

1. An apparatus for a communication network, the apparatus comprising means for performing the following operations: Sending a first PDU session user plane protocol data packet to the second device through a first general packet radio service tunneling protocol GTP tunnel associated with a protocol data unit PDU session, wherein the first PDU session user plane protocol data packet includes: A Quality of Service QoS flow identifier field, comprising a value indicating the QoS flow to which the first PDU session user plane protocol data packet is associated; as well as a QoS Flow Sequence Number field, comprising a value indicating the position of the first PDU session user plane protocol data packet in a sequence for the QoS flow; as well as sending a second PDU session user plane protocol data packet to the second device via a second GTP tunnel associated with the PDU session, wherein the first GTP tunnel and the second GTP tunnel are different GTP tunnels, and wherein the second PDU session user plane protocol data packet is a copy of the first PDU session user plane protocol data packet, wherein the second PDU session user plane protocol data packet comprises: a QoS Flow Identifier field comprising a value identical to the value in the QoS Flow Identifier field of the first PDU session user plane protocol data packet; as well as A QoS flow sequence number field includes a value that is the same as the value in the QoS flow sequence number field of the first PDU session user plane protocol data packet.

2. The apparatus according to claim 1, wherein the first PDU session user plane protocol data packet includes a sequence number present field to indicate that the first PDU session user plane protocol data packet includes the QoS flow sequence number field.

3. The apparatus of claim 1, wherein the operations further comprise: The QoS flow sequence number is incremented when sending the next PDU session user plane protocol data packet in the QoS flow, so that the QoS flow sequence number of the next PDU session user plane protocol data packet in the QoS flow following the first PDU session user plane protocol data packet is 1 greater than the QoS flow sequence number of the first PDU session user plane protocol data packet.

4. The apparatus according to any one of claims 1 to 3, wherein the apparatus comprises a radio access network node and the second apparatus comprises a user plane function.

5. The apparatus according to any one of claims 1 to 3, wherein the apparatus comprises a user plane function and the second apparatus comprises a radio access network node.

6. The apparatus according to any one of claims 1 to 3, wherein the apparatus comprises a first user plane function and the second apparatus comprises a second user plane function.

7. The apparatus according to any one of claims 1 to 3, wherein the means for performing an operation comprises: at least one processor; as well as At least one memory including computer program code that, when executed by the at least one processor, causes the apparatus to perform the operations.

8. An apparatus for a communication network, the apparatus comprising means for performing the following operations: A first General Packet Radio Service Tunneling Protocol (GTP) packet is received from a second device via a first General Packet Radio Service Tunneling Protocol (PDU) tunnel associated with a Protocol Data Unit (PDU) session, wherein the first PDU session user plane protocol packet comprises: A Quality of Service QoS flow identifier field, comprising a value indicating the QoS flow to which the first PDU session user plane protocol data packet is associated; as well as a QoS Flow Sequence Number field, comprising a value indicating the position of the first PDU session user plane protocol data packet in a sequence for the QoS flow; as well as receiving a second PDU session user plane protocol packet from the second device via a second GTP tunnel associated with the PDU session, wherein the first GTP tunnel and the second GTP tunnel are different GTP tunnels, and wherein the second PDU session user plane protocol packet is a copy of the first PDU session user plane protocol packet, wherein the second PDU session user plane protocol packet comprises: a QoS Flow Identifier field comprising a value identical to the value in the QoS Flow Identifier field of the first PDU session user plane protocol data packet; as well as A QoS flow sequence number field includes a value that is the same as the value in the QoS flow sequence number field of the first PDU session user plane protocol data packet.

9. The apparatus of claim 8, wherein the operations further comprise: When the second PDU session user plane protocol data packet is received at a second time later than a first time at which the first PDU session user plane protocol data packet is received, the second PDU session user plane protocol data packet is discarded.

10. The apparatus of claim 9, wherein the operations further comprise: When the first PDU session user plane protocol data packet is received before the second PDU session user plane protocol data packet, further transmitting the first PDU session user plane protocol data packet; or When the second PDU session user plane protocol data packet is received before the first PDU session user plane protocol data packet, the second PDU session user plane protocol data packet is further transmitted.

11. The apparatus according to claim 8 or 9, wherein the first PDU session user plane protocol data packet includes a sequence number present field, and wherein the sequence number present field contains an indication that the first PDU session user plane protocol data packet includes the QoS flow sequence number field.

12. An apparatus according to claim 8 or 9, wherein the apparatus comprises a radio access network node and the second apparatus comprises a user plane function.

13. An apparatus according to claim 8 or 9, wherein the apparatus comprises a user plane function and the second apparatus comprises a radio access network node.

14. The apparatus of claim 8 or 9, wherein the apparatus comprises a first user plane function and the second apparatus comprises a second user plane function.

15. The device according to claim 8 or 9, wherein the component comprises: at least one processor; as well as At least one memory including computer program code that, when executed by the at least one processor, causes the apparatus to perform the operations.

16. A method for communication, comprising: A first PDU session user plane protocol data packet is sent through a first general packet radio service tunneling protocol GTP tunnel associated with a protocol data unit PDU session, wherein the first PDU session user plane protocol data packet includes: a Quality of Service QoS Flow Identifier field, comprising a value indicating the QoS flow to which the first PDU session user plane protocol data packet is associated; and a QoS Flow Sequence Number field, comprising a value indicating the position of the first PDU session user plane protocol data packet in a sequence for the QoS flow; and sending a second PDU session user plane protocol data packet through a second GTP tunnel associated with the PDU session, wherein the first GTP tunnel and the second GTP tunnel are different GTP tunnels, and wherein the second PDU session user plane protocol data packet is a copy of the first PDU session user plane protocol data packet, wherein the second PDU session user plane protocol data packet comprises: a QoS Flow Identifier field comprising a value identical to the value in the QoS Flow Identifier field of the first PDU session user plane protocol data packet; and A QoS flow sequence number field includes a value that is the same as the value in the QoS flow sequence number field of the first PDU session user plane protocol data packet.

17. A method for communication, comprising: A first PDU session user plane protocol data packet is received through a first general packet radio service tunneling protocol GTP tunnel associated with a protocol data unit PDU session, wherein the first PDU session user plane protocol data packet comprises: a Service Data QoS Flow Identifier field, comprising a value indicating the QoS flow to which the first PDU session user plane protocol data packet is associated; and a QoS Flow Sequence Number field, comprising a value indicating the position of the first PDU session user plane protocol data packet in a sequence for the QoS flow; and receiving a second PDU session user plane protocol data packet through a second GTP tunnel associated with the PDU session, wherein the first GTP tunnel and the second GTP tunnel are different GTP tunnels, and wherein the second PDU session user plane protocol data packet is a copy of the first PDU session user plane protocol data packet, wherein the second PDU session user plane protocol data packet comprises: a QoS Flow Identifier field comprising a value identical to the value in the QoS Flow Identifier field of the first PDU session user plane protocol data packet; and A QoS flow sequence number field includes a value that is the same as the value in the QoS flow sequence number field of the first PDU session user plane protocol data packet.

18. A computer program product comprising instructions for causing an apparatus to execute the method of claim 16.

19. A computer program product comprising instructions for causing an apparatus to execute the method of claim 17.

Citation Information

Patent Citations

  • Implementing EPC in cloud computer with OPENFLOW data plane

    CN104205055A

  • Acknowledgement of a range of sequence numbers

    CN105934906A

  • UDT (UDP-based data transfer) protocol based control method for reliable transmission in high-speed network

    CN107204834A

  • Data transmission method and data transmission device

    CN109392025A

  • Controlling quality of service in a mobile communications system

    CN1545365A