This application relates to the field of communication technologies, and in particular, to a communication method and apparatus.
As the new media industry rapidly develops, new requirements for communication technologies are raised. A surge of the amount of data in the new media industry poses a challenge to a network transmission capability, especially for highly interactive real-time extended reality (XR) services. The XR services include a virtual reality (VR) service, an augmented reality (AR) service, a mixed reality (MR) service, a cloud extended reality (cloud XR) service, and the like.
An application server corresponding to the XR service sequentially sends data of the XR service to a terminal device through a user plane function (UPF) network element and an access network element. In an ideal case, the terminal device sequentially receives the data of the XR service, and sequentially displays the data, to meet a high real-time requirement of the XR service. However, in an actual case, inherent uncertainty (such as network congestion and burst traffic) of network transmission cannot ensure time at which a data packet arrives at the terminal device. Consequently, data packets sent in order arrive at the terminal device out of order. As a result, problems such as frame freezing and skipping occur, and user service experience is affected.
Embodiments of this application provide a communication method and apparatus, to enable data to arrive at a terminal device in time. This improves user service experience.
According to a first aspect, this application provides a communication method. The method may be performed by an access network element, or may be performed by a component of an access network element. In the method, the access network element obtains reference time, where the reference time indicates start time at which a terminal device processes first data; and the access network element processes the first data based on the reference time.
Processing the first data may be understood as receiving the first data, decoding the first data, displaying the first data, or the like. This is not limited in this embodiment of this application.
In the foregoing embodiment, the access network element may obtain the start time at which the terminal device processes the first data, and process the first data based on the start time at which the terminal device processes the first data, so that the first data can arrive at the terminal device in time. For example, the first data arrives at the terminal device before the reference time. This reduces problems such as frame freezing and skipping, and improves user service experience.
In an embodiment, that the access network element obtains the reference time may be that:
According to the foregoing design, the access network element may obtain the reference time in a plurality of manners, and flexibility is high. For example, the access network element may receive the reference time from the terminal device or the access and mobility management function network element. This implementation is simple. For another example, when the first data is the data of the periodic service, the access network element may obtain the reference time based on start time at which the terminal device processes other data and a processing periodicity. In this way, the access network element does not need to receive start time at which the terminal device processes each piece of data of the periodic service. This can reduce signaling interaction.
In an embodiment, that the access network element obtains the processing time of the second data and the processing periodicity may be that:
According to the foregoing design, the access network element may obtain the processing time of the second data and the processing periodicity in a plurality of manners, and flexibility is high.
In an embodiment, that the access network element processes the first data based on the reference time may be that:
According to the foregoing design, the access network element may send the first data before the reference time. For example, the access network element completes sending of the first data before the reference time, so that the terminal device can receive the first data before the start time for processing the first data. Alternatively, the access network element may delete the first data based on the reference time. For example, the access network element cannot complete sending of the first data before the reference time, and there is subsequent data to be sent. In this case, even if the access network element sends the first data to the terminal device, the terminal device deletes the first data after receiving the first data. Therefore, the access network element may delete the first data, so that resources for transmitting the first data can be saved, and resource utilization can be improved.
In an embodiment, that the access network element deletes the first data based on the reference time may be that:
In an embodiment, the first data is a media frame.
In an embodiment, the method may further include: The access network element receives third data and fourth data before the reference time, where sending time of the fourth data is later than sending time of the third data; and the access network element deletes the third data based on the reference time.
That sending time of the fourth data is later than sending time of the third data means that start time at which the terminal device processes the fourth data is later than start time at which the terminal device processes the third data. In this case, in a process of processing the first data, when receiving the third data and the fourth data, the terminal device preferentially processes the fourth data and deletes the third data. In the foregoing design, in a process of processing the first data, when receiving the third data and the fourth data, the access network element may delete the third data based on the reference time, so that resources for transmitting the third data can be saved, and resource utilization can be improved.
In an embodiment, the sending time of the fourth data is later than sending time of the third data includes:
According to the foregoing design, the access network element may determine, based on the frame number of the fourth data and the frame number of the third data, that the sending time of the fourth data on the application server side is later than the sending time of the third data on the application server side.
In an embodiment, the method may further include: The access network element receives a plurality of data packets from a user plane function network element, where the plurality of data packets include a data packet of the first data, a header of each data packet of the plurality of data packets includes characteristic information, and the characteristic information includes at least one of a data identifier or a quantity of data packets; and the access network element determines the first data from the plurality of data packets based on the characteristic information in the header of each data packet.
According to the foregoing design, the access network element may determine all data packets of the first data from the plurality of received data packets.
According to a second aspect, this application provides a communication method. The method may be performed by a terminal device, or may be performed by a component of a terminal device. In the method, the terminal device sends processing time of second data to an access network element, where the processing time of the second data indicates start time at which the terminal device processes the second data; and the terminal device receives first data before reference time, where the reference time indicates start time at which the terminal device processes the first data.
Processing the first data may be understood as receiving the first data, decoding the first data, displaying the first data, or the like. This is not limited in this embodiment of this application.
In the foregoing embodiment, the terminal device reports the processing time of the second data to the access network element. In this way, the access network element may determine, based on the processing time of the second data, the start time at which the terminal device processes the first data, and process the first data based on the start time at which the terminal device processes the first data. For example, sending of the first data is completed before the start time at which the terminal device processes the first data, so that the terminal device can receive the first data before the start time at which the terminal device processes the first data.
In an embodiment, the first data is the second data.
According to the foregoing design, the terminal device may directly report, to the access network element, the start time for processing the first data.
In an embodiment, the method may further include: The terminal device sends a processing periodicity to the access network element, where the first data and the second data are data of a periodic service, and the processing periodicity indicates a periodicity for processing the periodic service.
According to the foregoing design, when the first data is the data of the periodic service, the terminal device may further report the periodicity of the periodic service to the access network element, so that the access network element may determine, based on the periodicity of the periodic service and the processing time of the second data, the start time at which the terminal device processes the first data.
In an embodiment, the first data is a media frame.
According to a third aspect, this application provides a communication method. The method may be performed by a user plane function network element, or may be performed by a component of a user plane function network element. In the method, the user plane function network element obtains reference time, where the reference time indicates start time at which a terminal device processes first data; and the user plane function network element sends the first data to an access network element based on the reference time.
Processing the first data may be understood as receiving the first data, decoding the first data, displaying the first data, or the like. This is not limited in this embodiment of this application.
In the foregoing embodiment, the user plane function network element may obtain the start time at which the terminal device processes the first data, and send the first data to the access network element based on the start time at which the terminal device processes the first data. For example, sending of the first data is completed before the start time at which the terminal device processes the first data, so that the first data arrives at the access network element in time, and the first data can arrive at the access network element before the reference time.
In an embodiment, that the user plane function network element obtains the reference time may be that:
According to the foregoing design, the user plane function network element may obtain the reference time in a plurality of manners, and flexibility is high. For example, the user plane function network element may receive the reference time from the session management function network element. This implementation is simple. For another example, when the first data is the data of the periodic service, the user plane function network element may obtain the reference time based on start time at which the terminal device processes other data and a processing periodicity for processing other data by the terminal device. In this way, the user plane function network element does not need to receive start time at which the terminal device processes each piece of data of the periodic service. This can reduce signaling interaction.
In an embodiment, that the user plane function network element obtains the processing time of the second data and the processing periodicity may be that:
In an embodiment, the first data is a media frame.
According to a fourth aspect, this application provides a communication apparatus. The communication apparatus may be an access network element, a terminal device, or a user plane function network element. When the communication apparatus is the access network element, the communication apparatus has a function of implementing the access network element in the first aspect or any embodiment of the first aspect. When the communication apparatus is the terminal device, the communication apparatus has a function of implementing the terminal device in the second aspect or any embodiments of the second aspect. When the communication apparatus is the user plane function network element, the communication apparatus has a function of implementing the user plane function network element in the third aspect or any embodiments of the third aspect. The function may be implemented by hardware, or may be implemented by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the foregoing functions.
In an embodiment, a structure of the communication apparatus may include a transceiver module and a processing module. The processing module is configured to support the communication apparatus in performing a corresponding function of the access network element in the first aspect or any embodiment of the first aspect, or performing a corresponding function of the terminal device in the second aspect or any embodiment of the second aspect, or performing a corresponding function of the user plane function network element in the third aspect or any embodiment of the third aspect. The transceiver module is configured to support communication between the communication apparatus and another device. For example, the transceiver module is configured to receive and send data under control of the processing module. Optionally, the communication apparatus may further include a storage module. The storage module may be coupled to the processing module, and store program instructions and data that are necessary for the communication apparatus.
In an example, the processing module may be a processor, the transceiver module may be an interface circuit, and the storage module may be a memory.
In an embodiment, a structure of the communication apparatus includes an interface circuit and one or more processors. Optionally, the communication apparatus further includes a memory. The interface circuit is configured to receive and send data, and is configured to communicate and interact with another device in a communication system. The one or more processors are configured to support the communication apparatus in performing a corresponding function of the access network element in the first aspect or any embodiment of the first aspect, or performing a corresponding function of the terminal device in the second aspect or any embodiment of the second aspect, or performing a corresponding function of the user plane function network element in the third aspect or any embodiment of the third aspect. The memory is coupled to the one or more processors, and stores program instructions and data that are necessary for the communication apparatus.
In an embodiment, a structure of the communication apparatus includes a memory and one or more processors. The memory stores program instructions. The one or more processors run the program instructions stored in the memory, to perform the method according to the first aspect or any embodiment of the first aspect, or perform the method according to the second aspect or any embodiment of the second aspect, or perform the method according to the third aspect or any embodiment of the third aspect.
According to a fifth aspect, this application provides a communication system. The communication system includes an access network element and a user plane function network element; or includes an access network element and a terminal device; or includes an access network element, a terminal device, and a user plane function network element. An access gateway node is configured to perform the method according to the first aspect and the embodiments of the first aspect. The terminal device is configured to perform the method according to the second aspect and the embodiments of the second aspect. The user plane function network element is configured to perform the method according to the third aspect and the embodiments of the third aspect.
According to a sixth aspect, this application provides a computer-readable storage medium. The storage medium stores a computer program or instructions. When the computer program or the instructions are executed, the method according to the first aspect or any design of the first aspect may be implemented, or the method according to the second aspect or any design of the second aspect may be implemented, or the method according to the third aspect or any design of the third aspect may be implemented.
According to a seventh aspect, this application provides a computer program product. The computer program product includes a computer program (which may also be referred to as code or instructions). When the computer program is run, a computer is enabled to perform the method according to the first aspect or any design of the first aspect, or perform the method according to the second aspect or any design of the second aspect, or perform the method according to the third aspect or any design of the third aspect.
According to an eighth aspect, this application provides a chip system. The chip system includes a processor and an interface, and is configured to support a communication apparatus in implementing the method according to the first aspect or any design of the first aspect, or implementing the method according to the second aspect or any design of the second aspect, or implementing the method according to the third aspect or any design of the third aspect.
In an embodiment, the chip system further includes a memory. The memory is configured to store necessary information and data of the foregoing communication apparatus. The chip system may include a chip, or may include a chip and another discrete device.
To make objectives, technical solutions, and advantages of this application clearer, the following further describes this application in detail with reference to the accompanying drawings. An operation method in method embodiments may also be applied to apparatus embodiments or system embodiments.
Terms “system” and “network” in embodiments of this application may be used interchangeably. “A plurality of” means two or more. In view of this, “a plurality of” may also be understood as “at least two” in embodiments of this application. “At least one” may be understood as one or more, for example, one, two, or more. For example, “include at least one” means “include one, two, or more”, and there is no limitation on which is included. For example, “include at least one of A, B, and C” may mean “include A, B, or C”, “include A and B, A and C, or B and C”, or “include A, B, and C”. Similarly, understandings of descriptions such as “at least one” are also similar. “At least one of the following items (pieces)” or a similar expression thereof refers to any combination of these items, including any combination of singular items (pieces) or plural items (pieces). For example, “at least one of A, B, and C” includes A, B, or C, includes A and B, A and C, or B and C, or includes A, B, and C. The term “and/or” describes an association relationship for describing associated objects and indicates that three relationships may exist. For example, A and/or B may indicate the following three cases: Only A exists, both A and B exist, and only B exists. In addition, the character “/” generally indicates an “or” relationship between the associated objects.
Unless otherwise specified, ordinal numbers such as “first” and “second” in embodiments of this application are used to distinguish between a plurality of objects, but are not intended to limit a sequence, a time sequence, priorities, or importance of the plurality of objects. In addition, descriptions of “first” and “second” do not necessarily indicate that objects are different.
An operator network may include but is not limited to one or more of the following network elements: a network data analytics function (NWDAF) network element, an authentication server function (AUSF) network element, a network exposure function (NEF) network element, a network repository function (NRF) network element, an access and mobility management function (AMF) network element, a policy control function (PCF) network element, a unified data management (UDM) network element, a session management function (SMF) network element, an access network (AN) or a radio access network (RAN) element, a service control point (SCP) and a user plane function (UPF) network element, and the like. In the foregoing operator network, a part other than a radio access network part may be referred to as a core network part. In an implementation, the operator network further includes an application function (AF) network element.
A terminal device, a terminal for short, is a device having a wireless transceiver function, may be deployed on land, including indoor or outdoor, and may be handheld or vehicle-mounted. The device may be deployed on water (for example, on a ship); or may be deployed in the air (for example, in an airplane, a balloon, or a satellite). The terminal device may be a mobile phone, a tablet computer (pad), a computer with a wireless transceiver function, a virtual reality (VR) terminal, an augmented reality (AR) terminal, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in telemedicine (remote medical), a wireless terminal in smart grid, a wireless terminal in transportation safety, a wireless terminal in smart city, a wireless terminal in smart home, user equipment (UE), and a terminal device applicable to the Internet of Things (IoT) (like a terminal device in smart factory or a terminal device in smart manufacturing).
The foregoing terminals may establish a connection to the operator network through an interface (for example, N1) provided by the operator network, and use services such as a data service and/or a voice service provided by the operator network. The terminals may further access a DN through the operator network, and use an operator service deployed on the DN and/or a service provided by a third party. The third party may be a service party other than the operator network and the terminal device, and may provide other services such as a data service and/or a voice service for the terminal device. A representation form of the third party may be determined according to an actual application scenario, and is not limited herein.
A RAN is a subnet of the operator network, and is an implementation system between a service node in the operator network and the terminal device. To access the operator network, the terminal device first accesses the RAN, and then may be connected to the service node in the operator network via the RAN. A RAN device is a device that provides a wireless communication function for the terminal device, and the RAN device is also referred to as an access network device. The RAN device includes but is not limited to a next generation base station (g NodeB, gNB) in 5G, an evolved NodeB (eNB), a radio network controller (RNC), a NodeB (NB), a base station controller (BSC), a base transceiver station (BTS), a home base station (for example, a home evolved NodeB, or a home NodeB, HNB), a baseband unit (BBU), a transmitting and receiving point (TRP), a transmitting point (TP), a mobile switching center, and the like.
The AMF network element mainly performs functions such as mobility management and access authentication/authorization. In addition, the AMF network element is responsible for transferring a user policy between the UE and the PCF.
The SMF network element mainly performs functions such as session management, execution of a PCF-delivered control policy, UPF selection, and UE Internet Protocol (IP) address allocation.
The UPF network element, serving as an interface to the data network, completes functions such as user plane data forwarding, session/flow-level charging statistics, and bandwidth restriction.
The UDM network element is mainly responsible for functions such as subscription data management and user access authorization.
The NWADF is configured to collect and analyze network data of technologies such as big data and artificial intelligence.
The SCP is configured to undertake control functions of all services provided by an intelligent network, for example, control a service switch point (SSP) to complete a connection function.
The NEF network element is mainly configured to support exposure of capabilities and events.
The AF network element mainly transfers a requirement of an application side for a network side, for example, a quality of service (QOS) requirement or user status event subscription. The AF may be a third-party functional entity, or may be an application service deployed by an operator, for example, an IP multimedia subsystem (IMS) voice call service.
The PCF network element is mainly responsible for policy control functions such as charging for a session level or a service data flow level, QoS bandwidth guarantee, mobility management, and UE policy decision. In this architecture, PCFs connected to the AMF and the SMF respectively correspond to an AM PCF (PCF for Access and Mobility Control) and an SM PCF (PCF for Session Management). In an actual deployment scenario, the AM PCF and the SM PCF may not be a same PCF entity.
The NRF may be configured to provide a network element discovery function and provide, based on a request from another network element, network element information corresponding to a network element type. The NRF further provides network element management services such as registration, update, and deregistration of a network element, and subscription and push of a network element status.
The AUSF network element is mainly responsible for authenticating a user, to determine whether to allow the user or a device to access a network.
The DN is a network located outside the operator network. The operator network may access a plurality of DNs, and a plurality of services may be deployed on the DN, to provide services such as a data service and/or a voice service for the terminal device. For example, the DN is a private network of a smart factory, a sensor installed in a workshop in the smart factory may be a terminal device, a control server of the sensor is deployed in the DN, and the control server may provide a service for the sensor. The sensor may communicate with the control server, obtain instructions of the control server, and transmit collected sensor data to the control server based on the instructions, and the like. For another example, the DN is an internal office network of a company, a mobile phone or a computer of an employee of the company may be a terminal device, and the mobile phone or the computer of the employee may access information, a data resource, and the like on the internal office network of the company.
In
It may be understood that the network elements or the functions may be network elements in a hardware device, or may be software functions running on dedicated hardware, or may be virtualized functions instantiated on a platform (for example, a cloud platform). Optionally, the network elements or the functions may be implemented by one device, or may be jointly implemented by a plurality of devices, or may be function modules in one device. This is not limited in embodiments of this application.
The foregoing describes the application scenario to which embodiments of this application are applicable, and the following describes technical features related to embodiments of this application.
As new media industry rapidly develops, new requirements for communication technologies are raised. A surge of data volume in the new media industry poses a challenge to a network transmission capability, especially for highly interactive real-time extended reality (XR) services. The XR service includes a virtual reality (VR) service, an augmented reality (AR) service, a mixed reality (MR) service, a cloud extended reality (Cloud XR) service, and the like.
An existing media service usually uses a real-time transport protocol (RTP) based on a user datagram protocol (UDP) and a derivative protocol thereof, like a real-time transport control protocol (RTCP), or web real-time communication (WebRTC), to transmit data of the XR service, to ensure an end-to-end low interaction delay and try to meet a high real-time requirement of the XR service. However, this best-effort transmission manner causes out-of-order transmission of data packets, packet loss, and the like, and affects user service experience of a high real-time XR service. Inherent uncertainty of network transmission further increases uncertainty of data packet transmission. As a result, it is difficult to ensure time for a data packet to arrive at a user side. This does not meet a real-time requirement of the XR service, and affects user service experience.
An application server sends a plurality of media frames in sequence. However, due to uncertainty of network transmission, time at which the plurality of media frames sent in sequence arrive at the terminal device is also uncertain. For example, the plurality of media frames cannot arrive at the terminal device before start time at which the terminal device processes the media frames, so that the terminal device cannot start to process the media frames at the start time for processing the media frames. As a result, problems such as frame freezing and packet loss occur, user service experience is affected, and a real-time requirement is not met.
The foregoing describes the application scenario to which embodiments of this application are applicable and related technical features. The following describes a communication method provided in embodiments with reference to the accompanying drawings.
Embodiments of this application provide a communication method. The method may be applied to the communication system shown in
In addition, it should be noted that a service in embodiments of this application may be an XR service (for example, a VR service, an AR service, an MR service, or a cloud XR service), a voice service, or the like. This is not limited in embodiments of this application. For ease of understanding of embodiments of this application, the following describes an example in which a service in embodiments of this application is an XR service. Correspondingly, data in embodiments of this application may be understood as a media frame, a video fragment, or the like.
S401: A RAN obtains reference time.
The reference time indicates start time at which a terminal device processes first data. The reference time may be absolute time, or may be relative time on a terminal device side. This is not limited in this embodiment of this application. The first data may be a media frame, a video fragment, voice data, or the like. A form of the first data is not limited in this embodiment of this application. In addition, the first data includes one or more data packets. In this embodiment of this application, an example in which the first data includes a plurality of data packets is used for description. The start time at which the terminal device processes the first data may be understood as a moment at which the terminal device starts to receive the first data, may be understood as a moment at which the terminal device completes receiving of the first data, may be understood as a moment at which the terminal device starts to decode the first data, may be understood as a moment at which the terminal device starts to display or play the first data, or the like. This is not limited in this embodiment of this application.
The RAN obtains the reference time, to subsequently process the first data based on the reference time. The RAN may obtain the reference time in the following manners.
Manner 1: The RAN receives the reference time.
In an example, the RAN may receive the reference time from the terminal device. The terminal device may report the reference time to the RAN. Correspondingly, the RAN receives the reference time. For example, the terminal device may send the reference time to the RAN through a radio resource control (RRC) message. For example, after the terminal device establishes an RRC connection to the RAN, the terminal device may send the RRC message including the reference time to the RAN. Correspondingly, after receiving the RRC message, the RAN parses the RRC message to obtain the reference time. For another example, if the terminal device has a service requirement, the terminal device may send the RRC message including the reference time to the RAN. Correspondingly, after receiving the RRC message, the RAN parses the RRC message to obtain the reference time.
In another example, the RAN may receive the reference time from an AMF network element. The terminal device may initiate a protocol data unit (PDU) session modification procedure, and send the reference time to the RAN through the AMF network element. Correspondingly, the RAN receives the reference time. For example, the terminal device has a service requirement, initiates a PDU session modification procedure, and transparently transmits a non-access stratum (NAS) message including the reference time to the AMF network element through the RAN. The AMF network element and an SMF network element forward the reference time to a UPF network element. After receiving the reference time, the UPF network element sends the reference time to the RAN through the SMF network element and the AMF network element. The RAN receives the reference time from the AMF network element.
In the foregoing manner 1, the RAN may obtain the reference time through a receiving operation. This implementation is simple. For example, the terminal device reports the reference time to the RAN, and the RAN receives the reference time from the terminal device. For another example, the terminal device sends the reference time to the RAN through a core network element, and the RAN receives the reference time from the core network element.
Manner 2: The RAN determines the reference time based on processing time of second data and a processing periodicity.
The first data and the second data are data of a same service, and the second data may be any piece of data in the service. For example, the second data may be a first piece of data in the service. The first data and the second data may be data of a periodic service, that is, a service to which the first data belongs is the periodic service. For example, the first data and the second data are media frames. The processing time of the second data indicates start time at which the terminal device processes the second data. The processing periodicity indicates a periodicity for processing the periodic service, that is, indicates a periodicity for processing the service to which the first data belongs. For example, when the first data and the second data are media frames, the processing periodicity may be understood as a periodicity for displaying a media frame by the terminal device, as shown in
For example, the RAN may obtain the processing time of the second data and the processing periodicity, and store the processing time of the second data and the processing periodicity, to subsequently obtain the reference time based on the processing time of the second data and the processing periodicity. That is, the RAN may obtain processing time of any piece of data in the periodic service and a processing periodicity of the periodic service, and obtain processing time of another piece of data in the periodic service based on the processing time of any piece of data and the processing periodicity of the periodic service.
The RAN may obtain the processing time of the second data and the processing periodicity through a receiving operation. For example, the RAN may receive the processing time of the second data and the processing periodicity that are reported by the terminal device. After the terminal device establishes an RRC connection to the RAN, or when the terminal device has a service requirement, the terminal device may send an RRC message including the processing time of the second data and the processing periodicity to the RAN. Correspondingly, the RAN receives the RRC message, and parses the RRC message to obtain the processing time of the second data and the processing periodicity. For another example, the RAN may receive the processing time of the second data and the processing periodicity from an AMF network element. The terminal device has a service requirement, initiates a PDU session modification procedure, and transparently transmits a NAS message including the processing time of the second data and the processing periodicity to the AMF network element through the RAN. The AMF network element and an SMF network element send the processing time of the second data and the processing periodicity to a UPF network element. Correspondingly, the RAN receives the processing time of the second data and the processing periodicity from the AMF network element.
Alternatively, the RAN may determine the processing time of the second data and the processing periodicity. For example, the RAN may determine the processing time of the second data and the processing periodicity of the service based on a historical transmission status of a service to which the first data belongs. For example, the RAN may collect statistics on transmission duration of each piece of data in a historical transmission process of the service based on the historical transmission status of the service, and determine a processing periodicity of the service based on the transmission duration of each piece of data. For example, the RAN performs a statistical average operation. For example, the RAN may use transmission completion time of one piece of data (denoted as the second data) in the historical transmission process of the service as start time at which the terminal device processes the data, to obtain processing time of the second data. A media frame is used as an example. The RAN may use transmission completion time of a first media frame as start time at which the terminal device processes the first media frame.
Alternatively, the RAN may obtain the processing time of the second data and determine the processing periodicity through a receiving operation. For example, the RAN may receive the processing time of the second data from the terminal device or an AMF network element, and determine the processing periodicity based on a historical transmission status of the service to which the first data belongs. For an implementation process in which the RAN obtains the processing time of the second data through the receiving operation, refer to the foregoing related description. Details are not described herein again. In addition, for an implementation process in which the RAN determines the processing periodicity, refer to the foregoing related description. Details are not described herein again.
Alternatively, the RAN may obtain the processing periodicity and determine the processing time of the second data through a receiving operation. For example, the RAN may receive the processing periodicity from the terminal device or the AMF network element, and determine the processing time of the second data based on a historical transmission status of the service to which the first data belongs. For an implementation process in which the RAN obtains the processing periodicity through the receiving operation, refer to the foregoing related description. Details are not described herein again. In addition, for an implementation process in which the RAN determines the processing time of the second data, refer to the foregoing related description. Details are not described herein again.
The RAN may obtain the processing time of the second data and the processing periodicity in a plurality of manners. This implementation is flexible and has strong adaptability. Further, after obtaining the processing time of the second data and the processing periodicity, the RAN may determine the reference time based on the processing time of the second data and the processing periodicity.
For example, the RAN may determine the reference time based on a sending sequence of the second data on an application server, a sending sequence of the first data on the application server, and the processing time of the second data and the processing periodicity. For example, the RAN may determine the reference time according to the following formula (1):
In the foregoing manner 2, the RAN may obtain the reference time based on the processing time of the second data and the processing periodicity. In other words, the RAN may obtain processing time of other data of a service based on start time at which the terminal device processes one piece of data of the service and a processing periodicity. In this way, the RAN does not need to receive processing time of each piece of data of the service. This reduces signaling interaction and improves resource utilization.
After obtaining the reference time, the RAN may store the reference time, so that the RAN subsequently processes the first data based on the reference time after receiving the first data, that is, performs content of step S402. Alternatively, after receiving the first data, the RAN obtains the reference time, and then processes the first data based on the reference time, that is, performs content of step S402. An execution sequence of obtaining the reference time is not limited in this embodiment of this application.
S402: The RAN processes the first data based on the reference time.
The first data may include one or more data packets. In this embodiment of this application, an example in which the first data includes a plurality of data packets is used for description. A header of each data packet of the first data includes characteristic information, and the characteristic information is used to identify data to which the data packet belongs. The characteristic information may include a data identifier, like a number, a sequence number, or a frame number of data. Further, the characteristic information may further include a quantity of data packets, namely, a quantity of data packets included in the data to which the data packet belongs. For example, the first data is a media frame, and the characteristic information includes a quantity of data packets in the media frame. The characteristic information is encapsulated in the header of the data packet, for example, encapsulated at an Internet Protocol (IP) layer, or encapsulated at an application layer, or encapsulated at a transport layer, or may be encapsulated at another layer. This is not limited in this embodiment of this application.
For example, before step S402, the RAN may receive the first data from a UPF network element. The application server sends service data to the UPF network element, where the service data includes a plurality of data packets, and the plurality of data packets include a data packet of the first data. After receiving the service data, the UPF network element sends the service data to the RAN. Correspondingly, the RAN receives the service data. Further, the RAN may determine the first data from the plurality of data packets based on the characteristic information in the header of each data packet of the plurality of data packets.
The application server may actively send the service data to a terminal device. That is, the application server actively sends the service data to the UPF network element. After receiving the service data, the UPF network element forwards the service data to the RAN, so that the RAN sends the service data to the terminal device. Alternatively, the application server may send the service data to the terminal device in response to a service request of the terminal device. That is, if the terminal device has a service requirement, the terminal device may send a service request message to the UPF network element through the RAN. After receiving the service request message, the UPF network element forwards the service request message to an application server corresponding to a service. After receiving the service request message, the application server sends service data to the UPF network element. Further, after receiving the service data, the UPF network element forwards the service data to the RAN, so that the RAN sends the service data to the terminal device.
Optionally, if the service data is data of a periodic service, the application server may generate or obtain a plurality of pieces of data of the service data based on a processing periodicity, for example, obtain one piece of data in one processing periodicity; and the application server may send the plurality of pieces of data of the service data to the UPF network element one by one based on the processing periodicity, for example, send one piece of data in one processing periodicity.
It should be noted that the application server sends the plurality of pieces of data in sequence, but a sequence in which the RAN receives the plurality of pieces of data is also uncertain due to uncertainty of network transmission. For example, the service data is video data. The service data includes a media frame 0, a media frame 1, a media frame 2, a media frame 3, and a media frame 4. The application server sends the service data in a sequence of the media frame 0, the media frame 1, the media frame 2, the media frame 3, and the media frame 4. Data transmission is performed at a granularity of a data packet. Due to uncertainty of a network environment between the application server and the UPF network element and a network environment between the UPF network element and the RAN, for example, burst traffic and network congestion, the plurality of media frames cannot arrive at the UPF network element and the RAN network element in sequence. For example, a data packet in the media frame 1 arrives at the UPF network element before a data packet in the media frame 0. For another example, the media frame 3 arrives at the RAN later than the media frame 4.
After receiving the first data, the RAN may process the first data based on the reference time. That the RAN processes the first data based on the reference time may be understood as that the RAN performs priority scheduling on a sending sequence of the first data based on the reference time. For example, the RAN sends the first data before the reference time, or the RAN deletes the first data based on the reference time. The following describes the two processing manners (1) and (2).
(1) The RAN sends the first data before the reference time. For example, the RAN sends the first data to the terminal device before the reference time.
For example, the RAN may determine that data that needs to be currently transmitted is the first data, and determine the first data from a plurality of data packets based on characteristic information in a header of each data packet in the plurality of received data packets. Further, if the RAN determines that sending or transmission of the first data can be completed before the reference time, the RAN sends the first data before the reference time; or if current time is earlier than the reference time, the RAN sends the first data before the reference time. For example, the RAN may determine, based on duration required for transmitting the first data and the reference time, whether sending or transmission of the first data can be completed before the reference time. For example, if a sum of the current time and the duration required for transmitting the first data is less than or equal to the reference time, the RAN may determine that sending or transmission of the first data can be completed before the reference time.
A first data packet in the first data is used as an example. The RAN may determine, based on characteristic information in a header of the first data packet, whether the first data packet belongs to the first data. If the first data packet belongs to the first data and sending or transmission of the first data can be completed before the reference time (or the current time is earlier than the reference time), the RAN sends the first data packet to the terminal device before the reference time. If the first data packet does not belong to the first data, after sending the first data, the RAN may perform priority scheduling again on a sending sequence of the first data packet based on the characteristic information in the header of the first data packet.
The RAN may determine, based on a historical transmission status of a service, that data that currently needs to be transmitted is the first data. For example, in an initial phase, the RAN has not transmitted data of the service, and the RAN may determine that the data that currently needs to be transmitted is a first piece of data in the service. For another example, after the initial phase, the RAN may determine that the data that currently needs to be transmitted is next piece of data of latest sent data. A media frame is used as an example. Latest data sent by the RAN is the media frame 2, and the RAN may determine that data that needs to be transmitted currently is the media frame 3. In addition, the RAN may determine, based on sending duration (or transmission duration) of historical data, duration required for transmitting the first data; determine, based on a current valid network transmission resource, duration required for transmitting the first data; determine, based on sending duration (or transmission duration) of historical data and a current valid network transmission resource, duration required for transmitting the first data, or the like. This is not limited in this embodiment of this application.
In an implementation, if the first data is data of a periodic service, the RAN may send the first data to the terminal device in a current processing periodicity and before the reference time. For example, the RAN may determine that data that needs to be transmitted in the current processing periodicity is the first data, and determine the first data from a plurality of data packets based on characteristic information in a header of each data packet of the plurality of received data packets. Further, if the RAN determines that sending or transmission of the first data can be completed in the current processing periodicity and before the reference time or the current time is earlier than the reference time, the RAN sends the first data to the terminal device in the current processing periodicity and before the reference time.
For example, the first data includes a first data packet, and the RAN may determine, based on characteristic information in a header of the first data packet, whether the first data packet belongs to the first data. If the first data packet belongs to the first data, and it is determined that sending or transmission of the first data can be completed in the current processing periodicity and before the reference time (or it is determined that the current time is earlier than the reference time), the RAN sends the first data packet to the terminal device in the current processing periodicity and before the reference time. If the first data packet does not belong to the first data, after sending the first data, the RAN may perform priority scheduling again on a sending sequence of the first data packet based on the characteristic information in the header of the first data packet.
In the foregoing implementation, the RAN can send a plurality of data packets of one piece of data to the terminal device in one processing periodicity, and send the plurality of data packets to the terminal device before start time at which the terminal device processes the data. This can avoid that the plurality of data packets of one piece of data arrive at a terminal device side across a plurality of processing periodicities, to reduce problems such as frame freezing, skipping, and packet loss caused when the terminal device receives a data packet of a same piece of data in the plurality of processing periodicities.
Optionally, if the first data packet does not belong to the first data, the RAN may determine not to send the first data packet to the terminal device in the current processing periodicity. In other words, the RAN sends only a plurality of data packets of one piece of data in one processing periodicity. This can avoid sending a plurality of pieces of data in one processing periodicity, to reduce problems such as packet loss and skipping caused when the terminal device processes only one piece of data in a plurality of pieces of data received in one processing periodicity, improve user service experience, and reduce air interface resource transmission pressure.
A video service is used as an example. As shown in
(2) The RAN deletes the first data based on the reference time. For example, after receiving the first data, the RAN determines that sending or transmission of the first data cannot be completed before the reference time, and the RAN may delete the first data based on the reference time.
For example, the RAN may determine that data that needs to be currently transmitted is the first data, and determine the first data from a plurality of data packets based on characteristic information in a header of each data packet in the plurality of received data packets. Further, if the RAN determines that sending or transmission of the first data cannot be completed before the reference time, the RAN may delete the first data; or if current time is later than the reference time, the RAN may delete the first data. For example, the RAN may determine, based on duration required for transmitting the first data and the reference time, whether sending or transmission of the first data can be completed before the reference time. For example, if a sum of the current time and the duration required for transmitting the first data is greater than the reference time, the RAN may determine that sending or transmission of the first data cannot be completed before the reference time. In this case, sending the first data by the RAN to the terminal device affects sending of other data that is of a service to which the first data belongs and that is currently received by the RAN (for example, data whose sending sequence on an application server side is later than a sending sequence of the first data on the application server side). For example, sending of the other data cannot be completed before start time at which the terminal device processes the other data. Further, even if the RAN sends the first data to the terminal device, the terminal device deletes the first data based on a real-time requirement. In this embodiment of this application, when determining that sending or transmission of the first data cannot be completed before the reference time, the RAN deletes the first data, so that resources for transmitting the first data can be saved, and transmission resource utilization can be improved. In addition, the RAN may use the saved resource to ensure subsequent data transmission, to ensure user service experience.
For an implementation in which the RAN determines that the data that needs to be currently transmitted is the first data, refer to related description in the foregoing processing manner (1). Details are not described herein again. For an implementation in which the RAN determines the duration required for transmitting the first data, refer to related description in the foregoing processing manner (1). Details are not described herein again.
In an implementation, the first data includes a second data packet, and the RAN fails to send the second data packet to the terminal device. The RAN may determine whether transmission or retransmission of the second data packet can be completed before the reference time. For example, the RAN may determine, based on at least one of sending duration of a historical data packet or a current valid network transmission resource, duration required for transmitting or retransmitting the second data packet; and determine, based on the duration required for transmitting or retransmitting the second data packet and the reference time, whether transmission or retransmission of the second data packet can be completed before the reference time. If the RAN determines that transmission or retransmission of the second data packet can be completed before the reference time, the RAN sends the second data packet to the terminal device before the reference time. If the RAN determines that retransmission of the second data packet cannot be completed before the reference time, the RAN deletes the first data.
Further, if the first data is data of a periodic service, the RAN may determine whether transmission or retransmission of the second data packet is completed in a current processing periodicity and before the reference time. For example, the RAN may determine, based on at least one of sending duration of a historical data packet or a current valid network transmission resource, duration required for transmitting or retransmitting the second data packet; and determine, based on the duration required for transmitting or retransmitting the second data packet, the reference time, and a processing periodicity, whether transmission or retransmission of the second data packet can be completed in the current processing periodicity and before the reference time. If the RAN determines that transmission or retransmission of the second data packet can be completed in the current processing periodicity and before the reference time, the RAN sends the second data packet to the terminal device in the current processing periodicity and before the reference time. If the RAN determines that transmission or retransmission of the second data packet cannot be completed in the current processing periodicity and before the reference time, the RAN may delete the first data.
In an implementation, the RAN receives service data from a UPF network element, where the service data includes all data packets of the first data, some or all data packets of third data, and all data packets of fourth data. Sending time of the fourth data is later than sending time of the third data, that is, the sending time of the fourth data on an application server side is later than the sending time of the third data on the application server side. For example, a frame number (or a number, a sequence number, or the like) of the fourth data is greater than a frame number (or a number, a sequence number, or the like) of the third data. The RAN may send the first data before the reference time, and delete the third data based on the reference time.
For example, the RAN receives all data packets of the third data. The RAN receives the third data and the fourth data before the reference time. After sending the first data, the RAN successively sends the third data and the fourth data to the terminal device. In this case, the terminal device receives the third data and the fourth data before the reference time or in a process of processing the first data. To ensure real-time performance, after completing processing of the first data, the terminal device preferentially processes latest data sent by the application server side. For example, the terminal device preferentially processes data with a largest frame number in a plurality of pieces of received data, that is, the terminal device preferentially processes the fourth data and deletes the third data. Optionally, the third data may partially arrive at the terminal device. In this embodiment of this application, in a process of processing the first data, the RAN receives a plurality of pieces of data, and may retain, based on start time at which the terminal device processes the first data, data that is sent at latest time in the plurality of pieces of data, and delete remaining data. In this way, network transmission resources can be saved, resource utilization can be improved, an end-to-end delay on a user side can be reduced, real-time user service experience can be ensured, and storage resources of the terminal device can be saved.
Further, if the first data is data of a periodic service, the RAN receives all data packets of the first data, some or all data packets of the third data, and all data packets of the fourth data from a UPF network element. The RAN sends the first data in a current processing periodicity and before the reference time. Further, the RAN may determine to send the fourth data in a periodicity following the current processing periodicity and before start time at which the terminal device processes the fourth data, and delete the third data. Sending time of the fourth data on an application server side is later than sending time of the third data on the application server side. Optionally, there is an interval of one or more processing periodicities between the sending time of the fourth data on the application server side and the sending time of the third data on the application server side.
For example, the first data is a media frame 1. The RAN receives a plurality of data packets, which are respectively denoted as a data packet 1_1, a data packet 3_1, a data packet 2_1, a data packet 1_2, and a data packet 3_2. The RAN determines, based on the characteristic information in a header of each data packet, that the data packet 1_1 and the data packet 1_2 belong to the media frame 1, and the media frame 1 includes two data packets, that is, the RAN receives all data packets of the media frame 1. The data packet 2_1 belongs to a media frame 2 and does not belong to the media frame 1; and the data packet 3_1 and the data packet 3_2 belong to a media frame 3 and do not belong to the media frame 1. The media frame 3 includes two data packets, that is, the RAN receives all data packets of the media frame 3. The RAN determines that there is an interval of at least one processing periodicity between the media frame 1 and the media frame 3. Further, the RAN sends the media frame 1 to the terminal device in a current processing periodicity and before start time at which the terminal device processes the media frame 1, determines to discard the media frame 2, and sends the media frame 2 to the terminal device in a next processing periodicity of the current processing periodicity and before start time at which the terminal processes the media frame 2, that is, sends the data packet 2_1 and the data packet 2_2, as shown in
In this case, the RAN completes processing of the first data based on the start time at which the terminal device processes the first data.
In the foregoing embodiment, the RAN processes the first data based on the start time at which the terminal device processes the first data, for example, performs priority scheduling on a sending sequence of the first data, so that the first data can arrive at the terminal device before the reference time. This reduces an out-of-order degree of arrival of a plurality of data packets at the terminal device, to reduce problems such as frame freezing and skipping, and improve user service experience.
In step S401, the RAN receives the reference time from the AMF network element, or receives the processing time of the second data from the AMF network element, or receives the processing periodicity from the AMF network element, or receives the processing time of the second data and the processing periodicity from the AMF network element. With reference to
S701: A terminal device sends a first message to an AMF network element. Correspondingly, the AMF network element receives the first message.
The first message is used to request to modify a PDU session. The first message includes reference time. The first message is a NAS message, for example, a PDU session modification request (PDU session modification request) message. For example, the first message is a PDU session modification request message. The terminal device may transparently transmit the PDU session modification request message including the reference time to the AMF network element through the RAN. For example, the terminal device has a service requirement, and may initiate a PDU session procedure related to a service. The terminal device may obtain the reference time, and send the PDU session modification request message including the reference time to the AMF network element, to request to modify a PDU session. Optionally, the PDU session modification request message further includes a PDU session identifier, a packet filter, and the like. In
After receiving the first message, the AMF network element obtains the reference time. Then, the AMF may send the reference time to the RAN in a manner A or a manner B. If the AMF network element sends the reference time to the RAN in the manner A, content shown in step S702 is performed. If the AMF network element sends the reference time to the RAN in the manner B, content shown in step S703 to step S707 is performed.
S702: The AMF network element sends a second message to the RAN. Correspondingly, the RAN receives the second message.
The second message may be an uplink NAS transport message, or may be another N2 message. This is not limited in this embodiment of this application. The second message includes the reference time. For example, after obtaining the reference time, the AMF network element may send the second message including the reference time to the RAN, for example, send an N2 message including the reference time to the RAN, so that the RAN obtains the reference time. In
S703: The AMF network element sends a third message to an SMF network element. Correspondingly, the SMF network element receives the third message.
The third message is used to request to modify a PDU session. The third message includes the reference time. The third message may be an Nsmf service message, for example, a session management context update request. The session management context update request may be implemented by invoking an Nsmf session update session management context request service (Nsmf_PDUSession_UpdateSMContext request), or by sending a session management context update request message. This is not limited in this embodiment of this application. For example, after receiving the PDU session modification request message, the AMF network element obtains the reference time, and may send the session management context update request including the reference time to the SMF network element, to request to modify a PDU session. In
S704: The SMF network element sends a fourth message to a UPF network element. Correspondingly, the UPF network element receives the fourth message.
The fourth message is used to request to modify a PDU session. The fourth message includes the reference time. The fourth message may be an N4 message, for example, an N4 session modification request (N4 session modification request) message. For example, after receiving the session management context update request, the SMF network element obtains the reference time, and may send an N4 session modification request message including the reference time to the UPF network element, to request to modify a PDU session. In
Optionally, after receiving the N4 session modification request message, the UPF network element parses the N4 session modification request message to obtain the reference time, and stores the reference time, so that the UPF can subsequently send first data to the RAN based on the reference time.
S705: The UPF network element sends a fifth message to the SMF network element, and correspondingly, the SMF network element receives the fifth message.
The fifth message may be used to reply to the N4 session modification request. In this embodiment of this application, an example in which the fifth message indicates that N4 session modification succeeds is used for description. The fifth message may be an N4 message, for example, an N4 session modification response (N4_PDU session modification response) message. In
S706: The SMF network element sends a sixth message to the AMF network element. Correspondingly, the AMF network element receives the sixth message.
The sixth message indicates that PDU session modification succeeds. The sixth message may be an Nsmf service message, for example, a session management context update response. The session management context update response may be implemented by invoking an Nsmf_PDU session update session management context response service (Nsmf_PDUSession_UpdateSMContext response), or by sending a session management context update response message. This is not limited in this embodiment of this application. Optionally, the sixth message may include the reference time. For example, after receiving the N4 session modification response message, the SMF network element may send the session management context update response including the reference time to the AMF network element. In
S707: The AMF network element sends a seventh message to the RAN. Correspondingly, the RAN receives the seventh message.
The seventh message includes the reference time, namely, the reference time from the SMF network element in S706. The seventh message may be a downlink NAS transport message, namely, an N2 message carrying a PDU session modification success message, or may be another N2 message. This is not limited in this embodiment of this application. In
S708: The terminal device and the UPF network element complete a subsequent PDU session modification procedure.
After receiving the N2 message of the PDU session modification success message from the AMF network element, the RAN may send a NAS message (not shown in
It should be noted that the terminal device may send the reference time to the RAN in a PDU session modification procedure initiated by the terminal device. In a process of transmitting an uplink NAS message, UE sends the reference time to a RAN side at an RRC layer, or may send the reference time to the RAN in another communication procedure. This is not limited in this embodiment of this application.
Service data of an application server arrives at a terminal device side through the UPF network element, and then through the RAN. The foregoing embodiment describes processing of the service data by the RAN in a service data transmission process, so that the service data can arrive at the terminal device side in time, and an out-of-order degree of arrival of the service data at the terminal device is reduced. In another embodiment, the UPF network element may process the service data in a service data transmission process, so that the service data can arrive at a RAN side in time. This reduces an out-of-order degree of arrival of the service data at the RAN. In this case, the following uses the first data as an example to describe a procedure of processing the first data by the UPF network element.
S801: A UPF network element obtains reference time.
The reference time indicates start time at which a terminal device processes first data. The reference time may be absolute time, or may be relative time on a terminal device side. This is not limited in this embodiment of this application. The first data may be a media frame, a video fragment, voice data, or the like. A form of the first data is not limited in this embodiment of this application. In addition, the first data includes one or more data packets. In this embodiment of this application, an example in which the first data includes a plurality of data packets is used for description. The start time at which the terminal device processes the first data may be understood as a moment at which the terminal device starts to receive the first data, may be understood as a moment at which the terminal device completes receiving of the first data, may be understood as a moment at which the terminal device starts to decode the first data, may be understood as a moment at which the terminal device starts to display or play the first data, or the like. This is not limited in this embodiment of this application.
In an example, the UPF network element may obtain the reference time through a receiving operation. For example, the UPF network element may receive the reference time from an SMF network element. For example, the terminal device sends the reference time to an AMF network element in a PDU session modification procedure. After receiving the reference time, the AMF network element sends the reference time to a RAN. For an implementation process, refer to content shown in
In another example, the UPF network element may determine the reference time based on processing time of second data and a processing periodicity. For example, the UPF network element may obtain the processing time of the second data and the processing periodicity, and determine the reference time based on the processing time of the second data and the processing periodicity. For an implementation process in which the UPF network element determines the reference time based on the processing time of the second data and the processing periodicity, refer to related description in step S401 in which the RAN determines the reference time based on the processing time of the second data and the processing periodicity. Details are not described herein again. The first data and the second data are data of a same service, and the second data may be any piece of data in the service. For example, the second data may be a first piece of data in the service. The first data and the second data may be data of a periodic service, that is, a service to which the first data belongs is the periodic service. For example, the first data and the second data are media frames. The processing time of the second data indicates start time at which the terminal device processes the second data. The processing periodicity indicates a periodicity for processing the periodic service, that is, indicates a periodicity for processing the service to which the first data belongs.
The UPF network element may obtain the processing time of the second data and the processing periodicity through a receiving operation. For example, the UPF network element may receive the processing time of the second data and the processing periodicity from the SMF network element based on content shown in
After obtaining the reference time, the UPF network element may store the reference time, so that the UPF network element subsequently sends the first data to the RAN based on the reference time after receiving the first data, that is, performs content of step S802. Alternatively, after receiving the first data, the UPF network element obtains the reference time, and then sends the first data to the RAN based on the reference time, that is, performs content of step S802. An execution sequence of obtaining the reference time is not limited in this embodiment of this application.
S802: The UPF network element sends the first data to the RAN based on the reference time.
The first data may include one or more data packets. In this embodiment of this application, an example in which the first data includes a plurality of data packets is used for description. A header of each data packet of the first data includes characteristic information, and the characteristic information is used to identify data to which the data packet belongs. The characteristic information may include a data identifier, like a number, a sequence number, or a frame number of data. Further, the characteristic information may further include a quantity of data packets, namely, a quantity of data packets included in the data to which the data packet belongs. The characteristic information is encapsulated in the header of the data packet, for example, encapsulated at an IP layer, or encapsulated at an application layer, or encapsulated at a transport layer, or may be encapsulated at another layer. This is not limited in this embodiment of this application.
For example, before step S802, the UPF network element may receive the first data from an application server. The application server sends service data to the UPF network element, where the service data includes a plurality of data packets, and the plurality of data packets include a data packet of the first data. Correspondingly, the UPF network element receives the service data. Further, the UPF network element may determine the first data from the plurality of data packets based on the characteristic information in the header of each data packet of the plurality of data packets.
The application server may actively push the service data to the terminal device. In other words, the application server actively sends the service data to the UPF network element, so that the service data is sent to the terminal device through the UPF network element and the RAN. Alternatively, the application server may send the service data to the terminal device in response to a service request of the terminal device. If the terminal device has a service requirement, the terminal device may send a service request message to the UPF network element through the RAN. After receiving the service request message, the UPF network element forwards the service request message to an application server corresponding to a service. After receiving the service request message, the application server sends service data to the UPF network element, so that the service data is sent to the terminal device through the UPF network element and the RAN.
Optionally, if the service data is data of a periodic service, the application server may generate or obtain a plurality of pieces of data of the service data based on a processing periodicity, for example, obtain one piece of data in one processing periodicity; and the application server may send the plurality of pieces of data of the service data to the UPF network element one by one based on the processing periodicity, for example, send one piece of data in one processing periodicity.
It should be noted that the application server sends the plurality of pieces of data in sequence, but a sequence in which the UPF network element receives the plurality of pieces of data is also uncertain due to uncertainty of network transmission. For example, the service data is video data. The service data includes a media frame 0, a media frame 1, a media frame 2, a media frame 3, and a media frame 4. The application server sends the service data in a sequence of the media frame 0, the media frame 1, the media frame 2, the media frame 3, and the media frame 4. Data transmission is performed at a granularity of a data packet. Due to uncertainty of a network environment between the application server and the UPF network element, for example, burst traffic or network congestion, the plurality of media frames cannot arrive at the UPF network element in sequence. For example, a data packet in the media frame 1 arrives at the UPF network element before a data packet in the media frame 0. For another example, the media frame 3 arrives at the UPF network element later than the media frame 4.
After receiving the first data, the UPF network element may perform priority scheduling on a sending sequence of the first data based on the reference time. For example, the UPF network element sends the first data to the RAN before the reference time. For example, the UPF network element may determine that data that needs to be currently transmitted is the first data, determine the first data from a plurality of data packets based on characteristic information in a header of each data packet of the plurality of received data packets, and send the first data to the RAN in time before the reference time. For an implementation in which the UPF network element determines that the data that needs to be currently transmitted is the first data, refer to the related description in step S402 in which the RAN determines that the data that needs to be currently transmitted is the first data. Data transmission is performed at a granularity of a data packet. Due to uncertainty of a network environment between the UPF network element and the application server, a plurality of data packets sequentially sent by the application server arrive at the UPF network element out of order, as shown in
If the first data is data of a periodic service, the UPF network element may send the first data to the RAN in a current processing periodicity and before the reference time. For example, the UPF network element may determine that data that needs to be transmitted in the current processing periodicity is the first data, and determine the first data from a plurality of data packets based on characteristic information in a header of each data packet of the plurality of received data packets. Further, the UPF network element sends the first data to the RAN in the current periodicity and before the reference time, so that the RAN can receive the first data in one processing periodicity and before the reference time.
For example, the first data includes a first data packet, and the UPF network element may determine, based on characteristic information in a header of the first data packet, whether the first data packet belongs to the first data. If the first data packet belongs to the first data, the UPF network element sends the first data packet to the RAN in a current processing periodicity and before the reference time. If the first data packet does not belong to the first data, after sending the first data, the UPF network element may perform priority scheduling again on a sending sequence of the first data packet based on the characteristic information in the header of the first data packet.
Optionally, if the first data packet does not belong to the first data, the UPF network element may determine not to send the first data packet to the terminal device in the current processing periodicity. In other words, the UPF network element sends only a plurality of data packets of one piece of data in one processing periodicity. This can avoid sending a plurality of pieces of data in one processing periodicity, to reduce problems such as packet loss and skipping caused when the terminal device processes only one piece of data in a plurality of pieces of data received in one processing periodicity, and improve user service experience. Further, if the first data packet belongs to next piece of data of the first data, the UPF may determine to start to send the first data packet after sending the first data in a current processing periodicity, to improve data transmission efficiency.
In this case, the UPF network element processes the first data based on start time at which the terminal device completes processing of the first data (in other words, the UPF element begins its processing of the first data after the terminal device completes its processing of the first data).
In the foregoing embodiment, the UPF network element performs priority scheduling on a sending sequence of the first data based on the start time at which the terminal device processes the first data, so that a plurality of data packets that arrive at the UPF network element out of order are sent to the RAN in sequence before the reference time. This reduces an out-of-order degree of arrival of the plurality of data packets at the RAN, and enables the first data to arrive at the RAN before the reference time.
S901: A RAN obtains reference time.
The reference time indicates start time at which a terminal device processes first data. For an implementation process in which the RAN obtains the reference time, refer to related content of step S401. Details are not described herein again.
S902: A UPF network element obtains the reference time.
For an implementation process in which the UPF network element obtains the reference time, refer to related content in step S801. Details are not described herein again.
It should be noted that an execution sequence of step S901 and step 902 is merely an example, and this embodiment of this application is not limited thereto. For example, if the RAN and the UPF network element obtain the reference time in the manner B in
S903: An application server sends service data to the UPF network element. Correspondingly, the UPF network element receives the service data.
The application server actively sends the service data to the UPF network element, or the application server may send the service data to the UPF network element in response to a service request message of the terminal device. The service data includes a plurality of data packets, and the plurality of data packets include a data packet of the first data. In addition, for an implementation process in which the application server sends the service data to the UPF network element, refer to related content of step S802. Details are not described herein again.
S904: The UPF network element sends the first data to the RAN based on the reference time. Correspondingly, the RAN receives the first data.
After receiving the service data, the UPF network element may perform priority scheduling on a sending sequence of the plurality of data packets of the service data based on the reference time. For example, the UPF network element may send the first data to the RAN based on the reference time, for example, send the first data to the RAN before the reference time. For an implementation process of step S904, refer to related content of step S802. Details are not described herein again.
S905: The RAN processes the first data based on the reference time.
In step S904, the UPF network element may send a plurality of data packets to the RAN in sequence. However, due to uncertainty of a network environment between the UPF network element and the RAN, the plurality of data packets may arrive at the RAN out of order. In step S905, the RAN may perform priority scheduling on a sending sequence of the plurality of data packets based on the reference time. For example, the RAN processes the first data based on the reference time, for example, sends the first data to the terminal device before the reference time, or deletes the first data based on the reference time. For an implementation process of step S905, refer to the related content of step S402. Details are not described herein again.
S906: The RAN sends the first data to the terminal device before the reference time. Correspondingly, the terminal device receives the first data.
The RAN sends the first data to the terminal device before the reference time, so that the terminal device receives the first data before the reference time. Further, after receiving the first data, the terminal device starts to process the first data at the reference time, for example, render, display, or play the first data.
In the foregoing embodiment, both the UPF network element and the RAN process the first data based on the reference time. The UPF network element performs priority scheduling on a plurality of data packets of the first data based on the reference time, so that an out-of-order degree of data packets caused by uncertainty of a network environment between the UPF network element and the application server can be reduced. The RAN network element performs priority scheduling on the plurality of data packets of the first data based on the reference time, so that an out-of-order degree of data packets caused by uncertainty of a network environment between the UPF network element and the RAN can be reduced. In this way, an out-of-order degree of arrival of the plurality of data packets at the terminal device can be reduced, stability and reliability of data transmission can be improved, and the first data can arrive at the terminal device before the start time at which the terminal device processes the first data, so that the terminal device processes the first data.
The foregoing mainly describes the solution provided in this embodiment of this application from a perspective of a device and a perspective of device interaction. It may be understood that, to implement the foregoing functions, each device may include a corresponding hardware structure and/or software module for performing each function. A person skilled in the art should be easily aware that, in combination with units and algorithm steps of the examples described in embodiments disclosed in this specification, embodiments of this application may be implemented by hardware or a combination of hardware and computer software. Whether a function is performed in a manner of hardware or computer software driving hardware depends on an application and an implementation constraint condition of the technical solution. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of this application.
In this embodiment of this application, the device may be divided into functional units based on the foregoing method examples. For example, each functional unit may be obtained through division based on each corresponding function, or two or more functions may be integrated into one unit. The integrated unit may be implemented in a form of hardware, or may be implemented in a form of a software functional unit.
When the integrated unit is used,
The processing module 1002 may support the communication apparatus 1000 in performing the actions of the access network element, the user plane function network element, or the terminal device in the foregoing method examples. Alternatively, the processing module 1002 mainly performs internal actions of the access network element, the user plane function network element, or the terminal device in the method examples.
For example, the communication apparatus 1000 may be the access network element in the foregoing embodiments, or may be a component (for example, a chip) of the access network element in the foregoing embodiments. The processing module 1002 is configured to: obtain reference time, where the reference time indicates start time at which a terminal device processes first data; and process the first data based on the reference time.
In an embodiment, when the reference time is obtained,
In an embodiment, when the processing time of the second data and the processing periodicity are obtained,
In an embodiment, when the first data is processed based on the reference time,
In an embodiment, when deleting the first data based on the reference time, the processing module 1002 is configured to: when sending of the first data is not completed before the reference time, delete the first data based on the reference time.
In an embodiment, the first data is a media frame.
In an embodiment, before the reference time, the transceiver module 1001 is further configured to receive third data and fourth data, where sending time of the fourth data is later than sending time of the third data; and the processing module 1002 is further configured to delete the third data based on the reference time.
In an embodiment, that sending time of the fourth data is later than sending time of the third data may be that: a frame number of the fourth data is greater than a frame number of the third data.
In an embodiment, the transceiver module 1001 is further configured to receive a plurality of data packets from a user plane function network element, where the plurality of data packets include a data packet of first data, a header of each data packet of the plurality of data packets includes characteristic information, and the characteristic information includes at least one of a data identifier or a quantity of data packets; and the processing module 1002 is further configured to determine the first data from the plurality of data packets based on the characteristic information in the header of each data packet.
For another example, the communication apparatus 1000 may be the terminal device in the foregoing embodiments, or may be a component (for example, a chip) of the terminal device in the foregoing embodiments. The transceiver module 1001 is configured to: send processing time of second data to an access network element, where the processing time of the second data indicates start time at which a terminal device processes the second data; and receive first data before reference time, where the reference time indicates start time at which the terminal device processes the first data.
In an embodiment, the first data is the second data.
In an embodiment, the transceiver module 1001 is further configured to send a processing periodicity to the access network element, where the first data and the second data are data of a periodic service, and the processing periodicity indicates a periodicity for processing the periodic service.
In an embodiment, the first data is a media frame.
For another example, the communication apparatus 1000 may be the user plane function network element in the foregoing embodiments, or may be a component (for example, a chip) of the user plane function network element in the foregoing embodiments. The processing module 1002 is configured to obtain reference time, where the reference time indicates start time at which a terminal device processes first data. The transceiver module 1001 is configured to send the first data to an access network element based on the reference time.
In an embodiment, when the reference time is obtained,
In an embodiment, when the processing time of the second data and the processing periodicity are obtained, the transceiver module 1001 is configured to receive the processing time of the second data and the processing periodicity from the session management function network element;
In an embodiment, the first data is a media frame.
It should be understood that division of the units in the foregoing apparatus is merely logical function division. During actual implementation, all or some of the units may be integrated into one physical entity, or may be physically separated. In addition, all units in the apparatus may be implemented in a form of software invoked by a processing element, or may be implemented in a form of hardware; or some units may be implemented in a form of software invoked by a processing element, and some units may be implemented in a form of hardware. For example, each unit may be a separately disposed processing element, or may be integrated into a chip of the apparatus for implementation. In addition, each unit may alternatively be stored in a memory in a form of a program to be invoked by a processing element of the apparatus to perform a function of the unit. In addition, all or some of these units may be integrated together, or may be implemented independently. The processing element herein may also be a processor, or may be an integrated circuit having a signal processing capability. In an implementation process, the operations of the foregoing methods or the foregoing units may be implemented by using a hardware integrated logic circuit in the processor element, or may be implemented in a form in which the processing element invokes software.
In an example, a unit in any one of the foregoing apparatuses may be one or more integrated circuits configured to implement the foregoing methods, for example, one or more application-specific integrated circuits (ASIC), one or more microprocessors (DSP), one or more field programmable gate arrays (FPGA), or a combination of at least two of these integrated circuit forms. For another example, when the unit in the apparatus may be implemented in a form in which a processing element schedules a program, the processing element may be a processor, for example, a general-purpose central processing unit (CPU) or another processor that can invoke the program. For another example, these units may be integrated together and implemented in a form of a system-on-chip (SOC).
The foregoing unit configured for receiving is an interface circuit of the apparatus, and is configured to receive a signal from another apparatus. For example, when the apparatus is implemented in a manner of a chip, the receiving unit is an interface circuit that is of the chip and that is configured to receive a signal from another chip or apparatus. The foregoing unit configured for sending is an interface circuit of the apparatus, and is configured to send a signal to another apparatus. For example, when the apparatus is implemented in a manner of a chip, the sending unit is an interface circuit that is of the chip and that is configured to send a signal to another chip or apparatus.
In the foregoing embodiments, the method performed by the access network element, the user plane function network element, or the terminal device may be implemented by the processor 1110 by invoking a program stored in a memory (which may be the access network element, the user plane function network element, or the memory 1120 in the terminal device, or may be an external memory). In other words, the communication apparatus 1100 configured to implement a function of the access network element, the user plane function network element, or the terminal device may include the processor 1110. The processor 1110 invokes a program in the memory, to perform the method performed by the access network element, the user plane function network element, or the terminal device in the foregoing method embodiments. The processor herein may be an integrated circuit having a signal processing capability, for example, a CPU. An apparatus used for an access network device or a policy control function network element may be implemented by one or more integrated circuits configured to implement the foregoing method, for example, may be implemented by one or more ASICs, one or more microprocessors DSPs, one or more FPGAs, or a combination of at least two of these integrated circuit forms. Alternatively, the foregoing implementations may be combined.
When the communication apparatus 1100 is used in the foregoing method, the processor 1110 is configured to implement a function of the processing module 1002, and the interface 1130 is configured to implement a function of the transceiver module 1001.
All or some of the foregoing embodiments may be implemented by using software, hardware, firmware, or any combination thereof. When software is used for implementation, the implementation may be totally or partially implemented in a form of a computer program product. The computer program product includes one or more computer instructions. When computer program instructions are loaded and executed on a computer, all or some of the procedures or functions according to embodiments of this application are generated. The computer may be a general-purpose computer, a dedicated computer, a computer network, or another programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or may be transmitted from a computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center to another website, computer, server, or data center in a wired (for example, a coaxial cable, an optical fiber, or a digital subscriber line (DSL)) or wireless (for example, infrared, radio, or microwave) manner. The computer-readable storage medium may be any usable medium accessible by a computer, or a data storage device like a server or a data center integrating one or more usable media. The usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, a DVD), a semiconductor medium (for example, a solid state disk (SSD)), or the like.
Various illustrative logic units and circuits described in embodiments of this application may implement or operate the described functions by using a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or another programmable logic apparatus, a discrete gate or transistor logic, a discrete hardware component, or any implementation of the foregoing combinations. The general-purpose processor may be a microprocessor. Optionally, the general-purpose processor may also be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented by a combination of computing devices, such as a digital signal processor and a microprocessor, a plurality of microprocessors, one or more microprocessors combined with a digital signal processor core, or any other similar configuration.
Steps of the methods or algorithms described in embodiments of this application may be directly embedded into hardware, a software unit executed by a processor, or a combination thereof. The software unit may be stored in a random access memory (RAM), a flash memory, a read-only memory (ROM), an EPROM memory, an EEPROM memory, a register, a hard disk, a removable magnetic disk, a CD-ROM, or a storage medium of any other form in the art. For example, the storage medium may be connected to the processor, so that the processor may read information from the storage medium and write information into the storage medium. Optionally, the storage medium may be further integrated into the processor. The processor and the storage medium may be disposed in an ASIC.
The computer program instructions may alternatively be loaded onto a computer or another programmable data processing device, so that a series of operations and steps are performed on the computer or the another programmable device, and computer-implemented processing is generated. Therefore, the instructions executed on the computer or the another programmable device provide steps for implementing a function in one or more procedures in the flowcharts and/or in one or more blocks in the block diagrams.
In one or more example implementations, the foregoing functions described in embodiments of this application may be implemented by using hardware, software, firmware, or any combination the three. If the functions are implemented by using software, the functions may be stored in a computer-readable medium, or may be transmitted to a computer-readable medium in a form of one or more instructions or code. The computer-readable medium is either a computer storage medium or a communication medium that enables a computer program to move from one place to another. The storage medium may be an available medium that can be accessed by any general-purpose or special computer. For example, such a computer-readable medium may include but is not limited to a RAM, a ROM, an EEPROM, a CD-ROM, or another optical disc storage, a magnetic disk storage, or another magnetic storage apparatus, or any other medium that may be used to bear or store program code, where the program code is in a form of an instruction or a data structure or in a form that can be read by a general or special computer or a general or special processor. In addition, any connection may be appropriately defined as a computer-readable medium. For example, if software is transmitted from a website, a server, or another remote resource by using a coaxial cable, an optical fiber computer, a twisted pair, a digital subscriber line (DSL), or in a wireless manner like infrared, radio, or microwave, the software is included in a defined computer-readable medium. The disc and/or disk include a compressed disk, a laser disk, an optical disc, a digital versatile disc (DVD), a floppy disk, and a Blu-ray disc. The disk generally copies data by a magnetic means, and the disc generally copies data optically by a laser means. The foregoing combination may also be included in the computer-readable medium.
A person skilled in the art should be aware that in the foregoing one or more examples, functions described in embodiments of this application may be implemented by hardware, software, firmware, or any combination thereof. When the functions are implemented by software, the foregoing functions may be stored in a computer-readable medium or transmitted as one or more instructions or code in a computer-readable medium. The computer-readable medium includes a computer storage medium and a communication medium. The communication medium includes any medium that facilitates transmission of a computer program from one place to another. The storage medium may be any available medium accessible to a general-purpose or a dedicated computer.
The foregoing implementations further describe the objectives, technical solutions, and beneficial effects of embodiments of this application in detail. It should be understood that the foregoing descriptions are merely implementations of embodiments of this application, but are not intended to limit the protection scope of embodiments of this application. Any modification, equivalent replacement, or improvement made based on the technical solutions of embodiments of this application shall fall within the protection scope of embodiments of this application. The foregoing descriptions in this specification of this application may enable technologies in the art to use or implement the content of embodiments of this application. Any modification based on the disclosed content should be considered obvious in the art. The basic principles described in embodiments of this application may be applied to other variations without departing from the essence and scope of this application. Therefore, content disclosed in embodiments of this application is not limited to the described embodiments and implementations, and may be extended to a maximum scope consistent with the principles and disclosed new features of this application.
Although this application is described with reference to features and embodiments thereof, it is clear that various modifications and combinations may be made to this application without departing from the spirit and scope of embodiments of this application. Correspondingly, the specification and the accompanying drawings are merely examples of descriptions of this application defined by the following claims, and are deemed to have covered any and all modifications, variations, combinations, or equivalents that fall within the scope of this application. It is clear that a person skilled in the art may make various modifications and variations to this application without departing from the scope of this application. In this way, provided that these modifications and variations to embodiments of this application fall within the scope of the claims of this application and their equivalent technologies, embodiments of this application are also intended to include these modifications and variations.
Number | Date | Country | Kind |
---|---|---|---|
202111265533.9 | Oct 2021 | CN | national |
This application is a continuation of International Application No. PCT/CN2022/126769, filed on Oct. 21, 2022, which claims priority to Chinese Patent Application No. 202111265533.9, filed on Oct. 28, 2021. The disclosures of the aforementioned applications are hereby incorporated by reference in their entireties.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2022/126769 | Oct 2022 | WO |
Child | 18649974 | US |