CN111357318B - Method and device for synchronizing between different data packet flows - Google Patents

Method and device for synchronizing between different data packet flows Download PDF

Info

Publication number
CN111357318B
CN111357318B CN201780096878.1A CN201780096878A CN111357318B CN 111357318 B CN111357318 B CN 111357318B CN 201780096878 A CN201780096878 A CN 201780096878A CN 111357318 B CN111357318 B CN 111357318B
Authority
CN
China
Prior art keywords
data packets
data packet
uplink
synchronization
related data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201780096878.1A
Other languages
Chinese (zh)
Other versions
CN111357318A (en
Inventor
许翔
沈洋
D·钱德拉莫利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Shanghai Bell Co Ltd
Nokia Solutions and Networks Oy
Original Assignee
Nokia Shanghai Bell Co Ltd
Nokia Solutions and Networks Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Shanghai Bell Co Ltd, Nokia Solutions and Networks Oy filed Critical Nokia Shanghai Bell Co Ltd
Publication of CN111357318A publication Critical patent/CN111357318A/en
Application granted granted Critical
Publication of CN111357318B publication Critical patent/CN111357318B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0231Traffic management, e.g. flow control or congestion control based on communication conditions
    • H04W28/0236Traffic management, e.g. flow control or congestion control based on communication conditions radio quality, e.g. interference, losses or delay

Abstract

Computer program products, methods, and apparatus for providing and implementing synchronization and packet delay variation policies are described.

Description

Method and device for synchronizing between different data packet flows
Technical Field
A method, apparatus and computer program product are provided for transmitting different data packet streams, and more particularly for synchronizing different data packet streams.
Background
Currently, in telecommunication systems where related data is transmitted in different data packet flows, the Core Network (CN) and the Radio Access Network (RAN) ensure that the packet delay budget is met for a particular data packet (or quality of service (QoS) flow). Despite the packet delay budget, synchronization and Packet Delay Variation (PDV) between related data packets may be uncontrolled, potentially resulting in lack of synchronization between different streams of related data packets. For example, audio and video streams of media files may be delivered for consumption without adequate synchronization therebetween. These synchronization problems may in turn impair the user experience during consumption of the different streams of related data packets.
Disclosure of Invention
Current telecommunication systems rely on the receiver (e.g., user Equipment (UE) in the Downlink (DL) direction) to use a buffer of appropriate size to first store received audio/video packets and then output these packets when all required data packets are received, or to output one or more data packets when a timer has expired. This approach provides synchronization, but can result in additional delays that may not meet the stringent requirements of certain applications. For example, in online gaming, there may be a strict deadline for completing an action, while a delay of over 100 milliseconds may affect the user's experience of playing the game. Additionally, the current approach also requires a large buffer in the UE in order to properly download and synchronize data packets from the data packet stream. In current telecommunication systems, packet Delay Variation (PDV) or packet delay jitter is handled similarly. For example, even if a data packet is sent to a UE within a required Packet Data Budget (PDB), the RAN may not know that the PDV is greater than a threshold for the particular data packet.
According to certain example embodiments, methods, apparatus and computer program products are provided to provide synchronization and Packet Delay Variation (PDV) policies at a Core Network (CN). Other embodiments implement synchronization and Packet Delay Variation (PDV) policies at a User Plane Function (UPF) and/or a Radio Access Network (RAN) in a telecommunications system.
In one embodiment, a method for providing synchronization and packet delay variation policies at a core network is provided. The method comprises the following steps: receiving one or more synchronization and packet delay variation policy parameters from an application server to a policy control function of a core network; determining, at the policy control function, a synchronization and packet delay variation policy using one or more synchronization and packet delay variation policy parameters; determining a differential service code point value at a session management function of the core network based on the synchronization and packet delay variation policies; causing the synchronization and packet delay variation policies to be transmitted to the radio access network using a user plane or a carrier plane; and causing the synchronization and packet delay variation policies and the differentiated services code point values to be communicated to the user plane function.
In one embodiment of the method, the synchronization and packet delay variation policy parameters include one or more of the following: a maximum unidirectional delay for packet transfer between the user device and the application server, a synchronization threshold between the one or more data packet flows, a packet delay variation threshold for each of the one or more data packet flows, a synchronization clock for each of the one or more data packet flows, a sampling rate for each of the one or more data packet flows, real-time protocol parameters, identification information for each of the one or more flows.
In another embodiment, an apparatus for providing synchronization and packet delay variation policies at a core network is provided. The apparatus includes at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus at least to: receiving one or more synchronization and packet delay variation policy parameters from an application server to a policy control function of a core network, determining, at the policy control function, a synchronization and packet delay variation policy using the one or more synchronization and packet delay variation policy parameters, determining, at a session management function of the core network, a differential service code point value based on the synchronization and packet delay variation policy, causing the synchronization and packet delay variation policy to be transmitted to a radio access network using a user plane or carrier plane, and causing the synchronization and packet delay variation policy and the differential service code point value to be transmitted to the user plane function.
In one example, the synchronization and packet delay variation policy parameters include one or more of the following: a maximum unidirectional delay for packet transfer between the user device and the application server, a synchronization threshold between the two data packet flows, a packet delay variation threshold for each of the one or more data packet flows, a synchronization clock for each of the two data packet flows, a sampling rate for each of the one or more data packet flows, real-time protocol parameters, and identification information for each of the one or more flows.
In another embodiment, a non-transitory computer readable storage medium for providing synchronization and packet delay variation policies at a core network is provided. The non-transitory computer readable storage medium stores program code instructions that, when executed, cause an apparatus to perform the above-described method.
In another embodiment, a method for implementing synchronization and packet delay variation policies at a user plane function is provided. The method comprises the following steps: the method includes receiving a synchronization and packet delay variation policy and a differential service code point value from a session management function, receiving one or more data packets from one or more data flows from an application server, determining scheduling assistance information for each of the one or more packets using the synchronization and packet delay variation policy, determining a transport layer differential service code point value based on the differential service code point value and the scheduling assistance information, determining a user plane function delivery sequence for the one or more data packets based on the scheduling assistance information, and causing each of the one or more data packets to be transmitted to a radio access network according to the user plane function delivery sequence.
In one example, the method further comprises: scheduling assistance information is caused to be transmitted with each of the one or more data packets, wherein the scheduling assistance information causes the radio access network to determine a radio access network delivery sequence and to transmit the one or more data packets according to the radio access network delivery sequence.
In one embodiment, the one or more data packets are received from the application server in a first order and the user plane function delivery sequence includes a second order. In one example, the first order is different from the second order.
In one embodiment, the synchronization and packet delay variation policy is based on one or more synchronization and packet delay variation policy parameters, and wherein the one or more synchronization and packet delay variation policy parameters include one or more of: a maximum unidirectional delay for packet transfer between the user device and the application server, a synchronization threshold between the one or more data packet flows, a packet delay variation threshold for each of the one or more data packet flows, a synchronization clock for each of the one or more data packet flows, a sampling rate for each of the one or more data packet flows, real-time protocol parameters, and identification information for each of the one or more flows.
In one example, the scheduling assistance information includes one or more scheduling parameters selected from the group consisting of: a packet transmission deadline for each of the one or more data packets, a remaining acceptable delay for each of the one or more data packets, a cumulative delay for each of the one or more data packets, a data packet synchronization relationship with one or more data packets from another data packet stream, a data packet delay variation relationship with one or more data packets from the same data packet stream, and a conflict rule, wherein the conflict rule determines which scheduling parameter is to be met if one or more scheduling parameters cannot be met.
In one example, the method further comprises: the method includes receiving one or more uplink data packets from a radio access network, wherein the uplink data packets include timing information, determining an uplink differential service code point value for each of the uplink data packets using the timing information, determining a user plane function uplink transfer sequence for the one or more uplink data packets based on the timing information, and causing each of the one or more uplink data packets to be transmitted to an application server according to the determined user plane function uplink transfer sequence.
In one example, one or more uplink data packets are received from the radio access network in a first uplink order, and wherein the user plane function uplink transfer sequence includes a second uplink order. In one example, the first uplink order is different from the second uplink order.
In another embodiment, an apparatus for implementing synchronization and packet delay variation policies at a user plane function is provided. The apparatus includes at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus at least to: the method includes receiving a synchronization and packet delay variation policy and a differential service code point value from a session management function, receiving one or more data packets from one or more data flows from an application server, determining scheduling assistance information for each of the one or more packets using the synchronization and packet delay variation policy, determining a transport layer differential service code point value based on the differential service code point value and the scheduling assistance information, determining a user plane function delivery sequence for the one or more data packets based on the scheduling assistance information, and causing each of the one or more data packets to be transmitted to a radio access network according to the user plane function delivery sequence.
In one example, the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus at least to: scheduling assistance information is caused to be transmitted with each of the one or more data packets, wherein the scheduling assistance information causes the radio access network to determine a radio access network delivery sequence and to transmit the one or more data packets according to the radio access network delivery sequence.
In one example, the one or more data packets are received from the application server in a first order, and wherein the user plane function delivery sequence includes a second order. In one example, the first order is different from the second order.
In one example, the synchronization and packet delay variation policy is based on one or more synchronization and packet delay variation policy parameters, and wherein the one or more synchronization and packet delay variation policy parameters include one or more of: a maximum unidirectional delay for packet transfer between the user device and the application server, a synchronization threshold between the one or more data packet flows, a packet delay variation threshold for each of the one or more data packet flows, a synchronization clock for each of the one or more data packet flows, a sampling rate for each of the one or more data packet flows, real-time protocol parameters, and identification information for each of the one or more flows.
In one example, the scheduling assistance information includes one or more scheduling parameters selected from the group consisting of: a packet transmission deadline for each of the one or more data packets, a remaining acceptable delay for each of the one or more data packets, a cumulative delay for each of the one or more data packets, a data packet synchronization relationship with one or more data packets from another data packet stream, a data packet delay variation relationship with one or more data packets from the same data packet stream, and a conflict rule, wherein the conflict rule determines which scheduling parameter is to be met if one or more scheduling parameters cannot be met.
In one example, the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus at least to: the method includes receiving one or more uplink data packets from a radio access network, wherein the uplink data packets include timing information, determining an uplink differential service code point value for each of the uplink data packets using the timing information, determining a user plane function uplink transfer sequence for the one or more uplink data packets based on the timing information, and causing each of the one or more uplink data packets to be transmitted to an application server according to the determined user plane function uplink transfer sequence.
In one example, one or more uplink data packets are received from the radio access network in a first uplink order, and wherein the user plane function uplink transfer sequence includes a second uplink order.
In one example, the first uplink order is different from the second uplink order.
In another embodiment, a non-transitory computer-readable storage medium for implementing synchronization and packet delay variation policies at a user plane function is provided. The non-transitory computer readable storage medium stores program code instructions that, when executed, cause an apparatus to perform the above-described method.
In another example embodiment, a method for implementing synchronization and packet delay variation policies at a radio access network is provided. The method comprises the following steps: the method includes receiving a synchronization and packet delay variation policy from a session management function, receiving one or more data packets with scheduling assistance information from one or more data packet flows from a user plane function, determining a radio access network delivery sequence for the one or more data packets based on the scheduling assistance information and quality of service information, and causing each of the one or more data packets to be transmitted to a user equipment according to the radio access network delivery sequence.
In one example, one or more data packets are received from the user plane function in a first order, and wherein the radio access network delivery sequence includes a second order. In one example, the first order is different from the second order.
In one example, the synchronization and packet delay variation policy is based on one or more synchronization and packet delay variation policy parameters, and wherein the one or more synchronization and packet delay variation policy parameters include one or more of: maximum one-way delay for packet transfer between the user device and the application server; a synchronization threshold between one or more data packet streams; a packet delay variation threshold for each of the one or more data packet flows; a synchronization clock for each of the one or more data packet streams; sampling rates for each of the one or more data packet streams; real-time protocol parameters; and identification information for each of the one or more data packet streams.
In one example, the scheduling assistance information includes one or more scheduling parameters selected from the group consisting of: a packet transmission deadline for each of the one or more data packets, a remaining acceptable delay for each of the one or more data packets, a cumulative delay for each of the one or more data packets, a data packet synchronization relationship with one or more data packets from another data packet stream, a data packet delay variation relationship with one or more data packets from the same data packet stream, and a conflict rule, wherein the conflict rule determines which scheduling parameter is to be met if one or more scheduling parameters cannot be met.
In one example, the method further comprises: the method includes receiving one or more uplink data packets from a user equipment, wherein the one or more uplink data packets include timing information, determining an uplink differential service code point value for each of the uplink data packets using the timing information, determining a radio access network uplink transfer sequence for the one or more uplink data packets based on the timing information, and causing each of the one or more uplink data packets to be transmitted to a user plane function according to the radio access network uplink transfer sequence.
In one example, one or more uplink data packets are received from the user equipment in a first uplink order, and wherein the radio access network uplink transfer sequence includes a second uplink order. In one example, the first uplink order is different from the second uplink order.
In another example embodiment, an apparatus for implementing synchronization and packet delay variation policies at a radio access network is provided. The apparatus includes at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus at least to: the method includes receiving a synchronization and packet delay variation policy from a session management function, receiving one or more data packets with scheduling assistance information from one or more data packet flows from a user plane function, determining a radio access network delivery sequence for the one or more data packets based on the scheduling assistance information and quality of service information, and causing each of the one or more data packets to be transmitted to a user equipment according to the radio access network delivery sequence.
In one example, one or more data packets are received from the user plane function in a first order, and wherein the radio access network delivery sequence includes a second order. In one example, the first order is different from the second order.
In one example, the synchronization and packet delay variation policy is based on one or more synchronization and packet delay variation policy parameters, and wherein the one or more synchronization and packet delay variation policy parameters include one or more of: a maximum unidirectional delay for packet transfer between the user device and the application server, a synchronization threshold between the one or more data packet flows, a packet delay variation threshold for each of the one or more data packet flows, a synchronization clock for each of the one or more data packet flows, a sampling rate for each of the one or more data packet flows, real-time protocol parameters, and identification information for each of the one or more data packet flows.
In one example, the scheduling assistance information includes one or more scheduling parameters selected from the group consisting of: a packet transmission deadline for each of the one or more data packets, a remaining acceptable delay for each of the one or more data packets, a cumulative delay for each of the one or more data packets, a data packet synchronization relationship with one or more data packets from another data packet stream, a data packet delay variation relationship with one or more data packets from the same data packet stream, and a conflict rule, wherein the conflict rule determines which scheduling parameter is to be met if one or more scheduling parameters cannot be met.
In one example, the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus at least to: the method includes receiving one or more uplink data packets from a user equipment, wherein the one or more uplink data packets include timing information, determining an uplink differential service code point value for each of the uplink data packets using the timing information, determining a radio access network uplink transfer sequence for the one or more uplink data packets based on the timing information, and causing each of the one or more uplink data packets to be transmitted to a user plane function according to the radio access network uplink transfer sequence.
In one example, one or more uplink data packets are received from the user equipment in a first uplink order, and wherein the radio access network uplink transfer sequence includes a second uplink order. In one example, the first uplink order is different from the second uplink order.
In another example embodiment, a non-transitory computer-readable storage medium for implementing synchronization and packet delay variation policies at a radio access network is provided. The non-transitory computer readable storage medium stores program code instructions that, when executed, cause an apparatus to perform the above-described method.
Drawings
Having thus described certain example embodiments of the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
FIG. 1 is a networked system according to an example embodiment of the present disclosure;
FIG. 2 is an alternative view of the networking system of FIG. 1, according to an example embodiment of the present disclosure;
fig. 3 is a block diagram of a core network apparatus configured in accordance with an example embodiment of the present disclosure;
fig. 4 is a block diagram of a radio access network apparatus configured in accordance with an example embodiment of the present disclosure;
FIG. 5 is an endpoint flow diagram according to an example embodiment of the present disclosure;
FIG. 6 is a flowchart illustrating providing synchronization and PDV policies according to an example embodiment of the disclosure;
fig. 7 and 9 are flowcharts illustrating implementation of synchronization and PDV policies at a user plane function according to example embodiments of the present disclosure;
FIG. 8 is an additional endpoint flow diagram according to an example embodiment of the present disclosure;
fig. 10 and 12 are flowcharts illustrating implementation of synchronization and PDV policies at a radio access network according to example embodiments of the present disclosure; and
fig. 11 is an additional endpoint flow diagram in accordance with an example embodiment of the present disclosure.
Detailed Description
Some embodiments of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the invention are shown. Indeed, various embodiments of the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like numbers refer to like elements throughout. As used herein, the terms "data," "content," "information," and similar terms may be used interchangeably to refer to data capable of being transmitted, received and/or stored in accordance with embodiments of the present invention. Thus, use of any such terms should not be taken to limit the spirit and scope of embodiments of the present invention.
Additionally, as used herein, the term "circuitry" refers to (a) hardware-only circuit implementations (e.g., implementations of analog circuitry and/or digital circuitry); (b) A combination of circuitry and computer program product(s) comprising software and/or firmware instructions stored on one or more computer-readable memories, the software and/or firmware instructions working together to cause an apparatus to perform one or more functions described herein; (c) Circuits, such as, for example, microprocessor(s) or portions of microprocessor(s), require software or firmware to operate even if the software or firmware is not actually present. This definition of "circuitry" applies to all uses of this term herein, including in any claims. As a further example, as used herein, the term "circuitry" also includes an implementation that includes one or more processors and/or portion(s) thereof, as well as accompanying software and/or firmware. As defined herein, a "computer-readable storage medium" that refers to a physical storage medium (e.g., a volatile or non-volatile memory device) can be distinguished from a "computer-readable transmission medium" that refers to an electromagnetic signal.
According to example embodiments, methods, apparatus and computer program products are provided for providing synchronization of packet data flows and control of packet delay variation in a mobile network as described herein.
Fig. 1 is a networked system 100 according to an example embodiment of the present disclosure. Fig. 1 specifically illustrates a User Equipment (UE) 102 that may communicate with a Radio Access Network (RAN) 104, an access and mobility management function (AMF) 108, and a User Plane Function (UPF) 106. The AMF108, in turn, may communicate with core network services including a Session Management Function (SMF) 110 and a Policy Control Function (PCF) 114. The core network services may also communicate with application servers/application functions (AS/AF) 112. Other networking services also include a Network Slice Selection Function (NSSF) 122, an authentication server function (AUSF) 120, user Data Management (UDM) 118, and a Data Network (DN) 116.
The fifth generation (5G) quality of service (QoS) model supports a QoS flow-based framework. QoS flows are the best granularity for QoS differentiation in Packet Data Unit (PDU) sessions. QoS Flow ID (QFI) is used to identify QoS flows in 5G systems. User plane traffic with the same QFI within a PDU session receives the same traffic forwarding treatment (e.g., scheduling or admission threshold).
As shown in fig. 1, SMF 110 performs binding of a Service Delivery Framework (SDF) to QoS flows based on QoS and service requirements (e.g., received Policy Control and Charging (PCC) rules) of the SDF. SMF 110 assigns QFI to the new QoS flow and derives its QoS profile from the information provided by PCF 114. When applicable, SMF 110 also provides QFI to RAN 104 along with the QoS profile. The SMF 110 provides SDF templates (e.g., a set of packet filters associated with the SDF received from the PCF) to the UPF 106 along with SDF priority, qoS related information, and corresponding packet marking information, such as QFI, differential Service Code Point (DSCP) values, and optionally reflective QoS indications, to enable classification, bandwidth enforcement (bandwidth enforcement), and marking of user plane traffic.
In the downlink, incoming data packets are classified by the UPF 106 based on the SDF template according to their SDF priority. The UPF 106 uses the QFI to communicate the classification of user plane traffic belonging to the QoS flow through the user plane label. RAN 104 binds the QoS flows to RAN resources (e.g., data radio bearers in the case of a 3GPP RAN). In some examples, there may not be a one-to-one mapping between QoS flows and RAN resources. In this case, the necessary RAN resources are established by RAN 104 to map QoS flows.
An example one-to-one mapping of normalized 5QI values to 5G QoS characteristics is specified in table 1.
Table 1: mapping of standardized 5QI to QoS characteristics
The Packet Delay Budget (PDB) defines an upper limit on the time that packets can be delayed between the UE and the UPF. A delay budget of 20ms is assumed between the packet gateway (e.g., UPF of 5G) and the base station. The remaining delay budget is used for the air interface in the telecommunication network. The RAN mainly considers the PDB to determine when packets should be sent to the UE. For example, for an identified Quality Class (QCI) of 1, 80% (i.e., 80 ms) of the pdb is part of the delay budget allocated to the air interface. The PDB may be satisfied as long as the RAN node can transmit data at any time within the window of 80ms (e.g., 10:00:00.100-10:00: 00.180). According to some example embodiments, the RAN scheduling may also take into account synchronization requirements and PDV requirements, which may change the delivery window. For example, to meet the requirements of PDB, synchronization, and PDV, the size of the data window may be reduced to 30ms (e.g., 10:00:00.130-10:00:00.160).
Some internet applications use multiple service flows, each requiring a different QoS. For example, an online gaming application may use both a video streamlet or video stream and an audio streamlet or audio stream, each having different QoS requirements. These types of services may require synchronization between audio and video. For example, the audio video synchronization threshold may be: 125ms-5ms for audio delay and 45ms-5ms for audio advance. In some scenarios, the audio stream and the video stream may share the same QoS stream.
According to an example embodiment, the PDV may be considered a QoS parameter. For example, in interactive real-time applications (e.g., voice over IP (VoIP)), PDV may be important and thus VoIP transmissions may require a quality of service enabled network to provide a high quality channel. In some examples, PDV exceeding 40ms may result in a severe degradation of call quality.
Table 2 shows example performance requirements for a low latency high reliability scenario.
Table 2:
in some examples, CN services and RAN104 ensure that the packet delay budget is met for a particular data packet flow or QoS flow.
According to some example embodiments, synchronization requirements may be used to improve the user experience. For example, RAN104 receives audio packets A1 and A2 and video packet V1.PDB is 100ms for audio and 150ms for video. The synchronization requirements are [125ms audio delay and 45ms audio advance ]. RAN104 receives audio packet A2 before video packet V1. If the RAN104 does not know the synchronization requirements, it may send audio packets A1 and A2, followed by video packet V1. All packets will be delivered within the PDB, but lack of synchronization may negatively impact the user experience. According to some example embodiments, if RAN104 is made aware of the synchronization requirement, RAN104 will know that video packet V1 is to be sent before audio packet A2 to meet the requirement, thereby improving the user experience.
In some examples, the UE 102 utilizes a buffer to first store received audio/video packets and then output these packets when all required data packets are received, or output data packets when a timer expires. This example may solve some synchronization problems, but may result in additional delays that may not meet the requirements of certain applications.
In another example, RAN 104 may include a content aware function RAN (CAF) that may examine DL packets and further fine tune DL packet scheduling. Many audio/video packets are sent via the real-time transport protocol RTP. CAF can check the time stamp information of the audio/video packets and then adjust the schedule. But this has some problems. For example, CAF may not know that DL packets or QoS flows are related to the same application.
Additionally, the RTP timestamps in the video and audio streams may not be directly related to each other. For example, the audio timestamp may start at 1000, while the video RTP timestamp may start at 2000 (which is the purpose of RTP control protocol sender reporting). CAF may not be able to determine how to synchronize RTP audio and video streams by just looking at RTP packets. Also, CAF requires Deep Packet Inspection (DPI), which is typically performed in the CN.
Fig. 2 is an alternative view of the system 100 of fig. 1, according to an example embodiment of the present disclosure. AS shown in fig. 2, RAN 104 and UPF 106 are part of a synchronization and PDV service 204, which synchronization and PDV service 204 implements synchronization and PDV policies on data packets sent from AS/AF 112 to UE 102.
Turning now to fig. 3, an example of a core network device (CNA) (including core network services: UPF 106, AMF 108, SMF 110, and PCF 114) that may be implemented as a core network device 300 configured according to an example embodiment of the present disclosure is depicted. As described below in connection with the flowcharts of fig. 6, 7, and 9, CNA 300 of the example embodiments may be configured to perform the functions described herein. In any event, CNA 300 can be more generally implemented by a computing device, such as a server, personal computer, computer workstation, or other type of computing device, including computing devices that function as network devices. Regardless of the manner in which CNA 300 is implemented, the apparatus of the example embodiments may be configured as shown in fig. 3 so as to include processing circuitry 308, associated with processing circuitry 308, or otherwise in communication with processing circuitry 308, processing circuitry 308 including, for example, processor 302 and memory device 304, and in some embodiments and/or CNA communication interface 306.
In processing circuitry 308, processor 302 (and/or a coprocessor, or any other circuitry that aids in or is otherwise associated with the processor) may communicate with memory device 304 via a bus to transfer information between components of CAN 300. The memory device may include, for example, one or more volatile and/or non-volatile memories. In other words, for example, the memory device may be an electronic storage device (e.g., a computer-readable storage medium) comprising gates configured to store data (e.g., bits) that may be retrievable by a machine (e.g., a computing device such as a processor). The memory device may be configured to store information, data, content, applications, instructions or the like that enable the apparatus to perform various functions in accordance with example embodiments of the invention. For example, the memory device may be configured to buffer input data for processing by the processor. Additionally or alternatively, the memory device may be configured to store instructions for execution by the processor.
In some embodiments, CNA 300 may be implemented in various computing devices as described above. However, in some embodiments, the apparatus may be implemented as a chip or chip set. In other words, the apparatus may include one or more physical packages (e.g., chips) that include materials, components, and/or wires on a structural component (e.g., a backplane). The structural component may provide physical strength, size savings, and/or limitations of electrical interaction for component circuitry included thereon. Thus, in some cases, the apparatus may be configured to implement embodiments of the invention on a single chip or as a single "system on a chip". As such, in some cases, a chip or chipset may constitute a means for performing one or more operations to provide the functionality described herein.
The processor 302 may be implemented in a number of different ways. For example, a processor may be implemented as one or more of various hardware processing components, such as a coprocessor, a microprocessor, a controller, a Digital Signal Processor (DSP), a processing element with or without an accompanying DSP, or various other circuitry including integrated circuits such as, for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), a microcontroller unit (MCU), a hardware accelerator, a special-purpose computer chip, or the like. As such, in some embodiments, a processor may include one or more processing cores configured to execute independently. Multi-core processors may implement multiprocessing within a single physical package. Additionally or alternatively, the processors may include one or more processors configured in series via a bus to enable independent execution of instructions, pipelining, and/or multithreading.
In an example embodiment, the processor 302 may be configured to execute instructions stored in the memory device 304 or otherwise accessible to the processor. Alternatively or additionally, the processor may be configured to perform hard-coded functions. As such, whether configured by hardware or software methods, or by a combination thereof, a processor may represent an entity (e.g., physically embodied in circuitry) capable of performing operations according to embodiments of the disclosure while configured accordingly. Thus, for example, when the processor is implemented as an ASIC, FPGA, or the like, the processor may be specifically configured hardware for performing the operations described herein. Alternatively, as another example, when the processor is implemented as an executor of instructions, the instructions may specifically configure the processor to perform the algorithms and/or operations described herein when the instructions are executed. However, in some cases, the processor may be a processor configured to employ particular devices (e.g., encoders and/or decoders) of embodiments of the present invention by further configuring the processor with instructions for performing the algorithms and/or operations described herein. A processor may include, among other things, a clock, an Arithmetic Logic Unit (ALU), and logic gates configured to support operation of the processor.
In embodiments including CNA communication interface 306, the communication interface may be any component, such as a device or circuitry implemented in hardware or a combination of hardware and software, configured to receive/transmit data from/to a network and/or any other device or module in communication with CAN 300, such as a UE, a radio access network, a core network service, an application server/function, a database or other storage device, etc. In this regard, the communication interface may comprise, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications with a wireless communication network. Additionally or alternatively, the communication interface may include circuitry to interact with the antenna(s) to cause transmission of signals via the antenna(s) or to process reception of signals received via the antenna(s). In some environments, the communication interface may alternatively or also support wired communication. Thus, for example, the communication interface may include a communication modem and/or other hardware/software for supporting communication via cable, digital Subscriber Line (DSL), universal Serial Bus (USB), or other mechanisms.
Turning now to fig. 4, an example of a RAN 104 apparatus may be implemented as a RAN apparatus configured in accordance with an example embodiment of the present disclosure. As described below in connection with the flowcharts of fig. 10 and 12, RAN 104 of the example embodiment may be configured to perform the functions described herein. In any event, RAN 104 may be more generally implemented by a computing device, such as a server, personal computer, computer workstation, or other type of computing device, including a computing device that functions as a radio access network device. Regardless of the manner in which RAN 104 is implemented, the apparatus of the example embodiments may be configured as shown in fig. 4 to include processing circuitry 400, associated with processing circuitry 400, or otherwise in communication with processing circuitry 400, processing circuitry 400 including, for example, a processor 402 and a memory device 404, and in some embodiments, and/or a RAN communication interface 406.
In processing circuitry 400, processor 402 (and/or a coprocessor, or any other circuitry that assists or is otherwise associated with the processor) may communicate with memory device 404 via a bus to transfer information between components of RAN 104. The memory device may include, for example, one or more volatile and/or non-volatile memories. In other words, for example, the memory device may be an electronic storage device (e.g., a computer-readable storage medium) comprising gates configured to store data (e.g., bits) that may be retrievable by a machine (e.g., a computing device such as a processor). The memory device may be configured to store information, data, content, applications, instructions or the like that enable the apparatus to perform various functions in accordance with example embodiments of the invention. For example, the memory device may be configured to buffer input data for processing by the processor. Additionally or alternatively, the memory device may be configured to store instructions for execution by the processor.
In some embodiments, RAN 104 may be implemented in various computing devices as described above. However, in some embodiments, the apparatus may be implemented as a chip or chip set. In other words, the apparatus may include one or more physical packages (e.g., chips) that include materials, components, and/or wires on a structural component (e.g., a backplane). The structural component may provide physical strength, size savings, and/or limitations of electrical interaction for component circuitry included thereon. Thus, in some cases, the apparatus may be configured to implement embodiments of the invention on a single chip or as a single "system on a chip". As such, in some cases, a chip or chipset may constitute a means for performing one or more operations to provide the functionality described herein.
The processor 402 may be implemented in a number of different ways. For example, a processor may be implemented as one or more of various hardware processing components, such as a coprocessor, a microprocessor, a controller, a Digital Signal Processor (DSP), a processing element with or without an accompanying DSP, or various other circuitry including integrated circuits such as, for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), a microcontroller unit (MCU), a hardware accelerator, a special-purpose computer chip, or the like. As such, in some embodiments, a processor may include one or more processing cores configured to execute independently. Multi-core processors may implement multiprocessing within a single physical package. Additionally or alternatively, the processors may include one or more processors configured in series via a bus to enable independent execution of instructions, pipelining, and/or multithreading.
In an example embodiment, the processor 402 may be configured to execute instructions stored in the memory device 404 or otherwise accessible to the processor. Alternatively or additionally, the processor may be configured to perform hard-coded functions. As such, whether configured by hardware or software methods, or by a combination thereof, a processor may represent an entity (e.g., physically embodied in circuitry) capable of performing operations according to embodiments of the disclosure while configured accordingly. Thus, for example, when the processor is implemented as an ASIC, FPGA, or the like, the processor may be specifically configured hardware for performing the operations described herein. Alternatively, as another example, when the processor is implemented as an executor of instructions, the instructions may specifically configure the processor to perform the algorithms and/or operations described herein when the instructions are executed. However, in some cases, the processor may be a processor configured to employ particular devices (e.g., encoders and/or decoders) of embodiments of the present invention by further configuring the processor with instructions for performing the algorithms and/or operations described herein. A processor may include, among other things, a clock, an Arithmetic Logic Unit (ALU), and logic gates configured to support operation of the processor.
In embodiments including RAN communication interface 406, the communication interface may be any component, such as a device or circuitry implemented in hardware or a combination of hardware and software, configured to receive/transmit data from/to a network and/or any other device or module in communication with RAN104, such as a UE, a core network service, an application server/function, a database or other storage device, etc. In this regard, the communication interface may comprise, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications with a wireless communication network. Additionally or alternatively, the communication interface may include circuitry to interact with the antenna(s) to cause transmission of signals via the antenna(s) or to process reception of signals received via the antenna(s). In some environments, the communication interface may alternatively or also support wired communication. Thus, for example, the communication interface may include a communication modem and/or other hardware/software for supporting communication via cable, digital Subscriber Line (DSL), universal Serial Bus (USB), or other mechanisms.
Fig. 5 is an endpoint flow diagram according to an example embodiment of the present disclosure. AS shown, the synchronization and PDV requirements may be sent from the AS/AF 112 to the PCF 114 and SMF 110, UPF 106, and RAN104 via the AMF 108, AS shown in operations 502a-502 d. Operations 504 through 532 illustrate example data packet progression through the networking system 100 according to example embodiments described herein.
Referring now to fig. 6, operations such as performed by CNA 300 of fig. 3 (which may be implemented by or in conjunction with processing circuitry 308) to provide synchronization and Packet Delay Variation (PDV) policies at a Core Network (CN) are illustrated. As shown in block 602 of fig. 6, the apparatus of this example embodiment includes means, such as processing circuitry 308, processor 302, etc., for receiving one or more synchronization and PDV policy parameters (such as shown by operation 502a in fig. 5) from an application server to a Policy Control Function (PCF) 114 of the CN. In some examples, the synchronization and PDV policy parameters include one or more of the following: maximum one-way delay for packet transfer between the user device and the application server; a synchronization threshold between one or more data packet streams (e.g., in the range of [125ms-5ms ] for audio delay and in the range of [45ms-5ms ] for audio advance); a PDV threshold (e.g., 20ms for an audio stream) for each of the one or more data packet streams; a synchronization clock (e.g., network time protocol (NTP time)) for each of the one or more data packet streams; the sampling rate of each of the one or more data packet streams (e.g., 8KHz for audio, which may help the CN know the frequency of transmission of the audio packets); real-time protocol (RTP) parameters (e.g., a start time stamp for each stream); and/or identification information (e.g., SDF or application ID) for each of the one or more flows. Although the embodiments described herein relate to one or more related data packet streams, such as related audio and video streams, the methods, apparatuses, and computer program products of other embodiments may synchronize any number of data packet streams in a comparable manner. The data streams may be related in that data packets of one data stream need to be communicated relative to data packets of another data packet stream. Since the data packets of a data packet stream must be communicated relative to each other, it is important that they are properly synchronized to provide the desired user experience. For example, the audio stream and the video stream need to be delivered in a synchronized manner for the user to view the synchronized video and audio output.
As shown in block 604 of fig. 6, the apparatus of this example embodiment includes means, such as processing circuitry 308, processor 302, etc., for utilizing one or more synchronization and PDV policy parameters at a PCF, such as PCF 114, to determine a synchronization and PDV policy. In one example, the network operator provides the configuration of the policy in a PCF or Application Function (AF), which may then provide the policy to the PCF, which in turn provides policy information to the SMF. In another example, synchronization and PDV policies may be configured in SMF on a per application basis for well known applications such as video/audio applications. In some examples, the SMF will provide synchronization and PDV policies to the RAN, UPF, and if needed to the UE.
As shown in block 606 of fig. 6, the apparatus of this example embodiment includes means, such as processing circuitry 308, processor 302, etc., for determining a proposed Differential Service Code Point (DSCP) value based on synchronization and PDV policies at a Session Management Function (SMF) of the CN, such as SMF 110. For example, the proposed DSCP value given by the PCF for audio and video packets may be a "default PHB," which may be best-effort (best-effort) traffic. In the event that an audio packet has experienced a long delay, the UPF described below may set the DSCP of the audio packet to "fast forwarding (EF) PHB".
As shown in block 608 of fig. 6, the apparatus of this example embodiment includes means, such as processing circuitry 308, processor 302, communication interface 306, etc., for causing the synchronization and PDV policies to be communicated to a Radio Access Network (RAN), such as RAN 104, using a user plane or carrier plane as shown in operation 502c of fig. 5. In some examples, the AMF 108 informs the RAN of the synchronization and PDV policies, as well as information about the data packet flows. AMF 108 may also inform RAN 104 of the QoS flow ID, 5G quality indicator (5 QI), and other networking information.
As shown in block 610 of fig. 6, the apparatus of this example embodiment includes means, such as the processing circuitry 308, the processor 302, the communication interface 306, etc., for causing the synchronization and PDV policies and the proposed DSCP values to be transmitted to the user plane function (such as the UPF 106) as shown in operation 502b of fig. 5.
Referring now to fig. 7, operations such as performed by the CNA 300 of fig. 3 (which may be implemented by or in conjunction with the processing circuitry 308) to implement synchronization and Packet Delay Variation (PDV) policies at a User Plane Function (UPF), such as UPF 106, which may be implemented by a computing device such as that described with respect to fig. 3, are illustrated. As shown in block 702 of fig. 7, the apparatus of this example embodiment includes means, such as processing circuitry 308, processor 302, etc., for receiving the synchronization and PDV policies and the proposed DSCP value (such as shown in operation 502b of fig. 5) from a Session Management Function (SMF). In some examples, the synchronization and PDV policy is based on one or more synchronization and PDV policy parameters. The synchronization and PDV policy parameters may include one or more of the following: maximum one-way delay for packet transfer between the user device and the application server; a synchronization threshold between one or more data packet streams; a PDV threshold for each of the one or more data packet flows; a synchronization clock for each of the one or more data packet streams; the sampling rate of each of the one or more data packet streams; real-time protocol (RTP) parameters; and/or identification information for each of the one or more streams.
AS shown in block 704 of fig. 7, the apparatus of this example embodiment includes means, such AS processing circuitry 308, processor 302, etc., for receiving one or more data packets from one or more data flows from an Application Server (AS), such AS/AF 112. In some examples, the one or more data streams may include related audio and video streams from an application such as an interactive video game or video communication application. In some examples, the data packets include RTP packets and contain timestamp information. For example, as shown in operations 504, 506, and 508 of fig. 5, data packets A1, A2 from the audio data packet stream and data packet V1 from the video data packet stream may be received at the UPF 106. This is also shown in fig. 8, where A1, A2, and V1 are received from the sender in the AS 112 to the UPF 106 in a first order A1, A2, and V1 according to the AS.
As shown in block 706 of fig. 7, the apparatus of this example embodiment includes means, such as the processing circuitry 308, the processor 302, etc., for utilizing the synchronization and PDV policies to determine scheduling assistance information for each of the one or more packets. In some examples, the scheduling assistance information includes one or more scheduling parameters including: a packet transmission deadline for each of the one or more data packets (e.g., data packet A1 should be transmitted to the UE before 10:00:00:180); a remaining acceptable delay for each of the one or more data packets (e.g., data packet A1 can only accept an additional 40ms delay, and the remaining acceptable delay can be implicitly covered by the proposed transmission deadline); cumulative delay for each of the one or more data packets (e.g., from when the data was created to when the data was received by the CN); a data packet synchronization relationship with one or more data packets from another data packet stream (e.g., video packet V1 should be transmitted to the UE within a range of 45ms-5ms after data packet A1 is sent to the UE), and other data packets may be identified by GTP-U sequence numbers or other new IEs of GTP-U headers); a data packet PDV relationship with one or more data packets from the same data packet stream (e.g., audio packet A2 should be transmitted to the UE within 20-40ms after audio packet A1 is transmitted to the UE, while other data packets may be identified by GTP-U sequence numbers or other new IEs of GTP-U headers); conflict rules. The conflict rules determine which scheduling parameter will be met if one or more scheduling parameters cannot be met.
As shown in block 708 of fig. 7, the apparatus of this example embodiment includes means, such as processing circuitry 308, processor 302, etc., for determining a transport layer DSCP value based on the proposed DSCP value and scheduling assistance information. In some examples, the DSCP value may be different for data packets of the same QoS flow. For example, if video packet V1 has experienced a long delay or is near the proposed transmission deadline, then the video packet will be treated with a higher priority than the other packets. Thus, the DSCP value of the video packet V1 is different from the recommended DSCP value. In another example, the proposed DSCP value given by the PCF for audio and video packets may be a "default PHB," which may be best effort traffic. In the event that an audio packet has experienced a long delay, the UPF may set the DSCP of the audio packet to "fast forwarding (EF) PHB".
As shown in block 710 of fig. 7, the apparatus of this example embodiment includes means, such as the processor 302, for determining a UPF delivery sequence of one or more data packets based on the scheduling assistance information.
As indicated by block 712 of fig. 7, the apparatus of this example embodiment includes means, such as processing circuitry 308, processor 302, communication interface 306, etc., for causing each of the one or more data packets to be transmitted to a Radio Access Network (RAN), such as RAN 104, according to a UPF delivery sequence, as indicated by steps 510, 512, and 514 of fig. 5. In some examples, the method further includes causing the scheduling assistance information to be transmitted with each of the one or more data packets. The scheduling assistance information causes a RAN, such as RAN 104, to determine a RAN transfer sequence and transmit one or more data packets in accordance with the RAN transfer sequence, such as shown in operations 516, 518, and 520 of fig. 5 and as shown in fig. 8. In some examples, the scheduling assistance information is sent as in-band signaling, e.g., when GTP-U is used between RAN 104 and UPF 106 for the user plane, it may be added to the GTP-U header.
In some examples, the UPF transfer sequence includes a second order. In some examples, the second order may be the same as the first receiving order (e.g., A1, A2, V1 …). In some examples, the second order may be different from the second order due to a change in the UPF according to the order of UPF delivery. For example, as shown in fig. 8, the UPF 106 receives the packets A1, A2, and V1 in a first order (A1, A2, V1), and the UPF transfer sequence becomes A1, V1, A2 due to the UPF transfer sequence based on the synchronization and PDV policies. For example, the UPF 106 may first send A1 to the RAN. If the synchronization between A1 and V1 is not satisfied (if not to send V1 before A2), the UPF may send V1 before A2.
Additionally, if the PDVs for A1 and A2 cannot be met (if not to send A2 before V1), the UPF 106 can send A2 before V1. In some examples, in the event that there is a conflict in meeting the synchronization requirements and the PDV requirements, the UPF 106 sends the data packets according to the priority rules received from the CN. This allows packets to be ultimately delivered to the UE 102 with the required PDB and synchronization time.
Referring now to fig. 9, operations such as are performed by the CNA 300 of fig. 3 (which may be implemented by or in conjunction with the processing circuitry 308) to further implement synchronization and Packet Delay Variation (PDV) policies at a User Plane Function (UPF), such as UPF 106, are illustrated. As shown in block 902 of fig. 9, the apparatus of this example embodiment includes means, such as processing circuitry 308, processor 302, etc., for receiving one or more uplink data packets (such as shown in operations 526 and 528 of fig. 5) from the RAN, wherein the uplink data packets include timing information. In some examples, the timing information is based on a common time base (e.g., coordinated Universal Time (UTC)) used by the UE 102, RAN 104, and CN.
As shown in block 904 of fig. 9, the apparatus of this example embodiment includes means, such as processing circuitry 308, processor 302, etc., for utilizing the timing information to determine an uplink DSCP value for each of the uplink data packets. In one example, if the packet has experienced a long delay, the UPF may set the uplink DSCP of the delayed packet to "fast forwarding (EF) PHB".
As shown in block 906 of fig. 9, the apparatus of this example embodiment includes means, such as the processing circuitry 308, the processor 302, etc., for determining a UPF uplink transfer sequence of one or more uplink data packets based on the timing information.
AS shown in block 908 of fig. 9, the apparatus of this example embodiment includes means, such AS the processing circuitry 308, the processor 302, etc., for causing each of the one or more uplink data packets to be transmitted to the AS (AS shown in operations 530 and 532 of fig. 5) in accordance with the determined UPF uplink transfer sequence. In one example, one or more uplink data packets are received from the RAN 104 in a first uplink order and the UPF uplink transfer sequence includes a second uplink order. In some examples, the first uplink order is different from the second uplink order. For example, if an audio data packet has experienced a long delay (e.g., from when the audio data is sampled to when the data is received by the UPF), the audio packet needs to be treated with a higher priority than other packets. The UPF may also adjust the order of data packets sent to the application function/server accordingly. In this example, the audio packet may be sent first to the application function/server before other data packets.
Referring now to fig. 10, operations such as are performed by the RAN 104 of fig. 4 (which may be implemented by or in conjunction with the processing circuitry 400) to implement synchronization and Packet Delay Variation (PDV) policies at a User Plane Function (UPF), such as UPF 106, are illustrated. As shown in block 1002 of fig. 10, the apparatus of this example embodiment includes means, such as processing circuitry 400, processor 402, etc., for receiving a synchronization and PDV policy from a Session Management Function (SMF), as shown by operation 502c in fig. 5. In some examples, the synchronization and PDV policy is based on one or more synchronization and PDV policy parameters. The synchronization and PDV policy parameters may include one or more of the following: maximum one-way delay for packet transfer between the user device and the application server; a synchronization threshold between one or more data packet streams; a PDV threshold for each of the one or more data packet flows; a synchronization clock for each of the one or more data packet streams; the sampling rate of each of the one or more data packet streams; real-time protocol (RTP) parameters; and/or identification information for each of the one or more streams.
As shown in block 1004 of fig. 10, the apparatus of this example embodiment includes means, such as processing circuitry 400, processor 402, etc., for receiving one or more data packets with scheduling assistance information from one or more data packet flows, such as UPF 106, from a User Plane Function (UPF). In some examples, the one or more data streams may include related audio and video streams from an application such as an interactive video game or video communication application. For example, as shown in operations 510, 512, and 514 of fig. 5, data packets with scheduling assistance information A1, A2 from an audio data packet stream and data packets with scheduling assistance information V1 from a video data packet stream may be received at RAN 104. This is also shown in fig. 11, where A1, A2, and V1 are received from the UPF 106 to the RAN 104 in a first order A1, A2, V1 according to AS. In some examples, the scheduling assistance information includes one or more scheduling parameters including: a packet transmission deadline for each of the one or more data packets; a remaining acceptable delay for each of the one or more data packets; a cumulative delay for each of the one or more data packets; a data packet synchronization relationship with one or more data packets from another data packet stream; a data packet PDV relationship with one or more data packets from the same data packet stream; and/or conflict rules. The conflict rules determine which scheduling parameter will be met if one or more scheduling parameters cannot be met.
As shown in block 1006 of fig. 10, the apparatus of this example embodiment includes means, such as processing circuitry 400, processor 402, etc., for determining a RAN transfer sequence for one or more data packets based on synchronization and PDV policies, scheduling assistance information, and quality of service information (such as PDB parameters). For example, if synchronization between A1 and V1 is not satisfied (if V1 is not sent prior to A2), RAN104 may send V1 prior to A2. In other examples, A1 may be sent first if A1 is near the transmission deadline. If A1 and V1 need to be synchronized, V1 may be sent before A2. Otherwise, A1 and V1 may lose synchronization. In another example, if A1 and A2 need to satisfy PDV, A2 may be sent before V1. Otherwise, the PDV of A2 may not be satisfied.
In another example, if the PDV for A1 and A2 cannot be satisfied (if not to send A2 before V1), the RAN104 may send A2 before V1. In the event of a conflict between meeting the synchronization requirement and the PDV requirement, the RAN104 transmits the data packets according to the priority rules received from the CN.
As shown in block 1008 of fig. 10, the apparatus of this example embodiment includes means, such as processing circuitry 400, processor 402, etc., for transmitting each of one or more data packets to a User Equipment (UE) according to a RAN transfer sequence. In some examples, the RAN transfer sequence includes a second order. In some examples, the second order may be the same as the first receiving order (e.g., A1, A2, V1 …). In other examples, the second order may be different from the second order due to changes made by RAN104 in accordance with the RAN transfer sequence. For example, as shown in fig. 11, the RAN104 receives the packets A1, A2, and V1 in a first order (A1, A2, V1), and the RAN transfer sequence becomes A1, V1, A2 due to the RAN transfer sequence based on the synchronization and PDV policy and the scheduling assistance information. This allows packets to be eventually delivered to the UE 102 within the required PDV and synchronization time.
Referring now to fig. 12, operations such as are performed by the RAN104 of fig. 3 (which may be implemented by or in conjunction with the processing circuitry 400) to further implement synchronization and Packet Delay Variation (PDV) policies at the RAN, such as the RAN104, are illustrated. As shown in block 1202 of fig. 12, the apparatus of this example embodiment includes means, such as processing circuitry 400, processor 402, etc., for receiving one or more uplink data packets (such as shown in operations 522 and 524 of fig. 5) from UE 102, wherein the one or more uplink data packets include timing information.
As shown in block 1204 of fig. 12, the apparatus of this example embodiment includes means, such as processing circuitry 400, processor 402, etc., for utilizing the timing information to determine an uplink DSCP value for each of the uplink data packets. For example, if an audio packet has experienced a long delay, the RAN may set the uplink DSCP for the audio packet to "fast forwarding (EF) PHB".
As shown in block 1206 of fig. 12, the apparatus of this example embodiment includes means, such as processing circuitry 400, processor 402, etc., for determining a RAN uplink transfer sequence of one or more uplink data packets based on the timing information.
As shown in block 1208 of fig. 12, the apparatus of this example embodiment includes means, such as the processing circuitry 400, the processor 402, and the like, for causing each of the one or more uplink data packets to be transmitted to a UPF (such as shown in operations 526 and 528 of fig. 5) in accordance with the RAN uplink transfer sequence. In one example, the first uplink sequence is received from the UE 102 and the RAN uplink transfer sequence includes a second uplink sequence. In some examples, the first uplink order is the same as the second uplink order. In other examples, the first uplink order is different from the second uplink order. In some examples, RAN 104 considers timing information in setting the transport layer DSCP. For example, if the audio data packets have experienced long delays (e.g., from when the audio data is sampled to when the data is received by the RAN node), the audio packets need to be treated with higher priority than other packets. The RAN may also adjust the order of data packets sent to the UPF accordingly. In this example, the audio packet may be sent first to the UPF106 before other data packets.
As described herein, methods, apparatus, and computer program products are provided according to certain example embodiments to provide synchronization and packet delay variation policies at a core network. Other embodiments implement synchronization and packet delay variation policies at a user plane function and/or a radio access network in a telecommunication system. The embodiments described herein provide for processing data packets from one or more data packet flows at the UPF and RAN, which provides for improved synchronization and PDV times for the data packets. This improved processing of data packets reduces buffer storage requirements of the user equipment and improves the user experience.
As described above, fig. 6, 7, 9, 10 and 12 illustrate flowcharts of apparatuses, methods and computer program products according to example embodiments of the invention. It will be understood that each block of the flowchart, and combinations of blocks in the flowchart, can be implemented by various means, such as hardware, firmware, processor, circuitry, and/or other devices associated with execution of software including one or more computer program instructions. For example, one or more of the procedures described above may be embodied by computer program instructions. In this regard, computer program instructions which embody the procedures described above may be stored by a memory device 304 or 404 of an apparatus employing an embodiment of the invention and executed by a processing circuitry 308 or 400 (e.g., a processor 302 or 402) of the apparatus. It should be understood that any such computer program instructions may be loaded onto a computer or other programmable apparatus (e.g., hardware) to produce a machine, such that the resulting computer or other programmable apparatus implements the functions specified in the flowchart block or blocks. These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture the execution of which implement the function specified in the flowchart block or blocks. The computer program instructions may also be loaded onto a computer or other programmable apparatus to cause a series of operations to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide operations for implementing the functions specified in the flowchart block or blocks.
Accordingly, blocks of the flowchart support combinations of means for performing the specified functions and combinations of operations for performing the specified functions. It will also be understood that one or more blocks of the flowchart, and combinations of blocks in the flowchart, can be implemented by special purpose hardware-based computer systems which perform the specified functions, or combinations of special purpose hardware and computer instructions.
In some embodiments, some of the operations described above may be modified or further amplified. Further, in some embodiments, additional optional operations may be included. Modifications, additions, or amplifications to the above operations may be performed in any order and in any combination.
Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the inventions are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.

