Adaptive re-ordering method for voice
Adaptive reordering of voice packets at UE, based on packet gaps and voice status, addresses inefficiencies in high-density mobile broadband environments, reducing latency and enhancing network performance.
Patent Information
- Application Number
- PCT/CN2024/079240
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-29
- Publication Date
- 2025-09-04
AI Technical Summary
Existing wireless communication systems face challenges in efficiently managing voice packet reordering, particularly in high-density mobile broadband environments, leading to inefficiencies and increased latency.
Adaptive reordering of voice packets at user equipment (UE) by detecting packet gaps and adjusting reordering timers based on voice status, allowing direct delivery to higher layers during silence periods and using network-configured timers during active voice transmission.
Improves packet delivery efficiency and reduces latency by optimizing reordering processes based on voice activity, enhancing user experience in high-capacity wireless networks.
Smart Images

Figure CN2024079240_04092025_PF_FP_ABST
Abstract
Description
ADAPTIVE RE-ORDERING METHOD FOR VOICEFIELD
[0001] Embodiments of the invention relate to wireless communications, including apparatuses, systems, and methods for adaptive reordering of voice packets.DESCRIPTION OF THE RELATED ART
[0002] Wireless communication systems are rapidly growing in usage. In recent years, wireless devices such as smart phones and tablet computers have become increasingly sophisticated. In addition to supporting telephone calls, many mobile devices now provide access to the internet, email, text messaging, and navigation using the global positioning system (GPS) and are capable of operating sophisticated applications that utilize these functionalities.
[0003] Long Term Evolution (LTE) has been the technology of choice for the majority of wireless network operators worldwide, providing mobile broadband data and high-speed Internet access to their subscriber base. LTE was first proposed in 2004 and was first standardized in 2008. Since then, as usage of wireless communication systems has expanded exponentially, demand has risen for wireless network operators to support a higher capacity for a higher density of mobile broadband users. In 2015, a study of a new radio access technology began and, in 2017, a first release of Fifth Generation New Radio (5G NR) was standardized.
[0004] 5G-NR, also simply referred to as NR, provides, as compared to LTE, a higher capacity for a higher density of mobile broadband users, while also supporting device-to-device, ultra-reliable, and massive machine type communications with lower latency and / or lower battery consumption. Further, NR may allow for more flexible UE scheduling as compared to current LTE. Consequently, efforts are being made in ongoing developments of 5G-NR to take advantage of higher throughputs possible at higher frequencies.SUMMARY
[0005] Embodiments relate to wireless communications, and more particularly to apparatuses, systems, and methods for adaptive reordering of voice packets at a user equipment (UE) . A method comprises receiving, at the UE: voice packets of voice data each having a PDCP sequence number (SN) at a packet data convergence protocol (PDCP) layer; silence insertion descriptor (SID) packets each having a PDCP SN at the PDCP layer; and a network configured reordering timer. The method further comprises determining, at the UE, a voice status of the packets as: an active status when voice packets are received; or a silence status when SID packets are received. The method further comprises detecting, at the UE, an SN packet gap associated with one or more missing packets. The method comprises starting, at the UE, the network configured reordering timer when the SN packet gap is detected and the packet is determined to be a voice packet with the active status, or delivering the packets directly to a higher layer than the PDCP layer without starting the network configured reordering timer when the SN packet gap is detected and the packet is determined to be an SID packet with the silence status.
[0006] Other embodiments relate to an apparatus of a user equipment (UE) comprising one or more processors coupled to a memory. The processors are configured to receive, at the UE: voice packets of voice data each having a PDCP sequence number (SN) at a packet data convergence protocol (PDCP) layer; silence insertion descriptor (SID) packets each having a PDCP SN at the PDCP layer; and a network configured reordering timer.
[0007] The processors are configured to determine, at the UE, a voice status of the packets as: an active status when voice packets are received; or a silence status when SID packets are received. The processors are configured to detect, at the UE, an SN packet gap associated with one or more missing packets. The processors are configured to start, at the UE, the network configured reordering timer when the SN packet gap is detected and the packet is determined to be a voice packet with the active status, or deliver the packets directly to a higher layer than the PDCP layer without starting the network configured reordering timer when the SN packet gap is detected and the packet is determined to be an SID packet with the silence status.
[0008] Other embodiments relate to a method for adaptive reordering of voice packets at a user equipment (UE) . The method comprises receiving, at the UE: voice packets of voice data each having a PDCP sequence number (SN) at a packet data convergence protocol (PDCP) layer; silence insertion descriptor (SID) packets each having a PDCP SN at the PDCP layer; and a network configured reordering timer. The method further comprises determining, at the UE, a voice status of the packets as: an active status when voice packets are received; or a silence status when SID packets are received. The method further comprises detecting, at the UE, an SN packet gap associated with one or more missing packets in the voice packets or the SID packets received at the PDCP layer. The method comprises starting, at the UE, a different second reordering timer that is less than the network configured reordering timer when the SN packet gap is detected, and an active voice status is determined. The method comprises delivering, at the UE, the packets directly to a higher layer than the PDCP layer at the expiration of the different second reordering timer.
[0009] Other embodiments relate to an apparatus of a user equipment (UE) comprising one or more processors coupled to a memory. The processors are configured to receive, at the UE: voice packets of voice data each having a PDCP sequence number (SN) at a packet data convergence protocol (PDCP) layer; silence insertion descriptor (SID) packets each having a PDCP SN at the PDCP layer; and a network configured reordering timer. The processors are configured to determine, at the UE, a voice status of the packets as: an active status when voice packets are received; or a silence status when SID packets are received. The processors are configured to detect, at the UE, an SN packet gap associated with one or more missing packets in the voice packets or the SID packets received at the PDCP layer. The processors are configured to start, at the UE, a different second reordering timer that is less than the network configured reordering timer when the SN packet gap is detected, and an active voice status is determined; and deliver, at the UE, the packets directly to a higher layer than the PDCP layer at the expiration of the different second reordering timer.
[0010] Other embodiments relate to a method for adaptive reordering of voice packets at a user equipment (UE) . The method comprises receiving, at the UE: voice packets of voice data each having a PDCP sequence number (SN) at a packet data convergence protocol (PDCP) layer; and a network configured reordering timer. The method further comprises determining, at the UE, a network scheduling scheme for the plurality of packets. The scheduling scheme comprises receiving the plurality of packets at a first interval or the plurality of packets at a second interval. The first interval is greater than the second interval. The method comprises re-calculating the network configured reordering timer for the plurality of voice packets based on the network scheduling scheme.
[0011] The techniques described herein may be implemented in and / or used with a number of different types of devices, including but not limited to unmanned aerial vehicles (UAVs) , unmanned aerial controllers (UACs) , base stations, access points, cellular phones, tablet computers, wearable computing devices, portable media players, and any of various other computing devices.
[0012] This Summary is intended to provide a brief overview of some of the subject matter described in this document. Accordingly, it will be appreciated that the above-described features are merely examples and should not be construed to narrow the scope or spirit of the subject matter described herein in any way. Other features, aspects, and advantages of the subject matter described herein will become apparent from the following Detailed Description, Figures, and Claims.BRIEF DESCRIPTION OF THE DRAWINGS
[0013] A better understanding of the present subject matter can be obtained when the following detailed description of various embodiments is considered in conjunction with the following drawings, in which:
[0014] FIG. 1A illustrates an example wireless communication system according to some embodiments.
[0015] FIG. 1 B illustrates an example of a base station and an access point in communication with a user equipment (UE) device, according to some embodiments.
[0016] FIG. 2 illustrates an example block diagram of a base station, according to some embodiments.
[0017] FIG. 3 illustrates an example block diagram of a server according to some embodiments.
[0018] FIG. 4 illustrates an example block diagram of a UE according to some embodiments.
[0019] FIG. 5 illustrates an example block diagram of cellular communication circuitry, according to some embodiments.
[0020] FIG. 6 illustrates an example of a baseband processor architecture for a UE, according to some embodiments.
[0021] FIG. 7 illustrates an example block diagram of an interface of baseband circuitry according to some embodiments.
[0022] FIG. 8 illustrates an example of a control plane protocol stack in accordance with some embodiments.
[0023] FIG. 9 illustrates an example of a user plane protocol stack in accordance with some embodiments.
[0024] FIG. 10 illustrates example components of a core network in accordance with some embodiments.
[0025] FIG. 11a illustrates an example of an example packet data convergence protocol layer in 3GPP, in accordance with some embodiments.
[0026] FIG. 11 b illustrates an example reordering scheme, in accordance with some embodiments.
[0027] FIG. 11c illustrates an example reordering scheme, in accordance with some embodiments.
[0028] FIG. 11 d illustrates an example reordering scheme, in accordance with some embodiments.
[0029] FIG. 12 illustrates an example network scheduling scheme, in accordance with some embodiments.
[0030] FIG. 13 illustrates an example network scheduling scheme, in accordance with some embodiments.
[0031] FIG. 14 illustrates a flow chart of an example of a method of adaptive reordering of voice packets, according to some embodiments.
[0032] FIG. 15 illustrates an example reordering scheme, in accordance with some embodiments.
[0033] FIG. 16 illustrates a flow chart of an example of a method of adaptive reordering of voice packets, according to some embodiments.
[0034] FIG. 17 illustrates an example reordering scheme, in accordance with some embodiments.
[0035] FIG. 18 illustrates an example reordering scheme, in accordance with some embodiments.
[0036] FIG. 19 illustrates an example reordering scheme, in accordance with some embodiments.
[0037] FIG. 20 illustrates a flow chart of an example of a method of adaptive reordering of voice packets, according to some embodiments.
[0038] While the features described herein may be susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and are herein described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to be limiting to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the subject matter as defined by the appended claims.DETAILED DESCRIPTION
[0039] Terms
[0040] The following is a glossary of terms used in this disclosure:
[0041] Memory Medium –Any of various types of non-transitory memory devices or storage devices. The term “memory medium” is intended to include an installation medium, e.g., a CD-ROM, floppy disks, or tape device; a computer system memory or random-access memory such as DRAM, DDR RAM, SRAM, EDO RAM, Rambus RAM, etc.; a non-volatile memory such as a Flash, magnetic media, e.g., a hard drive, or optical storage; registers, or other similar types of memory elements, etc. The memory medium may include other types of non-transitory memory as well or combinations thereof. In addition, the memory medium may be located in a first computer system in which the programs are executed or may be located in a second different computer system which connects to the first computer system over a network, such as the Internet. In the latter instance, the second computer system may provide program instructions to the first computer for execution. The term “memory medium” may include two or more memory mediums which may reside in different locations, e.g., in different computer systems that are connected over a network. The memory medium may store program instructions (e.g., embodied as computer programs) that may be executed by one or more processors.
[0042] Carrier Medium –a memory medium as described above, as well as a physical transmission medium, such as a bus, network, and / or other physical transmission medium that conveys signals such as electrical, electromagnetic, or digital signals.
[0043] Programmable Hardware Element includes various hardware devices comprising multiple programmable function blocks connected via a programmable interconnect. Examples include FPGAs (Field Programmable Gate Arrays) , PLDs (Programmable Logic Devices) , FPOAs (Field Programmable Object Arrays) , and CPLDs (Complex PLDs) . The programmable function blocks may range from fine grained (combinatorial logic or look up tables) to coarse grained (arithmetic logic units or processor cores) . A programmable hardware element may also be referred to as "reconfigurable logic” .
[0044] Computer System (or Computer) –any of various types of computing or processing systems, including a personal computer system (PC) , mainframe computer system, workstation, network appliance, Internet appliance, personal digital assistant (PDA) , television system, grid computing system, or other device or combinations of devices. In general, the term "computer system" can be broadly defined to encompass any device (or combination of devices) having at least one processor that executes instructions from a memory medium.
[0045] User Equipment (UE) (or “UE Device” ) –any of various types of computer systems devices which are mobile or portable and which performs wireless communications. Examples of UE devices include mobile telephones or smart phones (e.g., iPhoneTM, AndroidTM-based phones) , portable gaming devices (e.g., Nintendo DSTM, PlayStation PortableTM, Gameboy AdvanceTM, iPhoneTM) , laptops, wearable devices (e.g., smart watch, smart glasses) , PDAs, portable Internet devices, music players, data storage devices, other handheld devices, unmanned aerial vehicles (UAVs) (e.g., drones) , UAV controllers (UACs) , and so forth. In general, the term “UE” or “UE device” can be broadly defined to encompass any electronic, computing, and / or telecommunications device (or combination of devices) which is easily transported by a user and capable of wireless communication.
[0046] Base Station –The term "Base Station" has the full breadth of its ordinary meaning, and at least includes a wireless communication station installed at a fixed location and used to communicate as part of a wireless telephone system or radio system.
[0047] Processing Element (or Processor) –refers to various elements or combinations of elements that are capable of performing a function in a device, such as a user equipment or a cellular network device. Processing elements may include, for example: processors and associated memory, portions or circuits of individual processor cores, entire processor cores, processor arrays, circuits such as an ASIC (Application Specific Integrated Circuit) , programmable hardware elements such as a field programmable gate array (FPGA) , as well any of various combinations of the above.
[0048] Channel -a medium used to convey information from a sender (transmitter) to a receiver. It should be noted that since characteristics of the term “channel” may differ according to different wireless protocols, the term “channel” as used herein may be considered as being used in a manner that is consistent with the standard of the type of device with reference to which the term is used. In some standards, channel widths may be variable (e.g., depending on device capability, band conditions, etc. ) . For example, LTE may support scalable channel bandwidths from 1.4 MHz to 20MHz. 5G NR can support scalable channel bandwidths from 5 MHz to 100 MHz in Frequency Range 1 (FR1) and up to 400 MHz in FR2. In other radio access technologies, WLAN channels may be 22 MHz wide while Bluetooth channels may be 1 MHz wide. Other protocols and standards may include different definitions of channels. Furthermore, some standards may define and use multiple types of channels, e.g., different channels for uplink or downlink and / or different channels for different uses such as data, control information, etc.
[0049] Band -The term "band" has the full breadth of its ordinary meaning, and at least includes a section of spectrum (e.g., radio frequency spectrum) in which channels are used or set aside for the same purpose.
[0050] Automatically –refers to an action or operation performed by a computer system (e.g., software executed by the computer system) or device (e.g., circuitry, programmable hardware elements, ASICs, etc. ) , without user input directly specifying or performing the action or operation. Thus, the term "automatically" is in contrast to an operation being manually performed or specified by the user, where the user provides input to directly perform the operation. An automatic procedure may be initiated by input provided by the user, but the subsequent actions that are performed “automatically” are not specified by the user, i.e., are not performed “manually” , where the user specifies each action to perform. For example, a user filling out an electronic form by selecting each field and providing input specifying information (e.g., by typing information, selecting check boxes, radio selections, etc. ) is filling out the form manually, even though the computer system will update the form in response to the user actions. The form may be automatically filled out by the computer system where the computer system (e.g., software executing on the computer system) analyzes the fields of the form and fills in the form without any user input specifying the answers to the fields. As indicated above, the user may invoke the automatic filling of the form but is not involved in the actual filling of the form (e.g., the user is not manually specifying answers to fields but rather they are being automatically completed) . The present specification provides various examples of operations being automatically performed in response to actions the user has taken.
[0051] Approximately -refers to a value that is almost correct or exact. For example, approximately may refer to a value that is within 1 to 10 percent of the exact (or desired) value. It should be noted, however, that the actual threshold value (or tolerance) may be application dependent. For example, in some embodiments, “approximately” may mean within 0.1%of some specified or desired value, while in various other embodiments, the threshold may be, for example, 2%, 3%, 5%, and so forth, as desired or as set by the particular application.
[0052] Concurrent –refers to parallel execution or performance, where tasks, processes, or programs are performed in an at least partially overlapping manner. For example, concurrency may be implemented using “strong” or strict parallelism, where tasks are performed (at least partially) in parallel on respective computational elements, or using “weak parallelism” , where the tasks are performed in an interleaved manner, e.g., by time multiplexing of execution threads.
[0053] Various components may be described as “configured to” perform a task or tasks. In such contexts, “configured to” is a broad recitation generally meaning “having structure that” performs the task or tasks during operation. As such, the component can be configured to perform the task even when the component is not currently performing that task (e.g., a set of electrical conductors may be configured to electrically connect a module to another module, even when the two modules are not connected) . In some contexts, “configured to” may be a broad recitation of structure generally meaning “having circuitry that” performs the task or tasks during operation. As such, the component can be configured to perform the task even when the component is not currently on. In general, the circuitry that forms the structure corresponding to “configured to” may include hardware circuits.
[0054] Various components may be described as performing a task or tasks, for convenience in the description. Such descriptions should be interpreted as including the phrase “configured to. ” Reciting a component that is configured to perform one or more tasks is expressly intended not to invoke 35 U.S.C. § 112 (f) interpretation for that component.
[0055] The example embodiments may be further understood with reference to the following description and the related appended drawings, wherein like elements are provided with the same reference numerals. The example embodiments relate to reordering voice packets. In one aspect, a network configured reordering timer (t-Reordering timer) can be scaled by a UE based on a detected network scheduling scheme, e.g. whether two packets every 40ms or one packet every 20ms. In another aspect, the UE can directly deliver packets to a higher or application layer without starting the reordering timer during a silence status. In another aspect, the UE can start a specific reordering timer for a silence or an active status.
[0056] The example embodiments are described with regard to a user equipment (UE) and a network (NW) or base station, such as a gNB. However, reference to a gNB or a UE is merely provided for illustrative purposes. The example embodiments may be utilized with any electronic component that may establish a connection to a network and is configured with the hardware, software, and / or firmware to support gapless RRM measurements. Therefore, the gNB or UE as described herein is used to represent any appropriate type of electronic component.
[0057] The example embodiments are also described with regard to a fifth generation (5G) New Radio (NR) network that may configure a UE to control the measurement opportunity sharing between L3 measurements and L1 measurements based on a network configurable sharing factor. However, reference to a 5G NR network is merely provided for illustrative purposes. The example embodiments may be utilized with any appropriate type of network.
[0058] Throughout this description various information elements (IEs) are referred to by specific names. It should be understood that these names are only examples and the IEs carrying the information referred to throughout this description may be referred to by other names by various entities.
[0059] Figures 1A and 1B: Communication Systems
[0060] FIG. 1A illustrates a simplified example wireless communication system, according to some embodiments. It is noted that the system of FIG. 1A is merely one example of a possible system, and that features of this disclosure may be implemented in any of various systems, as desired.
[0061] As shown, the example wireless communication system includes a base station 102A which communicates over a transmission medium with one or more user devices 106A, 106B, etc., through 106N. Each of the user devices may be referred to herein as a “user equipment” (UE) . Thus, the user devices 106 are referred to as UEs or UE devices.
[0062] The base station (BS) 102A may be a base transceiver station (BTS) or cell site (a “cellular base station” ) and may include hardware that enables wireless communication with the UEs 106A through 106N.
[0063] The communication area (or coverage area) of the base station may be referred to as a “cell. ” The base station 102A and the UEs 106 may be configured to communicate over the transmission medium using any of various radio access technologies (RATs) , also referred to as wireless communication technologies, or telecommunication standards, such as GSM, UMTS (associated with, for example, WCDMA or TD-SCDMA air interfaces) , LTE, LTE-Advanced (LTE-A) , 5G new radio (5G NR) , HSPA, 3GPP2 CDMA2000 (e.g., 1xRTT, 1xEV-DO, HRPD, eHRPD) , etc. Note that if the base station 102A is implemented in the context of LTE, also referred to as the Evolved Universal Terrestrial Radio Access Network (E-UTRAN, it may alternately be referred to as an 'eNodeB' or ‘eNB’ . Note that if the base station 102A is implemented in the context of 5G NR, it may alternately be referred to as ‘gNodeB’ or ‘gNB’ .
[0064] As shown, the base station 102A may also be equipped to communicate with a network 100 (e.g., a core network of a cellular service provider, a telecommunication network such as a public switched telephone network (PSTN) , and / or the Internet, among various possibilities) . Thus, the base station 102A may facilitate communication between the user devices and / or between the user devices and the network 100. In particular, the cellular base station 102A may provide UEs 106 with various telecommunication capabilities, such as voice, SMS and / or data services.
[0065] Base station 102A and other similar base stations (such as base stations 102B…102N) operating according to the same or a different cellular communication standard may thus be provided as a network of cells, which may provide continuous or nearly continuous overlapping service to UEs 106A-N and similar devices over a geographic area via one or more cellular communication standards.
[0066] Thus, while base station 102A may act as a “serving cell” for UEs 106A-N as illustrated in FIG. 1A, each UE 106 may also be capable of receiving signals from (and possibly within communication range of) one or more other cells (which might be provided by base stations 102B-N and / or any other base stations) , which may be referred to as “neighboring cells” . Such cells may also be capable of facilitating communication between user devices and / or between user devices and the network 100. Such cells may include “macro” cells, “micro” cells, “pico” cells, and / or cells which provide any of various other granularities of service area size. For example, base stations 102A-B illustrated in FIG. 1A might be macro cells, while base station 102N might be a micro cell. Other configurations are also possible.
[0067] In some embodiments, base station 102A may be a next generation base station, e.g., a 5G New Radio (5G NR) base station, or “gNB” . In some embodiments, a gNB may be connected to a legacy evolved packet core (EPC) network and / or to a NR core (NRC) network. In addition, a gNB cell may include one or more transition and reception points (TRPs) . In addition, a UE capable of operating according to 5G NR may be connected to one or more TRPs within one or more gNBs.
[0068] Note that a UE 106 may be capable of communicating using multiple wireless communication standards. For example, the UE 106 may be configured to communicate using a wireless networking (e.g., Wi-Fi) and / or peer-to-peer wireless communication protocol (e.g., Bluetooth, Wi-Fi peer-to-peer, etc. ) in addition to at least one cellular communication protocol (e.g., GSM, UMTS (associated with, for example, WCDMA or TD-SCDMA air interfaces) , LTE, LTE-A, 5G NR, HSPA, 3GPP2 CDMA2000 (e.g., 1xRTT, 1xEV-DO, HRPD, eHRPD) , etc. ) . The UE 106 may also or alternatively be configured to communicate using one or more global navigational satellite systems (GNSS, e.g., GPS or GLONASS) , one or more mobile television broadcasting standards (e.g., ATSC-M / H or DVB-H) , and / or any other wireless communication protocol, if desired. Other combinations of wireless communication standards (including more than two wireless communication standards) are also possible.
[0069] FIG. 1 B illustrates user equipment 106 (e.g., one of the devices 106A through 106N) in communication with a base station 102 and an access point 112, according to some embodiments. The UE 106 may be a device with both cellular communication capability and non-cellular communication capability (e.g., Bluetooth, Wi-Fi, and so forth) such as a mobile phone, a hand-held device, a computer or a tablet, or virtually any type of wireless device.
[0070] The UE 106 may include a processor that is configured to execute program instructions stored in memory. The UE 106 may perform any of the method embodiments described herein by executing such stored instructions. Alternatively, or in addition, the UE 106 may include a programmable hardware element such as an FPGA (field-programmable gate array) that is configured to perform any of the method embodiments described herein, or any portion of any of the method embodiments described herein.
[0071] The UE 106 may include one or more antennas for communicating using one or more wireless communication protocols or technologies. In some embodiments, the UE 106 may be configured to communicate using, for example, CDMA2000 (1xRTT / 1xEV-DO / HRPD / eHRPD) , LTE / LTE-Advanced, or 5G NR using a single shared radio and / or GSM, LTE, LTE-Advanced, or 5G NR using the single shared radio. The shared radio may couple to a single antenna, or may couple to multiple antennas (e.g., for MIMO) for performing wireless communications. In general, a radio may include any combination of a baseband processor, analog RF signal processing circuitry (e.g., including filters, mixers, oscillators, amplifiers, etc. ) , or digital processing circuitry (e.g., for digital modulation as well as other digital processing) . Similarly, the radio may implement one or more receive and transmit chains using the aforementioned hardware. For example, the UE 106 may share one or more parts of a receive and / or transmit chain between multiple wireless communication technologies, such as those discussed above.
[0072] In some embodiments, the UE 106 may include separate transmit and / or receive chains (e.g., including separate antennas and other radio components) for each wireless communication protocol with which it is configured to communicate. As a further possibility, the UE 106 may include one or more radios which are shared between multiple wireless communication protocols, and one or more radios which are used exclusively by a single wireless communication protocol. For example, the UE 106 might include a shared radio for communicating using either LTE or 5G NR (or LTE or 1xRTTor LTE or GSM) , and separate radios for communicating using each of Wi-Fi and Bluetooth. Other configurations are also possible.
[0073] FIG. 2: Block Diagram of a Base Station
[0074] FIG. 2 illustrates an example block diagram of a base station 102, according to some embodiments. It is noted that the base station of FIG. 2 is merely one example of a possible base station. As shown, the base station 102 may include processor (s) 204 which may execute program instructions for the base station 102. The processor (s) 204 may also be coupled to memory management unit (MMU) 240, which may be configured to receive addresses from the processor (s) 204 and translate those addresses to locations in memory (e.g., memory 260 and read only memory (ROM) 250) or to other circuits or devices.
[0075] The base station 102 may include at least one network port 270. The network port 270 may be configured to couple to a telephone network and provide a plurality of devices, such as UE devices 106, access to the telephone network as described above in Figures 1 and 2.
[0076] The network port 270 (or an additional network port) may also or alternatively be configured to couple to a cellular network, e.g., a core network of a cellular service provider. The core network may provide mobility related services and / or other services to a plurality of devices, such as UE devices 106. In some cases, the network port 270 may couple to a telephone network via the core network, and / or the core network may provide a telephone network (e.g., among other UE devices serviced by the cellular service provider) .
[0077] In some embodiments, base station 102 may be a next generation base station, e.g., a 5G New Radio (5G NR) base station, or “gNB” . In such embodiments, base station 102 may be connected to a legacy evolved packet core (EPC) network and / or to a NR core (NRC) network. In addition, base station 102 may be considered a 5G NR cell and may include one or more transition and reception points (TRPs) . In addition, a UE capable of operating according to 5G NR may be connected to one or more TRPs within one or more gNBs.
[0078] The base station 102 may include at least one antenna 234, and possibly multiple antennas. The at least one antenna 234 may be configured to operate as a wireless transceiver and may be further configured to communicate with UE devices 106 via radio 230. The antenna 234 communicates with the radio 230 via communication chain 232. Communication chain 232 may be a receive chain, a transmit chain or both. The radio 230 may be configured to communicate via various wireless communication standards, including, but not limited to, 5G NR, LTE, LTE-A, GSM, UMTS, CDMA2000, Wi-Fi, etc.
[0079] The base station 102 may be configured to communicate wirelessly using multiple wireless communication standards. In some instances, the base station 102 may include multiple radios, which may enable the base station 102 to communicate according to multiple wireless communication technologies. For example, as one possibility, the base station 102 may include an LTE radio for performing communication according to LTE as well as a 5G NR radio for performing communication according to 5G NR. In such a case, the base station 102 may be capable of operating as both an LTE base station and a 5G NR base station. As another possibility, the base station 102 may include a multi-mode radio which is capable of performing communications according to any of multiple wireless communication technologies (e.g., 5G NR and Wi-Fi, LTE and Wi-Fi, LTE and UMTS, LTE and CDMA2000, UMTS and GSM, etc. ) .
[0080] As described further subsequently herein, the BS 102 may include hardware and software components for implementing or supporting implementation of features described herein. The processor 204 of the base station 102 may be configured to implement or support implementation of part or all of the methods described herein, e.g., by executing program instructions stored on a memory medium (e.g., a non-transitory computer-readable memory medium) . Alternatively, the processor 204 may be configured as a programmable hardware element, such as an FPGA (Field Programmable Gate Array) , or as an ASIC (Application Specific Integrated Circuit) , or a combination thereof. Alternatively (or in addition) the processor 204 of the BS 102, in conjunction with one or more of the other components 230, 232, 234, 240, 250, 260, 270 may be configured to implement or support implementation of part or all of the features described herein.
[0081] In addition, as described herein, processor (s) 204 may be comprised of one or more processing elements. In other words, one or more processing elements may be included in processor (s) 204. Thus, processor (s) 204 may include one or more integrated circuits (ICs) that are configured to perform the functions of processor (s) 204. In addition, each integrated circuit may include circuitry (e.g., first circuitry, second circuitry, etc. ) configured to perform the functions of processor (s) 204.
[0082] Further, as described herein, radio 230 may be comprised of one or more processing elements. In other words, one or more processing elements may be included in radio 230. Thus, radio 230 may include one or more integrated circuits (ICs) that are configured to perform the functions of radio 230. In addition, each integrated circuit may include circuitry (e.g., first circuitry, second circuitry, etc. ) configured to perform the functions of radio 230.
[0083] In some embodiments, the base station or gNB 102, and / or processors 204 thereof, can be capable of and configured to send for transmission a network configured reordering timer. The reordering timer may be configured or determined by a network or the base station.
[0084] FIG. 3: Block Diagram of a Server
[0085] FIG. 3 illustrates an example block diagram of a server 104, according to some embodiments. It is noted that the server of FIG. 3 is merely one example of a possible server. As shown, the server 104 may include processor (s) 344 which may execute program instructions for the server 104. The processor (s) 344 may also be coupled to memory management unit (MMU) 374, which may be configured to receive addresses from the processor (s) 344 and translate those addresses to locations in memory (e.g., memory 364 and read only memory (ROM) 354) or to other circuits or devices.
[0086] The server 104 may be configured to provide a plurality of devices, such as base station 102, and UE devices 106 access to network functions, e.g., as further described herein.
[0087] In some embodiments, the server 104 may be part of a radio access network, such as a 5G New Radio (5G NR) radio access network. In some embodiments, the server 104 may be connected to a legacy evolved packet core (EPC) network and / or to a NR core (NRC) network.
[0088] As described herein, the server 104 may include hardware and software components for implementing or supporting implementation of features described herein. The processor 344 of the server 104 may be configured to implement or support implementation of part or all of the methods described herein, e.g., by executing program instructions stored on a memory medium (e.g., a non-transitory computer-readable memory medium) . Alternatively, the processor 344 may be configured as a programmable hardware element, such as an FPGA (Field Programmable Gate Array) , or as an ASIC (Application Specific Integrated Circuit) , or a combination thereof. Alternatively (or in addition) the processor 344 of the server 104, in conjunction with one or more of the other components 354, 364, and / or 374 may be configured to implement or support implementation of part or all of the features described herein.
[0089] In addition, as described herein, processor (s) 344 may be comprised of one or more processing elements. In other words, one or more processing elements may be included in processor (s) 344. Thus, processor (s) 344 may include one or more integrated circuits (ICs) that are configured to perform the functions of processor (s) 344. In addition, each integrated circuit may include circuitry (e.g., first circuitry, second circuitry, etc. ) configured to perform the functions of processor (s) 344.
[0090] FIG. 4: Block Diagram of a User Equipment
[0091] FIG. 4 illustrates an example simplified block diagram of a communication device 106, according to some embodiments. It is noted that the block diagram of the communication device of FIG. 4 is only one example of a possible communication device. According to embodiments, communication device 106 may be a user equipment (UE) device, a mobile device or mobile station, a wireless device or wireless station, a desktop computer or computing device, a mobile computing device (e.g., a laptop, notebook, or portable computing device) , a tablet, an unmanned aerial vehicle (UAV) , a UAV controller (UAC) and / or a combination of devices, among other devices. As shown, the communication device 106 may include a set of components 400 configured to perform core functions. For example, this set of components may be implemented as a system on chip (SOC) , which may include portions for various purposes. Alternatively, this set of components 400 may be implemented as separate components or groups of components for the various purposes. The set of components 400 may be coupled (e.g., communicatively; directly or indirectly) to various other circuits of the communication device 106.
[0092] For example, the communication device 106 may include various types of memory (e.g., including NAND flash 410) , an input / output interface such as connector I / F 420 (e.g., for connecting to a computer system; dock; charging station; input devices, such as a microphone, camera, keyboard; output devices, such as speakers; etc. ) , the display 460, which may be integrated with or external to the communication device 106, and cellular communication circuitry 430 such as for 5G NR, LTE, GSM, etc., and short to medium range wireless communication circuitry 429 (e.g., BluetoothTM and WLAN circuitry) . In some embodiments, communication device 106 may include wired communication circuitry (not shown) , such as a network interface card, e.g., for Ethernet.
[0093] The cellular communication circuitry 430 may couple (e.g., communicatively; directly or indirectly) to one or more antennas, such as antennas 435 and 436 as shown. The short to medium range wireless communication circuitry 429 may also couple (e.g., communicatively; directly or indirectly) to one or more antennas, such as antennas 437 and 438 as shown. Alternatively, the short to medium range wireless communication circuitry 429 may couple (e.g., communicatively; directly or indirectly) to the antennas 435 and 436 in addition to, or instead of, coupling (e.g., communicatively; directly or indirectly) to the antennas 437 and 438. The short to medium range wireless communication circuitry 429 and / or cellular communication circuitry 430 may include multiple receive chains and / or multiple transmit chains for receiving and / or transmitting multiple spatial streams, such as in a multiple-input multiple output (MIMO) configuration.
[0094] In some embodiments, as further described below, cellular communication circuitry 430 may include dedicated receive chains (including and / or coupled to, e.g., communicatively; directly or indirectly. dedicated processors and / or radios) for multiple RATs (e.g., a first receive chain for LTE and a second receive chain for 5G NR) . In addition, in some embodiments, cellular communication circuitry 430 may include a single transmit chain that may be switched between radios dedicated to specific RATs. For example, a first radio may be dedicated to a first RAT, e.g., LTE, and may be in communication with a dedicated receive chain and a transmit chain shared with an additional radio, e.g., a second radio that may be dedicated to a second RAT, e.g., 5G NR, and may be in communication with a dedicated receive chain and the shared transmit chain.
[0095] The communication device 106 may also include and / or be configured for use with one or more user interface elements. The user interface elements may include any of various elements, such as display 460 (which may be a touchscreen display) , a keyboard (which may be a discrete keyboard or may be implemented as part of a touchscreen display) , a mouse, a microphone and / or speakers, one or more cameras, one or more buttons, and / or any of various other elements capable of providing information to a user and / or receiving or interpreting user input.
[0096] The communication device 106 may further include one or more smart cards 445 that include SIM (Subscriber Identity Module) functionality, such as one or more UICC (s) (Universal Integrated Circuit Card (s) ) cards 445. Note that the term “SIM” or “SIM entity” is intended to include any of various types of SIM implementations or SIM functionality, such as the one or more UICC (s) cards 445, one or more eUICCs, one or more eSIMs, either removable or embedded, etc. In some embodiments, the UE 106 may include at least two SIMs. Each SIM may execute one or more SIM applications and / or otherwise implement SIM functionality. Thus, each SIM may be a single smart card that may be embedded, e.g., may be soldered onto a circuit board in the UE 106, or each SIM 410 may be implemented as a removable smart card. Thus, the SIM (s) may be one or more removable smart cards (such as UICC cards, which are sometimes referred to as “SIM cards” ) , and / or the SIMs 410 may be one or more embedded cards (such as embedded UICCs (eUICCs) , which are sometimes referred to as “eSIMs” or “eSIM cards” ) . In some embodiments (such as when the SIM (s) include an eUICC) , one or more of the SIM (s) may implement embedded SIM (eSIM) functionality; in such an embodiment, a single one of the SIM (s) may execute multiple SIM applications. Each of the SIMs may include components such as a processor and / or a memory; instructions for performing SIM / eSIM functionality may be stored in the memory and executed by the processor. In some embodiments, the UE 106 may include a combination of removable smart cards and fixed / non-removable smart cards (such as one or more eUICC cards that implement eSIM functionality) , as desired. For example, the UE 106 may comprise two embedded SIMs, two removable SIMs, or a combination of one embedded SIMs and one removable SIMs. Various other SIM configurations are also contemplated.
[0097] As noted above, in some embodiments, the UE 106 may include two or more SIMs. The inclusion of two or more SIMs in the UE 106 may allow the UE 106 to support two different telephone numbers and may allow the UE 106 to communicate on corresponding two or more respective networks. For example, a first SIM may support a first RAT such as LTE, and a second SIM 410 support a second RAT such as 5G NR. Other implementations and RATs are of course possible. In some embodiments, when the UE 106 comprises two SIMs, the UE 106 may support Dual SIM Dual Active (DSDA) functionality. The DSDA functionality may allow the UE 106 to be simultaneously connected to two networks (and use two different RATs) at the same time, or to simultaneously maintain two connections supported by two different SIMs using the same or different RATs on the same or different networks. The DSDA functionality may also allow the UE 106 to simultaneously receive voice calls or data traffic on either phone number. In certain embodiments the voice call may be a packet switched communication. In other words, the voice call may be received using voice over LTE (VoLTE) technology and / or voice over NR (VoNR) technology. In some embodiments, the UE 106 may support Dual SIM Dual Standby (DSDS) functionality. The DSDS functionality may allow either of the two SIMs in the UE 106 to be on standby waiting for a voice call and / or data connection. In DSDS, when a call / data is established on one SIM, the other SIM is no longer active. In some embodiments, DSDx functionality (either DSDA or DSDS functionality) may be implemented with a single SIM (e.g., a eUICC) that executes multiple SIM applications for different carriers and / or RATs.
[0098] As shown, the SOC 400 may include processor (s) 402, which may execute program instructions for the communication device 106 and display circuitry 404, which may perform graphics processing and provide display signals to the display 460. The processor (s) 402 may also be coupled to memory management unit (MMU) 440, which may be configured to receive addresses from the processor (s) 402 and translate those addresses to locations in memory (e.g., memory 406, read only memory (ROM) 450, NAND flash memory 410) and / or to other circuits or devices, such as the display circuitry 404, short to medium range wireless communication circuitry 429, cellular communication circuitry 430, connector I / F 420, and / or display 460. The MMU 440 may be configured to perform memory protection and page table translation or set up. In some embodiments, the MMU 440 may be included as a portion of the processor (s) 402.
[0099] As described herein, the communication device 106 may include hardware and software components for implementing the above features for a communication device 106 to communicate a scheduling profile for power savings to a network. The processor 402 of the communication device 106 may be configured to implement part or all of the features described herein, e.g., by executing program instructions stored on a memory medium (e.g., a non-transitory computer-readable memory medium) . Alternatively (or in addition) , processor 402 may be configured as a programmable hardware element, such as an FPGA (Field Programmable Gate Array) , or as an ASIC (Application Specific Integrated Circuit) . Alternatively (or in addition) the processor 402 of the communication device 106, in conjunction with one or more of the other components 400, 404, 406, 410, 420, 429, 430, 440, 445, 450, 460 may be configured to implement part or all of the features described herein.
[0100] In addition, as described herein, processor 402 may include one or more processing elements. Thus, processor 402 may include one or more integrated circuits (ICs) that are configured to perform the functions of processor 402. In addition, each integrated circuit may include circuitry (e.g., first circuitry, second circuitry, etc. ) configured to perform the functions of processor (s) 402.
[0101] Further, as described herein, cellular communication circuitry 430 and short to medium range wireless communication circuitry 429 may each include one or more processing elements. In other words, one or more processing elements may be included in cellular communication circuitry 430 and, similarly, one or more processing elements may be included in short to medium range wireless communication circuitry 429. Thus, cellular communication circuitry 430 may include one or more integrated circuits (ICs) that are configured to perform the functions of cellular communication circuitry 430. In addition, each integrated circuit may include circuitry (e.g., first circuitry, second circuitry, etc. ) configured to perform the functions of cellular communication circuitry 430. Similarly, the short to medium range wireless communication circuitry 429 may include one or more ICs that are configured to perform the functions of short to medium range wireless communication circuitry 429. In addition, each integrated circuit may include circuitry (e.g., first circuitry, second circuitry, etc. ) configured to perform the functions of short to medium range wireless communication circuitry 429.
[0102] In some embodiments, the UE 106 and / or the processors 402 thereof can be configured to and / or capable of receiving voice packets, silence insertion descriptor (SID) packets, or a network configured reordering timer. In addition, the UE 106 and / or the processors 402 thereof can be configured to and / or capable of determining a network scheduling scheme for the packets. The UE 106 and / or the processors 402 thereof can be configured to and / or capable of re-calculating the network configured reordering timer. In addition, the UE 106 and / or the processors 402 thereof can be configured to and / or capable of determining a voice status of the packets as active or silence. In addition, the UE 106 and / or the processors 402 thereof can be configured to and / or capable of detecting a sequence number (SN) gap associated with one or more missing packets. In addition, the UE 106 and / or the processors 402 thereof can be configured to and / or capable of starting the reordering timer and / or delivering packets to a higher layer.
[0103] FIG. 5: Block Diagram of Cellular Communication Circuitry
[0104] FIG. 5 illustrates an example simplified block diagram of cellular communication circuitry, according to some embodiments. It is noted that the block diagram of the cellular communication circuitry of FIG. 5 is only one example of a possible cellular communication circuit. According to embodiments, cellular communication circuitry 530, which may be cellular communication circuitry 430, may be included in a communication device, such as communication device 106 described above. As noted above, communication device 106 may be a user equipment (UE) device, a mobile device or mobile station, a wireless device or wireless station, a desktop computer or computing device, a mobile computing device (e.g., a laptop, notebook, or portable computing device) , a tablet and / or a combination of devices, among other devices.
[0105] The cellular communication circuitry 530 may couple (e.g., communicatively; directly or indirectly) to one or more antennas, such as antennas 435a-b and 436 as shown (in FIG. 4) . In some embodiments, cellular communication circuitry 530 may include dedicated receive chains (including and / or coupled to, e.g., communicatively; directly or indirectly. dedicated processors and / or radios) for multiple RATs (e.g., a first receive chain for LTE and a second receive chain for 5G NR) . For example, as shown in FIG. 5, cellular communication circuitry 530 may include a modem 510 and a modem 520. Modem 510 may be configured for communications according to a first RAT, e.g., such as LTE or LTE-A, and modem 520 may be configured for communications according to a second RAT, e.g., such as 5G NR.
[0106] As shown, modem 510 may include one or more processors 512 and a memory 516 in communication with processors 512. Modem 510 may be in communication with a radio frequency (RF) front end 530. RF front end 530 may include circuitry for transmitting and receiving radio signals. For example, RF front end 530 may include receive circuitry (RX) 532 and transmit circuitry (TX) 534. In some embodiments, receive circuitry 532 may be in communication with downlink (DL) front end 550, which may include circuitry for receiving radio signals via antenna 335a.
[0107] Similarly, modem 520 may include one or more processors 522 and a memory 526 in communication with processors 522. Modem 520 may be in communication with an RF front end 540. RF front end 540 may include circuitry for transmitting and receiving radio signals. For example, RF front end 540 may include receive circuitry 542 and transmit circuitry 544. In some embodiments, receive circuitry 542 may be in communication with DL front end 560, which may include circuitry for receiving radio signals via antenna 335b.
[0108] In some embodiments, a switch 570 may couple transmit circuitry 534 to uplink (UL) front end 572. In addition, switch 570 may couple transmit circuitry 544 to UL front end 572. UL front end 572 may include circuitry for transmitting radio signals via antenna 336. Thus, when cellular communication circuitry 530 receives instructions to transmit according to the first RAT (e.g., as supported via modem 510) , switch 570 may be switched to a first state that allows modem 510 to transmit signals according to the first RAT (e.g., via a transmit chain that includes transmit circuitry 534 and UL front end 572) . Similarly, when cellular communication circuitry 530 receives instructions to transmit according to the second RAT (e.g., as supported via modem 520) , switch 570 may be switched to a second state that allows modem 520 to transmit signals according to the second RAT (e.g., via a transmit chain that includes transmit circuitry 544 and UL front end 572) .
[0109] As described herein, the modem 510 may include hardware and software components for implementing the above features or for time division multiplexing UL data for NSA NR operations, as well as the various other techniques described herein. The processors 512 may be configured to implement part or all of the features described herein, e.g., by executing program instructions stored on a memory medium (e.g., a non-transitory computer-readable memory medium) . Alternatively (or in addition) , processor 512 may be configured as a programmable hardware element, such as an FPGA (Field Programmable Gate Array) , or as an ASIC (Application Specific Integrated Circuit) . Alternatively (or in addition) the processor 512, in conjunction with one or more of the other components 530, 532, 534, 550, 570, 572, 335a, 335b, and 336 may be configured to implement part or all of the features described herein.
[0110] In addition, as described herein, processors 512 may include one or more processing elements. Thus, processors 512 may include one or more integrated circuits (ICs) that are configured to perform the functions of processors 512. In addition, each integrated circuit may include circuitry (e.g., first circuitry, second circuitry, etc. ) configured to perform the functions of processors 512.
[0111] The processors 522 may be configured to implement part or all of the features described herein, e.g., by executing program instructions stored on a memory medium (e.g., a non-transitory computer-readable memory medium) . Alternatively (or in addition) , processor 522 may be configured as a programmable hardware element, such as an FPGA (Field Programmable Gate Array) , or as an ASIC (Application Specific Integrated Circuit) . Alternatively (or in addition) the processor 522, in conjunction with one or more of the other components 540, 542, 544, 550, 570, 572, 335a, 335b, and 336 may be configured to implement part or all of the features described herein.
[0112] In addition, as described herein, processors 522 may include one or more processing elements. Thus, processors 522 may include one or more integrated circuits (ICs) that are configured to perform the functions of processors 522. In addition, each integrated circuit may include circuitry (e.g., first circuitry, second circuitry, etc. ) configured to perform the functions of processors 522.
[0113] FIG. 6: Block Diagram of a Baseband Processor Architecture for a UE
[0114] FIG. 6 illustrates example components of a device 600 in accordance with some embodiments. It is noted that the device of FIG. 6 is merely one example of a possible system, and that features of this disclosure may be implemented in any of various UEs, as desired.
[0115] In some embodiments, the device 600 may include application circuitry 602, baseband circuitry 604, Radio Frequency (RF) circuitry 606, front-end module (FEM) circuitry 608, one or more antennas 610, and power management circuitry (PMC) 612 coupled together at least as shown. The components of the illustrated device 600 may be included in a UE 106 or a RAN node. In some embodiments, the device 600 may include less elements (e.g., a RAN node may not utilize application circuitry 602, and instead include a processor / controller to process IP data received from an EPC) . In some embodiments, the device 600 may include additional elements such as, for example, memory / storage, display, camera, sensor, or input / output (I / O) interface. In other embodiments, the components described below may be included in more than one device (e.g., said circuitries may be separately included in more than one device for Cloud-RAN (C-RAN) implementations) .
[0116] The application circuitry 602 may include one or more application processors. For example, the application circuitry 602 may include circuitry such as, but not limited to, one or more single-core or multi-core processors. The processor (s) may include any combination of general-purpose processors and dedicated processors (e.g., graphics processors, application processors, etc. ) . The processors may be coupled with or may include memory / storage and may be configured to execute instructions stored in the memory / storage to enable various applications or operating systems to run on the device 600. In some embodiments, processors of application circuitry 602 may process IP data packets received from an EPC.
[0117] The baseband circuitry 604 may include circuitry such as, but not limited to, one or more single-core or multi-core processors. The baseband circuitry 604 may include one or more baseband processors or control logic to process baseband signals received from a receive signal path of the RF circuitry 606 and to generate baseband signals for a transmit signal path of the RF circuitry 606. Baseband processing circuity 604 may interface with the application circuitry 602 for generation and processing of the baseband signals and for controlling operations of the RF circuitry 606. For example, in some embodiments, the baseband circuitry 604 may include a third generation (3G) baseband processor 604A, a fourth generation (4G) baseband processor 604B, a fifth generation (5G) baseband processor 604C, or other baseband processor (s) 604D for other existing generations, generations in development or to be developed in the future (e.g., second generation (2G) , sixth generation (6G) , etc. ) . The baseband circuitry 604 (e.g., one or more of baseband processors 604A-D) may handle various radio control functions that enable communication with one or more radio networks via the RF circuitry 606. In other embodiments, some or all of the functionality of baseband processors 604A-D may be included in modules stored in the memory 604G and executed via a Central Processing Unit (CPU) 604E. The radio control functions may include, but are not limited to, signal modulation / demodulation, encoding / decoding, radio frequency shifting, etc. In some embodiments, modulation / demodulation circuitry of the baseband circuitry 604 may include Fast-Fourier Transform (FFT) , precoding, or constellation mapping / demapping functionality. In some embodiments, encoding / decoding circuitry of the baseband circuitry 604 may include convolution, tail-biting convolution, turbo, Viterbi, or Low Density Parity Check (LDPC) encoder / decoder functionality. Embodiments of modulation / demodulation and encoder / decoder functionality are not limited to these examples and may include other suitable functionality in other embodiments.
[0118] In some embodiments, the baseband circuitry 604 may include one or more audio digital signal processor (s) (DSP) 604F. The audio DSP (s) 604F may be include elements for compression / decompression and echo cancellation and may include other suitable processing elements in other embodiments. Components of the baseband circuitry may be suitably combined in a single chip, a single chipset, or disposed on a same circuit board in some embodiments. In some embodiments, some or all of the constituent components of the baseband circuitry 604 and the application circuitry 602 may be implemented together such as, for example, on a system on a chip (SOC) .
[0119] In some embodiments, the baseband circuitry 604 may provide for communication compatible with one or more radio technologies. For example, in some embodiments, the baseband circuitry 604 may support communication with an evolved universal terrestrial radio access network (EUTRAN) or other wireless metropolitan area networks (WMAN) , a wireless local area network (WLAN) , a wireless personal area network (WPAN) . Embodiments in which the baseband circuitry 604 is configured to support radio communications of more than one wireless protocol may be referred to as multi-mode baseband circuitry.
[0120] RF circuitry 606 may enable communication with wireless networks using modulated electromagnetic radiation through a non-solid medium. In various embodiments, the RF circuitry 606 may include switches, filters, amplifiers, etc. to facilitate the communication with the wireless network. RF circuitry 606 may include a receive signal path which may include circuitry to down-convert RF signals received from the FEM circuitry 608 and provide baseband signals to the baseband circuitry 604. RF circuitry 606 may also include a transmit signal path which may include circuitry to up-convert baseband signals provided by the baseband circuitry 604 and provide RF output signals to the FEM circuitry 608 for transmission.
[0121] In some embodiments, the receive signal path of the RF circuitry 606 may include mixer circuitry 606a, amplifier circuitry 606b and filter circuitry 606c. In some embodiments, the transmit signal path of the RF circuitry 606 may include filter circuitry 606c and mixer circuitry 606a. RF circuitry 606 may also include synthesizer circuitry 606d for synthesizing a frequency for use by the mixer circuitry 606a of the receive signal path and the transmit signal path. In some embodiments, the mixer circuitry 606a of the receive signal path may be configured to down-convert RF signals received from the FEM circuitry 608 based on the synthesized frequency provided by synthesizer circuitry 606d. The amplifier circuitry 606b may be configured to amplify the down-converted signals and the filter circuitry 606c may be a low-pass filter (LPF) or band-pass filter (BPF) configured to remove unwanted signals from the down-converted signals to generate output baseband signals. Output baseband signals may be provided to the baseband circuitry 604 for further processing. In some embodiments, the output baseband signals may be zero-frequency baseband signals, although this is not a necessity. In some embodiments, mixer circuitry 606a of the receive signal path may comprise passive mixers, although the scope of the embodiments is not limited in this respect.
[0122] In some embodiments, the mixer circuitry 606a of the transmit signal path may be configured to up-convert input baseband signals based on the synthesized frequency provided by the synthesizer circuitry 606d to generate RF output signals for the FEM circuitry 608. The baseband signals may be provided by the baseband circuitry 604 and may be filtered by filter circuitry 606c.
[0123] In some embodiments, the mixer circuitry 606a of the receive signal path and the mixer circuitry 606a of the transmit signal path may include two or more mixers and may be arranged for quadrature downconversion and upconversion, respectively. In some embodiments, the mixer circuitry 606a of the receive signal path and the mixer circuitry 606a of the transmit signal path may include two or more mixers and may be arranged for image rejection (e.g., Hartley image rejection) . In some embodiments, the mixer circuitry 606a of the receive signal path and the mixer circuitry 606a may be arranged for direct downconversion and direct upconversion, respectively. In some embodiments, the mixer circuitry 606a of the receive signal path and the mixer circuitry 606a of the transmit signal path may be configured for super-heterodyne operation.
[0124] In some embodiments, the output baseband signals and the input baseband signals may be analog baseband signals, although the scope of the embodiments is not limited in this respect. In some alternate embodiments, the output baseband signals and the input baseband signals may be digital baseband signals. In these alternate embodiments, the RF circuitry 606 may include analog-to-digital converter (ADC) and digital-to-analog converter (DAC) circuitry and the baseband circuitry 604 may include a digital baseband interface to communicate with the RF circuitry 606.
[0125] In some dual-mode embodiments, a separate radio IC circuitry may be provided for processing signals for each spectrum, although the scope of the embodiments is not limited in this respect.
[0126] In some embodiments, the synthesizer circuitry 606d may be a fractional-N synthesizer or a fractional N / N+1 synthesizer, although the scope of the embodiments is not limited in this respect as other types of frequency synthesizers may be suitable. For example, synthesizer circuitry 606d may be a delta-sigma synthesizer, a frequency multiplier, or a synthesizer comprising a phase-locked loop with a frequency divider.
[0127] The synthesizer circuitry 606d may be configured to synthesize an output frequency for use by the mixer circuitry 606a of the RF circuitry 606 based on a frequency input and a divider control input. In some embodiments, the synthesizer circuitry 606d may be a fractional N / N+1 synthesizer.
[0128] In some embodiments, frequency input may be provided by a voltage controlled oscillator (VCO) , although that is not a necessity. Divider control input may be provided by either the baseband circuitry 604 or the applications processor 602 depending on the desired output frequency. In some embodiments, a divider control input (e.g., N) may be determined from a look-up table based on a channel indicated by the applications processor 602.
[0129] Synthesizer circuitry 606d of the RF circuitry 606 may include a divider, a delay-locked loop (DLL) , a multiplexer and a phase accumulator. In some embodiments, the divider may be a dual modulus divider (DMD) and the phase accumulator may be a digital phase accumulator (DPA) . In some embodiments, the DMD may be configured to divide the input signal by either N or N+1 (e.g., based on a carry out) to provide a fractional division ratio. In some example embodiments, the DLL may include a set of cascaded, tunable, delay elements, a phase detector, a charge pump and a D-type flip-flop. In these embodiments, the delay elements may be configured to break a VCO period up into Nd equal packets of phase, where Nd is the number of delay elements in the delay line. In this way, the DLL provides negative feedback to help ensure that the total delay through the delay line is one VCO cycle.
[0130] In some embodiments, synthesizer circuitry 606d may be configured to generate a carrier frequency as the output frequency, while in other embodiments, the output frequency may be a multiple of the carrier frequency (e.g., twice the carrier frequency, four times the carrier frequency) and used in conjunction with quadrature generator and divider circuitry to generate multiple signals at the carrier frequency with multiple different phases with respect to each other. In some embodiments, the output frequency may be a LO frequency (fLO) . In some embodiments, the RF circuitry 606 may include an IQ / polar converter.
[0131] FEM circuitry 608 may include a receive signal path which may include circuitry configured to operate on RF signals received from one or more antennas 610, amplify the received signals and provide the amplified versions of the received signals to the RF circuitry 606 for further processing. FEM circuitry 608 may also include a transmit signal path which may include circuitry configured to amplify signals for transmission provided by the RF circuitry 606 for transmission by one or more of the one or more antennas 610. In various embodiments, the amplification through the transmit or receive signal paths may be done solely in the RF circuitry 606, solely in the FEM 608, or in both the RF circuitry 606 and the FEM 608.
[0132] In some embodiments, the FEM circuitry 608 may include a TX / RX switch to switch between transmit mode and receive mode operation. The FEM circuitry may include a receive signal path and a transmit signal path. The receive signal path of the FEM circuitry may include an LNA to amplify received RF signals and provide the amplified received RF signals as an output (e.g., to the RF circuitry 606) . The transmit signal path of the FEM circuitry 608 may include a power amplifier (PA) to amplify input RF signals (e.g., provided by RF circuitry 606) , and one or more filters to generate RF signals for subsequent transmission (e.g., by one or more of the one or more antennas 610) .
[0133] In some embodiments, the PMC 612 may manage power provided to the baseband circuitry 604. In particular, the PMC 612 may control power-source selection, voltage scaling, battery charging, or DC-to-DC conversion. The PMC 612 may often be included when the device 600 is capable of being powered by a battery, for example, when the device is included in a UE. The PMC 612 may increase the power conversion efficiency while providing desirable implementation size and heat dissipation characteristics.
[0134] While FIG. 6 shows the PMC 612 coupled only with the baseband circuitry 604, in other embodiments the PMC 612 may be additionally or alternatively coupled with, and perform similar power management operations for, other components such as, but not limited to, application circuitry 602, RF circuitry 606, or FEM 608.
[0135] In some embodiments, the PMC 612 may control, or otherwise be part of, various power saving mechanisms of the device 600. For example, if the device 600 is in a radio resource control_Connected (RRC_Connected) state, where it is still connected to the RAN node as it expects to receive traffic shortly, then it may enter a state known as Discontinuous Reception Mode (DRX) after a period of inactivity. During this state, the device 600 may power down for brief intervals of time and thus save power.
[0136] If there is no data traffic activity for an extended period of time, then the device 600 may transition off to an RRC_Idle state, where it disconnects from the network and does not perform operations such as channel quality feedback, handover, etc. The device 600 goes into a very low power state and it performs paging where again it periodically wakes up to listen to the network and then powers down again. The device 600 may not receive data in this state, in order to receive data, it will transition back to RRC_Connected state.
[0137] An additional power saving mode may allow a device to be unavailable to the network for periods longer than a paging interval (ranging from seconds to a few hours) . During this time, the device is totally unreachable to the network and may power down completely. Any data sent during this time incurs a large delay and it is assumed the delay is acceptable.
[0138] Processors of the application circuitry 602 and processors of the baseband circuitry 604 may be used to execute elements of one or more instances of a protocol stack. For example, processors of the baseband circuitry 604, alone or in combination, may be used execute Layer 3, Layer 2, or Layer 1 functionality, while processors of the application circuitry 604 may utilize data (e.g., packet data) received from these layers and further execute Layer 4 functionality (e.g., transmission communication protocol (TCP) and user datagram protocol (UDP) layers) . As referred to herein, Layer 3 (L3) may comprise a radio resource control (RRC) layer, described in further detail below. As referred to herein, Layer 2 (L2) may comprise a medium access control (MAC) layer, a radio link control (RLC) layer, and a packet data convergence protocol (PDCP) layer, described in further detail below. As referred to herein, Layer 1 (L1) may comprise a physical (PHY) layer of a UE / RAN node, described in further detail below. Accordingly, the baseband circuitry 604 can be used to encode a message for transmission between a UE and a gNB, or decode a message received between a UE and a gNB.
[0139] For example, the baseband circuitry 604 can be used to decode, at the UE 106, voice packets, SID packets, and a network configured reordering timer. These examples are not intended to be limiting. The baseband circuitry can be used as previously described.
[0140] FIG. 7: Block Diagram of an Interface of Baseband Circuitry
[0141] FIG. 7 illustrates example interfaces of baseband circuitry in accordance with some embodiments. It is noted that the baseband circuitry of FIG. 7 is merely one example of a possible circuitry, and that features of this disclosure may be implemented in any of various systems, as desired.
[0142] As discussed above, the baseband circuitry 604 of FIG. 6 may comprise processors 604A-604E and a memory 604G utilized by said processors. Each of the processors 604A-604E may include a memory interface, 704A-704E, respectively, to send / receive data to / from the memory 604G.
[0143] The baseband circuitry 604 may further include one or more interfaces to communicatively couple to other circuitries / devices, such as a memory interface 712 (e.g., an interface to send / receive data to / from memory external to the baseband circuitry 604) , an application circuitry interface 714 (e.g., an interface to send / receive data to / from the application circuitry 602 of FIG. 6) , an RF circuitry interface 716 (e.g., an interface to send / receive data to / from RF circuitry 606 of FIG. 6) , a wireless hardware connectivity interface 718 (e.g., an interface to send / receive data to / from Near Field Communication (NFC) components, components (e.g., Low Energy) , components, and other communication components) , and a power management interface 720 (e.g., an interface to send / receive power or control signals to / from the PMC 612.
[0144] FIG. 8: Control Plane Protocol Stack
[0145] FIG. 8 is an illustration of a control plane protocol stack in accordance with some embodiments. In this embodiment, a control plane 800 is shown as a communications protocol stack between the UE 106a (or alternatively, the UE 106b) , the RAN node 611 (or alternatively, the RAN node 612) , and the mobility management entity (MME) 621.
[0146] The PHY layer 801 may transmit or receive information used by the MAC layer 802 over one or more air interfaces. The PHY layer 801 may further perform link adaptation or adaptive modulation and coding (AMC) , power control, cell search (e.g., for initial synchronization and handover purposes) , and other measurements used by higher layers, such as the RRC layer 805. The PHY layer 801 may still further perform error detection on the transport channels, forward error correction (FEC) coding / decoding of the transport channels, modulation / demodulation of physical channels, interleaving, rate matching, mapping onto physical channels, and Multiple Input Multiple Output (MIMO) antenna processing.
[0147] The MAC layer 802 may perform mapping between logical channels and transport channels, multiplexing of MAC service data units (SDUs) from one or more logical channels onto transport blocks (TB) to be delivered to PHY via transport channels, de-multiplexing MAC SDUs to one or more logical channels from transport blocks (TB) delivered from the PHY via transport channels, multiplexing MAC SDUs onto TBs, scheduling information reporting, error correction through hybrid automatic repeat request (HARQ) , and logical channel prioritization.
[0148] The RLC layer 803 may operate in a plurality of modes of operation, including: Transparent Mode (TM) , Unacknowledged Mode (UM) , and Acknowledged Mode (AM) . The RLC layer 803 may execute transfer of upper layer protocol data units (PDUs) , error correction through automatic repeat request (ARQ) for AM data transfers, and concatenation, segmentation and reassembly of RLC SDUs for UM and AM data transfers. The RLC layer 803 may also execute re-segmentation of RLC data PDUs for AM data transfers, reorder RLC data PDUs for UM and AM data transfers, detect duplicate data for UM and AM data transfers, discard RLC SDUs for UM and AM data transfers, detect protocol errors for AM data transfers, and perform RLC re-establishment.
[0149] The PDCP layer 804 may execute header compression and decompression of IP data, maintain PDCP Sequence Numbers (SNs) , perform in-sequence delivery of upper layer PDUs at re-establishment of lower layers, eliminate duplicates of lower layer SDUs at re-establishment of lower layers for radio bearers mapped on RLC AM, cipher and decipher control plane data, perform integrity protection and integrity verification of control plane data, control timer-based discard of data, and perform security operations (e.g., ciphering, deciphering, integrity protection, integrity verification, etc. ) .
[0150] The main services and functions of the RRC layer 805 may include broadcast of system information (e.g., included in Master Information Blocks (MIBs) or System Information Blocks (SIBs) related to the non-access stratum (NAS) ) , broadcast of system information related to the access stratum (AS) , paging, establishment, maintenance and release of an RRC connection between the UE and E-UTRAN (e.g., RRC connection paging, RRC connection establishment, RRC connection modification, and RRC connection release) , establishment, configuration, maintenance and release of point to point Radio Bearers, security functions including key management, inter radio access technology (RAT) mobility, and measurement configuration for UE measurement reporting. Said MIBs and SIBs may comprise one or more information elements (IEs) , which may each comprise individual data fields or data structures.
[0151] The UE 601 and the RAN node 611 may utilize a Uu interface (e.g., an LTE-Uu interface) to exchange control plane data via a protocol stack comprising the PHY layer 801, the MAC layer 802, the RLC layer 803, the PDCP layer 804, and the RRC layer 805.
[0152] The non-access stratum (NAS) protocols 806 form the highest stratum of the control plane between the UE 601 and the MME 621. The NAS protocols 806 support the mobility of the UE 601 and the session management procedures to establish and maintain IP connectivity between the UE 601 and the P-GW 623.
[0153] The S1 Application Protocol (S1-AP) layer 815 may support the functions of the S1 interface and comprise Elementary Procedures (EPs) . An EP is a unit of interaction between the RAN node 1010 and the CN 1020. The S1-AP layer services may comprise two groups: UE-associated services and non UE-associated services. These services perform functions including, but not limited to: E-UTRAN Radio Access Bearer (E-RAB) management, UE capability indication, mobility, NAS signaling transport, RAN Information Management (RIM) , and configuration transfer.
[0154] The Stream Control Transmission Protocol (SCTP) layer (alternatively referred to as the SCTP / IP layer) 814 may ensure reliable delivery of signaling messages between the RAN node 611 and the MME 621 based, in part, on the IP protocol, supported by the IP layer 813. The L2 layer 812 and the L1 layer 811 may refer to communication links (e.g., wired or wireless) used by the RAN node and the MME to exchange information.
[0155] The RAN node 611 and the MME 621 may utilize an S1-MME interface to exchange control plane data via a protocol stack comprising the L1 layer 811, the L2 layer 812, the IP layer 813, the SCTP layer 814, and the S1-AP layer 815.
[0156] FIG. 9: User Plane Protocol Stack
[0157] FIG. 9 is an illustration of an example of a user plane protocol stack in accordance with some embodiments. In this embodiment, a user plane 900 is shown as a communications protocol stack between the UE 106A (or alternatively, the UE 106B or 106N) , the RAN node 611 (or alternatively, the RAN node 612) , the S-GW 622, and the P-GW 623. The user plane 900 may utilize at least some of the same protocol layers as the control plane 800. For example, the UE 601 and the RAN node 611 may utilize a Uu interface (e.g., an LTE-Uu interface) to exchange user plane data via a protocol stack comprising the PHY layer 801, the MAC layer 802, the RLC layer 803, the PDCP layer 804.
[0158] The General Packet Radio Service (GPRS) Tunneling Protocol for the user plane (GTP-U) layer 904 may be used for carrying user data within the GPRS core network and between the radio access network and the core network. The user data transported can be packets in any of IPv4, IPv6, or PPP formats, for example. The UDP and IP security (UDP / IP) layer 903 may provide checksums for data integrity, port numbers for addressing different functions at the source and destination, and encryption and authentication on the selected data flows. The RAN node 611 and the S-GW 622 may utilize an S1-U interface to exchange user plane data via a protocol stack comprising the L1 layer 811, the L2 layer 812, the UDP / IP layer 903, and the GTP-U layer 904. The S-GW 622 and the P-GW 623 may utilize an S5 / S8a interface to exchange user plane data via a protocol stack comprising the L1 layer 811, the L2 layer 812, the UDP / IP layer 903, and the GTP-U layer 904. As discussed above with respect to FIG. 8, NAS protocols support the mobility of the UE 106 and the session management procedures to establish and maintain IP 913 connectivity between the UE 106 and the P-GW 623.
[0159] FIG. 10: Core Network
[0160] FIG. 10 illustrates an example architecture of a system 1000 including a core network (CN) 1020 in accordance with various embodiments. The CN 1020 may be a core network for a 5G System (which may be referred to as a 5GC) . The system 1000 is shown to include a UE 1001, which may be the same or similar to the UEs 106A, 106B, or 106N discussed previously; a (R) AN 102, which may be the same or similar to the BSs 102A or 102N discussed previously; and a data network (DN) 1003, which may be, for example, operator services, Internet access, or 3rd party services; and a CN 1020. The CN 1020 may include a number of network functions including an Authentication Server Function (AUSF) 1022; an Access and Mobility Management Function (AMF) 1021; a Session Management Function (SMF) 1024; a Network Exposure Function (NEF) 1023; a Policy Control Function (PCF) 1026; a Network Repository Function (NRF) 1025; a Unified Data Management (UDM) 1027; an Application Function (AF) 1028; a User Plane Function (UPF) 1002; and a Network Slice Selection Function (NSSF) 1029. These network functions may be implemented, in some cases, as virtualized software based functions / services.
[0161] The UPF 1002 may act as an anchor point for intra-RAT and inter-RAT mobility, an external packet data unit (PDU) session point of interconnect to DN 1003, and a branching point to support multi-homed PDU session. A PDU session is a logical connection between the UE and the DN. The UPF 1002 may also perform packet routing and forwarding, perform packet inspection, enforce the user plane part of policy rules, lawfully intercept packets (user plane (UP) collection) , perform traffic usage reporting, perform quality of service (QoS) handling for a user plane (e.g., packet filtering, gating, UL / DL rate enforcement) , perform Uplink Traffic verification (e.g., Service Data Flows (SDF) to QoS flow mapping) , transport level packet marking in the uplink and downlink, and perform downlink packet buffering and downlink data notification triggering. UPF 1002 may include an uplink classifier to support routing traffic flows to a data network, The DN 1003 may represent various network operator services, Internet access, or third party services. DN 1003 may include, or be similar to, application server 430 discussed previously. The UPF 1002 may interact with the SMF 1024 via an N4 reference point between the SMF 1021 and the UPF 1002.
[0162] The AUSF 1022 may store data for authentication of UE 1001 and handle authentication-related functionality, The AUSF 1022 may facilitate a common authentication frame work for various access types. The AUSF 1022 may communicate with the AMF 1021 via an N12 reference point between the AMF 1021 and the AUSF 1022; and may communicate with the UDM 1027 via an N13 reference point between the UDM 1027 and the AUSF 1022. Additionally, the AUSF 1022 may exhibit an Nausf service-based interface.
[0163] The AMF 1021 may be responsible for registration management (e.g., for registering UE 1001, etc. ) , connection management, reachability management, mobility management, and lawful interception of AMF-related events, and access authentication and authorization. The AMF 1021 may be a termination point for the an N11 reference point between the AMF 1021 and the SMF 1024. The AMF 1021 may provide transport for SM messages between the UE 1001 and the SMF 1024, and act as a transparent proxy for routing SM messages. AMF 1021 may also provide transport for Short Message Service (SMS) messages between UE 1001 and an SMSF (not shown by FIG. 10) . AMF 1021 may act as a security anchor function (SEAF) , which may include interaction with the AUSF 1022 and the UE 1001, receipt of an intermediate key that was established as a result of the UE 1001 authentication process. Where Universal Subscriber Identity Module (USIM) based authentication is used, the AMF 1021 may retrieve the security material from the AUSF 1022. AMF 1021 may also include a Security Context Management (SCM) function, which receives a key from the SEAF that it uses to derive access-network specific keys. Furthermore, AMF 1021 may be a termination point of a RAN control plane (CP) interface, which may include or be an N2 reference point between the (R) AN 1010 and the AMF 1021; and the AMF 1021 may be a termination point of NAS (N1) signaling and perform NAS ciphering and integrity protection.
[0164] AMF 1021 may also support NAS signaling with a UE 1001 over a non- 3GPP Inter-Working Function (N3IWF) interface. The N3IWF may be used to provide access to untrusted entities. N3IWF may be a termination point for the N2 interface between the (R) AN 1010 and the AMF 1021 for the control plane and may be a termination point for the N3 reference point between the (R) AN 1010 and the UPF 1002 for the user plane. As such, the AMF 1021 may handle N2 signaling from the SMF 1024 and the AMF 1021 for PDU sessions and encapsulate / de-encapsulate packets for IPSec and N3 tunneling, mark N3 user-plane packets in the uplink, and enforce QoS corresponding to N3 packet marking while considering QoS requirements associated with such marking received over N2. N3IWF may also relay uplink and downlink control plane non-access stratum (NAS) signaling between the UE 1001 and AMF 1021 via an N1 reference point between the UE 1001 and the AMF 1021, and relay uplink and downlink user-plane packets between the UE 1001 and UPF 1002. The N3IWF also provides mechanisms for internet protocol security (IPsec) tunnel establishment with the UE 1001. The AMF 1021 may exhibit an Namf service based interface and may be a termination point for an N14 reference point between two AMFs 1021 and an N17 reference point between the AMF 1021 and a 5G Equipment Identity Register (5G-EIR) (not shown by FIG. 10) .
[0165] The UE 1001 may need to register with the AMF 1021 in order to receive network services. Registration Management (RM) is used to register or deregister the UE 1001 with the network (e.g., AMF 1021) , and establish a UE context in the network (e.g., AMF 1021) . The UF 1001 may operate in an RM-REGISTERED state or an RM-DEREGISTERED state. In the RM-DEREGISTERED state, the UE 1001 is not registered with the network, and the UE context in AMF 1021 holds no valid location or routing information for the UE 1001 so the UE 1001 is not reachable by the AMF 1021. In the RM REGISTERED state, the UE 1001 is registered with the network, and the UE context in AMF 1021 may hold a valid location or routing information for the UE 1001 so the UE 1001 is reachable by the AMF 1021. In the RM-REGISTERED state, the UE 1001 may perform mobility registration update procedures, perform periodic registration update procedures triggered by expiration of the periodic update timer (e.g., to notify the network that the UE 1001 is still active) , and perform a Registration Update procedure to update UE capability information or to re-negotiate protocol parameters with the network, among others.
[0166] The AMF 1021 may store one or more RM contexts for the UE 1001, where each RM context is associated with a specific access to the network. The RM context may be a data structure, database object, etc. that indicates or stores, inter alia, a registration state per access type and the periodic update timer. The AMF 1021 may also store a 5GC mobility management (MM) context that may be the same or similar to the evolved packet services (EPS) Mobility Management (E)MM context discussed previously. In various embodiments, the AMF 1021 may store a CE mode B Restriction parameter of the UE 1001 in an associated MM context or registration management (RM) context. The AMF 1021 may also derive the value, when needed, from the UE's usage setting parameter already stored in the UE context (and / or MM / RM context) .
[0167] Connection Management (CM) may be used to establish and release a signaling connection between the UE 1001 and the AMF 1021 over the N1 interface. The signaling connection is used to enable NAS signaling exchange between the UE 1001 and the CN 1020, and comprises both the signaling connection between the UE and the AN (e.g., RRC connection or UE-N3IWF connection for non-3GPP access) and the N2 connection for the UE 1001 between the AN (e.g., AN 1010) and the AMF 1021. The UE 1001 may operate in one of two CM states, CM-IDLE mode or CM-CONNECTED mode. When the UE 1001 is operating in the CM-IDLE state / mode, the UE 1001 may have no NAS signaling connection established with the AMF 1021 over the N1 interface, and there may be (R) AN 1010 signaling connection (e.g., N2 and / or N3 connections) for the UE 1001. When the UE 1001 is operating in the CM-CONNECTED state / mode, the UE 1001 may have an established NAS signaling connection with the AMF 1021 over the Nl interface, and there may be a (R) AN 1010 signaling connection (e.g., N2 and / or N3 connections) for the UE 1001. Establishment of an N2 connection between the (R) AN 1010 and the AMF 1021 may cause the UE 1001 to transition from CM-IDLE mode to CM-CONNECTED mode, and the UE 1001 may transition from the CM-CONNECTED mode to the CM-IDLE mode when N2 signaling between the (R) AN 1010 and the AMF 1021 is released.
[0168] The SMF 1024 may be responsible for session management (SM) session establishment, modify and release, including tunnel maintain between UPF and AN node) ; UE IP address allocation and management (including optional authorization) ; selection and control of UP function; configuring traffic steering at UPF to route traffic to proper destination; termination of interfaces toward policy control functions; controlling part of policy enforcement and QoS; lawful intercept (for SM events and interface to LI system) ; termination of SM parts of NAS messages; downlink data notification; initiating AN specific SM information, sent via AMF over N2 to AN; and determining SSC mode of a session. SM may refer to management of a PDU session, and a PDU session or "session" may refer to a PDU connectivity service that provides or enables the exchange of PDUs between a UE 1001 and a data network (DN) 1003 identified by a Data Network Name (DNN) . PDU sessions may be established upon UE 1001 request, modified upon UE 1001 and CN 1020 request, and released upon UE 1001 and CN 1020 request using NAS SM signaling exchanged over the N1 reference point between the UE 1001 and the SMF 1024. Upon request from an application server, the CN 1020 may trigger a specific application in the UE 1001. In response to receipt of the trigger message, the UE 1001 may pass the trigger message (or relevant parts / information of the trigger message) to one or more identified applications in the UE 1001. The identified application (s) in the UE 1001 may establish a PDU session to a specific data network name (DNN) . The SMF 1024 may check whether the UE 1001 requests are compliant with user subscription information associated with the UE 1001. In this regard, the SMF 1024 may retrieve and / or request to receive update notifications on SMF 1024 level subscription data from the UDM 1027.
[0169] The SMF 1024 may include the following roaming functionality: handling local enforcement to apply QoS SLAB virtual Public Land Mobile Network (VPLMN) ; charging data collection and charging interface (VPLMN) ; lawful intercept (in VPLMN for SM events and interface to LI system) ; and support for interaction with external DN for transport of signaling for PDU session authorization / authentication by external DN. An N16 reference point between two SMFs 1024 may be included in the system 1000, which may be between another SMF 1024 in a visited network and the SMF 1024 in the home network in roaming scenarios. Additionally, the SMF 1024 may exhibit the Nsmf service-based interface.
[0170] The NEF 1023 may provide means for securely exposing the services and capabilities provided by 3GPP network functions for third party, internal exposure / re-exposure, Application Functions (e.g., AF 1028) , edge computing or fog computing systems, etc. In such embodiments, the NEF 1023 may authenticate, authorize, and / or throttle the AFS. NEF 1023 may also translate information exchanged with the AF 1028 and information exchanged with internal network functions. For example, the NEF 1023 may translate between an AF-Service-Identifier and an internal SCC information. NEF 1023 may also receive information from other network functions (NFs) based on exposed capabilities of other network functions. This information may be stored at the NEF 1023 as structured data, or at a data storage NF using standardized interfaces. The stored information can then be re-exposed by the NEF 1023 to other NFs and AFs, and / or used for other purposes such as analytics. Additionally, the NEF 1023 may exhibit a Nnef service-based interface.
[0171] The NRF 1025 may support service discovery functions, receive NF discovery requests from NF instances, and provide the information of the discovered NF instances to the NF instances. NRF 1025 also maintains information of available NF instances and their supported services. As used herein, the terms "instantiate, " "instantiation, " and the like may refer to the creation of an instance, and an "instance" may refer to a concrete occurrence of an object, which may occur, for example, during execution of program code. Additionally, the NRF 1025 may exhibit the Nnrf service based interface.
[0172] The PCF 1026 may provide policy rules to control plane function (s) to enforce them and may also support unified policy framework to govern network behavior, The PCF 1026 may also implement a front end (FE) to access subscription information relevant for policy decisions in a UDR of the UDM 1027. The PCF 1026 may communicate with the AMF 1021 via an N15 reference point between the PCF 1026 and the AMF 1021, which may include a PCF 1026 in a visited network and the AMF 1021 in case of roaming scenarios. The PCF 1026 may communicate with the AF 1028 via an NS reference point between the PCF 1026 and the AF 1028; and with the SMF 1024 via an N7 reference point between the PCF 1026 and the SMF 1024, The system 1000 and / or CN 1020 may also include an N24 reference point between the PCF 1026 (in the home network) and a PCF 1026 in a visited network, Additionally, the PCF 1026 may exhibit an Npcf service-based interface.
[0173] The UDM 1027 may handle subscription-related information to support the network entities' handling of communication sessions and may store subscription data of UE 1001. For example, subscription data may be communicated between the UDM 1027 and the AMF 1021 via an NS reference point between the UDM 1027 and the AMF. The UDM 1027 may include two parts, an application FE and a UDR (the FE and UDR are not shown by FIG. 10) . The UDR may store subscription data and policy data for the UDM 1027 and the PCF 1026, and / or structured data for exposure and application data (including PFDs for application detection, application request information for multiple UEs 1001) for the NEF 1023. The Nadr service-based interface may be exhibited by the UDR 221 to allow the UDM 1027, PCF 1026, and NEF 1023 to access a particular set of the stored data, as well as to read, update (e.g., add, modify) , delete, and subscribe to notification of relevant data changes in the UDR. The UDM may include a UDM-FE, which is in charge of processing credentials, location management, subscription management and so on. Several different front ends may serve the same user in different transactions. The UDM-FE accesses subscription information stored in the UDR and performs authentication credential processing, user identification handling, access authorization, registration / mobility management, and subscription management. The UDR may interact with the SMF 1024 via an Nl0 reference point between the UDM 1027 and the SMF 1024. UDM 1027 may also support SMS management, wherein an SMS-FE implements the similar application logic as discussed previously. Additionally, the UDM 1027 may exhibit the Nudm service based interface.
[0174] The AF 1028 may provide application influence on traffic routing, provide access to the NCE, and interact with the policy framework for policy control. The NCE may be a mechanism that allows the CN 1020 and AF 1028 to provide information to each other via NEF 1023, which may be used for edge computing implementations. In such implementations, the network operator and third party services may be hosted close to the UE 1001 access point of attachment to achieve an efficient service delivery through the reduced end-to-end latency and load on the transport network. For edge computing implementations, the 5GC may select a UPF 1002 close to the UE 1001 and execute traffic steering from the UPF 502 to ON 1003 via the N6 interface. This may be based on the UE subscription data, UE location, and information provided by the AF 1028. In this way, the AF 1028 may influence UPF (re) selection and traffic routing. Based on operator deployment, when AF 1028 is considered to be a trusted entity, the network operator may permit AF 1028 to interact directly with relevant NFs. Additionally, the AF 1028 may exhibit a Naf service-based interface.
[0175] The NSSF 1029 may select a set of network slice instances serving the UE 501. The NSSF 1029 may also determine allowed Network Slice Selection Assistance Information (NSSAI) and the mapping to the subscribed single NSSAI (S-NSSAI) is, if needed. The NSSF 1029 may also determine the AMF set to be used to serve the UE 1001, or a list of candidate AMF (s) 1021 based on a suitable configuration and possibly by querying the NRF 1025. The selection of a set of network slice instances for the UE 1001 may be triggered by the AMF 1021 with which the UE 1001 is registered by interacting with the NSSF 1029, which may lead to a change of AMF 1021. The NSSF 1029 may interact with the AMF 1021 via an N22 reference point between AMF 1021 and NSSF 1029; and may communicate with another NSSF 1029 in a visited network via an N31 reference point (not shown by FIG. 10) . Additionally, the NSSF 1029 may exhibit an Nnssf service-based interface.
[0176] As discussed previously, the CN 1020 may include a short message service function (SMSF) , which may be responsible for SMS subscription checking and verification, and relaying SM messages to / from the UE 1001 to / from other entities, such as an SMS-GMSC / IWMSC / SMS-router. The SMS may also interact with AMF 1021 and UDM 1027 for a notification procedure that the UE 1001 is available for SMS transfer (e.g., set a UE not reachable flag, and notifying UDM 1027 when UE 1001 is available for SMS) .
[0177] The CN 1020 may also include other elements that are not shown by FIG. 10, such as a Data Storage system / architecture, a 5G-EIR, a Security Edge Protection Proxy (SEPP) , and the like. The Data Storage system may include a Structured Data Storage Network Function (SDSF) , air Unstructured Data Storage Function (UDSF) , and / or the like. Any network function (NF) may store and retrieve unstructured data into / from the UDSF (e.g., UE contexts) , via N18 reference point between any NF and the UDSF (not shown by FIG. 10) , Individual NFs may share a UDSF for storing their respective unstructured data or individual NFs may each have their own UDSF located at or near the individual NFs. Addition-ally, the UDSF may exhibit an Nudsf service-based interface (not shown by FIG. 10) . The 5G-EIR may be an NF that checks the status of permanent equipment identifier (PEI) for determining whether particular equipment / entities are blacklisted from the network; and the SEPP may be a non-transparent proxy that performs topology hiding, message filtering, and policing on inter-PLMN control plane interfaces.
[0178] Additionally, there may be many more reference points and / or service-based interfaces between the NF services in the NFs; however, these interfaces and reference points have been omitted from FIG. 10 for clarity. In one example, the CN 1020 may include an Nx interface, which is an inter-CN interface between a mobility management entity (MME) and the AMF 1021 in order to enable interworking between CN 1020 and a CN in a 4G system. Other example interfaces / reference points may include an N5G-EIR service-based interface exhibited by a 5G-EIR, an N27 reference point between the NRF in the visited network and the NRF in the home network; and an N31 reference point between the NSSF in the visited network and the NSSF in the home network.
[0179] FIG. 11a: Packet Data Convergence Protocol Layer (PDCP) in 3GPP
[0180] FIG. 11a provides an illustration of an example packet data convergence protocol layer in 3GPP 1100, in accordance with some embodiments.
[0181] The PDCP layer for 3GPP is specified in TS 38.323 V18.0.0 (January 2024) for 3GPP 5G. The PDCP layer is located in the Radio Protocol Stack in the 5G air interface on top of the radio link control (RLC) layer, as shown in FIGs. 8 and 9.
[0182] The PDCP provides its services to the radio resource control (RRC) and user plane upper layers, e.g. the Internet protocol (IP) layer at the UE or to the relay layer at the BS. The following services are provided by the PDCP to upper layers: the transfer of user plane data; the transfer of control plane data; header compression; ciphering; and integrity protection.
[0183] Different header formats are defined, dependent on the type of data to be transported. PDCP packets are associated with a sequence number. Data entering the PDCP layer is first stored in a transmission buffer. The data is organized using a Sequence Numbering procedure. The PDCP adds a Sequence Number (SN) to each incoming data block. Once the SN is added, the PDCP can use the SN to manage the packets. On the receiver side, the SN can be used to determine information such as whether the data that was transmitted at the BS is arriving in order at the UE, whether duplicate packets are received, or whether packets were dropped in the transmission.
[0184] A packet for transmission can be received at the PDCP layer from higher layers and enter the transmission buffer 1110, where sequence numbering can be performed on the data.
[0185] A Service Data Unit (SDU) is a block of data that is passed from one layer to another within the protocol stack. SDUs represent data that higher layers send for transmission across the network. PDCP SDUs are the data units at the PDCP layer, representing data received from higher layers for further processing and transmission over the radio interface.
[0186] The PDCP entity can add headers 1114 to the PDCP SDUs as they are passed down from higher layers. The headers include information that is used for the operation of the PDCP entity and for the recipient to understand how to process the data. The PDCP entity can apply integrity protection 1118 and encryption (ciphering 1122) to protect the confidentiality and integrity of the data. A PDCP header 1126 can then be added to the PDCP SDU and routed across the radio interface.
[0187] Once the PDCP entity has processed and prepared the PDCP SDUs, they can be handed over to the RLC layer for further segmentation, concatenation, and encapsulation before being transmitted over the radio interface.
[0188] On the receiving end, the PDCP entity can be used for reassembling the PDCP SDUs from the incoming data units. The received packet can have its PDCP header removed 1130, followed by deciphering 1134 and integrity verification 1138. The packet can then enter the reception buffer 1142, where packet reordering and duplicate discarding of packets can occur, based, in part, on the sequence numbering applied by the PDCP in the transmission buffer. The packet can then have header decompression 1146 and be communicated to higher layers in the 3GPP protocol stack.
[0189] FIGs. 11b-d: Reordering Scheme
[0190] FIGs. 11 b-d provide illustrations of example reordering schemes that can occur in the reception buffer of the PDCP entity, in accordance with some embodiments.
[0191] The Third Generation Partnership Project (3GPP) comprises a reordering scheme to enable in-order delivery of received packets at the PDCP layer to be sent to an upper layer. A lower layer Hybrid Automatic Repeat reQuest / Automatic Repeat reQuest (HARQ / ARQ) transmission can result in one or more out-of-order PDCPSNs. If a PDCP packet is not received, it can result in a gap occurring between PDCP SN. A reordering timer (t-reordering) is configured to operate at the receiving side of the PDCP entity. The duration of the timer is configured by RRC; and can range from 0 milliseconds (ms) to 3000 ms. The reordering timer can be used to detect the loss of PDCP PDUs.
[0192] If an SN gap is detected, subsequent packets can be stuck in a Layer 2 (L2) buffer before the t-Reordering timer expires. Gap detection can have limits. An SN gap is detected only after one PDCP packet is successfully received. The later a successful packet is received, the longer a re-ordering window can be, as shown in FIGs. 11 b-d. A longer re-ordering window can occur in real-time traffic with an unacknowledged mode (UM) . A packet transmission failure (e.g. SN1) may have a different length re-ordering window and a different delivery latency.
[0193] FIG. 11 b is a schematic illustration of an example reordering scheme 1150 in which a number (N) of missing packets (e.g. SN1, SN2 and SN3) is greater than one (N > 1) , according to some examples. While the actual SN gap begins at time t1, the SN gap is not detected by the UE until a successful packet (e.g. SN4) is received at a later time (e.g. t4) . Thus, the reorder timer (t-Reordering timer) starts later, at time t4; resulting in a different (e.g. longer) re-ordering window 1154 for SN1.
[0194] FIG. 11c is a schematic illustration of an example reordering scheme 1160 in which a number (N) of missing packets (e.g. SN1) is equal to one (N = 1) , and an inter packet interval is small, according to some examples. The SN gap occurs at time t1 and is detected by the UE at the next time a packet is successfully received, which is at time t2 in this example. The t-Reordering timer starts at time t2;resulting in a different (e.g. smaller) re-ordering window with respect to the example of FIG. 11 b.
[0195] FIG. 11 d is a schematic illustration of an example reordering scheme 1170 in which a number (N) of missing packets (e.g. SN1) is equal to one (N = 1) , and an inter packet interval that is larger, according to some examples. The SN gap in the example of FIG. 11d occurs at time t1 and is detected by the UE at time t2 after an empty period in which no packet is received, resulting in a longer interval than in the example of FIG. 11 c. The t-Reordering timer starts at time t2 after the longer interval; resulting in a different re-ordering window than the re-ordering windows illustrated in the examples of FIGs. 11 b and 11c.
[0196] Therefore, the re-order windows can have a different length, with some being longer or shorter than others.
[0197] At a peer-Tx-side, the packets are generated sequentially. During transmission, the transmission of some packets may fail, resulting in the “missing packets” . At a Rx-side, if the sequence numbers (SN) are not consecutive, e.g. N-2 / N packets are received, it indicates that one or packets are missing since N packets are expected but not received.
[0198] FIGs. 12 and 13: Network Scheduling Schemes
[0199] FIGs. 12 and 13 provide illustrations of example network scheduling schemes, in accordance with some embodiments. FIG. 12 is a schematic illustration of an example reordering scheme with a number (N) of missing packets (e.g. SN2 and SN3) , according to some examples. FIG. 13 is a schematic illustration of an example reordering scheme with a number (N) of missing packets (e.g. SN3) , according to some examples.
[0200] Different network scheduling schemes can cause errors in packet transmission and reception. In one example, (e.g. Case 1 in FIG. 12) , a network (NW) can schedule 2 packets (e.g. SN0 and SN1) to be transmitted every 40ms. With a typical 40ms-period (configured by NW) with Connected Discontinuous Reception (CDRX) configured, the network can assemble 2 voice packets together in 1 HARQ transmission. If the packets are not received, the resulting SN gaps can be detected by the UE 40ms later when the next packets are received. In another example (e.g. Case 2 in FIG. 13) , a network can schedule 1 packet every 20ms. Without CDRX configured, the network can assemble 1 voice packet in 1 HARQ transmission. If a packet is not received, the SN gap can be detected by the UE 20ms later. As shown in the two examples (Cases 1 and 2) , the SN gap caused re-ordering windows can have different duration; and the latency (i.e. the delay in detecting when a packet is not received) of valid packets can be different. Therefore, the different network scheduling schemes can be different, while the t-Reordering timer can be the same; resulting in different length re-ordering windows. The reordering window can be a potential window for potential retransmission, which can start from a first transmission that fails and can end at a timestamp of an expiration of the t-Reordering timer.
[0201] Network Scheduling based Re-Ordering Adaptation
[0202] As discussed above, when monitoring the network’s configuration and scheduling pattern, two typical cases can be expected, namely one packet every 20 ms (Case 1 above) , or two packets every 40 ms (Case 2 above) . The reorder timer (t-Reordering timer) can be configured by the network, i.e. a network configured reorder timer, based on considerations, such as environment. According to one example, the UE can detect or monitor the scheduling pattern (e.g. 20 ms or 40 ms) and can scale the network configured reorder timer at the UE.Thus, the UE can determine the scheduling pattern and re-calculate the t-Reordering timer based on the determined network scheduling pattern.
[0203] For example, the UE can record the arriving time of each SN over the air (e.g. t0 / t1 / … / ti) and can calculate the inter-SN-interval (e.g. di = ti -ti-1) . The UE can calculate the difference between the max / min interval between adjacent / proximate packets, e.g. diff = max (d1, d2, …, di) -min (d1, d2, …, di) . If the difference is greater than a threshold (diff > TH) , then the UE can determine that the scheduling pattern is shorter (e.g. 20 ms as in Case 2 described above) . Otherwise, the UE can determine that the scheduling pattern is longer (e.g. 40 ms as in Case 1 described above) . The threshold (TH) can be selected between 0 and 40ms in one aspect, or 20ms in another aspect. The threshold can be set by the UE’s configuration. The threshold can be configured by the UE, e.g. as 20 ms.
[0204] The UE can then re-calculate the t-Reordering timer per the determined network scheduling as: t-Reordering + 20ms*N
[0205] where N equals 1 for Case 1 (i.e. shorter, such as 20 ms) and 2 for Case 2 (i.e. longer, such as 40 ms) .
[0206] FIG. 14: Flow Chart for a Method of Adaptive Reordering of Voice Packets
[0207] FIG. 14 illustrates a flow chart of an example of a method of adaptive reordering of voice packets, according to some embodiments. The method 1400 shown in FIG. 14 may be used in conjunction with any of the systems, methods, or devices illustrated in the Figures, among other devices. In various embodiments, some of the method elements shown may be performed concurrently, in a different order than shown, or may be omitted. Additional method elements may also be performed as desired.
[0208] In some examples, the method 1400 can comprise receiving 1410, at the UE 106:
[0209] voice packets of voice data each having a PDCP sequence number (SN) at a packet data convergence protocol (PDCP) layer; and
[0210] a network configured reordering timer.
[0211] The method 1400 can comprise determining 1420, at the UE 106, a network scheduling scheme for the plurality of packets. The scheduling scheme can comprise receiving the plurality of packets at a first interval or the plurality of packets at a second interval. The first interval can be greater than the second interval.
[0212] The method 1400 can comprise re-calculating 1430 the network configured reordering timer for the plurality of voice packets based on the network scheduling scheme.
[0213] In one aspect, determining 1420 the network scheduling scheme can further comprise: recording an arrival time of each voice packet having an SN; calculating an inter SN interval between proximate packets in the voice packets; calculating a difference between a maximum interval and a minimum interval between the arrival time of the proximate packets; and comparing the difference to a threshold (TH) level. In another aspect, the TH can be selected to account for jitter.
[0214] In another aspect, re-calculating 1430 the network configured reordering timer can further comprise scaling the network configured reorder timer based on the network scheduling scheme. The new timer can be a function of the network configured t-Reordering timer and network scheduling patterns. Thus, the network configured t-Reordering timer cam be scaled by its scheduling patterns, and a new timer can be determined after scaling.
[0215] In another aspect, re-calculating 1430 the network configured reordering timer can further comprise: t-Reordering + 20 milliseconds (ms) *N
[0216] wherein:
[0217] t-Reordering is the network configured reordering timer; and
[0218] N = 1 when a single voice packet is received every 20 ms; or
[0219] N = 2 for when two voice packets are received every 40 ms.
[0220] In another aspect, a UE 106 and / or baseband processors 604 can be configured to perform the methods above.
[0221] FIG. 15: Invalid Re-Ordering for Silence Status
[0222] FIG. 15 provides an illustration of an example reordering scheme 1500, in accordance with some embodiments.
[0223] For voice packets there can be two different statuses, namely: active status or silence status. Silence status corresponds to when a user / speaker is not speaking. At the beginning of silence periods (the end of active periods) , a special silence insertion descriptor (SID) packet is generated that can be used to describe the background noise. The SID packets are generated at the onset of the silence period and whenever the characteristics of the background noise change. The speech decoder that receives the SID packet can use a comfort noise generation (CNG) algorithm to reproduce the background noise from the information in the packet and possibly information contained in past active voice packets. The SID packets can be generated during silence status to provide a better listening experience for the listener. The SID packets may be generated every 20 ms and can be relatively small compared to voice packets.
[0224] The network configured t-Reordering timer may be invalid for voice silence status. The network may configure the t-Reordering timer with 50~100ms. In silence status, silence insertion descriptor (SID) packets may be received every 160ms / 200ms. Thus, if an SID packet is not received, the resulting SN gap may have occurred 160ms / 200ms prior to when the missing SID packet is detected (when the next SID packet is received) . If the missing SID packet were to be received at a later time, the time is typically within a few tens of milliseconds. Accordingly, if no packet is received between the relatively long period of 160 / 200ms of the SID packets, the missing SID packet likely may not be received. Thus, SID packets are rarely received with their SN number out of order. Accordingly, the re-ordering may be meaningless for voice silence, and may contribute additional latency. In an active status, packets can be received at the UE every 20 or 40 ms and may be received with their SN number out of order.
[0225] The voice packets can be released at 160 / 200ms intervals, which can be relatively long. But a common reorder timer can be 60 ms in length. When a UE detects a missing SID packet, e.g. SN1, the UE can start the reorder timer, e.g. 60 ms. But the missing SID packet SN1 happened at t1, e.g. 160 ms ago before detection by the UE. In reality, a missing SID packet SN1 probably will not be received. Even if the missing packet SN1 is received at the UE after the 160ms, the UE cannot receive it. So, the reordering timer can be meaningless for the packets received during the silent status because SN gap detection, which occurs the next time a packet is received, is too late and the missing packet happened a long time ago.
[0226] In the active status, the UE can re-use the t-Reordering timer. In accordance with some embodiments, the UE can be configured to not start a t-Reordering timer when SID packets are received and deliver packets directly. Thus, the UE may not add further delay with the reordering timer when receiving silent (SID) packets are received. The UE can detect the status of the received packets, i.e. active or silence, or just detect silence status. When the received packets are SID packets, with the significantly greater period between packets relative to voice packets, the UE may not start the reorder timer and deliver the SID packets directly to a higher layer, such as the application layer. For example, the UE can deliver the next packet, e.g. SN2, to the upper layer or the application layer without buffering the packets in Layer 2 during the reordering timer.
[0227] In one aspect, a user equipment UE 106 can comprise one or more baseband processors 604 coupled to a memory 604G. The processors 604 can be configured to receive, at the UE 106:
[0228] voice packets of voice data each having a PDCP sequence number (SN) at a packet data convergence protocol (PDCP) layer;
[0229] silence insertion descriptor (SID) packets each having a PDCP SN at the PDCP layer; and
[0230] a network configured reordering timer.
[0231] The UE 106 can further comprise application processors 402 that can be configured to determine, at the UE 106, a voice status of the packets as:
[0232] an active status when voice packets are received; or
[0233] a silence status when SID packets are received.
[0234] The processors 402 can be configured to detect, at the UE 106, an SN packet gap associated with one or more missing packets. The processors 604 can be configured to start, at the UE 106, the network configured reordering timer when the SN packet gap is detected and the packet is determined to be a voice packet with the active status, or deliver the packets directly to a higher layer than the PDCP layer without starting the network configured reordering timer when the SN packet gap is detected and the packet is determined to be an SID packet with the silence status.
[0235] In another aspect, application processors 402 can further be configured to:determine the status of the packets based on an interval of receiving the voice packets or the SID packets. The SID packets can be received with an interval that is greater than an interval of the voice packets. In another aspect, the voice packets with the active status can be received periodically approximately every 20 or 40 milliseconds (ms) . The SID packets with the silence status can be received periodically approximately every 160 or 200 ms.
[0236] In another aspect, the processors 604 can further be configured to determine the voice status of the packets based on a size of a voice packet or an SID packet. The size of the SID packet can be less than the size of the voice packet. In another aspect, the size of the voice packets with the active status can be greater than approximately 50 bytes. The size of the SID packets with the silence status can be approximately 10 bytes. In another example, the size of the voice packets can be greater than 40 bytes. The size of the SID packets can be less than 15 bytes.
[0237] FIG. 16: Flow Chart for a Method of Adaptive Reordering of Voice Packets
[0238] FIG. 16 illustrates a flow chart of an example of a method of adaptive reordering of voice packets, according to some embodiments. The method 1600 shown in FIG. 16 may be used in conjunction with any of the systems, methods, or devices illustrated in the Figures, among other devices. In various embodiments, some of the method elements shown may be performed concurrently, in a different order than shown, or may be omitted. Additional method elements may also be performed as desired.
[0239] According to some examples, the method 1600 can comprise receiving 1610, at the UE 106:
[0240] voice packets of voice data each having a PDCP sequence number (SN) at a packet data convergence protocol (PDCP) layer;
[0241] silence insertion descriptor (SID) packets each having a PDCP SN at the PDCP layer; and
[0242] a network configured reordering timer.
[0243] The method 1600 can further comprise determining 1620, at the UE 106, a voice status of the packets as:
[0244] an active status when voice packets are received; or
[0245] a silence status when SID packets are received.
[0246] The method 1600 can further comprise detecting 1630, at the UE 106, an SN packet gap associated with one or more missing packets. The method 1600 can further comprise starting 1640, at the UE 106, the network configured reordering timer when the SN packet gap is detected and the packet is determined to be a voice packet with the active status, or delivering the packets directly to a higher layer than the PDCP layer without starting the network configured reordering timer when the SN packet gap is detected and the packet is determined to be an SID packet with the silence status.
[0247] In one aspect, determining 1620 the voice status of the packets can further comprise determining the status of the packets based on an interval of receiving the voice packets or the SID packets. The SID packets can be received with an interval that is greater than an interval of the voice packets. In another aspect, the voice packets with the active status can be received periodically approximately every 20 or 40 milliseconds (ms) . The SID packets with the silence status can be received periodically approximately every 160 or 200 ms.
[0248] In another aspect, determining 1620 the voice status of the packets can further comprise determining the voice status of the packets based on a size of a voice packet or an SID packet. The size of the SID packet can be less than the size of the voice packet. In another aspect, the voice packets with the active status can be greater than or equal to approximately 50 bytes. The SID packets with the silence status can be less than or equal to approximately 10 bytes.
[0249] In another aspect, a UE 106 and / or processors 402 can be configured to perform the methods above.
[0250] FIGs. 17 and 18: Racing Condition During Active / Silence Transition
[0251] In packet-based communications, packets arrive at the UE with random jitters in their arrival time. Packets may also arrive out of order, as previously discussed. The packets from Layer 2 (e.g. the PDCP layer) are passed to higher layers for decoding. Since an audio decoder expects to be fed a speech packet every 20 milliseconds (or 2 packets every 40 ms) to output speech samples in periodic blocks, a jitter buffer, also referred to as a de-jitter buffer, can be used to absorb the jitter in the packet arrival time. The larger the size of the jitter buffer, the better its ability to absorb the jitter in the arrival time of the packets. This results in fewer late arriving packets that may be discarded.
[0252] FIG. 17 provides an illustration of an example reordering scheme 1700, in accordance with some embodiments. As illustrated in this example, Layer 2 (L2) is illustrated to show packets that are received, assigned sequence numbers, and potentially reordered, if necessary, in a reordering window. The packets are then passed to a jitter buffer in a higher layer that is used to absorb the jitter in the arrival time of the packets from Layer 2.
[0253] With L2 and jitter buffer joint re-ordering, the packets may be stuck in L2 during a transition of the received packets from a silence status with SID packets to an active status with voice packets. The voice packets may be configured for Voice over long term evolution (VoLTE) or Voice over 5G (Vo5G) . The L2 can have a relatively long t-Reordering timer during silence status. When there are SN gaps in the received packets at the L2 layer during the transition from silence status to voice status, the UE may still use a long t-Reordering timer since it is assumed, in the SN gap of the missing SN2 packet, that the packets in the L2 layer are still in a silence status (no voice packets arrived to update a jitter buffer length and t-Reordering timer) . Thus, when a change to active status occurs, and the first packet is missing, the voice packets may be stuck in L2 due to the length of the re- ordering timer that is set to silence status.
[0254] There can be a racing condition between a transition from the silence status to the active status. During silence status, packet interval can be relatively long. But during active status, a packet interval can be relatively short, i.e. the packets are tightly packed. By way of example, it can be assumed that SN0 and SN1 are noise packets, i.e. SID packets, and SN2 is a voice packet but is missing due to the wireless environment. At the UE, the SN3 voice packet is received at L2, after an SN gap when the SN2 voice packet does not arrive at the UE. When the SN3 voice packet arrives and the SN gap is detected, the t-reordering timer is started with the assumption that SN3 is a SID packet and the UE is set to a silence status, thereby resulting in a large t-reordering timer.
[0255] The jitter buffer can be in an application or module of a voice application. Since the t-reordering timer is set to a long period, multiple additional voice packets will arrive during the t-reordering timer. So, the jitter buffer cannot receive the SN3 packet during the t-reordering timer. The jitter buffer is not aware of the transition from the silence status to the active status and is still in silence status until the SN3 voice packet and other voice packets arrive with a period of 20 to 40 ms, rather than the 160 to 200 ms of the SID packets. But the packets may arrive late because of the reordering timer, which can be relatively long in the silence status. Meanwhile, the voice packets are buffering in Layer 2. The result can be a long latency period.
[0256] There is a transition point at SN2 from silence status to active status. But the jitter buffer did not receive the voice packet SN2. So, the jitter buffer does not switch status from silence status to active status. At Layer 2, the reorder timer is long, and the packets may be buffered for a long time, resulting in a long latency period of potentially hundreds of milliseconds. In addition, the packets may be discarded by the jitter buffer due to the long delay at L2.
[0257] Even if the reorder timer is not started in silence status, as described above, there can still be an issue. When the UE receives SN3, the UE does not start the reorder timer, but delivers the packet directly to the upper layer or application layer (i.e. the jitter buffer) .
[0258] The purpose of the reorder timer is to allow packets that arrive out of order, with reference to each packet’s SN number, to be received, and re-ordered sequentially at the Layer 2 before sending the packets to a higher layer. However, if the reorder timer is not started and SN3 is a voice packet that is delivered unexpectedly during the silence status, and SN2 is a voice packet that is late, then the SN2 packet will be discarded by Layer 2 because the voice status is now active, not the silence status. But the jitter buffer in the upper layer is unaware a transition has occurred and cannot inform Layer 2. This results in the SN2 packet not being reordered. Whether the SN2 packet is not reordered or is dropped, the result is the same. The SN2 packet is not able to be sent to the higher layer from the L2 layer.
[0259] FIG. 18 provides an illustration of an example reordering scheme 1800, in accordance with some embodiments. If the one or more processors determine not to start a t-Reordering timer in a silence status, the voice packets may be missing during a transition from a silence status to an active state. Once the voice packets are missing during the silence to active status transition, without t-Reordering, the packets are delivered. Once SN gaps occur when packets are not received in L2, the PDCP entity may discard them when the received count is less than the received (RCVD_COUNT < RX_DELIV) . This can occur since the voice packets may not be re-ordered in L2 if the reorder timer is not started. The RCVD_COUNT < RX_DELIV is defined in the specification TS 38.323 5.2.2.1 for 3GPP 5G and corresponds to the packets which are considered as missing. There is some “missing packets” detected with SN=x / RCVD_COUNT=n, at t = t0. The t-Reordering starts at t0. All received packets with COUNT > n are buffered in L2. The t-Reordering expires at t1. The UE delivers all received packets with COUNT >n;and set RX_DELIV = n+1. At t2, the previous missing packet with SN=x / RCVD_COUNT=n comes due to retransmission at lower layer. Here, RCVD_COUNT < RX_DELIV. Per the specification, the packet with RCVD_COUNT=n is discarded.
[0260] FIG. 19: Re-Ordering Adaptation During Silence / Active Transition
[0261] FIG. 19 provides an illustration of an example reordering scheme 1900, in accordance with some embodiments. The reordering scheme illustrated in this example can be used to resolve the issues that can be caused when there is an SN gap during a transition from silence status to active status that can either cause a large latency, as illustrated in FIG. 17, or result in the SN packets not being reordered, as illustrated in FIG. 18.
[0262] In FIG. 19, the UE can use one or more application processors 402 or baseband processors 604 to monitor the arriving packets at L2 and determine a current voice status. The size of the packets or the arrival time of the packets in L2 can be used to determine a silence / active status. In one aspect, the arriving packets may be determined to have an active status if the size of the packets are greater than a threshold level (TH) . In another aspect, the arriving packets may be determined to have an active status if an inter-packet-interval of the arriving packets is less than a TH level. The one or more processors can set a silence or active specific t-Reorder timer respectively. The one or more processors can start an active specific t-Reorder timer once a silence to active status transition is detected.
[0263] At Layer 2, the UE can perform voice monitoring of the voice status and determine if there is a silence status or an active status based on a change in packet size. So, the UE, monitoring the packet size, arrival time, and periodicity of packets arriving at Layer 2, can directly determine the silence or active status and can accordingly change to a specific silence or active reordering timer. The UE can start reordering time when it detects a voice packet, i.e. active status, after an SID packet, i.e. silence status. Based on package size, a package size for SID packets in silence status is relatively small, e.g. 0-10 bytes, while a voice package in active status is relatively large, e.g. 50 bytes. So a threshold (TH) can be set, e.g. 25-30 bytes. Based on interval, an interval for voice packages is relatively small, e.g. 20-40 ms, while an interval for silence is relatively large, e.g. 160 ms.
[0264] According to some examples, a user equipment (UE) 106 can comprise one or more processors 604 coupled to a memory 406. The processors 604 can be configured to receive, at the UE 106:
[0265] voice packets of voice data each having a PDCP sequence number (SN) at a packet data convergence protocol (PDCP) layer;
[0266] silence insertion descriptor (SID) packets each having a PDCP SN at the PDCP layer; and
[0267] a network configured reordering timer.
[0268] The processors 604 can be configured to determine, at the UE 103, a voice status of the packets as:
[0269] an active status when voice packets are received; or
[0270] a silence status when SID packets are received.
[0271] The processors 604, 402 can be configured to detect, at the UE 106, an SN packet gap associated with one or more missing packets in the voice packets or the SID packets received at the PDCP layer. The processors 604 can be configured to start, at the UE, a different second reordering timer that is less than the network configured reordering timer when the SN packet gap is detected, and an active voice status is determined. The processors 604 can be configured to deliver, at the UE 106, the packets directly to a higher layer than the PDCP layer at the expiration of the different second reordering timer.
[0272] In another aspect, the processors 604 can further be configured to determine the voice status of the packets based on an interval of receiving the voice packets or the SID packets. The SID packets can be received with an interval that is greater than an interval of the voice packets. In another aspect, the voice packets with the active status can be received every 20 or 40 milliseconds (ms) . The SID packets with the silence status can be received every 160 or 200 ms.
[0273] In another aspect, the processors 604 can further be configured to determine a packet as active status when an inter-packet-interval of the packets is smaller than a threshold value. In another aspect, the threshold value for the inter-packet-interval can be 20 to 40 milliseconds (ms) .
[0274] In another aspect, the processors 604 can further be configured to determine the voice status of the packets based on a size of a voice packet or an SID packet. The size of the SID packet can be less than the size of the voice packet. In accordance with another aspect, the voice packets with the active status can be greater than approximately 50 bytes. The SID packets with the silence status can be approximately 10 bytes.
[0275] In another aspect, the processors are 604 can further be configured to determine a packet as active status when a packet size is greater than a threshold value. In another aspect, the threshold value for the size of the packet can be 25 to 30 bytes.
[0276] In another aspect, the network configured reorder timer can further comprise a silence specific reorder timer and an active specific reorder timer. The active specific reorder timer can be less than the silence specific reorder timer. The processors 604 can further be configured to start the active specific reorder timer when the SN packet gap is detected, and an active voice status is determined.
[0277] FIG. 20: Flow Chart for a Method of Adaptive Reordering of Voice Packets
[0278] FIG. 20 illustrates a flow chart of an example of a method of adaptive reordering of voice packets, according to some embodiments. The method 2000 shown in FIG. 20 may be used in conjunction with any of the systems, methods, or devices illustrated in the Figures, among other devices. In various embodiments, some of the method elements shown may be performed concurrently, in a different order than shown, or may be omitted. Additional method elements may also be performed as desired.
[0279] According to some examples, the method 2000 can comprise receiving 2010, at the UE 106:
[0280] voice packets of voice data each having a PDCP sequence number (SN) at a packet data convergence protocol (PDCP) layer;
[0281] silence insertion descriptor (SID) packets each having a PDCP SN at the PDCP layer; and
[0282] a network configured reordering timer.
[0283] The method 2000 can comprise determining 2020, at the UE 106, a voice status of the packets as:
[0284] an active status when voice packets are received; or
[0285] a silence status when SID packets are received.
[0286] The method 2000 can comprise detecting 2030, at the UE 106, an SN packet gap associated with one or more missing packets in the voice packets or the SID packets received at the PDCP layer. The method 2000 can comprise starting 2040, at the UE 106, a different second reordering timer that is less than the network configured reordering timer when the SN packet gap is detected, and an active voice status is determined. The method 2000 can comprise delivering 2050, at the UE 106, the packets directly to a higher layer than the PDCP layer at the expiration of the different second reordering timer.
[0287] In another aspect, determining 2020 the voice status of the packets can further comprise determining the voice status of the packets based on an interval of receiving the voice packets or the SID packets. The SID packets can be received with an interval that is greater than an interval of the voice packets. In another aspect, the voice packets with the active status can be received every 20 or 40 milliseconds (ms) . The SID packets with the silence status can be received every 160 or 200 ms.
[0288] In another aspect, determining 2020 the voice status of the packets can further comprise determining a packet as active status when an inter-packet-interval of the packets is smaller than a threshold value. In another aspect, the threshold value for the inter-packet-interval can be 20 to 40 milliseconds (ms) .
[0289] In another aspect, determining 2020 the voice status of the packets can further comprise determining the voice status of the packets based on a size of a voice packet or an SID packet. The size of the SID packet can be less than the size of the voice packet. In another aspect, the voice packets with the active status can be greater than approximately 50 bytes. The SID packets with the silence status can be approximately 10 bytes.
[0290] In another aspect, determining 2020 the voice status of the packets can further comprise determining a packet as active status when a packet size is greater than a threshold value. In another aspect, the threshold value for the size of the packet can be 25 to 30 bytes.
[0291] In another aspect, the network configured reorder timer can comprise a silence specific reorder timer and an active specific reorder timer. The active specific reorder timer can be less than the silence specific reorder timer. Starting 2040 the timer can further comprise starting the active specific reorder timer when the SN packet gap is detected, and an active voice status is determined.
[0292] In another aspect, a UE 106 and / or baseband processors 604 can be configured to perform the methods above.
[0293] Embodiments of the present disclosure may be realized in any of various forms. For example, some embodiments may be realized as a computer-implemented method, a computer readable memory medium, or a computer system. Other embodiments may be realized using one or more custom-designed hardware devices such as ASICs. Still other embodiments may be realized using one or more programmable hardware elements such as FPGAs.
[0294] In some embodiments, a non-transitory computer-readable memory medium may be configured so that it stores program instructions and / or data, where the program instructions, if executed by a computer system, cause the computer system to perform a method, e.g., any of the method embodiments described herein, or, any combination of the method embodiments described herein, or, any subset of any of the method embodiments described herein, or, any combination of such subsets.
[0295] In some embodiments, a device (e.g., a UE 106) may be configured to include a processor (or a set of processors) and a memory medium, where the memory medium stores program instructions, where the processor is configured to read and execute the program instructions from the memory medium, where the program instructions are executable to implement any of the various method embodiments described herein (or, any combination of the method embodiments described herein, or, any subset of any of the method embodiments described herein, or, any combination of such subsets) . The device may be realized in any of various forms.
[0296] Any of the methods described herein for operating a user equipment (UE) may be the basis of a corresponding method for operating a base station, by interpreting each message / signal X received by the UE in the downlink as message / signal X transmitted by the base station, and each message / signal Y transmitted in the uplink by the UE as a message / signal Y received by the base station.
[0297] Although the embodiments above have been described in considerable detail, numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications.
Claims
1.A method of adaptive reordering of voice packets at a user equipment (UE) , the method comprising:receiving, at the UE:voice packets of voice data each having a PDCP sequence number (SN) at a packet data convergence protocol (PDCP) layer;silence insertion descriptor (SID) packets each having a PDCP SN at the PDCP layer; anda network configured reordering timer;determining, at the UE, a voice status of the packets as:an active status when voice packets are received; ora silence status when SID packets are received;detecting, at the UE, an SN packet gap associated with one or more missing packets; andstarting, at the UE, the network configured reordering timer when the SN packet gap is detected and the packet is determined to be a voice packet with the active status, or delivering the packets directly to a higher layer than the PDCP layer without starting the network configured reordering timer when the SN packet gap is detected and the packet is determined to be an SID packet with the silence status.2.The method of claim 1, wherein determining the voice status of the packets further comprises:determining the status of the packets based on an interval of receiving the voice packets or the SID packets; andwherein the SID packets are received with an interval that is greater than an interval of the voice packets.3.The method of claim 2, wherein the voice packets with the active status are received periodically approximately every 20 or 40 milliseconds (ms) ; and wherein the SID packets with the silence status are received periodically approximately every 160 or 200 ms.4.The method of claim 1, wherein determining the voice status of the packets further comprises:determining the voice status of the packets based on a size of a voice packet or an SID packet; andwherein the size of the SID packet is less than the size of the voice packet.5.The method of claim 4, wherein the voice packets with the active status are greater than or equal to approximately 50 bytes; andwherein the SID packets with the silence status are less than or equal to approximately 10 bytes.6.An apparatus configured to cause a user equipment (UE) to perform any of the methods of claims 1-5.7.A baseband processor configured to perform one or more of the methods of claims 1-5.8.An apparatus of a user equipment (UE) comprising:one or more processors, coupled to a memory, configured to:receive, at the UE:voice packets of voice data each having a PDCP sequence number (SN) at a packet data convergence protocol (PDCP) layer;silence insertion descriptor (SID) packets each having a PDCP SN at the PDCP layer; anda network configured reordering timer;determine, at the UE, a voice status of the packets as:an active status when voice packets are received; ora silence status when SID packets are received;detect, at the UE, an SN packet gap associated with one or more missing packets; andstart, at the UE, the network configured reordering timer when the SN packet gap is detected and the packet is determined to be a voice packet with the active status, or deliver the packets directly to a higher layer than the PDCP layer without starting the network configured reordering timer when the SN packet gap is detected and the packet is determined to be an SID packet with the silence status.9.The apparatus of claim 8, wherein the one or more processors are further configured to:determine the status of the packets based on an interval of receiving the voice packets or the SID packets; andwherein the SID packets are received with an interval that is greater than an interval of the voice packets.10.The apparatus of claim 9, wherein the voice packets with the active status are received periodically approximately every 20 or 40 milliseconds (ms) ; and wherein the SID packets with the silence status are received periodically approximately every 160 or 200 ms.11.The apparatus of claim 8, wherein the one or more processors are further configured to:determine the voice status of the packets based on a size of a voice packet or an SID packet; andwherein the size of the SID packet is less than the size of the voice packet.12.The apparatus of claim 11, wherein the size of the voice packets with the active status are greater than approximately 50 bytes;and wherein the size of the SID packets with the silence status are approximately 10 bytes.13.A method of adaptive reordering of voice packets at a user equipment (UE) , the method comprising:receiving, at the UE:voice packets of voice data each having a PDCP sequence number (SN) at a packet data convergence protocol (PDCP) layer;silence insertion descriptor (SID) packets each having a PDCP SN at the PDCP layer; anda network configured reordering timer;determining, at the UE, a voice status of the packets as:an active status when voice packets are received; ora silence status when SID packets are received;detecting, at the UE, an SN packet gap associated with one or more missing packets in the voice packets or the SID packets received at the PDCP layer;starting, at the UE, a different second reordering timer that is less than the network configured reordering timer when the SN packet gap is detected, and an active voice status is determined; anddelivering, at the UE, the packets directly to a higher layer than the PDCP layer at an expiration of the different second reordering timer.14.The method of claim 13, wherein determining the voice status of the packets further comprises:determining the voice status of the packets based on an interval of receiving the voice packets or the SID packets; andwherein the SID packets are received with an interval that is greater than an interval of the voice packets.15.The method of claim 14, wherein the voice packets with the active status are received every 20 or 40 milliseconds (ms) ; and wherein the SID packets with the silence status are received every 160 or 200 ms.16.The method of claim 13, wherein determining the voice status of the packets further comprises:determining a packet as active status when an inter-packet-interval of the packets is smaller than a threshold value.17.The method of claim 16, wherein the threshold value for the inter-packet-interval is 20 to 40 milliseconds (ms) .18.The method of claim 13, wherein determining the voice status of the packets further comprises:determining the voice status of the packets based on a size of a voice packet or an SID packet; andwherein the size of the SID packet is less than the size of the voice packet.19.The method of claim 18, wherein the voice packets with the active status are greater than approximately 50 bytes; and wherein the SID packets with the silence status are approximately 10 bytes.20.The method of claim 13, wherein determining the voice status of the packets further comprises:determining a packet as active status when a packet size is greater than a threshold value.21.The method of claim 16, wherein the threshold value for a size of the packet is 25 to 30 bytes.22.The method of claim 13, wherein the network configured reorder timer comprises a silence specific reorder timer and an active specific reorder timer; wherein the active specific reorder timer is less than the silence specific reorder timer; and wherein starting the timer further comprises starting the active specific reorder timer when the SN packet gap is detected, and an active voice status is determined.23.An apparatus configured to cause a user equipment (UE) to perform any of the methods of claims 13 to 22.24.A baseband processor configured to perform one or more of the methods of claims 13 to 22.25.An apparatus of a user equipment (UE) comprising:one or more processors, coupled to a memory, configured to:receive, at the UE:voice packets of voice data each having a PDCP sequence number (SN) at a packet data convergence protocol (PDCP) layer;silence insertion descriptor (SID) packets each having a PDCP SN at the PDCP layer; anda network configured reordering timer;determine, at the UE, a voice status of the packets as:an active status when voice packets are received; ora silence status when SID packets are received;detect, at the UE, an SN packet gap associated with one or more missing packets in the voice packets or the SID packets received at the PDCP layer;start, at the UE, a different second reordering timer that is less than the network configured reordering timer when the SN packet gap is detected, and an active voice status is determined; anddeliver, at the UE, the packets directly to a higher layer than the PDCP layer at an expiration of the different second reordering timer.26.The apparatus of claim 25, wherein the one or more processors are further configured to:determine the voice status of the packets based on an interval of receiving the voice packets or the SID packets; andwherein the SID packets are received with an interval that is greater than an interval of the voice packets.27.The apparatus of claim 26, wherein the voice packets with the active status are received every 20 or 40 milliseconds (ms) ; andwherein the SID packets with the silence status are received every 160 or 200 ms.28.The apparatus of claim 25, wherein the one or more processors are further configured to:determine a packet as active status when an inter-packet-interval of the packets is smaller than a threshold value.29.The apparatus of claim 28, wherein the threshold value for the inter-packet-interval is 20 to 40 milliseconds (ms) .30.The apparatus of claim 25, wherein the one or more processors are further configured to:determine the voice status of the packets based on a size of a voice packet or an SID packet; andwherein the size of the SID packet is less than the size of the voice packet.31.The apparatus of claim 30, wherein the voice packets with the active status are greater than approximately 50 bytes; andwherein the SID packets with the silence status are approximately 10 bytes.32.The apparatus of claim 25, wherein the one or more processors are further configured to:determine a packet as active status when a packet size is greater than a threshold value.33.The apparatus of claim 32, wherein the threshold value for the size of the packet is 25 to 30 bytes.34.The apparatus of claim 25, wherein the network configured reorder timer comprises a silence specific reorder timer and an active specific reorder timer; wherein the active specific reorder timer is less than the silence specific reorder timer; and wherein the one or more processors are further configured to start the active specific reorder timer when the SN packet gap is detected, and an active voice status is determined.35.A method of adaptive reordering of voice packets at a user equipment (UE) , the method comprising:receiving, at the UE:voice packets of voice data each having a PDCP sequence number (SN) at a packet data convergence protocol (PDCP) layer; anda network configured reordering timer;determining, at the UE, a network scheduling scheme for a plurality of packets, the scheduling scheme comprising receiving the plurality of packets at a first interval or the plurality of packets at a second interval, wherein the first interval is greater than the second interval; andre-calculating the network configured reordering timer for the plurality of voice packets based on the network scheduling scheme.36.The method of claim 35, wherein determining the network scheduling scheme further comprises:recording an arrival time of each voice packet having an SN;calculating an inter SN interval between proximate packets in the voice packets;calculating a difference between a maximum interval and a minimum interval between the arrival time of the proximate packets; andcomparing the difference to a threshold (TH) level.37.The method of claim 36, wherein determining the network scheduling scheme further comprises:wherein the TH is selected to account for jitter.38.The method of claim 35, wherein re-calculating the network configured reordering timer further comprises:scaling the network configured reorder timer based on the network scheduling scheme.39.The method of claim 35, wherein re-calculating the network configured reordering timer further comprises:t-Reordering + 20 milliseconds (ms) *Nwherein:t-Reordering is the network configured reordering timer; andN = 1 when a single voice packet is received every 20 ms; orN = 2 for when two voice packets are received every 40 ms.40.An apparatus configured to cause a user equipment (UE) to perform any of the methods of claims 35-39.41.A baseband processor configured to perform one or more of the methods of claims 35-39.42.A user equipment (UE) configured to perform any of the operations described herein.43.A computer program product, comprising computer instructions which, when executed by one or more processors, perform any of the operations described herein.
Citation Information
Patent Citations
Method to improve one subscription data throughput after turn way on DSDS phone
WO2017201715A1
Data forwarding method and device thereof
WO2018059148A1