System and method for reducing latency
By introducing a discarded timer mechanism and a delay status reporting mechanism in user equipment (UE), the problem of high delay in wireless communication is solved, efficient resource allocation for delay-sensitive services is achieved, and the quality of real experience is improved.
Patent Information
- Application Number
- CN202411086420.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-07-09
- Filing Date
- 2024-08-08
- Publication Date
- 2025-02-18
AI Technical Summary
The prior art is difficult to effectively reduce latency in wireless communication between devices, especially in augmented reality (AR), virtual reality (VR) and mixed reality (MR) applications, where the resource allocation efficiency of latency-sensitive services is low.
By introducing a discard timer mechanism in the user equipment (UE), the timer is started in response to the received protocol data unit (PDU), and a delay status report is sent to the base station when the remaining time of the timer meets the threshold criterion. The base station dynamically allocates resources based on these reports to optimize latency performance.
It effectively reduces latency, improves resource allocation efficiency of latency-sensitive services, reduces signaling overhead, and ensures a seamless realistic experience in low-latency service flows.
Smart Images

Figure CN119485479A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of and priority to U.S. Application No. 63 / 531,917, filed on August 10, 2023, and U.S. Non-Provisional Patent Application No. 18 / 767,589, filed on July 9, 2024, the entire contents of both applications are incorporated herein by reference. Technical Field
[0003] The present disclosure relates generally to wireless communications between devices, including but not limited to systems and methods for reducing latency. Background Art
[0004] Augmented reality (AR), virtual reality (VR), and mixed reality (MR) are becoming more common, with these technologies supported on a wider range of platforms and devices. Some AR / VR / MR devices can communicate with other devices within the environment through various cellular connections or links. Summary of the invention
[0005] In one aspect, the present disclosure relates to a method. The method may include receiving a protocol data unit (PDU) for transmission to a base station at a buffer of a user equipment (UE). The method may include: in response to receiving the PDU in the buffer, the UE starts a discard timer. The method may include: in response to the remaining time of the discard timer meeting a threshold criterion, the UE sends a delay status report corresponding to the PDU to the base station.
[0006] In some embodiments, the method includes: receiving, by the UE, an indication from a base station of resources allocated for sending the PDU. The method may include: sending, by the UE, the PDU to the base station in response to receiving the indication and before expiration of a discard timer. In some embodiments, the resources are allocated by the base station based at least in part on a delay status report. In some embodiments, the value of the discard timer is set based on a type of service carried in the PDU.
[0007] In some embodiments, the method includes: discarding, by the UE, the PDU in response to expiration of a discard timer. In some embodiments, the method includes: determining, by the UE, a count of PDUs in a buffer for transmission to a base station. The method may include: sending, by the UE, a buffer status report to the base station in response to the count satisfying a threshold criterion. In some embodiments, the method includes: sending, by the UE, a plurality of delay status reports for a plurality of PDUs in the buffer in response to the remaining time of corresponding discard timers of the PDUs satisfying a threshold criterion.
[0008] In some embodiments, the threshold criterion is a first threshold criterion. The method may include: determining, by the UE, that a value corresponding to the discard timer satisfies a second threshold criterion for sending a delay status report. The UE may send a delay status report corresponding to the PDU to the base station in response to the value of the discard timer satisfying the second threshold criterion and the remaining time satisfying the first threshold criterion. In some embodiments, the method includes receiving, by the UE, a second PDU in a buffer for sending to the base station. The method may include: starting a second discard timer by the UE in response to receiving the second PDU in the buffer. The method may include: determining, by the UE, that a second value corresponding to the second discard timer does not satisfy the second threshold criterion. The method may include: abandoning, by the UE, sending any delay status report corresponding to the second PDU.
[0009] In another aspect, the present disclosure relates to a user equipment (UE) comprising a wireless transceiver and one or more processors configured to: receive a protocol data unit (PDU) for transmission to a base station at a buffer of the UE. The one or more processors may be configured to: in response to receiving the PDU in the buffer, start a discard timer. The one or more processors may be configured to: in response to a remaining time of the discard timer satisfying a threshold criterion, send a delay status report corresponding to the PDU to the base station via the wireless transceiver.
[0010] In some embodiments, the one or more processors are further configured to receive, via a wireless transceiver, an indication of resources allocated for sending the PDU from the base station. The one or more processors may be configured to, in response to receiving the indication and before the expiration of a discard timer, send the PDU to the base station via the wireless transceiver. In some embodiments, the resources are allocated by the base station at least in part based on a delay status report. In some embodiments, the value of the discard timer is set based on the type of service carried in the PDU. In some embodiments, the one or more processors are configured to, in response to the expiration of the discard timer, discard the PDU.
[0011] In some embodiments, the one or more processors are further configured to determine a count of PDUs in the buffer for transmission to the base station. The one or more processors may be configured to, in response to the count satisfying a threshold criterion, send a buffer status report to the base station via the wireless transceiver. In some embodiments, the one or more processors are further configured to, in response to the remaining time of corresponding discard timers of a plurality of PDUs in the buffer satisfying a threshold criterion, send a plurality of delay status reports for the PDUs to the base station via the wireless transceiver.
[0012] In some embodiments, the threshold criterion is a first threshold criterion. The one or more processors may be configured to determine that the value corresponding to the discard timer meets the second threshold criterion for sending a delay status report. The UE may send a delay status report corresponding to the PDU to the base station in response to the value of the discard timer meeting the second threshold criterion and the remaining time meeting the first threshold criterion. In some embodiments, the one or more processors may be configured to receive a second PDU in the buffer for sending to the base station. The one or more processors may be configured to start a second discard timer in response to receiving the second PDU in the buffer. The one or more processors may be configured to determine that the second value corresponding to the second discard timer does not meet the second threshold criterion. The one or more processors may be configured to abandon sending any delay status report corresponding to the second PDU. In some embodiments, the one or more processors include one or more processors of a packet data convergence protocol (PDCP) layer of the UE.
[0013] In another aspect, the present disclosure relates to a non-transitory computer-readable medium storing instructions that, when executed by one or more processors of a user equipment (UE), cause the UE to receive a protocol data unit (PDU) for transmission to a base station at a buffer of the UE. The instructions may cause the UE to: in response to receiving the PDU in the buffer, start a discard timer. The instructions may cause the UE to: in response to the remaining time of the discard timer satisfying a threshold criterion, send a delay status report corresponding to the PDU to the base station via a wireless transceiver.
[0014] In some embodiments, the threshold criterion is a first threshold criterion. The instructions may also cause the UE to determine that a value corresponding to the discard timer satisfies a second threshold criterion for sending a delay status report. Based on the value of the discard timer satisfying the second threshold criterion and the remaining time satisfying the first threshold criterion, the UE may send a delay status report corresponding to the PDU to the base station. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] The accompanying drawings are not intended to be drawn to scale. Like reference numbers and names in the various drawings refer to like elements. For clarity, not every component is labeled in every drawing.
[0016] Figure 1 is a schematic diagram of an example wireless communication system according to an example implementation of the present disclosure.
[0017] Figure 2 is a schematic diagram of a head wearable display and a console for presenting augmented reality or virtual reality according to an example embodiment of the present disclosure.
[0018] Figure 3 is a schematic diagram of a head wearable display according to an example embodiment of the present disclosure.
[0019] Figure 4 is a block diagram of a computing environment according to an example implementation of the present disclosure.
[0020] Figure 5 is a block diagram of a system for reducing latency according to an example implementation of the present disclosure.
[0021] Figure 6 is a flow chart illustrating an example method of managing PDUs according to an example implementation of the present disclosure.
[0022] Figure 7 is a flow chart illustrating an example method of PDU delay status reporting according to an example implementation of the present disclosure.
[0023] Figure 8 is a flow chart illustrating an example method of allocating resources based on a status report from a UE according to an example implementation of the present disclosure. DETAILED DESCRIPTION
[0024] Before turning to the drawings that show certain embodiments in detail, it should be understood that the present disclosure is not limited to the details or methods set forth in the specification or shown in the drawings. It should also be understood that the terminology used herein is for descriptive purposes only and should not be considered as limiting.
[0025] Referring generally to the accompanying drawings, the systems and methods described herein relate to reducing latency. The systems and methods described herein may perform delay status reporting for delay-sensitive services such as extended reality (XR) services. In various embodiments, the scheduling of uplink data by the network may utilize buffer status reports available at the network from UEs to ensure efficient use of air interface resources. On top of the buffer status, some embodiments may involve UEs sharing delay status information so that the network can prioritize delay-sensitive services. Uplink extended reality services may have different characteristics based on the type of application or service. For example, periodic services (e.g., video, audio, avatars, gestures, or control information) may need to be delivered in a timely manner. Services (e.g., user input) may not have strict timing requirements. Delay-sensitive services may benefit most from reporting delay status to the network.
[0026] According to the systems and methods described herein, service flow selection and delay reporting conditions can improve the performance of delay-sensitive extended reality services in the uplink while controlling reporting overhead. Reporting the delay status of all service types may be inefficient and may result in excessive signal overhead. According to the systems and methods described herein, a user equipment can perform delay status reporting for selected services with strict delay requirements. In various embodiments, the service for delay status reporting can be selected based on a discard timer value, such as a packet data convergence protocol (PDCP) discard timer value. For example, if the PDCP discard timer value is less than a defined threshold time, a delay status report can be enabled. Such selection criteria can ensure that services with low delay requirements can report the delay status of the corresponding service. Therefore, for the selected service flow, a delay status report can be triggered when the reporting condition is met. For example, if the remaining time of the discard timer drops below a predetermined remaining threshold time, the device can trigger the sending of a delay status report. Such an on-demand delay status report can ensure that a report is triggered when a low-delay service flow has been in the buffer for an extended duration and is experiencing a transmission delay. Upon receiving the delay status report, the network may respond by, for example, prioritizing resources for the corresponding service flow, which in turn improves the delay performance of the service flow.
[0027] In various embodiments of the present solution, a user equipment (UE) may receive a protocol data unit (PDU) in a buffer for transmission to a base station. In response to receiving the PDU in the buffer, the UE may start a discard timer. In response to the remaining time of the discard timer satisfying a threshold criterion, the UE may send a delay status report corresponding to the PDU to the base station via a wireless transceiver. According to the systems and methods described herein, when a low-latency service flow experiences a delay, the delay status report may help the network allocate resources to improve the delay performance of the corresponding flow while controlling the signaling overhead. Such implementation methods and embodiments may improve the resource allocation efficiency of the base station, limit latency, and provide better support for XR applications or resources.
[0028] Figure 1 An example wireless communication system 100 is shown. The wireless communication system 100 may include a base station 110 (also referred to as a "wireless communication node 110" or "station 110") and one or more user equipment (UE) 120 (also referred to as a "wireless communication device 120" or "terminal device 120"). The base station 110 and the UE 120 may communicate via wireless communication links 130A, 130B, 130N. The wireless communication link 130 may be a cellular communication link that complies with third generation mobile communication technology (3G), fourth generation mobile communication technology (4G), fifth generation mobile communication technology (5G), or other cellular communication protocols or Wi-Fi communication protocols. In one example, the wireless communication link 130 supports, adopts, or is based on orthogonal frequency division multiple access (OFDMA). In one aspect, the UE 120 is located within a geographical boundary relative to the base station 110 and may communicate with or through the base station 110. In some embodiments, the wireless communication system 100 includes more than one wireless communication link. Figure 1 More, fewer, or including components than those shown in Figure 1 For example, the wireless communication system 100 may include components other than Figure 1 One or more additional base stations 110 other than the base station 110 shown in FIG.
[0029] In some embodiments, UE 120 may be a user device, such as a mobile phone, a smart phone, a personal digital assistant (PDA), a tablet computer, a laptop computer, a wearable computing device, etc. Each UE 120 may communicate with a base station 110 via a corresponding communication link 130. For example, UE 120 may send data to base station 110 via wireless communication link 130 and receive data from base station 110 via wireless communication link 130. Example data may include audio data, image data, text, etc. Communication or data transmission by UE 120 to base station 110 may be referred to as uplink communication. Communication or data reception by UE 120 from base station 110 may be referred to as downlink communication. In some embodiments, UE 120A includes a wireless interface 122, a processor 124, a memory device (also referred to as memory) 126, and one or more antennas 128. These components may be implemented as hardware, software, firmware, or a combination thereof. In some embodiments, UE 120A includes more than one embodiment. Figure 1 More, fewer, or including components than those shown in Figure 1 For example, UE 120 may include an electronic display and / or input device. For example, UE 120 may include in addition to Figure 1 Additional antennas 128 and wireless interfaces 122 beyond the antennas 128 and wireless interfaces 122 shown in FIG.
[0030] Antenna 128 can be a component that receives radio frequency (RF) signals and / or sends RF signals through a wireless medium. The RF signal can be at a frequency between 200 megahertz (MHz) and 100 gigahertz (GHz). The RF signal can have a data packet, symbol or frame corresponding to the data used for communication. Antenna 128 can be a dipole antenna, a patch antenna, a loop antenna or any suitable antenna for wireless communication. In one aspect, a single antenna 128 is used to both send and receive RF signals. In one aspect, different antennas 128 are used to send and receive RF signals. In one aspect, multiple antennas 128 are used to support multiple-input, multiple-out (MIMO) communications.
[0031] The wireless interface 122 includes or is implemented as a transceiver for sending and receiving RF signals through a wireless medium. The wireless interface 122 can communicate with the wireless interface 112 of the base station 110 through a wireless communication link 130A. In one configuration, the wireless interface 122 is coupled to one or more antennas 128. In one aspect, the wireless interface 122 can receive an RF signal at an RF frequency received by the antenna 128, and down-convert the RF signal to a baseband frequency (e.g., 0 GHz to 1 GHz). The wireless interface 122 can provide the down-converted signal to the processor 124. In one aspect, the wireless interface 122 can receive a baseband signal for transmission at a baseband frequency from the processor 124, and up-convert the baseband signal to generate an RF signal. The wireless interface 122 can send the RF signal through the antenna 128.
[0032] The processor 124 is a component for processing data. The processor 124 can be implemented as a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a logic circuit, etc. The processor 124 can obtain instructions from the memory device 126 and execute these instructions. In one aspect, the processor 124 can receive down-converted data at a baseband frequency from the wireless interface 122, and decode or process the down-converted data. For example, the processor 124 can generate audio data or image data based on the down-converted data, and present the audio indicated by the audio data and / or the image indicated by the image data to the user of UE120A. In one aspect, the processor 124 can generate or obtain data for transmission at a baseband frequency, and encode or process the data. For example, the processor 124 can encode or process image data or audio data at a baseband frequency, and provide the encoded or processed data to the wireless interface 122 for transmission.
[0033] The memory device 126 is a component that stores data. The memory device 126 can be implemented as a random access memory (RAM), a flash memory, a read only memory (ROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a register, a hard disk, a removable disk, a compact disc read-only memory (CD-ROM), or any device capable of storing data. The memory device 126 can be implemented as a non-transitory computer-readable medium that stores a plurality of instructions that can be executed by the processor 124 to perform various functions of the UE 120A disclosed herein. In some embodiments, the memory device 126 and the processor 124 are integrated into a single component.
[0034] In some embodiments, each of UEs 120B ... 120N includes similar components of UE 120A for communicating with base station 110. Therefore, for the sake of brevity, detailed descriptions of repeated parts thereof are omitted herein.
[0035] In some embodiments, the base station 110 may be an evolved node B (eNB), a serving eNB, a target eNB, a femto station, or a pico station. The base station 110 may be communicatively coupled to another base station 110 or other communication device via a wireless communication link and / or a wired communication link. The base station 110 may receive data (or RF signals) from a UE 120 in an uplink communication. Additionally or alternatively, the base station 110 may provide data to another UE 120, another base station, or another communication device. Thus, the base station 110 allows communication between multiple UEs 120 associated with the base station 110, or allows communication between other UEs associated with different base stations. In some embodiments, the base station 110 includes a wireless interface 112, a processor 114, a memory device (also referred to as a memory) 116, and one or more antennas 118. These components may be implemented as hardware, software, firmware, or a combination thereof. In some embodiments, the base station 110 includes more than one UE 120. Figure 1 More, fewer, or including components than those shown in Figure 1 For example, base station 110 may include an electronic display and / or an input device. For example, base station 110 may include an electronic display and / or an input device. Figure 1Additional antennas 118 and wireless interfaces 112 beyond the antennas 118 and wireless interfaces 112 shown in FIG.
[0036] Antenna 118 may be a component that receives radio frequency (RF) signals and / or transmits RF signals over a wireless medium. Antenna 118 may be a dipole antenna, a patch antenna, a loop antenna, or any suitable antenna for wireless communication. In one aspect, a single antenna 118 is used to both transmit and receive RF signals. In one aspect, different antennas 118 are used to transmit and receive RF signals. In one aspect, multiple antennas 118 are used to support multiple-input multiple-output (MIMO) communications.
[0037] The wireless interface 112 includes or is implemented as a transceiver for sending and receiving RF signals through a wireless medium. The wireless interface 112 can communicate with the wireless interface 122 of the UE 120 through a wireless communication link 130. In one configuration, the wireless interface 112 is coupled to one or more antennas 118. In one aspect, the wireless interface 112 can receive an RF signal at an RF frequency received by the antenna 118, and down-convert the RF signal to a baseband frequency (e.g., 0 GHz to 1 GHz). The wireless interface 112 can provide the down-converted signal to the processor 124. In one aspect, the wireless interface 122 can receive a baseband signal for transmission at a baseband frequency from the processor 114, and up-convert the baseband signal to generate an RF signal. The wireless interface 112 can send the RF signal through the antenna 118.
[0038] Processor 114 is a component for processing data. Processor 114 can be implemented as FPGA, ASIC, logic circuit, etc. Processor 114 can obtain instructions from memory device 116 and execute these instructions. In one aspect, processor 114 can receive down-converted data at baseband frequency from wireless interface 112, and decode or process the down-converted data. For example, processor 114 can generate audio data or image data based on the down-converted data. In one aspect, processor 114 can generate or obtain data for transmission at baseband frequency, and encode or process the data. For example, processor 114 can encode or process image data or audio data at baseband frequency, and provide the encoded or processed data to wireless interface 112 for transmission. In one aspect, processor 114 can set, allocate, schedule or allocate communication resources for different UE120. For example, processor 114 can set different modulation schemes, time slots, channels, frequency bands, etc. for UE 120 to avoid interference. The processor 114 may generate data (or an uplink configuration grant (UL CG)) indicating the communication resource configuration and provide the data (or UL CG) to the wireless interface 112 for transmission to the UE 120 .
[0039] The memory device 116 is a component that stores data. The memory device 116 may be implemented as a RAM, a flash memory, a ROM, an EPROM, an EEPROM, a register, a hard disk, a removable disk, a CD-ROM, or any device capable of storing data. The memory device 116 may be implemented as a non-transitory computer-readable medium that stores a plurality of instructions that may be executed by the processor 114 to perform various functions of the base station 110 disclosed herein. In some embodiments, the memory device 116 and the processor 114 are integrated into a single component.
[0040] In some embodiments, the communication between the base station 110 and the UE 120 is based on one or more layers of the Open Systems Interconnection (OSI) model. The OSI model may include multiple layers, including: a physical layer, a medium access control (MAC) layer, a radio link control (RLC) layer, a packet data convergence protocol (PDCP) layer, a radio resource control (RRC) layer, a non-access stratum (NAS) layer or an Internet Protocol (IP) layer, and other layers.
[0041] Figure 2is a block diagram of an example artificial reality system environment 200. In some embodiments, the artificial reality system environment 200 includes a HWD 250 worn by a user, and a console 210 that provides artificial reality (e.g., augmented reality, virtual reality, mixed reality) content to the HWD 250. Each of the HWD 250 and the console 210 may be a separate UE 120. The HWD 250 may be referred to as, include, or be part of a head mounted display (HMD), a head mounted device (HMD), a head wearable device (HWD), a head worn display (HWD), or a head worn device (HWD). The HWD 250 may detect the position and / or orientation of the HWD 250 and the shape, position and / or orientation of the user's body / hand / face, and provide the detected position and / or orientation of the HWD 250 and / or tracking information indicating the shape, position and / or orientation of the body / hand / face to the console 210. The console 210 may generate image data indicating an artificial reality image based on the detected position and / or orientation of the HWD 250, the detected shape, position and / or orientation of the user's body / hand / face, and / or user input for artificial reality, and send the image data to the HWD 250 for presentation. In some embodiments, the artificial reality system environment 200 includes the following: Figure 2 More, fewer, or more of the components shown may be included. Figure 2 In some embodiments, the functionality of one or more components in the artificial reality system environment 200 may be distributed among the components in a manner different from that described herein. For example, some of the multiple functions of the console 210 may be performed by the HWD 250. For example, some of the multiple functions of the HWD 250 may be performed by the console 210. In some embodiments, the console 210 is integrated as part of the HWD 250.
[0042] In some embodiments, HWD 250 is an electronic component that can be worn by a user and can present or provide an artificial reality experience to the user. HWD 250 can present one or more images, video, audio, or some combination thereof to provide an artificial reality experience to the user. In some embodiments, audio is presented via an external device (e.g., a speaker and / or headphones) that receives audio information from HWD 250, console 210, or both, and presents audio based on the audio information. In some embodiments, HWD 250 includes a sensor 255, a wireless interface 265, a processor 270, an electronic display 275, a lens 280, and a compensator 285. These components can work in conjunction to detect the position of HWD 250 and the gaze direction of the user wearing HWD 250, and render an image of a field of view corresponding to the detected position and / or orientation of HWD 250 within artificial reality. In other embodiments, HWD 250 includes a sensor 255, a wireless interface 265, a processor 270, an electronic display 275, a lens 280, and a compensator 285. These components can work in concert to detect the position of HWD 250 and the gaze direction of the user wearing HWD 250, and render an image of a field of view corresponding to the detected position and / or orientation of HWD 250 within artificial reality. In other embodiments, HWD 250 includes a sensor 255, a wireless interface 265, a processor 270, an electronic display 275, a lens 280, and a compensator 285. Figure 2 More, fewer, or including components than those shown in Figure 2 The components shown in the figure are different components.
[0043] In some embodiments, sensor 255 includes electronic components, or a combination of electronic components and software components, that detect the position and orientation of HWD 250. Examples of sensor 255 may include: one or more imaging sensors, one or more accelerometers, one or more gyroscopes, one or more magnetometers, or another suitable type of sensor that detects motion and / or position. For example, one or more accelerometers may measure translational motion (e.g., forward / backward, up / down, left / right), and one or more gyroscopes may measure rotational motion (e.g., pitch, left-right sway, roll). In some embodiments, sensor 255 detects translational motion and rotational motion, and determines the orientation and position of HWD 250. In one aspect, sensor 255 may detect translational motion and rotational motion relative to a previous orientation and previous position of HWD 250, and determine a new orientation and / or position of HWD 250 by accumulating or integrating the detected translational motion and / or rotational motion. For example, assuming that HWD 250 is facing a direction 25 degrees from a reference direction, sensor 255 may determine that HWD 250 is now facing or facing a direction 45 degrees from the reference direction in response to detecting that HWD 250 has turned 20 degrees. In another example, assuming that HWD 250 is located two feet from a reference point in a first direction, sensor 255 may determine that HWD 250 is now located at the vector product of two feet in the first direction and three feet in the second direction in response to detecting that HWD 250 has moved three feet in a second direction.
[0044] In some embodiments, sensor 255 includes an eye tracker. The eye tracker may include an electronic component, or a combination of an electronic component and a software component, that determines the gaze direction of the user of HWD 250. In some embodiments, HWD 250, console 210, or a combination thereof may generate image data of artificial reality in conjunction with the gaze direction of the user of HWD 250. In some embodiments, the eye tracker includes two eye trackers, each of which captures an image of a corresponding eye and determines the gaze direction of the eye. In one example, the eye tracker determines an angular rotation of the eye, a translation of the eye, a torsion change of the eye, and / or a shape change of the eye based on the captured image of the eye, and determines a relative gaze direction relative to HWD 250 based on the determined angular rotation of the eye, the translation of the eye, and the torsion change of the eye. In one approach, the eye tracker may illuminate or project a predetermined reference pattern or structured pattern onto a portion of an eye, and capture an image of the eye to analyze the pattern projected onto the portion of the eye to determine the relative gaze direction of the eye relative to the HWD 250. In some embodiments, the eye tracker combines the orientation of the HWD 250 and the relative gaze direction relative to the HWD 250 to determine the gaze direction of the user. For example, assuming that the HWD 250 is oriented in a direction 30 degrees from the reference direction and the relative gaze direction of the HWD 250 is -10 degrees (or 350 degrees) relative to the HWD 250, the eye tracker may determine that the gaze direction of the user is 20 degrees from the reference direction. In some embodiments, the user of the HWD 250 may configure the HWD 250 (e.g., via user settings) to enable or disable the eye tracker. In some embodiments, the user of the HWD 250 is prompted to enable or disable the eye tracker.
[0045] In some embodiments, the wireless interface 265 includes electronic components, or a combination of electronic components and software components, that communicate with the console 210. The wireless interface 265 may be or may correspond to the wireless interface 122. The wireless interface 265 may communicate with the wireless interface 215 of the console 210 via the base station 110 through a wireless communication link. Through the communication link, the wireless interface 265 may send data indicating the determined position and / or orientation of the HWD 250, and / or the determined gaze direction of the user to the console 210. In addition, through the communication link, the wireless interface 265 may receive an indication from the console 210 or image data corresponding to an image to be rendered, as well as additional data associated with the image.
[0046] In some embodiments, the processor 270 includes an electronic component, or a combination of electronic components and software components, that generates one or more images for display (e.g., according to a change in the field of view of the artificial reality space). In some embodiments, the processor 270 is implemented as a part of the processor 124 or is communicatively coupled to the processor 124. In some embodiments, the processor 270 is implemented as a processor (or a graphics processing unit (GPU)) that executes instructions to perform various functions described herein. The processor 270 can receive image data describing an artificial reality image to be rendered, and additional data associated with the image through the wireless interface 265, and can render the image to be displayed through the electronic display 275. In some embodiments, the image data from the console 210 can be encoded, and the processor 270 can decode the image data to render the image. In some embodiments, the processor 270 receives object information and depth information in the additional data from the console 210, the object information indicating virtual objects in the artificial reality space, and the depth information indicating the depth of these virtual objects (or the distance from the HWD 250). In one aspect, the processor 270 may perform shading, reprojection, and / or blending based on the artificial reality image from the console 210, object information, depth information, and / or updated sensor measurements from the sensor 255 to update the artificial reality image to correspond to the updated position and / or orientation of the HWD 250. Assuming that the user turns his head after the initial sensor measurements, the processor 270 may generate a small portion (e.g., 10%) of the image corresponding to the updated field of view within the artificial reality based on the updated sensor measurements and append the portion to the image in the image data from the console 210 by reprojection, rather than reconstructing the entire image in response to the updated sensor measurements. The processor 270 may perform shading and / or blending on the additional edges. Thus, the processor 270 may generate an artificial reality image without reconstructing the artificial reality image based on the updated sensor measurements.
[0047] In some embodiments, the electronic display 275 is an electronic component that displays an image. The electronic display 275 may be, for example, a liquid crystal display or an organic light emitting diode display. The electronic display 275 may be a transparent display that allows the user to see through. In some embodiments, when the user wears the HWD 250, the electronic display 275 is located near the user's eyes (e.g., less than 3 inches). In one aspect, the electronic display 275 emits light or projects light to the user's eyes based on the image generated by the processor 270.
[0048] In some embodiments, lens 280 is a mechanical component that changes the light received from electronic display 275. Lens 280 can magnify the light from electronic display 275 and correct optical errors associated with the light. Lens 280 can be a Fresnel lens, a convex lens, a concave lens, a filter, or any suitable optical component that changes the light from electronic display 275. Although electronic display 275 is very close to the eye, light from electronic display 275 can still pass through lens 280 to the pupil so that the user can see the image displayed by electronic display 275.
[0049] In some embodiments, compensator 285 includes electronic components, or a combination of electronic components and software components, that perform compensation to compensate for any distortion or aberration. In one aspect, lens 280 introduces optical aberrations (e.g., chromatic aberration), pincushion distortion, barrel distortion, etc. Compensator 285 can determine compensation (e.g., pre-distortion) to be applied to the image to be rendered from processor 270 to compensate for the distortion caused by lens 280, and apply the determined compensation to the image from processor 270. Compensator 285 can provide the pre-distorted image to electronic display 275.
[0050] In some embodiments, the console 210 is an electronic component or a combination of an electronic component and a software component that provides content to be rendered to the HWD 250. In one aspect, the console 210 includes a wireless interface 215 and a processor 230. These components can work together to determine the visual field of the artificial reality corresponding to the position of the HWD 250 and the gaze direction of the user of the HWD 250 (e.g., the user's field of view (FOV)), and can generate image data indicating the artificial reality image corresponding to the determined visual field. In addition, these components can work together to generate additional data associated with the image. Additional data can be information associated with presenting or rendering artificial reality in addition to the artificial reality image. Examples of additional data include hand model data, mapping information (or simultaneous localization and mapping (SLAM) data) for converting the position and orientation of the HWD 250 in the physical space to the virtual space, eye tracking data, motion vector information, depth information, edge information, object information, etc. The console 210 may provide image data and additional data to the HWD 250 for use in presenting artificial reality. Figure 2 More, fewer, or including components than those shown in Figure 2 In some embodiments, console 210 is integrated as a part of HWD 250.
[0051] In some embodiments, the wireless interface 215 is an electronic component, or a combination of an electronic component and a software component, that communicates with the HWD 250. The wireless interface 215 may be or may correspond to the wireless interface 122. The wireless interface 215 may be a corresponding component of the wireless interface 265 to communicate via a communication link (e.g., a wireless communication link). Through the communication link, the wireless interface 215 may receive data from the HWD 250 indicating the determined position and orientation of the HWD 250, and / or the determined gaze direction of the user. In addition, through the communication link, the wireless interface 215 may send image data describing the image to be rendered, and additional data associated with the artificial reality image to the HWD 250.
[0052] The processor 230 may include or may correspond to a component that generates content to be rendered according to the position and / or orientation of the HWD 250. In some embodiments, the processor 230 is implemented as a part of the processor 124 or is communicatively coupled to the processor 124. In some embodiments, the processor 230 may be combined with the gaze direction of the user of the HWD 250. In one aspect, the processor 230 determines the field of view of the artificial reality according to the position and / or orientation of the HWD 250. For example, the processor 230 maps the position of the HWD 250 in the physical space to the position in the artificial reality space, and determines the field of view of the artificial reality space from the mapped position in the artificial reality space along the direction corresponding to the mapped orientation. The processor 230 may generate image data (the image data describes an image of the field of view of the determined artificial reality space) and send the image data to the HWD 250 via the wireless interface 215. In some embodiments, the processor 230 may generate additional data associated with the image (the additional data includes motion vector information, depth information, edge information, object information, hand model data, etc.), and send the additional data together with the image data to the HWD 250 through the wireless interface 215. The processor 230 may encode the image data describing the image, and may send the encoded data to the HWD 250. In some embodiments, the processor 230 generates image data periodically (e.g., every 11 milliseconds (ms)) and provides the image data to the HWD 250.
[0053] In one aspect, the process of detecting the position of the HWD 250 and the gaze direction of the user wearing the HWD 250 and rendering the image to the user should be performed within one frame time (e.g., 11ms or 16ms). The delay between the movement of the user wearing the HWD 250 and the image displayed corresponding to the user's movement may cause jitter, which may cause motion sickness and may reduce the user experience. In one aspect, the HWD 250 and the console 210 can prioritize the communication of AR / VR so that the delay between the movement of the user wearing the HWD 250 and the image displayed corresponding to the user's movement can be presented as within the frame time (e.g., 11ms or 16ms) to provide a seamless experience.
[0054] Figure 3 2 is a schematic diagram of HWD 250 according to an exemplary embodiment. In some embodiments, HWD 250 includes a front rigid body 305 and a belt 310. Front rigid body 305 includes electronic display 275 ( Figure 3 Not shown), lens 280 ( Figure 3 ), sensor 255, wireless interface 265 and processor 270. Figure 3 In the illustrated embodiment, the wireless interface 265, processor 270, and sensor 255 are located within the front rigid body 305 and may not be visible to the outside. In other embodiments, the HWD 250 has a Figure 3 For example, the wireless interface 265, the processor 270 and / or the sensor 255 may be located in a different configuration than that shown in FIG. Figure 3 The positions shown are at different locations.
[0055] Various operations described herein may be implemented on a computer system. Figure 4 A block diagram of a representative computing system 414 that can be used to implement the present disclosure is shown. In some embodiments, the base station 110, the UE 120, the console 210, and the HWD 250 are implemented by the computing system 414. The computing system 414 can be implemented as, for example, a consumer device, such as a smartphone, other mobile phones, tablet computers, wearable computing devices (e.g., smart watches, glasses, head wearable displays), desktop computers, laptop computers; or the computing system can be implemented using distributed computing devices. The computing system 414 can be implemented to provide VR experience, AR experience, MR experience. In some embodiments, the computing system 414 may include conventional computer components, such as a processor unit 416, a storage device 418, a network interface 420, a user input device 422, and a user output device 424.
[0056] The network interface 420 can provide a connection to a wide area network (e.g., the Internet) to which a wide area network (WAN) interface of the remote server system is also connected. The network interface 420 can include a wired interface (e.g., Ethernet) and / or a wireless interface that implements various radio frequency (RF) data communication standards, such as Wi-Fi, Bluetooth, or cellular data network standards (e.g., 3G, 4G, 5G, 60GHz, Long Term Evolution (LTE), etc.).
[0057] The network interface 420 may include a transceiver to allow the computing system 414 to send data using a transmitter and receive data from a remote device using a receiver. The transceiver may be configured to support such transmission / reception: the transmission / reception supports industrial standards for implementing two-way communication. An antenna may be attached to the transceiver housing and electrically coupled to the transceiver. Additionally or alternatively, a multi-antenna array may be electrically coupled to the transceiver so that multiple beams pointing in different directions can facilitate sending and / or receiving data.
[0058] The transmitter may be configured to wirelessly transmit a frame, time slot, or symbol generated by the processor unit 416. Similarly, the receiver may be configured to receive a frame, time slot, or symbol, and the processor unit 416 may be configured to process the frame. For example, the processor unit 416 may be configured to determine the type of frame and process the frame and / or fields of the frame accordingly.
[0059] User input device 422 may include any device (or devices) via which a user may provide signals to computing system 414; computing system 414 may interpret these signals as indicating a particular user request or information. User input device 422 may include any or all of the following: a keyboard, a touch pad, a touch screen, a mouse or other pointing device, a scroll wheel, a click wheel, a dial, a button, a switch, a keypad, a microphone, a sensor (e.g., a motion sensor, an eye tracking sensor, etc.), etc.
[0060] User output device 424 may include any device via which computing system 414 can provide information to a user. For example, user output device 424 may include a display to display images generated by or delivered to computing system 414. The display may combine various image generation technologies with supporting electronic devices (e.g., digital-to-analog converters or analog-to-digital converters, or signal processors, etc.), such as liquid crystal displays (LCDs), light-emitting diodes (LEDs) including organic light-emitting diodes (OLEDs), projection systems, or cathode ray tubes (CRTs), etc. Devices that act as both input devices and output devices, such as touch screens, may be used. User output device 424 may be provided in addition to or in place of a display. Examples include indicator lights, speakers, tactile "display" devices, printers, and the like.
[0061] Some embodiments include storing computer program instructions in electronic components such as microprocessors, storage devices, and memory in computer-readable storage media (e.g., non-transient computer-readable media). Multiple features in each feature described in this specification may be implemented as a process, which is designated as a program instruction set encoded on a computer-readable storage medium. These program instructions, when executed by one or more processors, cause the processor to perform the various operations indicated in these program instructions. Each example of a program instruction or computer code includes a machine code and a file, which is generated, for example, by a compiler, and the file includes a high-level code executed by a computer, an electronic component, or a microprocessor using an interpreter. Through suitable programming, processor unit 416 can provide various functions for computing system 414, which include any function described herein as being performed by a server or client, or other functions associated with a message management service.
[0062] It should be understood that computing system 414 is illustrative and various variations and modifications may be made. The computer system used in conjunction with the present disclosure may have other capabilities not explicitly described herein. In addition, although computing system 414 is described with reference to a specific block, it should be understood that these blocks are defined for the convenience of description and are not intended to imply a specific physical arrangement of each component part. For example, different blocks may be located in the same facility, in the same server rack, or on the same motherboard. In addition, these blocks do not necessarily correspond to physically different components. Each block may be configured to perform various operations (e.g., by programming a processor or providing a suitable control circuit), and various blocks may or may not be reconfigurable, depending on how to obtain the initial configuration. The various embodiments of the present disclosure may be implemented in various devices, including electronic devices implemented using any combination of circuits and software.
[0063] Reference now Figure 5 , Figure 5 1 is a block diagram of a system 500 for reducing latency according to an example embodiment of the present disclosure. The system 500 may include a user equipment (UE) 120 communicatively coupled to a base station 110. The UE 120 and the base station 110 may be similar to the above referenced Figure 1 The UE 120 described is the same or similar to the base station 110. The UE 120 may include a transceiver 502, which may be or may include an interface 122 and an antenna 128, which may be the same as described above. Figure 1 The interface 122 and antenna 128 described above are the same or similar. The transceiver 502 may be configured to facilitate wireless communication between the UE 120 and the base station 110. Although the transceiver 502 is shown as being included on the UE 120, it should be noted that the base station 110 may similarly include a transceiver 502 that includes an interface and an antenna (e.g., similar to the above reference 1). Figure 1 interface 112 and antenna 118 described above).
[0064] The UE 120 may be configured to execute, deploy, or otherwise provide an application 504. In various embodiments, the application 504 may be an extended reality (XR) application (e.g., an augmented reality (AR) application, a virtual reality (VR) application, a mixed reality (MR) application, or other XR application). The application 504 executed on the UE 120 may generate data for transmission to a remote location or endpoint (e.g., a server, another device, or the UE 120, etc.) (and vice versa). The UE 120 may be configured to transmit data to an endpoint or destination (e.g., to a server or the UE 120) along a network path (e.g., via the transceiver 502). As described in more detail below, the generated data may be temporarily stored in a buffer 508 as a protocol data unit (PDU) 510 for transmission to an endpoint / destination along a network path.
[0065] The UE 120 may include a PDU manager 506. The PDU manager 506 may be or may include any device, component, element, or hardware designed or configured to implement, deploy, use, or otherwise manage the PDUs 510 held in the buffer 508. In some embodiments, the PDU manager 506 may be executed or provided at a packet data convergence protocol (PDCP) layer of the UE 120. For example, the PDU manager 506 may be configured to receive data generated at an application layer of the UE 120 (e.g., in response to, as part of, or associated with the execution or support of an application 504), and the PDU manager 506 may be configured to generate / collect / provide the PDUs 510 for transmission to the base station 110 via the transceiver 502. The PDU manager 506 may be configured to store or hold the PDUs 510 in the buffer 508 before they are transmitted.
[0066] The PDU manager 506 may include a discard timer manager 512, a buffer status reporter 514, and a delay status reporter 518. The discard timer manager 512 may be configured to manage a discard timer for each of the plurality of PDUs 510 included in the buffer 508. As described in more detail below, the buffer status reporter 514 may be configured to generate one or more buffer status reports 516 for transmission to the base station 110 based on or according to the count / amount / number of PDUs 510 in the buffer 508, and the delay status reporter 518 may be configured to generate one or more delay status reports 520 for each PDU 510 in the buffer 508.
[0067] The discard timer manager 512 may be configured to determine, identify, configure or otherwise select a value for a discard timer for the PDU 510. The value may be or may include a maximum amount of time that the PDU 510 is kept in the buffer 508 before the PDU 510 is discarded (e.g., the PDU 510 is cleared from the buffer 508 without being sent to the base station 110). In some embodiments, the discard timer manager 512 may be configured to select a value for the discard timer based on or according to the service type of the data / information / service included in the PDU 510. For example, the discard timer manager 512 may be configured to set / determine / select a lower value for delay-sensitive services (e.g., because such services may expire after a shorter duration), but may select a higher value for high data rate services or high importance services. Examples of service types, characteristics and corresponding values of the discard timer are provided in Table 1 below. It should be noted that although these timer values are provided, the present disclosure is not limited to the timer values provided in Table 1.
[0068]
[0069] Table 1 Example discard timer values for service types
[0070] Once the PDU 510 is stored in the buffer 508, the discard timer manager 512 may start, commence, trigger, or otherwise initiate a discard timer (e.g., a PDCP discard timer) for the PDU 510 stored in the buffer 508. In this regard, each of the plurality of PDUs 510 stored in the buffer 508 may have a corresponding discard timer—having a respective value set / determined / selected according to the traffic included in the PDU 510—that measures the duration that the PDU 510 has been stored / retained in the buffer 508.
[0071] The buffer status reporter 514 may be designed or configured to identify, evaluate, measure, quantify, or otherwise determine the amount of traffic stored in the buffer 508 (e.g., ready to be sent to the base station 110). In some embodiments, the buffer status reporter 514 may be configured to determine the amount of traffic stored in the buffer 508 based on or according to a count of the PDUs 510 stored in the buffer 508. For example, the buffer status reporter 514 may be configured to maintain a counter that increases as new PDUs 510 are stored in the buffer 508 and may decrease as PDUs 510 are removed from the buffer 508 (e.g., by discarding the PDUs 510 or by sending the PDUs 510 to the base station 110). In some embodiments, the buffer status reporter 514 may be configured to determine the amount of traffic in the buffer 508 based on the amount of data contained in the PDUs 510 stored in the buffer. For example, the buffer status reporter 514 may be configured to measure, detect, or otherwise determine the amount of data (e.g., in bytes) included in the PDUs 510 stored in the buffer 508 for transmission to the base station 110. Similar to the counters described above, the buffer status reporter 514 may be configured to increase the amount of data when a new PDU 510 is added to the buffer 508 and / or decrease the amount of data when a PDU 510 is removed from the buffer 508 (e.g., due to a PDU 510 being discarded from the buffer 508 or in response to a PDU 510 being transmitted to the base station 110).
[0072] The buffer status reporter 514 may be configured to determine, generate, or otherwise generate a buffer status report 516 based on the amount of traffic in the buffer 508. For example, the buffer status reporter 514 may be configured to generate the buffer status report 516 in response to the amount of traffic satisfying a threshold criterion (e.g., the amount of data in the buffer 508 is greater than or equal to a threshold amount in bytes, the number / count of PDUs 510 in the buffer 508 is greater than or equal to a threshold number of PDUs, etc.). The buffer status reporter 514 may be configured to generate the buffer status report 516 to identify, provide, or otherwise indicate the amount of traffic in the buffer 508 to the base station 110. The buffer status reporter 514 may be configured to provide the buffer status report 516 for transmission to the base station 110 (e.g., via the transceiver 502).
[0073] The delay status reporter 518 may be designed or configured to identify, evaluate, measure, quantify, or otherwise determine the duration that the PDU 510 is held in the buffer 508. In some embodiments, the delay status reporter 518 may be configured to selectively determine the duration that the PDU 510 is held in the buffer 508. For example, the delay status reporter 518 may be configured to determine the duration that the PDU 510 is held in the buffer 508 for a subset of the PDUs 510. The delay status reporter 518 may be configured to select, determine, or otherwise identify the subset of PDUs 510 based on the discard timer value selected for the PDUs 510 by the discard timer manager 512 to measure the duration that the PDU 510 is held in the buffer 508 for the subset of PDUs 510. For example, the delay status reporter 518 may be configured to apply the discard timer value selected by the discard timer manager 512 to a threshold criterion to determine which PDUs 510 to monitor for delay status reporting. For example, the threshold criterion may be that the discard timer value is less than or equal to a predetermined number of milliseconds (eg, discard timer value ≤ 100 ms).The discard timer manager 512 may be configured to monitor the discard timers of the PDUs 510 having discard timer values that meet the threshold criterion.
[0074] The delay status reporter 518 may be configured to establish, generate, create, or otherwise generate a delay status report 520 for each PDU 510 (e.g., of a subset of PDUs 510 whose discard timer is being monitored) based on the remaining time of the discard timer. In some embodiments, the delay status reporter 518 may be configured to generate a delay status report 520 for the PDU 510 in response to the remaining time (e.g., indicated by the discard timer) satisfying a threshold criterion. For example, in response to the remaining time reaching a threshold time (e.g., 30 ms remaining, 50 ms remaining, etc.), the delay status reporter 518 may trigger the generation of the delay status report 520 for the PDU 510. The delay status reporter 518 may be configured to compare the remaining time with a threshold value (e.g., 20 ms, 30 ms, 40 ms, 50 ms, etc.). The delay status reporter 518 may be configured to generate the delay status report 520 in response to the remaining time satisfying the threshold value (e.g., the remaining time is less than or equal to the threshold value).
[0075] In this regard, the delay status reporter 518 may be configured to generate one or more delay status reports 520 for a limited number of PDUs 510, wherein the number of delay status reports 520 is limited to the number of PDUs 510 being monitored (e.g., based on a discard timer value that satisfies a first threshold criterion) and the number of those PDUs 510 being monitored that have a remaining time that satisfies a second threshold criterion (e.g., the remaining time is less than or equal to the second threshold). As an example, the delay status reporter 518 may limit monitoring of the discard timer of PDUs 510 that are latency-sensitive (e.g., having a discard timer value less than or equal to 100 ms), and generate delay status reports 520 for those PDUs 510 being monitored and having a remaining time that satisfies a reporting threshold (e.g., the remaining time is less than or equal to 50 ms). Such an implementation may reduce signaling overhead while facilitating resource allocation for latency-sensitive services.
[0076] The delay status reporter 518 may be configured to transmit, send, provide, or otherwise communicate one or more delay status reports 520 to the base station 110 for a subset of the one or more PDUs 510 that meet two threshold criteria. The one or more delay status reports 520 may indicate, identify, or otherwise provide information about the PDUs 510 that are set to be discarded within a predetermined duration (e.g., a remaining time).
[0077] The base station 110 may be configured to receive one or more delay status reports 520 (and any one or more buffer status reports 516) from the UE 120, and may allocate one or more resources 522 based on or in accordance with the reports 516, 520. For example, the base station 110 may be configured to allocate one or more additional resources 522 to the UE 120 to increase throughput and reduce latency in response to receiving one or more delay status reports 520 and buffer status reports 516 indicating a decrease in throughput for the UE 120. The base station 110 may allocate the one or more additional resources 522 by increasing the bandwidth of a channel allocated to the UE 120, increasing a scheduled time slot for transmitting uplink resources by the UE 120, and the like.
[0078] The PDU manager 506 may be configured to control / manage the PDUs 510 in the buffer according to the resources 522 allocated from the base station 110. The PDU manager 506 may be configured to clear, remove, or otherwise discard the corresponding PDU 510 from the buffer 508 in response to the expiration of the discard timer of the PDU 510. The PDU manager 506 may be configured to control the transceiver 502 to send the PDU 510 to the base station 110 (e.g., from the buffer 508). In some embodiments, the PDU manager 506 may be configured to send the PDUs 510 (e.g., via the transceiver) according to a transmission scheme based on a first-in-first-out rule. In some embodiments, the PDU manager 506 may be configured to send the PDUs 510 in the buffer 508 (e.g., via the transceiver) according to their priority. In some embodiments, the PDU manager 506 may be configured to send the corresponding PDU 510 (eg, via a transceiver) based on the remaining time of the discard timer of the PDU 510 (eg, sending the PDU 510 before the discard timer expires and causes the PDU 510 to be discarded).
[0079] Reference now Figure 6 , Figure 6 A flowchart illustrating an example method 600 for managing PDUs according to an example implementation of the present disclosure is depicted. The method 600 may be referred to above. Figures 1 to 5 The described device, component, element or hardware (e.g., UE120 and / or PDU manager 506) is implemented or performed. As a brief overview, in step 605, the UE can receive a PDU in a buffer. In step 610, the UE can determine whether the traffic volume is greater than or equal to a threshold. In step 615, the UE can send a buffer status report. In step 620, the UE can start a discard timer. In step 625, the UE can determine whether the discard timer value is greater than or equal to the threshold. In step 630, the UE can determine whether the remaining time is less than or equal to the threshold. In step 635, the UE can send a delay status report. In step 640, the UE can determine whether the discard timer has expired. In step 645, the UE can determine whether to send the PDU. In step 650, the UE can discard the PDU. In step 655, the UE can send the PDU.
[0080] In step 605, the UE may receive the PDUs in a buffer. In some embodiments, the UE may receive one or more PDUs in a buffer for transmission to an endpoint via a cellular network. In response to the UE generating one or more PDUs at an application layer, the UE may receive the one or more PDUs in a buffer. In some embodiments, in response to generating corresponding services at the application layer as part of, in conjunction with, or in support of an application executed or provided by the UE, a processor of the PDCP layer of the UE may receive the PDUs in a buffer. After generating the corresponding services, the UE may receive the PDUs in a buffer and then transmit the PDUs to a base station via a cellular network (e.g., for transmission to an endpoint).
[0081] In step 610, the UE may determine whether the traffic volume is greater than or equal to a threshold. In some embodiments, the UE may determine whether the traffic volume in the buffer (e.g., waiting) to be sent to the base station is greater than a buffer status reporting threshold. The UE may determine the traffic volume based on the amount of data (e.g., in bytes) of the data / traffic / PDU in the buffer. The UE may determine the traffic volume based on a count of PDUs in the buffer. The UE may compare the traffic volume with a buffer status reporting threshold. In step 610, when the traffic volume meets the buffer status reporting threshold (e.g., greater than or equal to the buffer status reporting threshold), the method 600 may proceed to step 615, in which the UE may send a buffer status report. The UE may send a buffer status report to the base station. The UE may send a buffer status report to the base station to indicate, identify, or otherwise provide information related to the traffic volume to be sent to the base station via the uplink.
[0082] In step 620, the UE may start a discard timer. In some embodiments, in response to receiving a PDU in a buffer, the UE may start, establish, commence, begin, trigger or otherwise start a discard timer for the PDU. In this regard, in response to step 605, step 620 may be performed in parallel with steps 610 to 615. The UE may start a discard timer to measure the amount of time or duration that a given PDU has been ready in a buffer for sending to a base station. The discard timer may be a PDCP discard timer. In some embodiments, the UE may start a discard timer to count down from a discard timer value. The discard timer value may correspond to a service included in the PDU. For example, a first PDU in a buffer may have a first discard value that is different from a discard value of a second PDU in the buffer. The discard timer value may be set or defined based on the service type. For example, for delay-sensitive services, the discard timer value may be set to a lower value.
[0083] In step 625, the UE may determine whether the discard timer value is greater than or equal to a threshold. In some embodiments, the UE may determine (e.g., in step 620) whether the discard timer value of the discard timer started for a particular PDU meets a delay status reporting threshold. The delay status reporting threshold may be set, defined, or otherwise established (particularly for delay-sensitive services) to reduce signaling overhead while still reporting the delay of the PDU in the buffer. For example, the delay status reporting threshold may be 100ms, but other delay status reporting thresholds may be set, predefined, established, etc. according to various use cases. The UE may compare the discard timer value with the delay status reporting threshold. In the event that the discard timer value meets the delay status reporting threshold (e.g., is less than or equal to the delay status reporting threshold), the method 600 may proceed to method 700 as described below. In the event that the discard timer value does not meet the delay status reporting threshold (e.g., is greater than or equal to the delay status reporting threshold), the method 600 may proceed to step 640.
[0084] refer to Figure 7 And continue to refer to Figure 6 , Figure 7 A flow chart illustrating an example method 700 for PDU delay status reporting according to an example implementation of the present disclosure is depicted in FIG. As described above, in the event that a discard timer value satisfies a delay status reporting threshold, the method 700 described herein may be performed. As a brief overview, at step 705, the UE may receive a PDU in a buffer. At step 710, the UE may start a discard timer. At step 715, the UE may determine whether a remaining time of the discard timer satisfies a threshold. At step 720, the UE may send a delay status report.
[0085] In step 705, the UE may receive the PDU in the buffer, and in step 710, the UE may start a discard timer. Steps 705 and 710 may be the same or similar to steps 605 and 620 described above, respectively. In step 715, the UE may determine whether the remaining time of the discard timer meets a threshold. In some embodiments, for those PDUs that meet the delay status reporting threshold and are therefore monitored, the UE may compare the remaining time of the discard timer of the PDU with a reporting threshold. The reporting threshold may be or may include the remaining time or duration that triggers a send / transmission delay status report. The reporting threshold may be, for example, 20ms, 30ms, 40ms, 50ms, etc. When the remaining time of a given discard timer of the corresponding PDU is greater than the reporting threshold, the method 700 may loop in step 715. When the remaining time meets the reporting threshold (e.g., is less than or equal to the reporting threshold), the method 700 may proceed to step 720.
[0086] At step 720, the UE may send a delay status report. In some embodiments, in response to the remaining time of the discard timer satisfying a threshold criterion (e.g., the remaining time is less than or equal to a reporting threshold), the UE may send a delay status report for a given PDU in the buffer. In some embodiments, the UE may perform method 700 for each PDU in a plurality of PDUs in the buffer having a discard timer value that satisfies the delay status reporting threshold. The UE may generate a delay status report for each (or any) of the PDUs being monitored, in response to the remaining time of those respective PDUs satisfying the threshold criterion. In this regard, particularly in scenarios to reduce throughput / network congestion, the UE may generate multiple delay status reports for multiple PDUs, and may also generate one or more buffer status reports (e.g., in parallel).
[0087] Return to reference Figure 6 , at step 640, the UE may determine whether a discard timer has expired. The UE may determine whether a discard timer for a given PDU (e.g., set / started at step 620) has expired. For example, (e.g., if the discard timer performs a countdown from a discard timer value set for the PDU), in response to the discard timer reaching a zero remaining time, the UE may determine that the discard timer has expired. As another example, (e.g., if the discard timer measures a positive duration from a start time or zero time, during which the PDU is received / stored in a buffer), in response to the discard timer reaching the discard timer value, the UE may determine that the discard timer has expired. In the event that the UE determines at step 640 that the discard timer has not expired, method 600 may proceed to step 645.
[0088] In step 645, the UE may determine whether to send the PDU. The UE may determine whether to send the PDU based on or according to the resources allocated by the base station. For example, the UE may determine whether to send the target PDU based on whether an uplink time slot is available for sending the target PDU, and / or whether there are any higher priority PDUs in the buffer that should be sent before the target PDU. In the event that the UE determines not to send the PDU in step 645, method 600 may loop back to step 640. In this regard, the UE may loop between steps 640 and 645 until the discard timer expires in step 640 (e.g., the UE discards the PDU in step 650) or the UE determines to send the PDU in step 645 (e.g., the UE sends the PDU to the base station in step 655).
[0089] Reference now Figure 8 , Figure 8A flowchart illustrating an example method 800 for allocating resources based on a status report from a UE according to an example implementation of the present disclosure is depicted. Similarly, the method 800 may be implemented by referring to the above Figures 1 to 5 1. The base station 110 may be implemented or performed by the device, component, element or hardware described in the present invention (e.g., base station 110). As a brief overview, at step 805, the base station may receive one or more status reports. At step 810, the base station may allocate resources. At step 815, the base station may receive one or more PDUs.
[0090] At step 805, the base station may receive one or more status reports. In some embodiments, the base station may receive one or more status reports from one or more UEs. In response to the corresponding UE performing the above reference Figure 6 and Figure 7 In the methods 600 and 700 described, the base station may receive one or more status reports. The status report may be or may include a buffer status report and / or a delay status report. In some embodiments, the base station may receive one (e.g., a single) buffer status report from the UE (e.g., in response to the UE performing the method 600 and the traffic volume meeting the threshold criteria at step 610), and may receive any number of delay status reports from the UE (e.g., in response to the UE performing the method 700 for each PDU). In addition, the base station may receive any number of status reports (e.g., multiple buffer status reports and / or one or more delay status reports) from any number of UEs.
[0091] In step 810, the base station may allocate resources. In some embodiments, the base station may allocate resources to each of the UEs being served by the base station based at least on one or more status reports received in step 805. For example, the base station may allocate additional network resources to a UE that has sent a status report to the base station (the status report indicating reduced throughput). The base station may allocate additional network resources by, for example, increasing the bandwidth of a channel used by the UE, increasing the scheduled uplink time slot of the UE, etc. In step 815, the base station may receive one or more PDUs. The base station may receive one or more PDUs from each UE being served by the base station. In some embodiments, in response to one or more UEs executing method 600 and determining to send one or more PDUs in step 645, the base station may receive a PDU from the UE.
[0092] Now that some illustrative embodiments have been described, it will be apparent that the foregoing, which has been presented by way of example, is illustrative and not restrictive. In particular, although many of the examples presented herein relate to specific combinations of method actions or system elements, these actions and these elements may be combined in other ways to achieve the same purpose. The actions, elements, and features discussed in conjunction with one embodiment are not intended to be excluded from other embodiments or similar roles in the embodiments.
[0093] The hardware and multiple data processing components for implementing the various processes, operations, illustrative logic, logic blocks, modules and circuits described in conjunction with the multiple embodiments disclosed herein can be implemented or executed using the following components designed to perform the functions described herein: a general-purpose single-chip processor or a general-purpose multi-chip processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic, a discrete hardware component, or any combination thereof. A general-purpose processor can be a microprocessor, or any conventional processor, controller, microcontroller or state machine. The processor can also be implemented as a combination of computing devices, for example, a combination of a DSP and a microprocessor, a combination of multiple microprocessors, a combination of one or more microprocessors and a DSP core, or any other such configuration. In some embodiments, specific processes and methods can be performed by circuits dedicated to a given function. The memory (e.g., memory, memory unit, storage device, etc.) may include one or more devices (e.g., RAM, ROM, flash memory, hard disk storage, etc.) for storing data and / or computer code for completing or facilitating the various processes, various layers, and various modules described in the present disclosure. The memory may be or include volatile memory or non-volatile memory, and may include database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described in the present disclosure. According to an exemplary embodiment, the memory is communicatively connected to the processor via a processing circuit and includes computer code for executing (e.g., by a processing circuit and / or a processor) one or more processes described herein.
[0094] The present disclosure contemplates methods, systems, and program products on any machine-readable medium for completing various operations. Embodiments of the present disclosure may be implemented using existing computer processors, or implemented by dedicated computer processors for suitable systems incorporated for this or other purposes, or implemented by hard-wired systems. Embodiments within the scope of the present disclosure include program products, which include machine-readable media for carrying or storing machine-executable instructions or data structures thereon. Such machine-readable media may be any available medium that can be accessed by a general-purpose computer or a special-purpose computer, or other machines with a processor. As an example, such machine-readable media may include RAM, ROM, EPROM, EEPROM, or other optical disk storage devices, magnetic disk storage devices, or other magnetic storage devices, or may include any other medium as follows: the other medium may be used to carry or store the desired program code in the form of machine-executable instructions or data structures, and may be accessed by a general-purpose computer or a special-purpose computer or other machines with a processor. The above combinations are also included in the scope of machine-readable media. Machine-executable instructions include, for example, instructions and data that cause a general-purpose computer, a special-purpose computer, or a special-purpose processing machine to perform a certain function or a certain group of functions.
[0095] The words and terms used herein are for descriptive purposes and should not be considered restrictive. The use of "including," "comprising," "having," "containing," "involving," "characterized by," "characterized by," and variations thereof herein is meant to encompass the items listed thereafter, their equivalents and additional items, and to include alternative embodiments consisting exclusively of the items listed thereafter. In one embodiment, the systems and methods described herein consist of one of the described elements, actions, or components, of various combinations of more than one of the described elements, actions, or components, or of all of the described elements, actions, or components.
[0096] Any reference to the embodiments or elements or actions of the systems and methods mentioned herein in the singular may also encompass embodiments including a plurality of these elements, and reference to any embodiments or elements or actions herein in the plural may also encompass embodiments including only a single element. References in the singular or plural are not intended to limit the systems or methods of the present disclosure, their parts, actions or elements to singular or plural configurations. References to any action or element based on any information, action or element may include that the action or element is based at least in part on an embodiment of any information, action or element.
[0097] Any embodiment disclosed herein may be combined with any other embodiment or example, and references to "an embodiment," "some embodiments," "an embodiment," etc. are not necessarily mutually exclusive, but are intended to indicate that a particular feature, structure, or characteristic described in conjunction with the embodiment may be included in at least one embodiment or example. These terms as used herein do not necessarily all refer to the same embodiment. Any embodiment may be combined, inclusively or exclusively, with any other embodiment in any manner consistent with the various aspects and embodiments disclosed herein.
[0098] Where reference numerals follow technical features in the drawings, detailed description or any claims, these reference numerals have been included to increase the intelligibility of the drawings, detailed description and claims. Therefore, the presence or absence of these reference numerals will not have any limiting effect on the scope of any claim element.
[0099] The systems and methods described herein may be implemented in other specific forms without departing from the characteristics of the systems and methods described herein. Unless otherwise expressly noted, references to terms of "approximately," "about," "substantially," or other degrees include variations of plus or minus 10% (+ / -10%) from a given measurement, unit, or range. Coupled elements may be electrically, mechanically, or physically coupled to each other, directly or through intermediate elements. Therefore, the scope of the systems and methods described herein is represented by the appended claims rather than the preceding description, and variations within the meaning and scope of the equivalents of the claims are encompassed therein.
[0100] The term "coupled" and variations thereof include two components being directly coupled to each other or indirectly coupled. Such coupling may be constant (e.g., permanent or fixed) or movable (e.g., removable or releasable). Such coupling may be achieved by two components being directly coupled to each other or coupled to each other, wherein the two components are coupled to each other using a separate intermediate component and any additional intermediate components that are coupled to each other, or the two components are coupled to each other using an intermediate component that is integrally formed as a single integral body with one of the two components. If "coupled" or variations thereof are modified by additional terms (e.g., directly coupled), the general definition of "coupled" provided above is modified by the plain language meaning of the additional terms (e.g., "directly coupled" means that the two components are coupled without any separate intermediate components), resulting in a narrower definition than the general definition of "coupled" provided above. Such coupling may be mechanical, electrical, or fluidic.
[0101] References to "or" may be interpreted as inclusive, such that any term described using "or" may mean any of a single, more than one, and all of the multiple terms described. References to "at least one of 'A' and 'B'" may include only 'A', only 'B', and both 'A' and 'B'. Such references used in conjunction with "including" or other public terms may include additional items.
[0102] Without departing substantially from the teachings and advantages of the subject matter disclosed herein, modifications may be made to the elements and actions described, such as variations in size, dimensions, structure, shape, and proportion of the various elements, variations in parameter values, mounting arrangements, use of materials, colors, orientations. For example, an element shown as being integrally formed may be composed of multiple parts or elements, the positions of these elements may be reversed or otherwise changed, and the nature or number or position of discrete elements may be altered or varied. Other substitutions, modifications, changes, and omissions may also be made to the design, operating conditions, and arrangements of the disclosed elements and operations without departing from the scope of the present disclosure.
[0103] References to the positions of elements herein (e.g., "top," "bottom," "above," "below") are only used to describe the orientation of the various elements in the drawings. According to other exemplary embodiments, the orientation of the various elements may be different, and such variations are intended to be encompassed by the present disclosure.
Claims
1. A method, comprising: Receiving, at a buffer of the user equipment UE, a protocol data unit PDU for sending to the base station; In response to receiving the PDU in the buffer, the UE starts a discard timer; as well as In response to the remaining time of the discard timer satisfying a threshold criterion, the UE sends a delay status report corresponding to the PDU to the base station.
2. The method according to claim 1, further comprising: receiving, by the UE, an indication from the base station of resources allocated for sending the PDU; as well as The PDU is sent, by the UE, to the base station in response to receiving the indication and before the discard timer expires.
3. The method according to claim 2, wherein: The resources are allocated by the base station based at least in part on the delay status report.
4. The method according to claim 1, wherein: The value of the discard timer is set based on the type of service carried in the PDU.
5. The method according to claim 1, further comprising: The UE discards the PDU in response to expiration of the discard timer.
6. The method according to claim 1, further comprising: determining, by the UE, a count of PDUs in the buffer for sending to the base station; as well as In response to the count satisfying a threshold criterion, the UE sends a buffer status report to the base station.
7. The method according to claim 1, further comprising: In response to the remaining times of corresponding discard timers of the plurality of PDUs in the buffer satisfying the threshold criterion, the UE sends a plurality of delay status reports for the plurality of PDUs.
8. The method according to claim 1, wherein: The threshold criterion is a first threshold criterion, and the method further includes: determining, by the UE, that a value corresponding to the discard timer satisfies a second threshold criterion for sending a delay status report, The UE sends the delay status report corresponding to the PDU to the base station in response to the value of the discard timer satisfying the second threshold criterion and the remaining time satisfying the first threshold criterion.
9. The method according to claim 8, further comprising: Receiving, by the UE, a second PDU in the buffer for sending to the base station; In response to receiving the second PDU in the buffer, the UE starts a second discard timer; determining, by the UE, that a second value corresponding to the second discard timer does not satisfy the second threshold criterion; and The UE abandons sending any delay status report corresponding to the second PDU.
10. A user equipment UE, the UE comprising: Wireless transceiver; as well as One or more processors configured to: receiving, at a buffer of the UE, a protocol data unit (PDU) for transmission to a base station; In response to receiving the PDU in the buffer, starting a discard timer; as well as In response to a remaining time of the discard timer satisfying a threshold criterion, a delay status report corresponding to the PDU is sent to a base station via the wireless transceiver.
11. The UE according to claim 10, wherein: The one or more processors are further configured to: receiving, via the wireless transceiver, from the base station an indication of resources allocated for sending the PDU; and In response to receiving the indication and before expiration of the discard timer, the PDU is sent to the base station via the wireless transceiver.
12. The UE according to claim 10, wherein: The resources are allocated by the base station based at least in part on the delay status report.
13. The UE according to claim 10, wherein: The value of the discard timer is set based on the type of service carried in the PDU.
14. The UE according to claim 10, wherein: The one or more processors are further configured to discard the PDU in response to expiration of the discard timer.
15. The UE according to claim 10, wherein: The one or more processors are further configured to: determining a count of PDUs in the buffer for transmission to the base station; and In response to the count satisfying a threshold criterion, a buffer status report is sent via the wireless transceiver to the base station.
16. The UE according to claim 10, wherein: The one or more processors are further configured to: In response to the remaining times of the corresponding discard timers of the plurality of PDUs in the buffer satisfying the threshold criterion, a plurality of delay status reports for the plurality of PDUs in the buffer are sent to the base station via the wireless transceiver.
17. The UE according to claim 10, wherein: The threshold criterion is a first threshold criterion, and wherein the one or more processors are further configured to: determine that a value corresponding to the discard timer satisfies a second threshold criterion for sending a delay status report, The UE sends the delay status report corresponding to the PDU to the base station in response to the value of the discard timer satisfying the second threshold criterion and the remaining time satisfying the first threshold criterion.
18. The UE according to claim 16, wherein: The one or more processors are configured to: receiving a second PDU in the buffer for sending to the base station; In response to receiving the second PDU in the buffer, starting a second discard timer; determining that a second value corresponding to the second discard timer does not satisfy the second threshold criterion; and Abandon sending any delay status report corresponding to the second PDU.
19. The UE of claim 10, wherein the one or more processors comprise one or more processors of a Packet Data Convergence Protocol (PDCP) layer of the UE.
20. A non-transitory computer-readable medium storing instructions, which, when executed by one or more processors of a user equipment (UE), cause the UE to: receiving, at a buffer, a protocol data unit (PDU) for transmission to a base station; In response to receiving the PDU in the buffer, starting a discard timer; as well as In response to a remaining time of the discard timer satisfying a threshold criterion, a delay status report corresponding to the PDU is sent to the base station via a wireless transceiver.
Citation Information
Cited By
Method executed by user equipment, and user equipment
WO2026184677A1