Claims (38)

1. A core network, comprising:
a policy control function configured to:
receiving one or more synchronization and packet delay variation policy parameters for the associated data packet stream from an application server;
determining a synchronization and packet delay variation policy for the related data packet stream using the one or more synchronization and packet delay variation policy parameters for the related data packet stream; and
providing said synchronization and packet delay variation policies for said associated data packet flows to a session management function;
the session management function is configured to:
determining a differential service code point value based on the synchronization and packet delay variation strategy for the related data packet stream;
transmitting said synchronization and packet delay variation strategy for said associated data packet stream to a radio access network; and
the synchronization and packet delay variation strategy for the related data packet stream and the differentiated services code point value are communicated to a user plane function.
2. The core network of claim 1, wherein the synchronization and packet delay variation policy parameters for the related data packet flows comprise one or more of:
A maximum one-way delay for packet transfer between a user device and the application server;
a synchronization threshold between the related data packet flows;
a packet delay variation threshold for each of the related data packet flows;
a synchronization clock for each of the related data packet streams;
sampling rates for each of the related data packet streams;
real-time protocol parameters; and
identification information for each of the related data packet flows.
3. A method performed at a user plane function of a core network, the method comprising:
receiving from the session management function synchronization and packet delay variation policies for related data packet flows and differential service code point values;
receiving one or more data packets of the related data packet stream from an application server;
determining scheduling assistance information for each of the one or more packets of the related data packet stream using the synchronization and packet delay variation policies;
determining a transport layer differential service code point value based on the differential service code point value and the scheduling assistance information for the one or more packets of the related data packet stream;
Determining a user plane function delivery sequence for delivering the one or more data packets to a radio access network based on the scheduling assistance information for the one or more packets of the related data packet stream; and
causing each of the one or more data packets to be transmitted to the radio access network according to the user plane function delivery sequence.
4. A method according to claim 3, further comprising:
causing transmission of the scheduling assistance information for each of the one or more data packets of the related data packet stream, wherein the scheduling assistance information for each of the one or more data packets of the related data packet stream causes the radio access network to determine a radio access network delivery sequence for delivering the one or more data packets of the related data packet stream to a user equipment and to transmit the one or more data packets of the related data packet stream to the user equipment according to the radio access network delivery sequence.
5. A method according to claim 3, wherein the one or more data packets of the related data packet stream are received from the application server in a first order, and wherein the user plane function delivery sequence comprises a second order.
6. The method of claim 5, wherein the first order is different from the second order.
7. The method of any of claims 3 to 6, wherein the synchronization and packet delay variation policy for the related data packet stream is based on one or more synchronization and packet delay variation policy parameters, and wherein the one or more synchronization and packet delay variation policy parameters include one or more of:
a maximum one-way delay for packet transfer between a user device and the application server;
a synchronization threshold for between the related data packet flows;
a packet delay variation threshold for each of the related data packet flows;
a synchronization clock for each of the related data packet streams;
sampling rates for each of the related data packet streams;
real-time protocol parameters; and
identification information for each of the related data packet flows.
8. The method of any of claims 3 to 6, wherein the scheduling assistance information comprises one or more scheduling parameters selected from the group consisting of:
A packet transmission deadline for each of the one or more data packets;
a remaining acceptable delay for each of the one or more data packets;
a cumulative delay for each of the one or more data packets;
a data packet synchronization relationship with one or more data packets from another data packet stream;
a data packet delay variation relationship with one or more data packets of a data packet stream of said related data packet stream; and
a conflict rule, wherein the conflict rule determines which scheduling parameter is to be met when one or more scheduling parameters cannot be met.
9. The method of any of claims 3 to 6, further comprising:
receiving one or more uplink data packets from the radio access network, wherein the uplink data packets include timing information;
determining an uplink differential service code point value for each of the uplink data packets using the timing information;
determining a user plane function uplink transfer sequence for transferring the one or more uplink data packets to the application server based on the timing information; and
Causing each of the one or more uplink data packets to be transmitted to the application server in accordance with the determined user plane functional uplink delivery sequence.
10. The method of claim 9, wherein the one or more uplink data packets are received from the radio access network in a first uplink order, and wherein the user plane functional uplink transfer sequence comprises a second uplink order.
11. The method of claim 10, wherein the first uplink order is different from the second uplink order.
12. An apparatus for implementing user plane functionality, the apparatus comprising at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus at least to:
receiving from the session management function synchronization and packet delay variation policies for related data packet flows and differential service code point values;
receiving one or more data packets of the related data packet stream from an application server;
Determining scheduling assistance information for each of the one or more packets of the related data packet stream using the synchronization and packet delay variation policies for the related data packet stream;
determining a transport layer differential service code point value based on the differential service code point value and the scheduling assistance information for each of the one or more packets of the related data packet stream;
determining a user plane function delivery sequence for delivering the one or more data packets to the radio access network based on the scheduling assistance information; and
causing each of the one or more data packets to be transmitted to the radio access network according to the user plane function delivery sequence.
13. The apparatus of claim 12, wherein the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus at least to:
causing transmission of the scheduling assistance information for each of the one or more data packets, wherein the scheduling assistance information for each of the one or more packets of the related data packet stream causes the radio access network to determine a radio access network delivery sequence for delivering the one or more data packets to a user equipment and to transmit the one or more data packets to the user equipment according to the radio access network delivery sequence.
14. The apparatus of claim 13, wherein the one or more data packets of the related data packet stream are received from the application server in a first order, and wherein the user plane function delivery sequence for delivering the one or more data packets to a radio access network comprises a second order.
15. The apparatus of claim 14, wherein the first order is different from the second order.
16. The apparatus of any of claims 13 to 15, wherein the synchronization and packet delay variation policy for the related data packet stream is based on one or more synchronization and packet delay variation policy parameters, and wherein the one or more synchronization and packet delay variation policy parameters comprise one or more of:
a maximum one-way delay for packet transfer between a user device and the application server;
a synchronization threshold between the related data packet flows;
a packet delay variation threshold for each of the related data packet flows;
a synchronization clock for each of the related data packet streams;
sampling rates for each of the related data packet streams;
Real-time protocol parameters; and
identification information for each of the related data packet flows.
17. The apparatus of any of claims 13 to 15, wherein the scheduling assistance information comprises one or more scheduling parameters selected from the group consisting of:
a packet transmission deadline for each of the one or more data packets;
a remaining acceptable delay for each of the one or more data packets;
a cumulative delay for each of the one or more data packets;
a data packet synchronization relationship with one or more data packets from another data packet stream;
a data packet delay variation relationship with one or more data packets of a data packet stream of said related data packet stream; and
a conflict rule, wherein the conflict rule determines which scheduling parameter is to be met when one or more scheduling parameters cannot be met.
18. The apparatus according to any of claims 13 to 15, wherein the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus at least to:
Receiving one or more uplink data packets from the radio access network, wherein the uplink data packets include timing information;
determining an uplink differential service code point value for each of the uplink data packets using the timing information;
determining a user plane function uplink transfer sequence for transferring the one or more uplink data packets to the application server based on the timing information; and
causing each of the one or more uplink data packets to be transmitted to the application server in accordance with the determined user plane functional uplink delivery sequence.
19. The apparatus of claim 18, wherein the one or more uplink data packets are received from the radio access network in a first uplink order, and wherein the user plane functional uplink transfer sequence comprises a second uplink order.
20. The apparatus of claim 19, wherein the first uplink order is different from the second uplink order.
21. A non-transitory computer readable storage medium storing program code instructions which, when executed by an apparatus, cause the apparatus to perform the method of any of claims 3 to 11.
22. A method performed at a radio access network, the method comprising:
receiving from the session management function a synchronization and packet delay variation policy for the associated data packet stream;
receiving one or more data packets of the related data packet stream and scheduling assistance information for each of the one or more data packets of the related data packet stream from a user plane function;
determining a radio access network delivery sequence for delivering the one or more data packets to a user equipment based on the scheduling assistance information and quality of service information for each of the one or more data packets of the related data packet stream; and
causing each of the one or more data packets to be transmitted to the user equipment according to the radio access network delivery sequence.
23. The method of claim 22, wherein the one or more data packets are received from the user plane function in a first order, and wherein the radio access network delivery sequence comprises a second order.
24. The method of claim 23, wherein the first order is different from the second order.
25. The method of claim 22, wherein the synchronization and packet delay variation policy for the related data packet stream is based on one or more synchronization and packet delay variation policy parameters, and wherein the one or more synchronization and packet delay variation policy parameters include one or more of:
maximum one-way delay for packet transfer between the user device and the application server;
a synchronization threshold between the related data packet flows;
a packet delay variation threshold for each of the related data packet flows;
a synchronization clock for each of the related data packet streams;
sampling rates for each of the related data packet streams;
real-time protocol parameters; and
identification information for each of the related data packet flows.
26. The method of claim 22, wherein the scheduling assistance information comprises one or more scheduling parameters selected from the group consisting of:
a packet transmission deadline for each of the one or more data packets;
A remaining acceptable delay for each of the one or more data packets;
a cumulative delay for each of the one or more data packets;
a data packet synchronization relationship with one or more data packets from another data packet stream;
a data packet delay variation relationship with one or more data packets from a data packet stream of the related data packet streams; and
a conflict rule, wherein the conflict rule determines which scheduling parameter is to be met when one or more scheduling parameters cannot be met.
27. The method of claim 25 or 26, further comprising:
receiving one or more uplink data packets from the user equipment, wherein the one or more uplink data packets include timing information;
determining an uplink differential service code point value for each of the uplink data packets using the timing information;
determining a radio access network uplink transfer sequence of the one or more uplink data packets based on the timing information; and
causing each of the one or more uplink data packets to be transmitted to the user plane function according to the radio access network uplink delivery sequence.
28. The method of claim 27, wherein the one or more uplink data packets are received from the user equipment in a first uplink order, and wherein the radio access network uplink transfer sequence comprises a second uplink order.
29. The method of claim 28, wherein the first uplink order is different from the second uplink order.
30. An apparatus for a radio access network, the apparatus comprising at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the processor, cause the apparatus at least to:
receiving from the session management function a synchronization and packet delay variation policy for the associated data packet stream;
receiving one or more data packets of the related data packet stream and scheduling assistance information for each of the one or more data packets of the related data packet stream from a user plane function;
determining a radio access network delivery sequence for delivering the one or more data packets of the related data packet stream to a user equipment based on the scheduling assistance information and quality of service information for each of the one or more data packets of the related data packet stream; and
Causing each of the one or more data packets to be transmitted to the user equipment according to the radio access network delivery sequence.
31. The apparatus of claim 30, wherein the one or more data packets are received from the user plane function in a first order, and wherein the radio access network delivery sequence comprises a second order.
32. The apparatus of claim 31, wherein the first order is different from the second order.
33. The apparatus of any of claims 30 to 32, wherein the synchronization and packet delay variation policy is based on one or more synchronization and packet delay variation policy parameters, and wherein the one or more synchronization and packet delay variation policy parameters comprise one or more of:
maximum one-way delay for packet transfer between the user device and the application server;
a synchronization threshold between the related data packet flows;
a packet delay variation threshold for each of the related data packet flows;
a synchronization clock for each of the related data packet streams;
sampling rates for each of the related data packet streams;
Real-time protocol parameters; and
identification information for each of the related data packet flows.
34. The apparatus of any of claims 30 to 32, wherein the scheduling assistance information for each of the one or more data packets of the related data packet stream comprises one or more scheduling parameters selected from the group of:
a packet transmission deadline for each of the one or more data packets;
a remaining acceptable delay for each of the one or more data packets;
a cumulative delay for each of the one or more data packets;
a data packet synchronization relationship with one or more data packets from another data packet stream;
a data packet delay variation relationship with one or more data packets from a data packet stream of the related data packet streams; and
a conflict rule, wherein the conflict rule determines which scheduling parameter is to be met when one or more scheduling parameters cannot be met.
35. The apparatus according to any of claims 30 to 32, wherein the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus at least to:
Receiving one or more uplink data packets from the user equipment, wherein the one or more uplink data packets include timing information;
determining an uplink differential service code point value for each of the uplink data packets using the timing information;
determining a radio access network uplink transfer sequence of the one or more uplink data packets based on the timing information; and
causing each of the one or more uplink data packets to be transmitted to the user plane function according to the radio access network uplink delivery sequence.
36. The apparatus of claim 35, wherein the one or more uplink data packets are received from the user equipment in a first uplink order, and wherein the radio access network uplink transfer sequence comprises a second uplink order.
37. The apparatus of claim 36, wherein the first uplink order is different from the second uplink order.
38. A non-transitory computer readable storage medium storing program code instructions which, when executed by an apparatus, cause the apparatus to perform the method of any of claims 22 to 29.
CN201780096878.1A 2017-11-17 2017-11-17 Method and device for synchronizing between different data packet flows Active CN111357318B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/111629 WO2019095278A1 (en) 2017-11-17 2017-11-17 Method and apparatus for synchronization between different data packet streams

Publications (2)

Publication Number Publication Date
CN111357318A CN111357318A (en) 2020-06-30
CN111357318B true CN111357318B (en) 2023-07-18

Family

ID=66539309

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780096878.1A Active CN111357318B (en) 2017-11-17 2017-11-17 Method and device for synchronizing between different data packet flows

Country Status (3)

Country Link
EP (1) EP3711346A4 (en)
CN (1) CN111357318B (en)
WO (1) WO2019095278A1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4132085A4 (en) * 2020-04-23 2023-05-24 Huawei Technologies Co., Ltd. Communication method and apparatus
EP4189918A1 (en) * 2020-07-30 2023-06-07 Ofinno, LLC Synchronization for multiple data flows
WO2022122128A1 (en) * 2020-12-08 2022-06-16 Nokia Technologies Oy Method, apparatus and computer program
WO2022160227A1 (en) * 2021-01-29 2022-08-04 华为技术有限公司 Resource scheduling method and apparatus
WO2023014428A1 (en) * 2021-08-03 2023-02-09 Qualcomm Incorporated Supporting inter-media synchronization in wireless communications
US11889447B2 (en) 2021-08-03 2024-01-30 Qualcomm Incorporated Supporting inter-media synchronization in wireless communications
WO2023081152A1 (en) * 2021-11-03 2023-05-11 Interdigital Patent Holdings, Inc. Methods, architectures, apparatuses and systems for multi-flow synchronization
CN117062210A (en) * 2022-05-06 2023-11-14 中国电信股份有限公司 Communication method and related equipment
WO2023245479A1 (en) * 2022-06-22 2023-12-28 Qualcomm Incorporated Delay status reporting for deadline-based scheduling

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6862622B2 (en) * 1998-07-10 2005-03-01 Van Drebbel Mariner Llc Transmission control protocol/internet protocol (TCP/IP) packet-centric wireless point to multi-point (PTMP) transmission system architecture
US8856371B2 (en) * 2006-08-07 2014-10-07 Oovoo Llc Video conferencing over IP networks
CN101854268B (en) * 2009-04-04 2013-06-05 华为技术有限公司 Method, device and system of IP (Internet Protocol) network performance measurement as well as method, device and system of IP network service quality control
WO2014110410A1 (en) * 2013-01-11 2014-07-17 Interdigital Patent Holdings, Inc. User-plane congestion management
US9787742B2 (en) * 2014-09-29 2017-10-10 Intel Corporation Optimizing synchronization of audio and network tasks in voice over packet switched networks
US11444850B2 (en) * 2016-05-02 2022-09-13 Huawei Technologies Co., Ltd. Method and apparatus for communication network quality of service capability exposure

Also Published As

Publication number Publication date
EP3711346A4 (en) 2021-07-07
CN111357318A (en) 2020-06-30
EP3711346A1 (en) 2020-09-23
WO2019095278A1 (en) 2019-05-23

Similar Documents

Publication Publication Date Title
CN111357318B (en) Method and device for synchronizing between different data packet flows
WO2020221165A1 (en) Time information processing method, timing advance determination method, and related device
US20240129869A1 (en) Time-Synchronized Radio Bearer For Supporting Precision Timing Protocol (PTP) Based Time Sensitive Network (TSN) Applications
WO2016192466A1 (en) Method and device for scheduling
RU2768788C2 (en) METHOD OF PROCESSING QUALITY OF SERVICE PARAMETER QoS AND NETWORK ELEMENT, SYSTEM AND DATA MEDIUM
CN109863782B (en) 5G congestion control
CN111213403B (en) Method and device for scheduling QoS (quality of service) flow in wireless communication system
KR20210091166A (en) Method, apparatus and system for satisfying time control requirements in wireless communication
EP3884603A1 (en) Signalling of dejittering buffer capabilities for tsn integration
CN114009144A (en) Packet delay budget determination for TSN traffic forwarding
US11785635B2 (en) Communication system enabled to minimize negative communication effects
Yang et al. An uplink transmission scheme for TSN service in 5G industrial IoT
WO2021119675A2 (en) Guaranteed latency based forwarding
CN109802893B (en) Data transmission method, device and system
WO2022223031A1 (en) Communication processing method for data transmission and related device
EP2978180A1 (en) Signaling for transmission of coherent data flow within packet-switched network
EP3731575B1 (en) Method for clock synchronization of protocols, and network, base station and user equipments
US11889447B2 (en) Supporting inter-media synchronization in wireless communications
WO2023272743A1 (en) Method, apparatus and computer program
US20240107476A1 (en) Supporting Inter-Media Synchronization In Wireless Communications
WO2020141101A2 (en) Ultra-reliable synchronized flow scheduling
WO2023193203A1 (en) Time delay control method and apparatus, and communication device
CN113518442B (en) Resource allocation method, device, equipment and storage medium
WO2023245582A1 (en) Methods and apparatuses for a pdu set delay status report
CN117795932A (en) Supporting inter-media synchronization in wireless communications

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant