Attention (AT) Interface for Wireless Access Network Bit Rate Recommendation
The AT interface on wireless devices facilitates bit rate signaling between processors, addressing the lack of application-level streaming assistance by enabling effective bit rate management for enhanced streaming services.
Patent Information
- Application Number
- JP2022578716
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-06-29
- Filing Date
- 2021-06-30
- Publication Date
- 2025-10-07
- Estimated Expiration
- 2041-06-30
AI Technical Summary
Current communication networks lack the ability to signal recommended bit rates for streaming sessions between processors on a wireless device, preventing effective application-level streaming service assistance.
Implementing an AT interface for exchanging attention (AT) commands and responses between a modem processor and another processor of a wireless device to facilitate uplink and downlink bit rate recommendations, including stream identifiers, requested bit rates, and directions, enabling network assistance requests and responses.
Enables application-level streaming service assistance by allowing wireless devices to manage bit rates effectively, supporting higher resolution streaming services and reducing latency through enhanced network assistance mechanisms.
Smart Images

Figure 0007750883000001 
Figure 0007750883000002 
Figure 0007750883000003
Abstract
Description
[Technical Field]
[0001] Related Applications This application claims the benefit of priority to U.S. Provisional Application No. 63 / 049,539, filed July 8, 2020, entitled "AT Interface For Radio Access Network Bitrate Recommendations," the entire contents of which are incorporated herein by reference for all purposes. [Background technology]
[0002] Long Term Evolution (LTE), Fifth Generation (5G) New Radio (NR), and other recently developed communication technologies enable wireless devices to communicate information at data rates several orders of magnitude greater (e.g., gigabits per second) than were available just a few years ago.
[0003] Today's communication networks are also more secure, more resistant to multipath fading, allow for lower network traffic latency, and offer better communication efficiency (e.g., in bits per second per unit of bandwidth used). These and other recent improvements have facilitated the emergence of the Internet of Things (IoT), large-scale machine-to-machine (M2M) communication systems, autonomous vehicles, and other technologies that rely on consistent, secure communications. Summary of the Invention [Means for solving the problem]
[0004] Various aspects of the present disclosure include methods, systems, and devices that provide streaming service downlink assistance and / or uplink assistance mechanisms for a wireless device using attention (AT) commands exchanged between a modem processor of the wireless device and another processor of the wireless device.
[0005] Various aspects may include a method for providing streaming service assistance executed by a modem processor of a wireless computing device, the method including receiving, via an AT interface, an AT command from another processor of the wireless device, the AT command being a bitrate recommendation action command for a streaming service, the bitrate recommendation action command including at least an indication of a first stream identifier, an indication of a requested bitrate, and an indication of a direction; and, in response to receiving the AT command from the other processor of the wireless device, the bitrate recommendation action command being a bitrate recommendation action command, receiving a logical channel identifier (LCID) associated with the second stream identifier and the indication of the first stream identifier. the second stream identifier, transmitting a network assistance request to a base station of a Radio Access Network (RAN) including the second stream identifier and the LCID, receiving a network assistance response from the base station of the RAN including the second stream identifier and the LCID, determining a bit rate recommendation in response to receiving the network assistance response from the base station of the RAN, and transmitting a response via the AT interface to another processor of the wireless device, the response being a bit rate recommendation response, the bit rate recommendation response including at least an indication of the first stream identifier, an indication of the bit rate recommendation, and an indication of the direction.
[0006] In some aspects, the indication of the first stream identifier may be an indication of an Evolved Packet System (EPS) bearer for the streaming service. In some aspects, the indication of the first stream identifier may be an indication of a Protocol Data Unit (PDU) session for the streaming service. In some aspects, the bitrate recommendation action command further includes an indication of a Quality of Service (QoS) flow of the PDU session for the streaming service, and the bitrate recommendation response further includes an indication of a QoS flow of the PDU session for the streaming service. In some aspects, the direction may be an indication of uplink or downlink.
[0007] Some aspects may further include starting a response timer in response to receiving an AT command from another processor of the wireless device via the AT interface, the AT command being a bitrate recommendation action command; receiving an AT command from another processor of the wireless device via the AT interface, the AT command being a second bitrate recommendation action command, the second bitrate recommendation action command including at least an indication of a first stream identifier, an indication of a requested bitrate, and an indication of a direction; determining whether the second bitrate recommendation action command is received before the response timer expires; and taking a bitrate request frequency limiting action in response to determining that the second bitrate recommendation action command is received before the response timer expires. In some aspects, the bitrate request frequency limiting action may include sending a response via the AT interface to the other processor of the wireless device that is an error code indicating that the second bitrate recommendation action command was sent prematurely. In some aspects, the error code response includes a retry-after parameter. In some aspects, the bit rate request frequency limiting action includes transmitting, via the AT interface, a response that is a second bit rate recommendation response to another processor of the wireless device, the second bit rate recommendation response including at least an indication of the first stream identifier, an indication of the bit rate recommendation, an indication of a direction, and an indication of a time when a network assistance response was received from a base station of the RAN. In some aspects, the bit rate request frequency limiting action may include not transmitting a response to the AT command that is the second bit rate recommendation action command.
[0008] Some aspects may further include determining a bit rate recommendation in response to receiving a network assistance response from a base station of the RAN, including converting the bit rate recommendation indicated in the network assistance response from the base station of the RAN to an application level bit rate value, wherein the bit rate recommendation indication in the bit rate recommendation response is an application level bit rate value.
[0009] In some aspects, the modem processor of the wireless device may be a fifth generation (5G) modem processor.
[0010] Further aspects may include a wireless device having a processor configured to perform one or more operations of any of the methods summarized above. Further aspects may include a non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor of a wireless device to perform the operations of any of the methods summarized above. Further aspects include a wireless device having means for performing the functions of any of the methods summarized above. Further aspects include a system-on-chip for use in a wireless device including a processor configured to perform one or more operations of any of the methods summarized above. Further aspects include a system-in-package including two system-on-chips for use in a wireless device, each including a processor configured to perform one or more operations of any of the methods summarized above.
[0011] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate exemplary embodiments of the claims and, together with the general description given above and the detailed description below, serve to explain features of the claims. [Brief explanation of the drawings]
[0012] [Figure 1A]FIG. 1 is a system block diagram illustrating an exemplary communication system suitable for implementing any of the various embodiments. [Figure 1B] FIG. 1 is a system block diagram illustrating example communications for supporting streaming service assistance within a communication system. [Figure 2] FIG. 1 is a component block diagram illustrating an exemplary computing and wireless modem system suitable for implementing any of the various embodiments. [Figure 3] FIG. 1 illustrates an example software architecture including radio protocol stacks for user and control planes in wireless communications, according to various embodiments. [Figure 4A] FIG. 1 is a component block diagram illustrating a system configured to provide downlink streaming service assistance in a 5GS network, according to various embodiments. [Figure 4B] FIG. 1 is a component block diagram illustrating a system configured to provide uplink streaming service assistance in a 5GS network, according to various embodiments. [Figure 5] FIG. 1 illustrates an architecture for attention (AT) command / response exchange on a wireless device to support streaming service assistance, according to various embodiments. [Figure 6] FIG. 1 is a process flow diagram illustrating a method performed by a processor of a wireless device to provide streaming service assistance, according to various embodiments. [Figure 7] FIG. 1 is a process flow diagram illustrating a method performed by a modem processor of a wireless device to provide streaming service assistance, according to various embodiments. [Figure 8A] FIG. 1 is a process flow diagram illustrating a method performed by a processor of a wireless device to provide streaming service assistance, according to various embodiments. [Figure 8B]FIG. 1 is a process flow diagram illustrating a method performed by a modem processor of a wireless device to provide streaming service assistance, according to various embodiments. [Figure 9A] FIG. 1 is a process flow diagram illustrating a method performed by a processor of a wireless device to provide streaming service assistance, according to various embodiments. [Figure 9B] FIG. 1 is a process flow diagram illustrating a method performed by a modem processor of a wireless device to provide streaming service assistance, according to various embodiments. [Figure 9C] FIG. 1 is a process flow diagram illustrating a method performed by a modem processor of a wireless device to provide streaming service assistance, according to various embodiments. [Figure 9D] FIG. 1 is a process flow diagram illustrating a method performed by a processor of a wireless device to provide streaming service assistance, according to various embodiments. [Figure 10] FIG. 1 is a component block diagram of a network computing device suitable for use with various embodiments. [Figure 11] FIG. 1 is a component block diagram of a wireless device suitable for use with the various embodiments. DETAILED DESCRIPTION OF THE INVENTION
[0013] Various embodiments will be described in detail with reference to the accompanying drawings. Whenever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts. References made to specific examples and implementations are for illustrative purposes only and do not limit the scope of the claims.
[0014] Various embodiments provide a method that may provide a streaming service downlink assistance and / or uplink assistance mechanism for a wireless device using AT commands and responses exchanged between a modem processor of a wireless device and another processor of the wireless device via an attention (AT) interface. Various embodiments may enable signaling of a recommended bit rate (uplink or downlink recommended bit rate) for a streaming session on a wireless device between processors on the wireless device, such as between a processor of the wireless device running a streaming service application and the modem processor of the wireless device. Various embodiments may include an AT command that is a bitrate recommendation action command for the streaming service, including an indication of a stream identifier, an indication of a requested bit rate, and an indication of a direction. Some embodiments may include receiving a response via the AT interface that is a bitrate recommendation response, the bitrate recommendation response including an indication of a stream identifier, an indication of a bitrate recommendation, and an indication of a direction. In some embodiments, the response via the AT interface that is the bitrate recommendation response may be a response by the modem processor to a previous AT command received from another processor via the AT interface that is a bitrate recommendation action command for the streaming service. In some embodiments, the response over the AT interface (sometimes referred to as an "AT response") may be an unsolicited bit rate recommendation received from a modem processor of the wireless device. The unsolicited bit rate recommendation may be a push-type notification sent by the modem processor to another processor that is not associated with any particular AT command bit rate request previously sent to the modem processor. The unsolicited bit rate recommendation may include an unsolicited result code.
[0015] The term “wireless device” is used herein to refer to any one or all of wireless router devices, wireless appliances, cellular telephones, smartphones, portable computing devices, personal or mobile multimedia players, laptop computers, tablet computers, smartbooks, ultrabooks, palmtop computers, wireless email receivers, multimedia Internet-enabled cellular telephones, medical devices and equipment, biometric sensors / devices, wearable devices including smart watches, smart clothing, smart glasses, smart wristbands, and smart jewelry (e.g., smart rings, smart bracelets, etc.), entertainment devices (e.g., wireless game controllers, music and video players, satellite radio, etc.), wireless network-enabled Internet of Things (IoT) devices including smart meters / sensors, industrial manufacturing equipment, and large and small machines and appliances for home and business use, wireless communication elements in autonomous and semi-autonomous vehicles, wireless devices fixed to or embedded in various mobile platforms, global positioning system devices, and similar electronic devices including memory, wireless communication components, and programmable processors.
[0016] The term "system on a chip" (SOC) is used herein to refer to a single integrated circuit (IC) chip that contains multiple resources and / or processors integrated on a single substrate. A single SOC may include circuits for digital, analog, mixed-signal, and radio frequency functions. A single SOC may also include any number of general-purpose and / or special-purpose processors (such as digital signal processors, modem processors, video processors, etc.), memory blocks (e.g., ROM, RAM, flash, etc.), and resources (e.g., timers, voltage regulators, oscillators, etc.). A SOC may also include software for controlling the integrated resources and processors, as well as for controlling peripheral devices.
[0017] The term "system in package" (SIP) may be used herein to refer to a single module or package containing multiple resources, computing units, cores, and / or processors on two or more IC chips, substrates, or SOCs. For example, a SIP may include a single substrate on which multiple IC chips or semiconductor dies are stacked in a vertical configuration. Similarly, a SIP may include one or more multi-chip modules (MCMs) on which multiple ICs or semiconductor dies are packaged in a unifying substrate. A SIP may also include multiple independent SOCs packaged in close proximity and coupled to each other via high-speed communication circuits, such as on a single motherboard or within a single wireless device. The proximity of the SOCs facilitates high-speed communication and sharing of memory and resources.
[0018] The term "multi-core processor" may be used herein to refer to a single integrated circuit (IC) chip or chip package that includes two or more independent processing cores (e.g., central processing unit (CPU) cores, internet protocol (IP) cores, graphics processor unit (GPU) cores, etc.) configured to read and execute program instructions. A SOC may include multiple multi-core processors, and each processor in a SOC may be referred to as a core. The term "multiprocessor" may be used herein to refer to a system or device that includes two or more processing units configured to read and execute program instructions.
[0019] Live uplink streaming (LUS) services, such as Facebook Live, YouTube® Live, Twitch, Periscope, and Instagram Live, may be supported in fourth-generation (4G) and fifth-generation (5G) systems (5GS) networks. In such user-generated live uplink streaming services, users can stream media content, such as video content and audio content, via their computing devices to a network server associated with the live uplink streaming service. Various categories of live uplink streaming services may be professionally produced multimedia content, such as real-time video and audio feeds associated with breaking news in the field, audio / visual streaming of sporting events produced by venue-based cameras, and the like. Regardless of the category of live uplink streaming service (e.g., user-generated or professionally produced), in a live uplink streaming service, the streamed (or uploaded) content is made available for viewing by other users via their respective computing devices. Both uplink and downlink network capacity may support uplink and / or downlink delivery of media content in LUS services.
[0020] Network assistance may be a feature supported for streaming services. Network assistance may enable a wireless device to ask a Network Assistance Service (NAssS) whether a higher bit rate (called “boost”) can be supported for wireless reception or transmission, as well as to request an operating bit rate recommendation prior to session initiation. A wireless device receiving a streaming service on the downlink (DL) may be referred to as a requesting DL network assistance (DNA), and a wireless device transmitting streaming content on the uplink (UL) may be referred to as a requesting uplink network assistance (UNA). Boosting may be desirable to prevent the wireless device's media buffer from underflowing (in DL reception) or overflowing (in UL transmission) by allowing a higher bit rate to be used for DL reception or UL transmission. Additionally, higher bitrate wireless reception or transmission may reduce latency in streaming services, and higher bitrate wireless reception or transmission may support higher resolution streaming services (e.g., three-dimensional (3D) video streaming services, 8K ultra-high-definition (UHD) video streaming services, etc.) The network assistance request may be a message sent by a wireless device asking whether an increase in bitrate is supported by the radio access network (RAN) (e.g., a boost request) or a message sent by a wireless device asking for a recommended bitrate (uplink or downlink recommended bitrate) for a streaming session.As a particular example, the network assistance request may be an Access Network Bitrate Recommendation Query (ANBRQ) message as defined for Multimedia Telephony Services (MTSI) for Internet Protocol (IP) Multimedia Subsystem (IMS), and the network assistance request may be a Recommended Bitrate Query Medium Access Control (MAC) Control Element (CE) (MAC CE) as defined for Long Term Evolution (LTE) and Fifth Generation (5G) New Radio (NR), etc. The network assistance response may be a message received by the wireless device indicating a recommended bitrate for the streaming session and / or a capability to support bitrate increase (e.g., boost status). As a particular example, the network assistance response may be an Access Network Bitrate Recommendation (ANBR) message as defined for MTSI, and the network assistance response may be a Recommended Bitrate MAC CE as defined for LTE and 5G NR, etc.
[0021] While a RAN, such as an LTE RAN or a 5G NR RAN, may support RAN-level signaling of a recommended bit rate (uplink or downlink recommended bit rate) for a streaming session, current implementations do not support signaling of a recommended bit rate (uplink or downlink recommended bit rate) for a streaming session on the wireless device itself, such as between a processor of a wireless device running a streaming service application and a modem processor of that wireless device. The inability to support signaling of a recommended bit rate (uplink or downlink recommended bit rate) for a streaming session on the wireless device itself, such as between a processor of a wireless device running a streaming service application and a modem processor of that wireless device, may prevent current implementations from supporting application-level streaming service assistance, such as application-level bit rate control.
[0022] Methods, systems, and devices of various embodiments provide streaming service assistance on a wireless device, such as a wireless device requesting a DNA or a wireless device requesting a UNA. Various embodiments enable the exchange of uplink and / or downlink bit rate recommendation requests, responses, and / or notifications between processors of the wireless device itself, such as between a processor of the wireless device executing the streaming service assistance and a modem processor of the wireless device. Various embodiments may enable attention (AT) commands and / or responses associated with the uplink and / or downlink bit rate recommendation requests, responses, and / or notifications to be exchanged between processors of the wireless device. In some embodiments, a modem processor and another processor of a wireless device may exchange AT commands and / or responses with each other via an AT interface. As used herein, “AT interface” refers to a connection, bus, or other type of communication path through which one processor can exchange AT commands and / or responses with another processor. In some embodiments, a processor of a wireless device executing a streaming service application may act as terminal equipment (TE) for sending / receiving AT commands associated with the uplink and / or downlink bit rate recommendation requests, responses, and / or notifications. In some embodiments, a modem processor of a wireless device, such as a modem processor providing a connection to a RAN, such as an LTE modem, a 5G modem, etc., may act as a mobile terminal (MT) for sending / receiving AT commands associated with uplink and / or downlink bit rate recommendation requests, responses, and / or notifications. Various embodiments may enable uplink and / or downlink bit rate recommendation requests, responses, and / or notifications on a wireless device connected to a RAN, such as an LTE RAN, a 5G NR RAN, etc.
[0023] In various embodiments, notifications such as AT commands, solicited responses to AT commands, and / or unsolicited responses to AT commands related to uplink and / or downlink bit rate recommendation requests may include parameters (e.g., logical channel identifiers (LCIDs, etc.) for unambiguously identifying a logical channel carrying one or more media streams to which the network assistance request (e.g., ANBRQ, Recommended Bit Rate Query MAC CE, etc.) and / or network assistance response (e.g., ANBR, Recommended Bit Rate MAC CE, etc.) pertains, sent by a RAN modem processor, such as a 5G modem processor, an LTE modem processor, to / received from a RAN, such as an LTE RAN, a 5G NR RAN, etc. In the context of an LTE system, a stream as used herein may be associated with an LTE packet data network (PDN) connection. In the context of a 5G system, a stream as used herein may be associated with a protocol data unit (PDU) session.
[0024] In some embodiments, a media session handler executing on a processor of the wireless device may act as a TE for sending / receiving AT commands associated with uplink and / or downlink bit rate recommendation requests, responses, and / or notifications. In some embodiments, the media session handler may include a network assistance sub-function or module configured to perform the uplink and / or downlink bit rate recommendation request, response, and / or notification functions. In some embodiments, the media session handler may interface with application layer entities of the wireless device, such as media streaming-aware applications (e.g., 5G Media Streaming (5GMS)-aware applications, Evolved Universal Mobile Telecommunications System (UMTS) Terrestrial Radio Access Network (E-UTRAN)-aware applications, etc.), media player applications, media streamer applications, etc.
[0025] Various embodiments may provide AT commands for bit rate requests, recommendations, and / or notifications. In some embodiments, AT commands and responses for bit rate requests, recommendations, and / or notifications may employ +C syntax for extended commands and command prefixes associated with digital cellular communications. The AT commands of various embodiments may relate to the packet domain. The AT commands of various embodiments may support 5G System (5GS) Protocol Data Unit (PDU) sessions and associated QoS semantics, such as Quality of Service (QoS) flows, QoS Flow Identifiers (QFIs), and QoS rules. The AT commands of various embodiments may support connection establishment and Evolved Packet System (EPS) bearer semantics. The AT commands of various embodiments may indicate the direction, such as uplink or downlink, to which the bit rate request, recommendation, and / or notification applies. The AT commands of various embodiments may support unsolicited result codes. In some embodiments, an unsolicited bit rate recommendation notification from the RAN received by the RAN modem processor may be passed by the RAN modem processor to another processor of the wireless device, such as another processor of the wireless device running a media session handler that interfaces with an application layer entity of the wireless device. As a particular example, an unsolicited bit rate recommendation notification from a 5G NR RAN received by a 5G modem processor may be passed to the media session handler. In some embodiments, an AT command with an unsolicited result code may be passed by the RAN modem processor to another processor of the wireless device, such as another processor of the wireless device running a media session handler that interfaces with an application layer entity of the wireless device, without the other processor explicitly subscribing to the RAN modem processor to receive unsolicited result code AT commands.
[0026] Some embodiments may provide an AT command that is a bitrate recommendation action command. For example, an AT command that is a bitrate recommendation action command may be identified by the AT command syntax "+CGBRR."
[0027] In some embodiments, the bitrate request may be an AT command that is a bitrate recommendation action command that includes an indication of a stream identifier, such as an identifier of a PDU session, an identifier of an EPS bearer, an indication of a requested bitrate, such as an aggregate requested bitrate of a collection of QoS flows in the PDU session, a requested bitrate of the EPS bearer, a sum of the desired bitrate for that particular application data and / or particular QoS flow in the PDU session (e.g., for which a boosted or increased bitrate is requested) and the bitrates of all other application data and / or QoS flows in that PDU that are not of interest, and an indication of a direction, such as UL, DL, etc. As a particular example, the AT command that is a bitrate recommendation action command may be "+CGBRR= <cid> , <reqbitrate> , <direction>" In this example, " <cid>" may be an integer type value that specifies a stream identifier, such as a particular PDU session definition, and " <reqbitrate>" will be responded to by MT. <cid>" may be an indication of a requested bit rate, such as an aggregate requested bit rate (e.g., in kilobits per second (kbit / s) or kbps)) by the TE for a set of QoS flows within the PDU session to which " " refers; <direction>" may be an indication of direction, such as "UL" or "DL" for a bitrate request. In some embodiments, the AT command that is a bitrate recommendation action command may further include an indication of a particular QoS flow within the PDU session. As a specific example, an AT command that is a bitrate recommendation action command that includes an indication of a particular QoS flow within the PDU session may be "+CGBRR= <cid> , <reqbitrate> , <direction>,[<p_cid> ]" In this example, " <cid>" may be an integer type value that specifies a stream identifier, such as a particular PDU session definition, and " <reqbitrate>" will be responded to by MT. <cid>" may be an indication of a requested bit rate, such as an aggregate requested bit rate (e.g., in kilobits per second (kbit / s) or kbps)) by the TE for a set of QoS flows within the PDU session to which " " refers; <direction>" may be a direction indication, such as "UL" or "DL" for bitrate requests, and "<p_cid> "teeth," <cid>" may be an integer type value that specifies a particular QoS flow within the PDU session to which it refers. <reqbitrate>The aggregate requested bit rate, such as the number of PDUs in a session (e.g., a boosted or increased bit rate is requested).<p_cid> The PDU session bitrate may represent the sum of the desired bitrate for the particular application data and / or particular QoS flow of interest, such as the QoS flow specified by (1), and the bitrates of all other application data and / or QoS flows within that PDU session that are not of interest.
[0028] In some embodiments, the bitrate response may be a response to an AT command sent over an AT interface that is a bitrate recommendation response, including an indication of a stream identifier, such as an identifier of a PDU session, an identifier of an EPS bearer, an indication of a bitrate recommendation, such as an aggregate bitrate recommendation for streaming operations of a collection of QoS flows in the PDU session, a bitrate recommendation for streaming operations of an EPS bearer, and an indication of a direction, such as UL, DL, etc. As a specific example, a response over an AT interface that is a bitrate recommendation response may be "+CGBRR= <cid> , <recmbitrate> , <direction>" In this example, " <cid>" may be an integer type value that specifies a stream identifier, such as a particular PDU session definition, and " <recmbitrate>"teeth," <cid>" may be an indication of a bitrate recommendation, such as an aggregate bitrate recommendation (e.g., in kbit / s) sent from the MT to the TE for streaming operation for a set of QoS flows in the PDU session to which " refers. <direction>" may be an indication of direction, such as "UL" or "DL" for a bit rate response. In some embodiments, a response over an AT interface that is a bit rate recommendation response may further include an indication of a particular QoS flow within the PDU session. As a specific example, a response over an AT interface that is a bit rate recommendation response that includes an indication of a particular QoS flow within the PDU session may include "+CGBRR= <cid> , <recmbitrate> , <direction>[,<p_cid> ]" In this example, " <cid>" may be an integer type value that specifies a stream identifier, such as a particular PDU session definition, and " <recmbitrate>"teeth," <cid>" may be an indication of a bitrate recommendation, such as an aggregate bitrate recommendation (e.g., in kbit / s) sent from the MT to the TE for streaming operation for a set of QoS flows in the PDU session to which " refers. <direction>" may be a directional indication, such as "UL" or "DL" for bitrate response, and "<p_cid> "teeth," <cid>" may be an integer type value that specifies a particular QoS flow within the PDU session to which it refers. In some embodiments, the response, which is a bitrate recommendation response, may be sent from the MT to the TE in response to the TE sending an AT command, which is a bitrate recommendation action command, to the MT.
[0029] In some embodiments, a response over the AT interface that is a bit rate recommendation response may be sent from the MT to the TE as an unsolicited result code containing the bit rate recommendation provided by the MT in the form of an unsolicited notification. As a specific example, a response over the AT interface that is an unsolicited notification of a bit rate recommendation may be "+CGBRR[ <recmbitrate>" In this example, " <recmbitrate>" may be an indication of a bitrate recommendation, such as a bitrate recommendation (eg, in kbit / s).
[0030] In some embodiments, a test command may be sent from the TE to the MT to determine whether the MT supports sending a response that is a bitrate recommendation response to an AT command that is a bitrate recommendation action command. As a specific example, the TE may send the test command "+CGBRR=?" to the MT as a query as to whether the MT supports sending a response that is a bitrate recommendation response to an AT command that is a bitrate recommendation action command. In some embodiments, an MT that supports sending a response that is a bitrate recommendation response to an AT command that is a bitrate recommendation action command may respond to the test code with a supported response. As a specific example, the MT may send a supported response of "+CGBRR=OK" to the TE in response to the test command "+CGBRR=?", thereby indicating that the MT supports sending a response that is a bitrate recommendation response to an AT command that is a bitrate recommendation action command. As another specific example, the MT may return a supported value as a composite value to the TE in response to the test command "+CGBRR=?", thereby indicating that the MT supports sending a response that is a bitrate recommendation response to an AT command that is a bitrate recommendation action command. In some embodiments, an MT that does not support sending a response that is a bitrate recommendation response to an AT command that is a bitrate recommendation action command may respond to the test code with an unsupported response. As a specific example, an MT may send an unsupported response of "+CGBRR=ERROR" to the TE in response to the test command "+CGBRR=?", thereby indicating that the MT does not support sending a response that is a bitrate recommendation response to an AT command that is a bitrate recommendation action command.In some embodiments, it may be mandatory for the MT to support sending a response that is a bitrate recommendation response to an AT command that is a bitrate recommendation action command in response to an action request. In some embodiments, it may be mandatory for the MT to support sending a response that is a bitrate recommendation response in order to support unsolicited notification of a bitrate recommendation implemented in the form of an unsolicited result code.
[0031] Various embodiments may allow the frequency of bit rate requests by the TE to be limited by the MT. Network assistance messages, such as ANBRQ messages, may be limited on a per logical channel and direction basis. For example, a "bitRateQueryProhibitTimer" field in the "LogicalChannelConfig" information element (IE) may limit the frequency of ANBRQ messages sent by the wireless device to the RAN. In some embodiments, the MT's response to bit rate requests from the TE may be limited on a per logical channel and direction basis. In some embodiments, a response timer may control the MT's response to bit rate recommendation action commands from the TE. As an example, the same limit on the frequency of ANBRQ messages as set in the "bitRateQueryProhibitTimer" field in the "LogicalChannelConfig" IE may be applied to control the MT's response to bit rate requests from the TE. In various embodiments, the response timer may be started by the MT in response to receiving a bit rate recommendation action command from the TE. In one embodiment, in response to the TE sending a continuous bitrate recommendation action command before the response timer expires, the MT may return an error code, such as an error code indicating that the latest bitrate recommendation action command was sent early. In some embodiments, the error code may include a "retry-after" parameter. In one embodiment, in response to the TE sending a continuous bitrate recommendation action command before the response timer expires, the MT may return the latest bitrate recommendation applicable to the stream identifier, such as an identifier of a PDU session, an identifier of an EPS bearer, etc., indicated in the latest bitrate recommendation action command. In some embodiments, the latest bitrate recommendation sent by the MT may include an indication of the wallclock time when a network assistance response, such as an ANBR message, corresponding to the latest bitrate recommendation was received from the RAN.In one embodiment, the MT may take no action in response to the TE sending successive bitrate recommendation action commands before the response timer expires. In some embodiments, the TE may be configured to interpret the lack of a response from the MT to a bitrate recommendation action command as an indication that the most recent bitrate recommendation sent by the MT is still valid.
[0032] In various embodiments, streams such as QoS flows, EPS bearers, etc. may be mapped to RAN Layer 2 (L2) parameters. In various embodiments, a TE (e.g., an application running on a processor of a wireless device, such as a media session handler) may indicate to a modem processor (e.g., a 5G modem, an LTE modem, etc.) of the wireless device a bitrate recommendation or a stream (e.g., a QoS flow, an EPS bearer, etc.) corresponding to a media streaming application flow for which a boost is desired. As an example, the application may issue an action / execute command "+CGBRR= <cid> , <reqbitrate> , <direction>[,<p_cid> ]" may be used to identify to the modem the QoS flow (e.g., by QoS flow identifier (QFI)) corresponding to the media streaming application flow for which a bitrate recommendation or boost is desired, the associated PDU session identifier, and the requested streaming bitrate.
[0033] In various embodiments, the modem processor receiving the bitrate recommendation action command may include a stream identifier (e.g., " <cid>" value) to the internally referenced PDU session and the associated LCID within the recommended bit rate MAC CE used in the bit rate recommendation query / response / notification interaction with the RAN.
[0034] In various embodiments, when a wireless device establishes a PDU session with a session management function (SMF) via non-access stratum (NAS) signaling, the SMF may return authorized QoS rules for use by the wireless device. In some embodiments, the SMF may also assign, for each QoS flow within the PDU session, an associated QFI and QoS profile, which may be provided to a base station, such as a NB or gNB, on which the wireless device is camped, via an access and mobility management function (AMF). There may be a one-to-one correspondence between RAN L2 parameters and radio resource control (RRC) parameters for the LCID, data radio bearer (DRB) identifier (DRB ID), QFI, defining the radio bearer and corresponding service data adaptation protocol (SDAP) (e.g., for NR only), packet data convergence protocol (PDCP), radio link control (RLC), and MAC configuration. As a result, a base station, such as an eNB or gNB, on which the wireless device is camped may be able to explicitly map a PDU session and its contained QoS flows to a DRB for bit rate recommendation processing.
[0035] In some embodiments, the requested and / or recommended bit rates indicated in the AT commands and responses exchanged between the TE and MT on the wireless device may be the same as the requested and / or recommended bit rates exchanged between the wireless device and the RAN. In some embodiments, the requested and / or recommended bit rates indicated in the AT commands exchanged between the TE and MT on the wireless device may not be the same as the requested and / or recommended bit rates exchanged between the wireless device and the RAN. For example, the modem request bit in ANBRQ may be greater than the application request bit in the AT command +CGBRR. <reqbitrate>Similarly, the <recmbitrate>The ANBRQ / ANBR message may not be the same as the ANBR returned from the RAN. The reason for this difference is that, for example, the ANBRQ / ANBR message may represent a bit rate value at the MAC layer, but ... <reqbitrate>and <recmbitrate>may correspond to application layer bit rate calculations (e.g., the values in the Recommended Bit Rate Query MAC CE and Recommended Bit Rate MAC CE include upper layer transmission overhead associated with MAC, RLC, PDCP, IP, and User Datagram Protocol (UDP) (or Transmission Control Protocol (TCP))). In some embodiments, the modem may use the values in the ANBRQ / ANBR message and the values in the AT command <reqbitrate> / <recmbitrate>RAN bitrate values to account for differences in protocol layer references for these messages. In some embodiments, the media session handler may perform the necessary conversions and mappings between MAC values and application-level bitrate values. For example, the media session handler may obtain information from the modem of any additional QoS flows (competing for the RAN bitrate represented by ANBR) and their bitrate requirements, as well as upper layer transport overhead, and (in the case of DL streaming) from the media player of the operation points of other application flows sent within the same PDU session to support the conversions / mappings between MAC values and application-level bitrate values.
[0036] In some embodiments, controlling the streaming service based at least in part on the indication of the bitrate recommendation may include deriving a bitrate increase (or boost) for the QFI or QoS flow in question (e.g., where a boost or increased bitrate is requested) from a bitrate recommendation in a response received over the AT interface from a modem processor of the wireless device. <recmbitrate>The bit rate recommendation received from the modem processor, such as <cid>" may be an indication of an aggregate bitrate recommendation (e.g., in kbit / s) for a collection of QoS flows within a PDU session, such as the PDU session referenced by " (e.g., a boosted or increased bitrate is requested).<p_cid> The recommended bit rate (e.g., boosted or increased bit rate) for the particular application data and / or particular QoS flow of interest, such as the QoS flow specified by "," may be an indication of the aggregate bit rate recommendation for the collection of QoS flows within the PDU session. <recmbitrate>" from the aggregate bit rate recommendation received from the modem processor, such as "." The resulting value may be determined by subtracting the sum of the bit rates of all other application data and / or QoS flows in that PDU session that are not of interest. The resulting value may be determined by subtracting the sum of the bit rates of all other application data and / or QoS flows in that PDU session that are not of interest from the aggregate bit rate recommendation received from the modem processor, such as "." ...<p_cid> The bit rate may be a recommended bit rate (eg, a boosted or increased bit rate) for a particular QoS flow, such as a QoS flow specified by:
[0037] In some embodiments, the bit rate request may be an AT command that is a bit rate recommendation action command sent from the processor of the wireless device to the RAN modem of the wireless device via an AT interface to trigger the RAN modem to send a recommended bit rate query MAC CE for the PDN connection or PDU session. In some embodiments, such a bit rate request for triggering a recommended bit rate query MAC CE for the PDN connection or PDU session may be an AT command that includes an identifier of the PDU session, an indication of a stream identifier, such as an identifier of the PDN connection, an indication of a requested bit rate, such as an aggregate requested bit rate for the PDN connection or PDU session, an indication of a direction, such as UL, DL, and optionally an indication of a QFI of a particular QoS flow within the PDU session. As a particular example, the AT command that is a bit rate recommendation action command may be "+CGBRRREQ= <cid> , <reqbitrate> , <direction>,[<p_cid> ]" In this example, " <cid>" may be an integer type value that specifies a stream identifier, such as a particular PDU session or PDN connection, and " <reqbitrate>"teeth," <cid>" may be an indication of a requested bit rate, such as an aggregate requested bit rate (e.g., in kilobits per second (kbit / s) or kbps)) by the TE for the PDN connection or PDU session identified by " <direction>" may be a direction indication, such as "UL" or "DL" for bitrate requests, and when included,<p_cid> "teeth," <cid>" may be an integer type value that specifies the QFI of a particular QoS flow within the PDU session identified by ".
[0038] In response to receiving an AT command, which may be a bit rate request for triggering a MAC CE, the modem processor may query the PDN connection or PDU session identified in the AT command (e.g., "recommended bit rate query for a PDN connection or PDU session"). <cid>"). In some embodiments, when the modem processor does not support such a trigger, the modem processor may send a "+CME ERROR: <err>" may return a response containing an error code on the AT interface.
[0039] In some embodiments, the processor may test the modem processor to determine values for streams, PDN connections, PDU sessions, etc., for which the modem processor may be configured to trigger the modem processor to send a recommended bit rate MAC CE. For example, the processor may send an AT command "+CGBRRREQ=?" as a test command to the modem processor via the AT interface. In response to the test command, in some embodiments, the modem processor may send a response via the AT interface indicating a range of supported streams, a range of supported requested bit rates, a range of supported directions, and a range of supported QFIs for the QoS flows. For example, the modem processor may send a response "+CGBRRREQ:(supported streams)" via the AT interface in response to the test command. <cid>range), (supported <reqbitrate>range), (supported <direction>range), (supported<p_cid> In this example, <cid>" may be an integer type value that specifies a stream identifier, such as a particular PDU session or PDN connection, and " <reqbitrate>"teeth," <cid>" may be an indication of a requested bit rate, such as an aggregate requested bit rate (e.g., in kilobits per second (kbit / s) or kbps)) by the TE for the PDN connection or PDU session identified by " <direction>" may be a direction indication, such as "UL" or "DL" for bitrate requests, and "<p_cid> "teeth," <cid>". The supported range may be sent as a compound value in the response.
[0040] In some embodiments, a processor of a wireless device, such as a processor of a wireless device executing a media session handler interfacing with an application layer entity of the wireless device, may send an AT command to a modem processor to subscribe to an unsolicited result response from the RAN modem processor, such as an unsolicited bit rate recommendation response or notification from the RAN modem processor of the wireless device. In such embodiments, an AT command with an unsolicited result code may be passed by a RAN modem processor to the processor after the processor of the wireless device, such as a processor of a wireless device executing a media session handler interfacing with an application layer entity of the wireless device, has explicitly subscribed to the RAN modem processor for receiving unsolicited result code AT commands / responses. As a particular example, the processor may send an AT command "+CGBRRREP=[" to enable (e.g., subscribe to) reporting of a recommended bit rate received from the RAN within a recommended bit rate MAC CE via the AT interface. <reporting>]" to the modem processor. This is an unsolicited result code +CGBRR: <cid> , <recmbitrate> , <direction>[,<p_cid> In this example, you can type " <reporting>" may be an integer type, such as "0" meaning that reporting is not enabled and "1" meaning that reporting is enabled, <cid>" may be an integer type identifying the PDN connection or PDU session to which the recommended bit rate applies, <direction>" may be a string type indicating the direction ('UL' or 'DL') in which the recommended bit rate applies,<p_cid> " may be an integer type indicating the QFI of the QoS flow to which the recommended bit rate applies.
[0041] In response to an AT command to subscribe to an unsolicited response from the modem processor, the modem processor may indicate whether reporting of unsolicited bit rate recommendation responses is supported by the modem processor. In some embodiments, when the modem processor does not support sending unsolicited bit rate recommendation responses, the modem processor may include the following in the response via the AT interface: "+CME ERROR: <err>" may indicate an error.
[0042] In some embodiments, the processor may request the status of a modem that provides an unsolicited bit rate recommendation response. For example, the processor may send the AT command "+CGBRRREP?" to the modem processor, which may return the response "CGBRRREP: <reporting>" can be returned. In this example, " <reporting>" may be an integer type, such as "0" meaning that reporting is not enabled and "1" meaning that reporting is enabled.
[0043] In some embodiments, a test command may be sent by the processor to the modem processor via the AT interface to request supported values for the unsolicited bit rate recommendation response. For example, the processor may send the AT command "+CGBRRREP=?" to the modem processor, and the modem processor may return the response "CGBRRREP:(supported)" via the AT interface. <reporting>In this example, it returns a list of supported <reporting>The "list of supported bitrates" may be a composite value of all supported values for an unsolicited bitrate recommendation response. <reporting>The value of can be "0" or "1", and the value returned from MT can simply be one of three possibilities: 1) "0"; 2) "1"; or 3) both "0" and "1".
[0044] In some embodiments, a TE (e.g., an application processor) on the wireless device may trigger a MT (e.g., a modem processor) on the wireless device to return a requested bit rate recommendation in response to an AT command. For example, the AT command "+CGBRRREQ" may be used for other embodiments or new AT commands. In this manner, a bit rate recommendation sent from a MT (e.g., a modem processor) of the wireless device to a TE (e.g., an application processor) of the wireless device may be a requested result.
[0045] In some embodiments, a processor of the wireless device, such as a processor of the wireless device running a media session handler that interfaces with an application layer entity of the wireless device, may send an AT command to the RAN modem processor of the wireless device as an execution command that instructs the RAN modem processor to send a recommended bit rate query MAC CE for a PDN connection or PDU session to the RAN for the indicated direction (e.g., UL, DL, etc.), and further instructs the RAN modem processor to return to the processor a recommended bit rate value corresponding to the recommended bit rate MAC CE received by the RAN modem processor in response to the previous query. As a particular example, an AT command that is a bit rate recommendation action command sent from the TE that instructs the MT to send a query to the RAN and return the results of that query from the RAN to the TE may be "+CGBRR[= <cid> , <reqbitrate> , <direction>,[<p_cid> ]]", and when the MT receives the recommended bit rate MAC CE from the RAN, the response sent from the MT to the TE over the AT interface may be "+CGBRR: <cid> , <recmbitrate> , <direction>,[<p_cid> ]" In this example, " <cid>" may be an integer type value specifying a stream identifier, such as a particular PDU session or PDN connection, that identifies the PDN connection or PDU session to which the recommended bit rate query or response applies, <reqbitrate>" will be mapped by the MT to a recommended bit rate query MAC CE that the MT sends to the RAN. <cip>It may be an indication of a requested bit rate, such as aggregate requested bits (e.g., in kilobits per second (kbit / s) or kbps) by the TE for the PDN connection or PDU session identified by " <recmbitrate>"teeth," <cid>" refers to and may be an indication of an aggregate bit rate recommendation (e.g., in kbit / s) for a PDU session or PDN connection, corresponding to the bit rate in the Recommended Bit Rate MAC CE received by the MT from the RAN for that PDU session or PDN connection. <direction>" may be a string type indication of direction, such as "UL" or "DL" for a bitrate request or response.<p_cid> ", when included, may be an integer type value that identifies the QFI of the QoS flow to which the recommended bitrate query or response applies.
[0046] In some embodiments, when the modem processor does not support the triggered bit rate recommendation response, the modem processor sends the following error message in the response via the AT interface: "+CME ERROR: <err>" may indicate an error. In some embodiments, the processor may request the status of the modem being triggered by an AT action / execution command for bit rate recommendation. For example, the processor may send the AT command "+CGBRR=?" to the modem processor as a test command. In some embodiments, the test command may include a list of supported values for direction (e.g., " <direction>" ) along with a PDU session or PDN connection identifier (e.g., " <cid>" ), QFI for QoS flows (e.g., "<p_cid> " ), and requested bitrate (e.g., " <reqbitrate>For example, these ranges may be returned as compound values. As a specific example, in response to a test command, the MT may return a response "+CGBRR:(supported)" on the AT interface. <cid>range), (supported <reqbitrate>range), (supported <direction>), [(list of supported<p_cid> range)]" may be transmitted to the TE.
[0047] In some embodiments, a processor of the wireless device, such as a processor of the wireless device running a media session handler that interfaces with an application layer entity of the wireless device, may send an AT command to a modem processor to subscribe to bit rate recommendation reporting. The processor may send a set command to the modem processor to enable reporting of recommended bit rates received from the RAN via the recommended bit rate MAC CE via an unsolicited result code response sent from the modem processor to the processor via the AT interface. As a particular example, the processor may send an unsolicited result code +CGBRR command via the AT interface to the modem processor. <cid> , <recmbitrate> , <direction>[,<p_cid> ] by the modem processor via the AT interface to enable reporting (e.g., subscribing to) the recommended bit rate received from the RAN in the MAC CE. <reporting>]" to the modem processor. <reporting>" may be an integer type, such as "0" meaning that reporting is disabled and "1" meaning that reporting is enabled, <cid>" may be an integer type identifying the PDN connection or PDU session to which the recommended bit rate applies, <recmbitrate>"teeth," <cid>" refers to an indication of the aggregate bit rate recommendation (e.g., in kbit / s) for a PDU session or PDN connection received by the MT from the RAN for that PDU session or PDN connection, corresponding to the bit rate in the Recommended Bit Rate MAC CE mapped to the most recent Recommended Bit Rate MAC CE received by the modem from the RAN. Also in this example, " <direction>" may be a string type indicating the direction ('UL' or 'DL') in which the recommended bit rate applies,<p_cid> " may be an integer type indicating the QFI of the QoS flow to which the recommended bit rate applies. In some embodiments, a read command such as "+CGBRRREP?" may be executed via the AT interface. <reporting>" in response to which you can return the current command settings, such as <reporting>" may be an integer type, such as "0" meaning reporting is disabled and "1" meaning reporting is enabled. In some embodiments, test commands such as "+CGBRRREP=?" are supported. <reporting>The value may be returned as a composite value.
[0048] 1A is a system block diagram illustrating an exemplary communication system 100 suitable for implementing any of the various embodiments. The communication system 100 may be a fifth-generation (5G) New Radio (NR) network, or any other suitable network, such as an LTE network, a 5G network, etc. Although FIG. 1A illustrates a 5G network, later-generation networks may include the same or similar elements. Accordingly, references to a 5G network or 5G network elements in the following description are for purposes of illustration and not intended to be limiting.
[0049] Communications system 100 may include a heterogeneous network architecture including a core network 140 and various mobile devices (also referred to as user equipment (UE) computing devices) (shown in FIG. 1A as wireless devices 120a-120e). Communications system 100 may also include several base stations (shown as BS 110a, BS 110b, BS 110c, and BS 110d) and other network entities. A base station is an entity that communicates with the wireless devices (mobile devices or UE computing devices) and may also be called a Node B, a Node B, an LTE evolved Node B (eNB), an access point (AP), a radio head, a transmit receive point (TRP), a new radio base station (NR BS), a 5G Node B (NB), a next generation Node B (gNB), etc. Each base station may provide communication coverage for a particular geographic area. In 3GPP®, the term "cell" can refer to a base station coverage area, a base station subsystem serving this coverage area, or a combination thereof, depending on the context in which the term is used.
[0050] Base stations 110a-110d may provide communication coverage for a macro cell, a pico cell, a femto cell, another type of cell, or a combination thereof. A macro cell may cover a relatively large geographic area (e.g., a few kilometers in radius) and may allow unrestricted access by mobile devices with service subscriptions. A pico cell may cover a relatively small geographic area and may allow unrestricted access by mobile devices with service subscriptions. A femto cell may cover a relatively small geographic area (e.g., a home) and may allow restricted access by mobile devices that have an association with the femto cell (e.g., mobile devices in a closed subscriber group (CSG)). A base station for a macro cell may be referred to as a macro BS. A base station for a pico cell may be referred to as a pico BS. A base station for a femto cell may be referred to as a femto BS or a home BS. 1A, base station 110a may be a macro BS for macro cell 102a, base station 110b may be a pico BS for pico cell 102b, and base station 110c may be a femto BS for femto cell 102c. Base stations 110a-110d may support one or more (e.g., three) cells. The terms “eNB,” “base station,” “NR BS,” “gNB,” “TRP,” “AP,” “Node B,” “5G NB,” and “cell” may be used interchangeably herein.
[0051] In some examples, the cells may not be stationary and the geographic area of the cells may move according to the location of the mobile base station. In some examples, the base stations 110a-110d may be interconnected to each other and to one or more other base stations or network nodes (not shown) in the communication system 100 through various types of backhaul interfaces, such as direct physical connections, virtual networks, or combinations thereof, using any suitable transport network.
[0052] The base stations 110a-110d may communicate with the core network 140 over wired or wireless communication links 126. The wireless devices 120a-120e (UE computing devices) may communicate with the base stations 110a-110d over wireless communication links 122.
[0053] The wired communication link 126 may use various wired networks (such as Ethernet, TV cable, telephony, fiber optics, and other forms of physical network connections) that may use one or more wired communication protocols, such as Ethernet, Point-to-Point Protocol, High-Level Data Link Control (HDLC), Advanced Data Communication Control Protocol (ADCCP), and Transmission Control Protocol / Internet Protocol (TCP / IP).
[0054] Communications system 100 may also include relay stations (such as relay BS 110d). A relay station is an entity that can receive data transmissions from an upstream station (e.g., a base station or a mobile device) and transmit data transmissions to a downstream station (e.g., a wireless device or a base station). A relay station may also be a mobile device that can relay transmissions for other wireless devices. In the example shown in FIG. 1A, relay station 110d may communicate with macro base station 110a and wireless device 120d to facilitate communication between base station 110a and wireless device 120d. A relay station may also be referred to as a relay base station, a relay base station, a repeater, etc.
[0055] Communications system 100 may be a heterogeneous network including different types of base stations, e.g., macro base stations, pico base stations, femto base stations, relay base stations, etc. These different types of base stations may have different transmit power levels, different coverage areas, and may have different impacts on interference in communications system 100. For example, macro base stations may have high transmit power levels (e.g., 5-40 watts), while pico base stations, femto base stations, and relay base stations may have lower transmit power levels (e.g., 0.1-2 watts).
[0056] Network controller 130 may couple to a set of base stations and provide coordination and control for these base stations. Network controller 130 may communicate with the base stations via a backhaul. The base stations may also communicate with each other directly or indirectly, e.g., via wireless or wireline backhaul.
[0057] Wireless devices (UE computing devices) 120a, 120b, 120c may be dispersed throughout communication system 100, and each wireless device may be fixed or mobile. A wireless device may also be called an access terminal, UE, terminal, mobile station, subscriber unit, station, etc.
[0058] The macro base station 110a may communicate with the communication network 140 over a wired or wireless communication link 126. The wireless devices 120a, 120b, 120c may communicate with the base stations 110a-110d over a wireless communication link 122.
[0059] The wireless communication links 122, 124 may include multiple carrier signals, frequencies, or frequency bands, each of which may include multiple logical channels. The wireless communication links 122, 124 may use one or more radio access technologies (RATs). Examples of RATs that may be used in the wireless communication links include 3GPP LTE, 3G, 4G, 5G (such as NR), GSM, code division multiple access (CDMA), wideband code division multiple access (WCDMA), Worldwide Interoperability for Microwave Access (WiMAX), time division multiple access (TDMA), and other mobile telephony communication technology cellular RATs. Further examples of RATs that may be used in one or more of the various wireless communication links 122, 124 within the communication system 100 include medium-range protocols such as Wi-Fi, LTE-U, LTE-Direct, LAA, MuLTEfire, and relatively short-range RATs such as ZigBee, Bluetooth, and Bluetooth Low Energy (LE).
[0060] Some wireless networks (e.g., LTE) utilize orthogonal frequency division multiplexing (OFDM) on the downlink and single-carrier frequency division multiplexing (SC-FDM) on the uplink. OFDM and SC-FDM partition the system bandwidth into multiple (K) orthogonal subcarriers, which are also commonly referred to as tones, bins, etc. Each subcarrier may be modulated with data. Generally, modulation symbols are sent in the frequency domain with OFDM and in the time domain with SC-FDM. The spacing between adjacent subcarriers may be fixed, and the total number of subcarriers (K) may depend on the system bandwidth. For example, the subcarrier spacing may be 15 kHz, and the minimum resource allocation (called a "resource block") may be 12 subcarriers (or 180 kHz). Thus, the nominal fast file transfer (FFT) size may be equal to 128, 256, 512, 1024, or 2048 for system bandwidths of 1.25, 2.5, 5, 10, or 20 megahertz (MHz), respectively. The system bandwidth may also be partitioned into subbands. For example, a subband may cover 1.08 MHz (i.e., 6 resource blocks), and there may be 1, 2, 4, 8, or 16 subbands for system bandwidths of 1.25, 2.5, 5, 10, or 20 MHz, respectively.
[0061] While the description of some embodiments may use terminology and examples related to LTE technology, various embodiments may be applicable to other wireless communication systems, such as New Radio (NR) or 5G networks. NR may utilize OFDM with cyclic prefix (CP) on the uplink (UL) and downlink (DL) and may include support for half-duplex operation using time division duplexing (TDD). A single component carrier bandwidth of 100 MHz may be supported. An NR resource block may span 12 subcarriers with a subcarrier bandwidth of 75 kHz over a duration of 0.1 ms. Each radio frame may consist of 50 subframes with a length of 10 ms. Consequently, each subframe may have a length of 0.2 ms. Each subframe may indicate a link direction (i.e., DL or UL) for data transmission, and the link direction for each subframe may be dynamically switched. Each subframe may contain DL / UL data as well as DL / UL control data. Beamforming may be supported, and the beam direction may be dynamically configured. Multiple-input multiple-output (MIMO) transmission with precoding may also be supported. MIMO configurations in the DL may support up to eight transmit antennas with multi-layer DL transmission of up to eight streams and up to two streams per wireless device. Multi-layer transmission with up to two streams per wireless device may be supported. Aggregation of multiple cells may be supported with up to eight serving cells. Alternatively, NR may support an air interface other than an OFDM-based air interface.
[0062] Some mobile devices may be considered machine-type communication (MTC) or evolved or extended machine-type communication (eMTC) mobile devices. MTC and eMTC mobile devices include, for example, a robot, a drone, a remote device, a sensor, a meter, a monitor, a location tag, etc. that may communicate with a base station, another device (e.g., a remote device), or some other entity. A wireless node may provide, for example, connectivity for or to a network (e.g., a wide area network such as the Internet or a cellular network) via a wired or wireless communication link. Some mobile devices may be considered Internet of Things (IoT) devices or may be implemented as NB-IoT (narrowband Internet of Things) devices. Wireless devices 120a-120e may be included within a housing that houses components of the wireless device, such as a processor component, a memory component, similar components, or a combination thereof.
[0063] In general, any number of communication systems and any number of wireless networks may be deployed in a given geographic area. Each communication system and wireless network may support a particular radio access technology (RAT) and may operate on one or more frequencies. A RAT may also be referred to as a radio technology, air interface, etc. A frequency may also be referred to as a carrier, frequency channel, etc. Each frequency may support a single RAT in a given geographic area to avoid interference between communication systems of different RATs. In some cases, 4G / LTE and / or 5G / NR RAT networks may be deployed. For example, a 5G non-standalone (NSA) network may utilize both a 4G / LTE RAT on the 4G / LTE RAN side of the 5G NSA network and a 5G / NR RAT on the 5G / NR RAN side of the 5G NSA network. Both the 4G / LTE RAN and the 5G / NR RAN may connect to each other and to a 4G / LTE core network (e.g., an evolved packet core (EPC) network) within the 5G NSA network. Other example network configurations may include a 5G Standalone (SA) network in which a 5G / NR RAN connects to a 5G core network.
[0064] In some implementations, two or more mobile devices 120a-e (e.g., shown as wireless device 120a and wireless device 120e) may communicate directly (e.g., without using base station 110a-110d as an intermediary for communicating with each other) using one or more sidelink channels 124. For example, the wireless devices 120a-e may communicate using peer-to-peer (P2P) communication, device-to-device (D2D) communication, a vehicle-to-everything (V2X) protocol (which may include a vehicle-to-vehicle (V2V) protocol, a vehicle-to-infrastructure (V2I) protocol, or similar protocols), a mesh network, or similar network, or a combination thereof. In this case, the wireless devices 120a-e may perform scheduling operations, resource selection operations, and other operations described elsewhere herein as being performed by base station 110a-110d.
[0065] 1B is a system block diagram illustrating example communications for supporting streaming service assistance, such as streaming service assistance for a framework for live uplink streaming (FLUS) services, within a communications system (e.g., communications system 100). With reference to FIGS. 1A and 1B, a streaming service source, such as a FLUS source 155 of a wireless device 152 (e.g., wireless devices 120a-120e), may provide a live uplink media stream 150 to be provided in a live uplink streaming session to a live uplink streaming sink wireless computing device, such as wireless device 154 (e.g., wireless device 120a-120e), which is a wireless FLUS sink computing device. The live uplink media stream 150 may be transmitted from the FLUS source 155 to the FLUS sink 154 via the RAN 153, including a base station (e.g., base station 110a-110d), such as a NB, gNB, etc., on which the wireless device 152 is camped. The FLUS source 155 of the wireless device 152 may request a higher bit rate (also referred to as a “boost”) for wireless reception or transmission in a boost request 160. In response to the boost request 160, the wireless device 152 may transmit a network assistance request, such as an ANBRQ, as a recommended bit rate query MAC CE 162 to the RAN 153, e.g., the eNB / gNB to which the wireless device 152 is camped on. In response to the network assistance request, the RAN 153, e.g., the eNB / gNB to which the wireless device 152 is camped on, may transmit a network assistance response, such as an ANBRQ, sent as a recommended bit rate MAC CE 164 to the wireless device 152. Based on the received network assistance response, the FLUS source 155 may receive a bit rate indication 166.The bitrate indication 166 may be a recommended bitrate for the streaming session for the media stream 150 and / or the ability to support (or not support) an increase in bitrate (eg, boost status).
[0066] 2 is a component block diagram illustrating an exemplary computing and wireless modem system 200 suitable for implementing any of the various embodiments. The various embodiments may be implemented on a number of single-processor and multi-processor computer systems, including systems-on-chips (SOCs) or systems-in-packages (SIPs).
[0067] 1A-2 , the illustrated exemplary wireless device 200 (which may be a SIP in some embodiments) includes two SOCs 202, 204 coupled to a clock 206, a voltage regulator 208, and a wireless transceiver 266 configured to transmit and receive wireless communications to and from networked wireless devices, such as base station 110a, via an antenna (not shown). In some embodiments, the first SOC 202 operates as the wireless device's central processing unit (CPU), implementing instructions of a software application program by performing arithmetic, logic, control, and input / output (I / O) operations specified by the instructions. In some embodiments, the second SOC 204 may operate as a dedicated processing unit. For example, the second SOC 204 may operate as a dedicated 5G processing unit responsible for managing high-capacity, high-speed (e.g., 5 Gbps, etc.), and / or very short wavelength (e.g., 28 GHz millimeter wave spectrum, etc.) communications.
[0068] The first SOC 202 may include a digital signal processor (DSP) 210, a modem processor 212, a graphics processor 214, an application processor (AP) 216, one or more coprocessors 218 (such as a vector coprocessor) connected to one or more of the processors, memory 220, custom circuitry 222, system components and resources 224, an interconnect / bus module 226, one or more temperature sensors 230, a thermal management unit 232, and thermal power envelope (TPE) components 234. The second SOC 204 may include a 5G modem processor 252, a power management unit 254, an interconnect / bus module 264, multiple mmWave transceivers 256, memory 258, and various additional processors 260, such as application processors, packet processors, etc.
[0069] Each processor 210, 212, 214, 216, 218, 252, 260 may include one or more cores, and each processor / core may perform operations independent of the other processors / cores. For example, a first SOC 202 may include a processor that runs a first type of operating system (e.g., FreeBSD, LINUX, OS X, etc.) and a processor that runs a second type of operating system (e.g., Microsoft Windows 10). Additionally, any or all of the processors 210, 212, 214, 216, 218, 252, 260 may be included as part of a processor cluster architecture (e.g., a synchronous processor cluster architecture, an asynchronous or heterogeneous processor cluster architecture, etc.).
[0070] The first SOC 202 and the second SOC 204 may include various system components, resources, and custom circuitry for managing sensor data, analog-to-digital conversion, wireless data transmission, and for performing other specialized operations, such as decoding data packets and processing encoded audio and video signals for rendering in a web browser. For example, the system components and resources 224 of the first SOC 202 may include power amplifiers, voltage regulators, oscillators, phase-locked loops, peripheral bridges, data controllers, memory controllers, system controllers, access ports, timers, and other similar components used to support processors and software clients running on the wireless device. The system components and resources 224 and / or custom circuitry 222 may also include circuitry for interfacing with peripheral devices, such as cameras, electronic displays, wireless communication devices, external memory chips, etc.
[0071] The first SOC 202 and the second SOC 204 may communicate via an interconnect / bus module 250. The various processors 210, 212, 214, 216, 218 may be interconnected to one or more memory elements 220, system components and resources 224, as well as custom circuitry 222 and a thermal management unit 232 via an interconnect / bus module 226. Similarly, the processor 252 may be interconnected to a power management unit 254, a millimeter-wave transceiver 256, memory 258, and various additional processors 260 via an interconnect / bus module 264. The interconnect / bus modules 226, 250, 264 may include arrays of reconfigurable logic gates and / or implement a bus architecture (e.g., CoreConnect, AMBA, etc.). Communication may occur through advanced interconnects such as a high-performance network-on-chip (NoC). The interconnect / bus modules 226, 250, 264, individually and / or in various combinations, may be configured as AT interfaces to allow the processors 210, 212, 214, 216, 218, 252, 260 to exchange AT commands and / or responses with each other.
[0072] The first and / or second SOC 202, 204 may further include input / output modules (not shown) for communicating with resources external to the SOC, such as a clock 206, a voltage regulator 208, and one or more wireless transceivers 266. Resources external to the SOC (e.g., clock 206, voltage regulator 208) may be shared by two or more of the internal SOC processors / cores.
[0073] In addition to the exemplary SIP 200 described above, various embodiments may be implemented in a wide variety of computing systems, which may include a single processor, multiple processors, multi-core processors, or any combination thereof.
[0074] FIG. 3 illustrates an example of a software architecture 300 including radio protocol stacks for user and control planes in wireless communications between a base station 350 (e.g., base stations 110a-110d) and a wireless device 320 (e.g., wireless devices 120a-120e, 152, 154, 200). Referring to FIGS. 1A-3, the wireless device 320 may implement the software architecture 300 to communicate with a base station 350 of a communication system (e.g., 100). In various embodiments, layers in the software architecture 300 may form logical connections with corresponding layers in the software of the base station 350. The software architecture 300 may be distributed among one or more processors (e.g., processors 212, 214, 216, 218, 252, 260, etc.). Although illustrated with respect to one radio protocol stack in a multi-SIM (Subscriber Identity Module) wireless device, software architecture 300 may include multiple protocol stacks, each associated with a different SIM (such as two protocol stacks associated with two SIMs in a dual-SIM wireless communication device). Although described below with respect to an LTE communication layer, software architecture 300 may support any of a variety of standards and protocols for wireless communication and / or may include additional protocol stacks supporting any of a variety of standards and protocols for wireless communication.
[0075] The software architecture 300 may include a non-access stratum (NAS) 302 and an access stratum (AS) 304. The NAS 302 may include functions and protocols for packet filtering, security management, mobility control, session management, and supporting traffic and signaling between a wireless device's SIM (e.g., SIM 204) and its core network 140. The AS 304 may include functions and protocols supporting communication between a SIM (e.g., SIM 204) and supported access network entities (e.g., base stations). Specifically, the AS 304 may include at least three layers (Layer 1, Layer 2, and Layer 3), each of which may include various sublayers.
[0076] In the user and control plane, Layer 1 (L1) of the AS 304 may be the physical layer (PHY) 306, which may oversee functions that enable transmission and / or reception over the air interface. Examples of such physical layer 306 functions may include cyclic redundancy check (CRC) attachment, coding blocks, scrambling and descrambling, modulation and demodulation, signal measurement, MIMO, etc. The physical layer may include various logical channels, including a physical downlink control channel (PDCCH) and a physical downlink shared channel (PDSCH).
[0077] In the user and control plane, Layer 2 (L2) of the AS 304 may carry the link between the wireless device 320 and the base station 350 on the physical layer 306. In various embodiments, Layer 2 may include a medium access control (MAC) sublayer 308, a radio link control (RLC) sublayer 310, and a packet data convergence protocol (PDCP) sublayer 312, each of which forms a logical connection that terminates at the base station 350.
[0078] In the control plane, Layer 3 (L3) of the AS 304 may include a radio resource control (RRC) sublayer 313. Although not shown, the software architecture 300 may include additional Layer 3 sublayers, as well as various upper layers above Layer 3. In various embodiments, the RRC sublayer 313 may provide functions including broadcasting system information, paging, and establishing and releasing RRC signaling connections between the wireless device 320 and the base station 350.
[0079] In various embodiments, the PDCP sublayer 312 may provide uplink functions including multiplexing between different radio bearers and logical channels, sequence numbering, handover data processing, integrity protection, ciphering, and header compression. In the downlink, the PDCP sublayer 312 may provide functions including in-order delivery of data packets, duplicate data packet detection, integrity verification, decryption, and header recovery.
[0080] In the uplink, the RLC sublayer 310 may provide segmentation and concatenation of upper layer data packets, retransmission of lost data packets, and automatic repeat request (ARQ). In the downlink, the RLC sublayer 310 functions may include reordering of data packets to compensate for out-of-order reception, reassembly of upper layer data packets, and ARQ.
[0081] In the uplink, the MAC sublayer 308 may provide functions including multiplexing between logical and transport channels, random access procedures, logical channel priorities, and hybrid ARQ (HARQ) operations. In the downlink, MAC layer functions may include channel mapping within a cell, demultiplexing, discontinuous reception (DRX), and HARQ operations.
[0082] While the software architecture 300 may provide functionality for transmitting data over a physical medium, the software architecture 300 may further include at least one host layer 314 for providing data transfer services to various applications in the wireless device 320. In some embodiments, the application-specific functionality provided by the at least one host layer 314 may provide an interface between the software architecture and a general-purpose processor. By way of example, the host layer 314 may provide various functionality, including streaming service application functionality 360, such as downlink streaming service application functionality and / or uplink streaming service application functionality, media session handler functionality 362, media player entities, media streamer entities, etc. Such streaming service application functionality 360 and / or media session handler functionality 362 may operate together to provision streaming services (e.g., uplink streaming services, downlink streaming services, etc.) on the wireless device 320.
[0083] In other embodiments, software architecture 300 may include one or more upper logical layers (e.g., transport, session, presentation, application, etc.) that provide host layer functionality. For example, in some embodiments, software architecture 300 may include a network layer (e.g., IP layer) in which a logical connection terminates at an external packet data network (PDN) gateway (PGW) within a mobile operator's network. In some embodiments, software architecture 300 may include an application layer in which a logical connection terminates at another device (e.g., an end-user device, a server, etc.). In some embodiments, software architecture 300 may further include a hardware interface 316 between physical layer 306 and communications hardware (e.g., one or more radio frequency (RF) transceivers) within AS 304.
[0084] FIG. 4A is a component block diagram illustrating a system configured to provide downlink streaming service assistance in a 5GS network, according to various embodiments. FIG. 4B is a component block diagram illustrating the system of FIG. 4A providing uplink streaming service assistance, according to various embodiments. With reference to FIGS. 1A-4B, the system may include a wireless device 400 (e.g., wireless devices 120a-120e, 152, 154, 200, 320). The wireless device 400 may include a RAN modem 402 (e.g., modem processor 212, 252) connected to an application processor 403 (e.g., application processor 216). A media session handler 404 application may be running on the application processor 403. The application processor 403, and specifically the media session handler 404, may exchange AT commands / responses with the RAN modem 402. In various embodiments, the AT commands / responses exchanged between the application processor 403 and the RAN modem 402 may be AT commands / responses associated with download bitrate recommendation requests, responses, and / or notifications. In response to receiving an AT command that is a downlink bitrate recommendation request from the application processor 403, such as from a media session handler 404 running on the application processor 403, the RAN modem 402 may send an ANBRQ message to a base station (e.g., base stations 110a-110d, 350) of the RAN (e.g., the RAN 153). The RAN (e.g., the RAN 153) may return the bitrate recommendation to the RAN modem 402 as an ANBR message. In response to receiving the ANBR message, the RAN modem 402 may send a response that is a downlink bitrate recommendation response to the application processor 403, such as to the media session handler 404 running on the application processor 403, via the AT interface.The media session handler 404 may interface with media player / streamer applications and / or streaming-aware applications to provide streaming services. For example, the media session handler 404 may interface with media player / streamer applications and / or streaming-aware applications to provide streaming services over an M6 interface, such as an M6d interface for downlink media streaming and / or an M6u interface for uplink media streaming. Although shown as running on the same processor (e.g., 403), the media player / streamer applications and / or streaming-aware applications and / or the media session handler 404 may be running on different processors of the wireless device 400 (e.g., the media player / streamer application on processor 218 and the media session handler 404 on processor 216).
[0085] In various embodiments, the AT commands / responses exchanged between the application processor 403 and the RAN modem 402 may be AT commands / responses associated with uplink bit rate recommendation requests, responses, and / or notifications. In response to receiving an AT command that is an uplink bit rate recommendation request from the application processor 403, such as from a media session handler 404 running on the application processor 403, the RAN modem 402 may send an ANBRQ message to a base station (e.g., base stations 110a-110d, 350) of the RAN (e.g., the RAN 153). The RAN (e.g., the RAN 153) may return the bit rate recommendation to the RAN modem 402 as an ANBR message. In response to receiving the ANBR message, the RAN modem 402 may send a response that is an uplink bit rate recommendation response to the application processor 403, such as to the media session handler 404 running on the application processor 403, via the AT interface.
[0086] FIG. 5 illustrates an architecture for AT command / response exchange on a wireless device 400 to support streaming service assistance, according to various embodiments. With reference to FIGS. 1A-5, a TE may be an application executing on a first processor of the wireless device 400, such as a media session handler 404 executing on an application processor 403. A MT may be a RAM modem 402. The TE (e.g., media session handler 404) and the MT (e.g., RAN modem 402) may exchange AT commands and responses via one or more logical terminal adapters (TAs) between the TE (e.g., media session handler 404) and the MT (e.g., RAN modem 402). Various interconnects (e.g., interconnect / bus modules 226, 250, 264), including one or more logical TAs, may act as an AT interface between the TE (e.g., media session handler 404) and the MT (e.g., RAN modem 402). As a particular example, the media session handler 404 executing on the application processor 403 may send an AT command associated with a bit rate recommendation request (e.g., a downlink bit rate request, an uplink bit rate request, etc.) via the AT interface 420. In this manner, the media session handler 404 may act as a TE, and the RAN modem 402 may act as a MT. In response to receiving the AT command via the AT interface 420, the RAN modem 402 may send an ANBRQ message to a base station (e.g., base stations 110a-110d, 350) of the RAN (e.g., RAN 153). The base station (e.g., base stations 110a-110d, 350) of the RAN (e.g., RAN 153) may return the bit rate recommendation as an ANBR message to the RAN modem 402.In response to receiving the ANBR message, the RAN modem 402 may send a response, which is a bitrate recommendation response (e.g., a downlink bitrate recommendation response, an uplink bitrate recommendation response, etc.), via the AT interface 420 to the media session handler 404 running on the application processor 403.
[0087] FIG. 6 shows a process flow diagram of an example method 600 for providing streaming service assistance according to some embodiments. With reference to FIGS. 1A-6 , method 600 may be implemented by a processor (e.g., 216, 403) of a wireless device (e.g., wireless device 120a-120e, 152, 154, 200, 320, 400). The operations of method 600 may be performed to support uplink streaming and / or downlink streaming. In some embodiments, the processor implementing the operations of method 600 may act as a TE for AT command / response exchanges with a modem processor (e.g., 212, 252, 402) of the wireless device, which may act as a MT, via an AT interface (e.g., 226, 250, 264, 420).
[0088] In block 602, the processor may perform operations including sending, via the AT interface, an AT command to a modem processor of the wireless device, the AT command being a bitrate recommendation action command for the streaming service. The bitrate recommendation action command may include at least an indication of a stream identifier, an indication of a requested bitrate, and an indication of a direction. In some embodiments, the direction may be an indication of uplink or downlink. In some embodiments, the indication of the stream identifier may be an indication of an EPS bearer for the streaming service. In some embodiments, the indication of the stream identifier may be an indication of a PDU session for the streaming service. In some embodiments, the bitrate recommendation action command may further include an indication of a QoS flow of the PDU session for the streaming service.
[0089] In some embodiments, the bitrate request may be an AT command that is a bitrate recommendation action command that includes an indication of a stream identifier, such as an identifier of a PDU session, an identifier of an EPS bearer, an indication of a requested bitrate, such as an aggregate requested bitrate of a set of QoS flows in the PDU session, a requested bitrate of the EPS bearer, a sum of the desired bitrate for that particular application data and / or particular QoS flow in the PDU session (e.g., for which a boosted or increased bitrate is requested) and the bitrates of all other application data and / or QoS flows in that PDU session that are not of interest, and an indication of a direction, such as UL, DL, etc. As a particular example, the AT command that is a bitrate recommendation action command may be "+CGBRR= <cid> , <reqbitrate> , <direction>" In this example, " <cid>" may be an integer type value that specifies a stream identifier, such as a particular PDU session definition, and " <reqbitrate>" will be responded to by MT. <cid>" may be an indication of a requested bit rate, such as an aggregate requested bit rate (e.g., in kilobits per second (kbit / s) or kbps)) by the TE for a set of QoS flows within the PDU session to which " " refers; <direction>" may be a direction indication, such as "UL" or "DL" for bitrate requests.
[0090] In some embodiments, the AT command that is a bitrate recommendation action command may further include an indication of a particular QoS flow within the PDU session. As a specific example, the AT command that is a bitrate recommendation action command that includes an indication of a particular QoS flow within the PDU session may be "+CGBRR= <cid> , <reqbitrate> , <direction>,[<p_cid> ]" In this example, " <cid>" may be an integer type value that specifies a stream identifier, such as a particular PDU session definition, and " <reqbitrate>" will be responded to by MT. <cid>" may be an indication of a requested bit rate, such as an aggregate requested bit rate (e.g., in kilobits per second (kbit / s) or kbps)) by the TE for a set of QoS flows within the PDU session to which " " refers; <direction>" may be a direction indication, such as "UL" or "DL" for bitrate requests, and "<p_cid> "teeth," <cid>" may be an integer type value that specifies a particular QoS flow within the PDU session to which it refers. <reqbitrate>The aggregate requested bit rate, such as the number of PDUs in a session (e.g., a boosted or increased bit rate is requested).<p_cid> The PDU session bitrate may represent the sum of the desired bitrate for the particular application data and / or particular QoS flow of interest, such as the QoS flow specified by (1), and the bitrates of all other application data and / or QoS flows within that PDU session that are not of interest.
[0091] In block 604, the processor may perform operations including receiving, via the AT interface, a response from the modem processor of the wireless device that is a bitrate recommendation response, the bitrate recommendation response including at least an indication of a stream identifier, an indication of a bitrate recommendation, and an indication of a direction. In various embodiments, the bitrate recommendation response may further include an indication of a QoS flow of the PDU session for the streaming service.
[0092] In some embodiments, the bitrate response may be a response that is a bitrate recommendation response that includes an indication of a stream identifier, such as an identifier of a PDU session, an identifier of an EPS bearer, an indication of a bitrate recommendation, such as an aggregate bitrate recommendation for streaming operations of a collection of QoS flows in the PDU session, a bitrate recommendation for streaming operations of an EPS bearer, and an indication of a direction, such as UL, DL, etc. As a specific example, a response over the AT interface that is a bitrate recommendation response may include the following: "+CGBRR= <cid> , <recmbitrate> , <direction>" In this example, " <cid>" may be an integer type value that specifies a stream identifier, such as a particular PDU session definition, and " <recmbitrate>"teeth," <cid>" may be an indication of a bitrate recommendation, such as an aggregate bitrate recommendation (e.g., in kbit / s) sent from the MT to the TE for streaming operation for a set of QoS flows in the PDU session to which " refers. <direction>" may be a directional indication, such as "UL" or "DL" for bitrate response.
[0093] In some embodiments, a response that is a bitrate recommendation response may further include an indication of a particular QoS flow within the PDU session. As a specific example, a response that is a bitrate recommendation response that includes an indication of a particular QoS flow within the PDU session may include "+CGBRR= <cid> , <recmbitrate> , <direction>[,<p_cid> ]" In this example, " <cid>" may be an integer type value that specifies a stream identifier, such as a particular PDU session definition, and " <recmbitrate>"teeth," <cid>" may be an indication of a bitrate recommendation, such as an aggregate bitrate recommendation (e.g., in kbit / s) sent from the MT to the TE for streaming operation for a set of QoS flows in the PDU session to which " refers. <direction>" may be a directional indication, such as "UL" or "DL" for bitrate response, and "<p_cid> "teeth," <cid>" may be an integer type value that specifies a particular QoS flow within the PDU session to which it refers. In some embodiments, the response, which is a bitrate recommendation response, may be sent from the MT to the TE in response to the TE sending an AT command, which is a bitrate recommendation action command, to the MT.
[0094] At block 606, the processor may perform operations including controlling the streaming service based at least in part on the indication of the bitrate recommendation. For example, the processor may increase and / or decrease the streaming rate of the streaming service based on the bitrate recommendation. In various embodiments, controlling the streaming service based at least in part on the indication of the bitrate recommendation may include converting the indication of the bitrate recommendation into an application-level bitrate value and controlling the streaming service based at least in part on the application-level bitrate value. In some embodiments, the media session handler may perform the conversion / mapping between the MAC value and the application-level bitrate value. For example, the media session handler may obtain information from the modem of any additional QoS flows (competing for the RAN bitrate represented by ANBR) and their bitrate requirements, as well as upper layer transport overhead, and (in the case of DL streaming) information from the media player of the operation points of other application flows transmitted within the same PDU session to support the conversion / mapping between the MAC value and the application-level bitrate value.
[0095] In some embodiments, controlling the streaming service based at least in part on the indication of the bitrate recommendation in block 606 may include deriving the bitrate increase (or boost) for the QFI or QoS flow in question (e.g., where a boost or increased bitrate is requested) from the bitrate recommendation in the response received over the AT interface from the modem processor of the wireless device. <recmbitrate>The bit rate recommendation received from the modem processor, such as <cid>" may be an indication of an aggregate bitrate recommendation (e.g., in kbit / s) for a collection of QoS flows within a PDU session, such as the PDU session referenced by " (e.g., a boosted or increased bitrate is requested).<p_cid> The recommended bit rate (e.g., boosted or increased bit rate) for the particular application data and / or particular QoS flow of interest, such as the QoS flow specified by "," may be an indication of the aggregate bit rate recommendation for the collection of QoS flows within the PDU session. <recmbitrate>" may be determined by subtracting the sum of the bit rates of all other application data and / or QoS flows in that PDU session that are not of interest from the aggregate bit rate recommendation received from the modem processor, such as "."
[0096] FIG. 7 is a process flow diagram illustrating a method 700 performed by a modem processor of a wireless device to provide streaming service assistance, according to some embodiments. With reference to FIGS. 1A-7, method 700 may be implemented by a modem processor (e.g., 212, 252, 402) of a wireless device (e.g., wireless devices 120a-120e, 152, 154, 200, 320, 400). The operations of method 700 may be performed to support uplink streaming and / or downlink streaming. The operations of method 700 may be performed in conjunction with the operations of method 600 (FIG. 6). In some embodiments, a modem processor implementing the operations of method 700 may act as a MT for AT command / response exchanges with another processor of the wireless device (e.g., 216, 403) that may act as a TE via an AT interface (e.g., 226, 250, 264, 420).
[0097] In block 702, the modem processor may perform operations including receiving, via an AT interface, an AT command from another processor of the wireless device, the AT command being a bitrate recommendation action command for a streaming service, the bitrate recommendation action command including at least an indication of a first stream identifier, an indication of a requested bitrate, and an indication of a direction. In some embodiments, the direction may be an indication of uplink or downlink. In some embodiments, the indication of the first stream identifier may be an indication of an EPS bearer for the streaming service. In some embodiments, the indication of the first stream identifier may be an indication of a PDU session for the streaming service. In some embodiments, the bitrate recommendation action command may further include an indication of a QoS flow of the PDU session for the streaming service.
[0098] In some embodiments, the bitrate request may be an AT command that is a bitrate recommendation action command that includes an indication of a first stream identifier, such as an identifier of a PDU session, an identifier of an EPS bearer, an indication of a requested bitrate, such as an aggregate requested bitrate of a set of QoS flows in the PDU session, a requested bitrate of the EPS bearer, a sum of the desired bitrate for that particular application data and / or particular QoS flow in the PDU session (e.g., for which a boosted or increased bitrate is requested) and the bitrates of all other application data and / or QoS flows in that PDU session that are not of interest, and an indication of a direction, such as UL, DL, etc. As a particular example, the AT command that is a bitrate recommendation action command may be an AT command that includes an indication of a first stream identifier, such as an identifier of a PDU session, an identifier of an EPS bearer, an indication of a requested bitrate, such as an aggregate requested bitrate of a set of QoS flows in the PDU session (e.g., for which a boosted or increased bitrate is requested), and a request for a direction, such as UL, DL, etc. <cid> , <reqbitrate> , <direction>" In this example, " <cid>" may be an integer type value that specifies a first stream identifier, such as a particular PDU session definition, <reqbitrate>" will be responded to by MT. <cid>" may be an indication of a requested bit rate, such as an aggregate requested bit rate (e.g., in kilobits per second (kbit / s) or kbps)) by the TE for a set of QoS flows within the PDU session to which " " refers; <direction>" may be a direction indication, such as "UL" or "DL" for bitrate requests.
[0099] In some embodiments, the AT command that is a bitrate recommendation action command may further include an indication of a particular QoS flow within the PDU session. As a specific example, the AT command that is a bitrate recommendation action command that includes an indication of a particular QoS flow within the PDU session may be "+CGBRR= <cid> , <reqbitrate> , <direction>,[<p_cid> ]" In this example, " <cid>" may be an integer type value that specifies a first stream identifier, such as a particular PDU session definition, <reqbitrate>" will be responded to by MT. <cid>" may be an indication of a requested bit rate, such as an aggregate requested bit rate (e.g., in kilobits per second (kbit / s) or kbps) by the TE for a set of QoS flows within the PDU session to which " " refers. <direction>" may be a direction indication, such as "UL" or "DL" for bitrate requests, and "<p_cid> "teeth," <cid>" may be an integer type value that specifies a particular QoS flow within the PDU session to which it refers. <reqbitrate>The aggregate requested bit rate, such as the number of PDUs in a session (e.g., a boosted or increased bit rate is requested).<p_cid> The PDU session bitrate may represent the sum of the desired bitrate for the particular application data and / or particular QoS flow of interest, such as the QoS flow specified by (1), and the bitrates of all other application data and / or QoS flows within that PDU session that are not of interest.
[0100] In block 704, the modem processor may perform operations including determining an LCID associated with the second stream identifier and the indication of the first stream identifier in response to receiving an AT command from another processor of the wireless device, the AT command being a bitrate recommendation action command. In various embodiments, streams such as QoS flows, EPS bearers, etc. may be mapped to RAN Layer 2 (L2) parameters. In various embodiments, a TE (e.g., an application executing on a processor of the wireless device, such as a media session handler) may indicate to a modem processor of the wireless device (e.g., a 5G modem, an LTE modem, etc.) a bitrate recommendation or a stream (e.g., a QoS flow, an EPS bearer, etc.) corresponding to a media streaming application flow for which a boost is desired. As an example, the application may issue an action / execute command "+CGBRR= <cid> , <reqbitrate> , <direction>[,<p_cid> ]" may be used to identify to the modem the QoS flow (e.g., by the QoS flow's QFI) corresponding to the media streaming application flow for which a bitrate recommendation or boost is sought, the associated PDU session identifier, and the requested streaming bitrate. In various embodiments, a modem processor receiving a bitrate recommendation action command may use the first stream identifier (e.g., " <cid>" value) to the internally referenced PDU session and the associated LCID in the recommended bit rate MAC CE used in the bit rate recommendation query / response / notification interaction with the RAN (e.g., mapping a first stream identifier to a second stream identifier of the internally referenced PDU session). In various embodiments, upon wireless device establishment of the PDU session with the Session Management Function (SMF) via Non-Access Stratum (NAS) signaling, the SMF may return the allowed QoS rules for use by the wireless device. In some embodiments, the SMF may also assign, for each QoS flow within the PDU session, an associated QFI and QoS profile, which may be provided via the Access and Mobility Management Function (AMF) to the base station to which the wireless device is camped, such as an eNB, gNB, etc. There may be a one-to-one correspondence between RAN L2 parameters and Radio Resource Control (RRC) parameters for LCID, Data Radio Bearer (DRB) Identifier (DRB ID), QFI, which define the radio bearer and corresponding Service Data Adaptation Protocol (SDAP) (e.g., for NR only), Packet Data Convergence Protocol (PDCP), Radio Link Control (RLC), and MAC configurations, so that a base station to which a wireless device is camped, such as an eNB or gNB, may be able to explicitly map a PDU session and its contained QoS flows to a DRB for bit rate recommendation processing.
[0101] At block 706, the modem processor may perform operations including transmitting a network assistance request including the second stream identifier and the LCID to a base station of the RAN. As a particular example, the network assistance request may be an ANBRQ message, a recommended bit rate query MAC CE, etc.
[0102] At block 708, the modem processor may perform operations including receiving a network assistance response from a base station of the RAN, the network assistance response including the second stream identifier and the LCID. As a particular example, the network assistance response may be an ANBR message, a recommended bit rate MAC CE, etc.
[0103] In block 710, the modem processor may perform operations including determining a bit rate recommendation in response to receiving a network assistance response from a base station of the RAN. In various embodiments, the bit rate recommendation may be determined to be the same as the bit rate recommendation in the network assistance response. In various embodiments, determining a bit rate recommendation in response to receiving a network assistance response from a base station of the RAN may include converting the bit rate recommendation indicated in the network assistance response from the base station of the RAN to an application level bit rate value.
[0104] In block 712, the modem processor may perform operations including transmitting, via the AT interface, a response that is a bitrate recommendation response to another processor of the wireless device, the bitrate recommendation response including at least an indication of the first stream identifier, an indication of the bitrate recommendation, and an indication of the direction. In various embodiments, the bitrate recommendation response may further include an indication of the QoS flow of the PDU session for the streaming service.
[0105] In some embodiments, the bitrate response may be a response over the AT interface that is a bitrate recommendation response, including an indication of a first stream identifier, such as an identifier of a PDU session, an identifier of an EPS bearer, an indication of a bitrate recommendation, such as an aggregate bitrate recommendation for streaming operations of a collection of QoS flows in the PDU session, a bitrate recommendation for streaming operations of the EPS bearer, and an indication of a direction, such as UL, DL, etc. As a specific example, a response that is a bitrate recommendation response may include the following: "+CGBRR= <cid> , <recmbitrate> , <direction>" In this example, " <cid>" may be an integer type value that specifies a first stream identifier, such as a particular PDU session definition, <recmbitrate>"teeth," <cid>" may be an indication of a bitrate recommendation, such as an aggregate bitrate recommendation (e.g., in kbit / s) sent from the MT to the TE for streaming operation for a set of QoS flows in the PDU session to which " refers. <direction>" may be a directional indication, such as "UL" or "DL" for bitrate response.
[0106] In some embodiments, a response that is a bitrate recommendation response may further include an indication of a particular QoS flow within the PDU session. As a specific example, a response that is a bitrate recommendation response that includes an indication of a particular QoS flow within the PDU session may include "+CGBRR= <cid> , <recmbitrate> , <direction>[,<p_cid> ]" In this example, " <cid>" may be an integer type value that specifies a first stream identifier, such as a particular PDU session definition, <recmbitrate>"teeth," <cid>" may be an indication of a bitrate recommendation, such as an aggregate bitrate recommendation (e.g., in kbit / s) sent from the MT to the TE for streaming operation for a set of QoS flows in the PDU session to which " refers. <direction>" may be a directional indication, such as "UL" or "DL" for bitrate response, and "<p_cid> "teeth," <cid>" may be an integer type value that specifies a particular QoS flow within the PDU session to which it refers. In some embodiments, the response, which is a bitrate recommendation response, may be sent from the MT to the TE in response to the TE sending an AT command, which is a bitrate recommendation action command, to the MT.
[0107] FIG. 8A is a process flow diagram illustrating a method 800 performed by a processor of a wireless device to provide streaming service assistance, according to some embodiments. With reference to FIGS. 1A-8A, method 800 may be implemented by a processor (e.g., 216, 403) of a wireless device (e.g., wireless devices 120a-120e, 152, 154, 200, 320, 400). The operations of method 800 may be performed to support uplink streaming and / or downlink streaming. The operations of method 800 may be performed in conjunction with the operations of methods 600 (FIG. 6) and / or 700 (FIG. 7). A processor implementing the operations of method 800 may act as a TE for AT command / response exchanges with a modem processor (e.g., 212, 252, 402) of the wireless device, which may act as a MT, via an AT interface (e.g., 226, 250, 264, 420).
[0108] In block 802, the processor may perform operations including sending an AT command that is a test command to a modem processor of the wireless device. The AT command that is a test command may be sent to the modem processor of the wireless device via an AT interface. In some embodiments, the test command may be sent from the TE to the MT to determine whether the MT supports sending a response that is a bitrate recommendation response to an AT command that is a bitrate recommendation action command. As a particular example, the TE may send the test command "+CGBRR=?" to the MT as a query as to whether the MT supports sending a response that is a bitrate recommendation response to an AT command that is a bitrate recommendation action command.
[0109] FIG. 8B is a process flow diagram illustrating a method 810 performed by a modem processor of a wireless device to provide streaming service assistance, according to some embodiments. With reference to FIGS. 1A-8B, method 810 may be implemented by a modem processor (e.g., 212, 252, 402) of a wireless device (e.g., wireless devices 120a-120e, 152, 154, 200, 320, 400). The operations of method 810 may be performed to support uplink streaming and / or downlink streaming. In some embodiments, the operations of method 810 may be performed in conjunction with the operations of methods 600 (FIG. 6), 700 (FIG. 7), and / or 800 (FIG. 8A). In some embodiments, a modem processor implementing the operations of method 810 may act as a MT for AT command / response exchanges with another processor of the wireless device (e.g., 216, 403), which may act as a TE, via an AT interface (e.g., 226, 250, 264, 420).
[0110] In block 812, the modem processor may perform operations including receiving an AT command that is a test command from another processor of the wireless device. In some embodiments, the test command may be sent from the TE to the MT to determine whether the MT supports sending a response that is a bitrate recommendation response to an AT command that is a bitrate recommendation action command. As a particular example, the TE may send the test command "+CGBRR=?" to the MT as a query as to whether the MT supports sending a response that is a bitrate recommendation response to an AT command that is a bitrate recommendation action command.
[0111] In block 814, the modem processor may perform operations including transmitting, via the AT interface, a response indicating that bit rate recommendation is supported. In some embodiments, an MT that supports sending a response that is a bit rate recommendation response to an AT command that is a bit rate recommendation action command may respond to the test code with the supported response. As a specific example, in response to the test command "+CGBRR=?", the MT may send a supported response of "+CGBRR=OK" to the TE, thereby indicating that the MT supports sending a response that is a bit rate recommendation response to an AT command that is a bit rate recommendation action command.
[0112] FIG. 9A is a process flow diagram illustrating a method 900 performed by a processor of a wireless device to provide streaming service assistance, according to some embodiments. With reference to FIGS. 1A-9A, method 600 may be implemented by a processor (e.g., 216, 403) of a wireless device (e.g., wireless devices 120a-120e, 152, 154, 200, 320, 400). The operations of method 900 may be performed to support uplink streaming and / or downlink streaming. In some embodiments, the operations of method 900 may be performed in conjunction with the operations of methods 600 (FIG. 6), 700 (FIG. 7), 800 (FIG. 8A), and / or 810 (FIG. 8B). In some embodiments, the operations of method 900 may be performed after sending an initial AT command that is a second bitrate recommendation action command in block 602 of method 600 (FIG. 6). In some embodiments, the processor implementing the operations of method 900 may act as a TE for AT command / response exchanges with a modem processor (e.g., 212, 252, 402) of a wireless device that may act as an MT via an AT interface (e.g., 226, 250, 264, 420).
[0113] In block 902, the processor may perform operations including sending an AT command, the AT command being a second bitrate recommendation action command for the streaming service, to a modem processor of the wireless device, the second bitrate recommendation action command including at least an indication of a stream identifier, an indication of a requested bitrate, and an indication of a direction. The AT command, the second bitrate recommendation action command for the streaming service, may be sent to the modem processor of the wireless device via an AT interface.
[0114] In the determination at block 904, the processor may determine whether a response is received, such as whether the response is received via an AT interface. For example, the processor may determine whether a response that is an error message is received from a modem processor of the wireless device via the AT interface, or whether a response that is a second bit rate recommendation response is received from a modem processor of the wireless device via the AT interface.
[0115] In response to determining that no response is received over the AT interface (i.e., decision block 906="No"), the processor may determine that the bit rate recommendation indication is still valid in block 906. In various embodiments, the lack of a response to the AT command, which is the second bit rate recommendation action command from the modem processor, indicates that the bit rate recommendation indication is still valid.
[0116] In response to determining that a response is received via the AT interface (i.e., decision block 906="Yes"), the processor may retry the AT command, which is the second bit rate recommendation action command, based on the response, in block 908. Retrying the AT command, which is the second bit rate recommendation action command, based on the response may include sending the AT command, which is the second bit rate recommendation action command, again after a retry-after time period indicated in the response from the modem processor has expired. Retrying the AT command, which is the second bit rate recommendation action command, based on the response may include sending the AT command, which is the second bit rate recommendation action command, again when an indication of the time that a network assistance response associated with the bit rate recommendation indication was received by the modem processor is longer than a threshold.
[0117] FIG. 9B is a process flow diagram illustrating a method 920 performed by a modem processor of a wireless device to provide streaming service assistance according to various embodiments. With reference to FIGS. 1A-9B, method 920 may be implemented by a modem processor (e.g., 212, 252, 402) of a wireless device (e.g., wireless devices 120a-120e, 152, 154, 200, 320, 400). The operations of method 920 may be performed to support uplink streaming and / or downlink streaming. In various embodiments, the operations of method 920 may be performed in conjunction with the operations of methods 600 (FIG. 6), 700 (FIG. 7), 800 (FIG. 8A), 810 (FIG. 8B), and / or 900 (FIG. 9A). In various embodiments, the operations of method 920 may be performed in response to receiving an AT command from another processor of the wireless device at block 702 (FIG. 7), the AT command being a bitrate recommendation action command. In various embodiments, a modem processor implementing the operations of method 920 may act as an MT for AT command / response exchanges with another processor (e.g., 216, 403) of a wireless device that may act as a TE via an AT interface (e.g., 226, 250, 264, 420).
[0118] In block 922, the modem processor may perform operations including starting a response timer. In some embodiments, the response timer may control the MT's response to a bitrate recommendation action command from the TE. As an example, the same restriction on the frequency of ANBRQ messages set in the "bitRateQueryProhibitTimer" field in the "LogicalChannelConfig" IE may be applied to control the MT's response to a bitrate request from the TE.
[0119] In block 924, the modem processor may perform operations including receiving an AT command, the AT command being a second bit rate recommendation action command, from another processor of the wireless device, the second bit rate recommendation action command including at least an indication of a stream identifier, an indication of a requested bit rate, and an indication of a direction. The AT command, the second bit rate recommendation action command, may be received from another processor of the wireless device via an AT interface.
[0120] In decision block 926, the modem processor may perform operations including determining whether a second bitrate recommendation action command is received before the response timer expires.
[0121] In response to determining that a second bitrate recommendation action command is received after the response timer has expired (i.e., decision block 926="No"), the modem processor may transmit a response in block 928. The response may be transmitted over the AT interface. Once the response timer has expired, the request and response may be the desired frequency setting for the bitrate request.
[0122] In response to a determination that a second bitrate recommendation action command is received before the response timer expires (i.e., decision block 926="yes"), the modem processor may take a bitrate request frequency limiting action in block 930. In one embodiment, in response to the TE sending a continuous bitrate recommendation action command before the response timer expires, the MT may return an error code, such as an error code indicating that the latest bitrate recommendation action command was sent early. In some embodiments, the error code may include a "retry-after" parameter. In some embodiments, the error code may be sent by the modem processor over the AT interface. In one embodiment, in response to the TE sending a continuous bitrate recommendation action command before the response timer expires, the MT may return a latest bitrate recommendation applicable to the stream identifier, such as an identifier of the PDU session, an identifier of the EPS bearer, etc., indicated in the latest bitrate recommendation action command. In some embodiments, the latest bitrate recommendation sent by the MT may include an indication of the wallclock time when a network assistance response, such as an ANBR message, corresponding to the latest bitrate recommendation was received from the RAN. In some embodiments, the most recent bit rate recommendation may be sent by the modem processor in a response over the AT interface. In one embodiment, the MT may take no action in response to the TE sending consecutive bit rate recommendation action commands before the response timer expires. In some embodiments, the TE may be configured to interpret the lack of a response from the MT to a bit rate recommendation action command as an indication that the most recent bit rate recommendation sent by the MT is still valid.
[0123] FIG. 9C is a process flow diagram illustrating a method 950 performed by a modem processor of a wireless device to provide streaming service assistance, according to various embodiments. With reference to FIGS. 1A-9C, method 950 may be implemented by a modem processor (e.g., 212, 252, 402) of a wireless device (e.g., wireless devices 120a-120e, 152, 154, 200, 320, 400). The operations of method 950 may be performed to support uplink streaming and / or downlink streaming. In various embodiments, the operations of method 950 may be performed in conjunction with the operations of methods 600 (FIG. 6), 700 (FIG. 7), 800 (FIG. 8A), 810 (FIG. 8B), 900 (FIG. 9A), and / or 920 (FIG. 9B). In various embodiments, the operations of method 950 may be performed to transmit an unsolicited AT command. In various embodiments, a modem processor implementing the operations of method 950 may act as an MT for AT command / response exchanges with another processor (e.g., 216, 403) of a wireless device that may act as a TE via an AT interface (e.g., 226, 250, 264, 420).
[0124] At block 952, the modem processor may perform operations including receiving a network assistance response from a base station of the RAN. The response may be an unsolicited network assistance response from the RAN that includes a bit rate recommendation for the streaming service.
[0125] In block 710, the modem processor may perform the operations discussed with reference to similarly numbered blocks of method 700 (FIG. 7) to determine a bit rate recommendation in response to receiving a network assistance response from a base station of the RAN.
[0126] In block 954, the modem processor may perform operations including transmitting, via the AT interface, a bit rate recommendation response to another processor of the wireless device, the bit rate recommendation response including at least an indication of the bit rate recommendation. In some embodiments, a response that is a bit rate recommendation response may be transmitted from the MT to the TE as an unsolicited result code, including a bit rate recommendation value provided by the MT in the form of an unsolicited notification. As a particular example, a response that is an unsolicited notification of a bit rate recommendation may be transmitted as "+CGBRR[ <recmbitrate>" In this example, " <recmbitrate>" may be an indication of a bitrate recommendation, such as a bitrate recommendation (eg, in kbit / s).
[0127] FIG. 9D is a process flow diagram illustrating a method 960 performed by a processor of a wireless device to provide streaming service assistance, according to some embodiments. With reference to FIGS. 1A-9D, method 960 may be implemented by a processor (e.g., 216, 403) of a wireless device (e.g., wireless devices 120a-120e, 152, 154, 200, 320, 400). The operations of method 960 may be performed to support uplink streaming and / or downlink streaming. The operations of method 960 may be performed in conjunction with the operations of methods 600 (FIG. 6), 700 (FIG. 7), 800 (FIG. 8A), 810 (FIG. 8B), 900 (FIG. 9A), 920 (FIG. 9B), and / or 950 (FIG. 9C). In various embodiments, the operations of method 960 may be performed to receive an unsolicited AT command. A processor implementing the operations of method 960 may act as a TE for AT command / response exchanges with a modem processor (e.g., 212, 252, 402) of a wireless device that may act as an MT via an AT interface (e.g., 226, 250, 264, 420).
[0128] In block 962, the processor may perform operations including receiving a bit rate recommendation response from a modem processor of the wireless device via the AT interface, the bit rate recommendation response including at least an indication of the bit rate recommendation. In some embodiments, a response that is a bit rate recommendation response may be transmitted from the MT to the TE as an unsolicited result code, including the bit rate recommendation value provided by the MT in the form of an unsolicited notification. As a particular example, a response that is an unsolicited notification of a bit rate recommendation may be transmitted as "+CGBRR[ <recmbitrate>" In this example, " <recmbitrate>" may be an indication of a bitrate recommendation, such as a bitrate recommendation (eg, in kbit / s).
[0129] At block 606, the processor may perform the operations discussed with reference to similarly numbered blocks of method 600 (FIG. 6) to control the streaming service based at least in part on the bitrate recommendation indication.
[0130] Various embodiments may be implemented on various wireless network devices, an example of which is shown in FIG. 10 in the form of a wireless network computing device 1000 that functions as a network element of a communications network, such as a base station (e.g., base stations 110a-110d, 350, etc.). Such a network computing device may include at least the components shown in FIG. 10. With reference to FIGS. 1A-10, network computing device 1000 may typically include a processor 1001 coupled to volatile memory 1002 and large-capacity non-volatile memory, such as a disk drive 1003. Network computing device 1000 may also include a peripheral memory access device, such as a floppy disk drive, compact disk (CD), or digital video disk (DVD) drive 1006, coupled to processor 1001. Network computing device 1000 may also include a network access port 1004 (or interface) coupled to processor 1001 for establishing data connections with networks, such as the Internet and / or local area networks coupled to other system computers and servers. Network computing device 1000 may include one or more antennas 1007 for transmitting and receiving electromagnetic radiation, which may be connected to a wireless communications link. Network computing device 1000 may include additional access ports, such as USB, Firewire, Thunderbolt, etc., for coupling to peripherals, external memory, or other devices.
[0131] Various embodiments may be implemented on various wireless devices (e.g., wireless devices 120a-120e, 152, 154, 200, 320, 400), an example of which is shown in FIG. 11 in the form of a smartphone 1100. With reference to FIGS. 1A-11 , the smartphone 1100 may include a first SOC 202 (e.g., a SOC-CPU) coupled to a second SOC 204 (e.g., a 5G-enabled SOC). The first SOC 202 and the second SOC 204 may be coupled to internal memory 1106, 1116, a display 1112, and a speaker 1114. Additionally, the smartphone 1100 may include an antenna 1104 for transmitting and receiving electromagnetic radiation, which may be connected to a wireless data link and / or a cellular telephone transceiver 266, coupled to one or more processors in the first SOC 202 and / or second SOC 204. Smartphone 1100 also typically includes menu selection buttons or rocker switches 1120 for receiving user input.
[0132] The typical smartphone 1100 also includes a voice encoding / decoding (CODEC) circuit 1110 that digitizes sound received from the microphone into data packets suitable for wireless transmission and decodes the received sound data packets to generate analog signals that are provided to a speaker to generate sound. One or more of the processors, wireless transceiver 266, and CODEC circuit 1110 in the first SOC 202 and second SOC 204 may also include digital signal processor (DSP) circuitry (not separately shown).
[0133] The processors of the wireless network computing device 1000 and the smartphone 1100 may be any programmable microprocessor, microcomputer, or one or more multi-processor chips that can be configured by software instructions (applications) to perform various functions, including those of the various embodiments described below. In some mobile devices, multiple processors may be provided, such as one processor in the SOC 204 dedicated to wireless communication functions and one processor in the SOC 202 dedicated to running other applications. Typically, software applications may be stored in memory 1106, 1116 before being accessed and loaded into the processor. The processors may include sufficient internal memory to store application software instructions.
[0134] As used herein, terms such as “component,” “module,” and “system” are intended to include, but are not limited to, computer-related entities, such as hardware, firmware, a combination of hardware and software, software, or software in execution, configured to perform particular operations or functions. For example, a component may be, but is not limited to, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and / or a computer. By way of example, both an application running on a wireless device and the wireless device may be referred to as a component. One or more components may reside within a process and / or thread of execution, and a component may reside on one processor or core and / or be distributed among two or more processors or cores. In addition, these components may execute from various non-transitory computer-readable media having various instructions and / or data structures stored thereon. Components may communicate via local and / or remote processes, function or procedure calls, electronic signals, data packets, memory read / writes, and other known network-, computer-, processor-, and / or process-related communication methods.
[0135] Several different cellular and mobile communication services and standards are available or are contemplated in the future, all of which may implement and benefit from various embodiments, such as Third Generation Partnership Project (3GPP), Long Term Evolution (LTE) systems, third generation wireless mobile communication technology (3G), fourth generation wireless mobile communication technology (4G), fifth generation wireless mobile communication technology (5G), Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), 3GSM, General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA) systems (such as cdmaOne, CDMA1020™), Enhanced Data Rates for GSM Evolution (EDGE), Advanced Mobile Phone System (AMPS), Digital AMPS (IS-136 / TDMA), Evolution Data Optimized (EV-DO), Digital Enhanced Cordless Telecommunications (DECT), and others. Telecommunications standards and technologies include, for example, Wi-Fi, Worldwide Interoperability for Microwave Access (WiMAX), Wireless Local Area Network (WLAN), Wi-Fi Protected Access I & II (WPA, WPA2), and Integrated Digital Enhanced Network (iDEN). Each of these technologies involves the transmission and reception of voice, data, signaling, and / or content messages. It should be understood that any reference to terminology and / or technical details relating to a particular telecommunications standard or technology is for illustrative purposes only and does not limit the scope of the claims to any particular communications system or technology unless specifically recited in the claim language.
[0136] The various embodiments shown and described are provided merely as examples to illustrate various features of the claims. However, features shown and described with respect to any given embodiment are not necessarily limited to the associated embodiment and may be used with or combined with other embodiments shown and described. Furthermore, the claims are not limited by any single exemplary embodiment. For example, one or more of the operations of methods 600, 700, 800, 810, 900, 920, 950, and / or 960 may be substituted for or combined with one or more operations of methods 600, 700, 800, 810, 900, 920, 950, and / or 960.
[0137] Example implementations are described in the following paragraphs. Although some of the example implementations below are described in terms of example methods, further example implementations may include example methods discussed in the following paragraphs implemented by a wireless device including a processor configured to perform operations of the example methods, example methods discussed in the following paragraphs implemented by a wireless device including a modem processor configured to perform operations of the example methods, example methods discussed in the following paragraphs implemented by a wireless device including means for performing the functions of the example methods, and example methods discussed in the following paragraphs implemented as a non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor of a wireless device or a modem processor to perform operations of the example methods.
[0138] [Example 1] A method for providing streaming service assistance executed by a processor of a wireless device, the method comprising: sending, via an AT interface, an AT command to a modem processor of the wireless device, the AT command being a bitrate recommendation action command for the streaming service, the bitrate recommendation action command including at least an indication of a stream identifier, an indication of a requested bit rate, and an indication of a direction; receiving, via the AT interface, a response from the modem processor of the wireless device, the bitrate recommendation response being a bitrate recommendation response, the bitrate recommendation response including at least an indication of the stream identifier, an indication of a bitrate recommendation, and an indication of a direction; and controlling the streaming service based at least in part on the bitrate recommendation indication.
[0139] [Example 2] The method of Example 1, wherein the indication of the stream identifier is an indication of an EPS bearer for a streaming service.
[0140] [Example 3] The method of Example 1, wherein the indication of the stream identifier is an indication of a PDU session for a streaming service.
[0141] [Example 4] The method described in Example 3, wherein the bitrate recommendation action command further includes an indication of a QoS flow of the PDU session for the streaming service, and the bitrate recommendation response further includes an indication of a QoS flow of the PDU session for the streaming service.
[0142] [Example 5] The method of any one of Examples 1 to 4, wherein the direction is an indication of uplink or downlink.
[0143] [Example 6] The method of any of Examples 1 to 5, further comprising sending an AT command, the AT command being a test command, to a modem processor of the wireless device via an AT interface.
[0144] [Example 7] The method of any of Examples 1 to 6, further comprising: sending, via the AT interface, an AT command to a modem processor of the wireless device, the AT command being a second bit rate recommendation action command, the second bit rate recommendation action command including at least an indication of a stream identifier, an indication of a requested bit rate, and an indication of a direction.
[0145] [Example 8] The method of Example 7, further comprising receiving, via the AT interface, a response from the modem processor of the wireless device, the response being an error code indicating that the second bit rate recommendation action command was sent prematurely.
[0146] [Example 9] The method described in Example 8, wherein the response via the AT interface, which is an error code, includes a retry-after parameter.
[0147] [Example 10] The method of Example 7, further comprising receiving, via the AT interface, a response from a modem processor of the wireless device, the response being a second bit rate recommendation response, the second bit rate recommendation response including at least an indication of a stream identifier, an indication of a bit rate recommendation, an indication of a direction, and an indication of a time when a network assistance response associated with the indication of the bit rate recommendation was received by the modem processor.
[0148] [Example 11] The method of Example 7, further comprising determining that the bit rate recommendation indication is still valid in response to non-receive of a response from the modem processor to the AT command, which is the second bit rate recommendation action command.
[0149] [Example 12] A method as described in any of Examples 1 to 11, wherein the step of controlling the streaming service based at least in part on the bitrate recommendation indication includes the steps of converting the bitrate recommendation indication into an application-level bitrate value, and controlling the streaming service based at least in part on the application-level bitrate value.
[0150] [Example 13] A method for providing streaming service assistance performed by a modem processor of a wireless device, comprising: receiving, via an AT interface, an AT command from another processor of the wireless device, the AT command being a bitrate recommendation action command for a streaming service, the bitrate recommendation action command including at least an indication of a first stream identifier, an indication of a requested bit rate, and an indication of a direction; and, in response to receiving the AT command from the other processor of the wireless device, the bitrate recommendation action command, receiving a LC associated with the second stream identifier and the indication of the first stream identifier. determining a bit rate recommendation via an AT interface to another processor of the wireless device, the bit rate recommendation response, wherein the response includes at least an indication of the first stream identifier, an indication of the bit rate recommendation, and an indication of a direction.
[0151] [Example 14] The method described in Example 13, wherein the indication of the first stream identifier is an indication of an EPS bearer for a streaming service.
[0152] [Example 15] The method described in Example 13, wherein the indication of the first stream identifier is an indication of a PDU session for a streaming service.
[0153] [Example 16] The method described in Example 15, wherein the bitrate recommendation action command further includes an indication of a QoS flow of the PDU session for the streaming service, and the bitrate recommendation response further includes an indication of a QoS flow of the PDU session for the streaming service.
[0154] [Example 17] A method according to any one of Examples 13 to 16, wherein the direction is an indication of uplink or downlink.
[0155] [Example 18] The method of any one of Examples 13 to 17, further comprising: receiving, via the AT interface, an AT command that is a test command from another processor of the wireless device; and transmitting, via the AT interface, a response indicating that the bit rate recommendation is supported.
[0156] [Example 19] A method as described in any of Examples 13 to 17, further comprising: starting a response timer in response to receiving an AT command from another processor of the wireless device, the AT command being a bit rate recommendation action command; receiving, via the AT interface, an AT command from another processor of the wireless device, the AT command being a second bit rate recommendation action command, the second bit rate recommendation action command including at least an indication of a first stream identifier, an indication of a requested bit rate, and an indication of a direction; determining whether the second bit rate recommendation action command is received before the response timer expires; and taking a bit rate request frequency limiting action in response to determining that the second bit rate recommendation action command is received before the response timer expires.
[0157] [Example 20] The method described in Example 19, wherein the bit rate request frequency limiting action includes sending, via the AT interface, a response to another processor in the wireless device that is an error code indicating that the second bit rate recommendation action command was sent early.
[0158] [Example 21] The method described in Example 20, wherein the response that is an error code includes a retry-after parameter.
[0159] [Example 22] The method of Example 19, wherein the bit rate request frequency limiting action includes transmitting, via the AT interface, a response to another processor of the wireless device that is a second bit rate recommendation response, the second bit rate recommendation response including at least an indication of the first stream identifier, an indication of the bit rate recommendation, an indication of a direction, and an indication of a time when the network assistance response was received from a base station of the RAN.
[0160] [Example 23] The method of Example 19, wherein the bit rate request frequency limiting action includes a step of not sending a response to an AT command that is a second bit rate recommendation action command.
[0161] [Example 24] A method as described in any of Examples 13 to 23, wherein the step of determining a bit rate recommendation in response to receiving a network assistance response from a base station of the RAN includes converting the bit rate recommendation indicated in the network assistance response from the base station of the RAN into an application level bit rate value, and the bit rate recommendation indication in the bit rate recommendation response is an application level bit rate value.
[0162] [Example 25] A method for providing streaming service assistance executed by a processor of a wireless device, the method comprising: receiving, via an AT interface, a bit rate recommendation response from a modem processor of the wireless device, the bit rate recommendation response including at least an indication of a bit rate recommendation for the streaming service; and controlling the streaming service based at least in part on the indication of the bit rate recommendation.
[0163] [Example 26] The method of Example 25, wherein the bit rate recommendation response includes an unsolicited response code.
[0164] [Example 27] The method of Example 25, wherein the bit rate recommendation response is received subsequent to sending the bit rate recommendation to the modem processor via the AT interface.
[0165] [Example 28] The method of Example 26, further comprising sending, via the AT interface, an AT command to a modem processor of the wireless device to subscribe to the unsolicited bit rate recommendation response prior to receiving the bit rate recommendation response.
[0166] [Example 29] A method for providing streaming service assistance performed by a modem processor of a wireless device, the method comprising: receiving a network assistance response from a base station of a RAN; determining a bit rate recommendation in response to receiving the network assistance response from the base station of the RAN; and transmitting the bit rate recommendation response via an AT interface to another processor of the wireless device, the bit rate recommendation response including at least an indication of the bit rate recommendation.
[0167] [Example 30] The method described in Example 29, wherein the bit rate recommendation response includes an unsolicited response code.
[0168] [Example 31] The method of Example 30, further comprising receiving, via the AT interface, an AT command from another processor of the wireless device to subscribe to the unsolicited bit rate recommendation response prior to transmitting the bit rate recommendation response.
[0169] [Example 32] The method of any one of Examples 1 to 31, wherein the modem processor is a fifth generation (5G) modem processor.
[0170] The above method descriptions and process flow diagrams are provided as illustrative examples only and do not require or imply that the operations of the various embodiments must be performed in the order presented. As will be appreciated by one of ordinary skill in the art, the order of operations in the above-described embodiments may be performed in any order. Terms such as "then," "then," and "next" do not limit the order of operations; rather, these terms are used to guide the reader through the method descriptions. Furthermore, any reference to claim elements in the singular, for example, using the articles "a," "an," or "the," should not be construed as limiting the element to the singular.
[0171] The various illustrative logical blocks, modules, components, circuits, and algorithmic operations described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or a combination of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and operations have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the particular application and design constraints imposed on the overall system. Those skilled in the art may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the claims.
[0172] The hardware used to implement the various exemplary logic, logic blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed using general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs) or other programmable logic devices, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but alternatively, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of receiver smart objects, e.g., a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Alternatively, some operations or methods may be performed by circuitry specific to a given function.
[0173] In one or more embodiments, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions or code on a non-transitory computer-readable or processor-readable storage medium. The operations of a method or algorithm disclosed herein may be embodied in a processor-executable software module or processor-executable instructions, which may reside on a non-transitory computer-readable or processor-readable storage medium. A non-transitory computer-readable or processor-readable storage medium may be any storage medium that can be accessed by a computer or processor. By way of example and not limitation, such non-transitory computer-readable or processor-readable storage medium may include RAM, ROM, EEPROM, FLASH memory, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage smart objects, or any other medium that may be used to store desired program code in the form of instructions or data structures and that may be accessed by a computer. As used herein, disk and disc include compact discs (CDs), laser discs, optical discs, digital versatile discs (DVDs), floppy disks, and Blu-ray discs, where disks typically reproduce data magnetically and discs reproduce data optically using lasers. Combinations of the above are also included within the scope of non-transitory computer-readable medium and non-transitory processor-readable medium. Furthermore, the operations of a method or algorithm may reside as one or any combination or set of code and / or instructions on a non-transitory processor-readable storage medium and / or a non-transitory computer-readable storage medium, which may be incorporated into a computer program product.
[0174] The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the claims. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments without departing from the scope of the claims. Thus, the present disclosure is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the following claims and the principles and novel features disclosed herein. [Explanation of symbols]
[0175] 100 Communication Systems 102a Macrocell 102b Picocell 102c Femtocell 110a Base Station (BS), Macro Base Station 110b Base Station (BS) 110c Base Station (BS) 110d Base station (BS), relay BS, relay station 120a~120e Wireless Devices 122 Wireless Communication Links 124 Wireless Communication Link, Sidelink Channel 126 wired or wireless communication links 130 Network Controller 140 Core Network, Communication Network 150 live uplink media streams, media streams 152 Wireless Devices 153 RAN 154 Wireless Devices, FLUS Sync 155 FLUS Sauce 160 Boost Request 162 Recommended Bitrate Query MAC CE 164 recommended bit rate MAC CE 166 bit rate instructions 200 Computing and Wireless Modem Systems, Wireless Devices, SIP 202 SOC, 1st SOC 204 SOC, 2nd SOC, SIM 206 Clock 208 Voltage Regulator 210 Digital Signal Processor (DSP), Processor 212 modem processor, processor 214 Graphics Processor, Processor 216 Application Processor (AP), Processor 218 Coprocessor, Processor 220 Memory, memory elements 222 Custom Circuit Configuration 224 System Components and Resources 226 Interconnect / Bus Module, AT Interface 230 Temperature Sensor 232 Thermal Management Unit 234 Thermal Power Envelope Components 250 Interconnect / Bus Modules, AT Interface 252 5G modem processor, processor 254 Power Management Unit 256 mmWave transceiver 258 memory 260 additional processors, processors 264 Interconnect / Bus Module, AT Interface 266 Wireless Transceivers, Wireless Data Links and Cellular Telephone Transceivers 300 Software Architecture 302 Non-Access Layer (NAS) 304 Access Layer (AS) 306 Physical Layer (PHY) 308 Medium Access Control (MAC) Sublayer 310 Radio Link Control (RLC) Sublayer 312 Packet Data Convergence Protocol (PDCP) Sublayer 313 Radio Resource Control (RRC) sublayer, RRC sublayer 314 Host Layer 316 Hardware Interface 320 Wireless Devices 350 base station 360 Streaming Service Application Features 362 Media Session Handler Functions 400 Wireless Devices 402 RAN modem, modem processor 403 Application Processor, Processor 404 Media Session Handler 420 AT interface 600 ways 700 methods 800 ways 810 method 900 ways 920 method 950 method 960 method 1000 Network computing device, wireless network computing device 1001 processor 1002 Volatile Memory 1003 disk drive 1004 Network Access Port 1006 Digital Video Disc (DVD) Drive 1007 Antenna 1100 smartphones 1104 Antenna 1106 Internal memory, memory 1110 Voice coding / decoding (codec) circuit 1112 Display 1114 Speaker 1116 Internal memory, memory 1120 Menu selection button or rocker switch< / recmbitrate> < / recmbitrate> < / recmbitrate> < / recmbitrate> < / cid> < / direction> < / cid> < / recmbitrate> < / cid> < / direction> < / recmbitrate> < / cid> < / direction> < / cid> < / recmbitrate> < / cid> < / direction> < / recmbitrate> < / cid> < / cid> < / direction> < / reqbitrate> < / cid> < / reqbitrate> < / cid> < / direction> < / cid> < / reqbitrate> < / cid> < / direction> < / reqbitrate> < / cid> < / direction> < / cid> < / reqbitrate> < / cid> < / direction> < / reqbitrate> < / cid> < / recmbitrate> < / cid> < / recmbitrate> < / cid> < / direction> < / cid> < / recmbitrate> < / cid> < / direction> < / recmbitrate> < / cid> < / direction> < / cid> < / recmbitrate> < / cid> < / direction> < / recmbitrate> < / cid> < / reqbitrate> < / cid> < / direction> < / cid> < / reqbitrate> < / cid> < / direction> < / reqbitrate> < / cid> < / direction> < / cid> < / reqbitrate> < / cid> < / direction> < / reqbitrate> < / cid> < / reporting> < / reporting> < / reporting> < / direction> < / cid> < / recmbitrate> < / cid> < / reporting> < / reporting> < / direction> < / recmbitrate> < / cid> < / direction> < / reqbitrate> < / cid> < / reqbitrate> < / cid> < / direction> < / err> < / direction> < / cid> < / recmbitrate> < / cip> < / reqbitrate> < / cid> < / direction> < / recmbitrate> < / cid> < / direction> < / reqbitrate> < / cid> < / reporting> < / reporting> < / reporting> < / reporting> < / reporting> < / err> < / direction> < / cid> < / reporting> < / direction> < / recmbitrate> < / cid> < / reporting> < / cid> < / direction> < / cid> < / reqbitrate> < / cid> < / direction> < / reqbitrate> < / cid> < / err> < / cid> < / cid> < / direction> < / cid> < / reqbitrate> < / cid> < / direction> < / reqbitrate> < / cid> < / recmbitrate> < / cid> < / recmbitrate> < / recmbitrate> < / reqbitrate> < / recmbitrate> < / reqbitrate> < / recmbitrate> < / reqbitrate> < / cid> < / direction> < / reqbitrate> < / cid> < / recmbitrate> < / recmbitrate> < / cid> < / direction> < / cid> < / recmbitrate> < / cid> < / direction> < / recmbitrate> < / cid> < / direction> < / cid> < / recmbitrate> < / cid> < / direction> < / recmbitrate> < / cid> < / reqbitrate> < / cid> < / direction> < / cid> < / reqbitrate> < / cid> < / direction> < / reqbitrate> < / cid> < / direction> < / cid> < / reqbitrate> < / cid> < / direction> < / reqbitrate> < / cid>
Claims
1. 1. A method for providing streaming service assistance executed by a modem processor of a wireless device, comprising: receiving, via an attention (AT) interface, an attention (AT) command from another processor of the wireless device, the AT command being a bitrate recommendation action command for a streaming service, the bitrate recommendation action command including at least an indication of a first stream identifier, an indication of a requested bitrate, and an indication of a direction; In response to receiving the AT command from the other processor of the wireless device, the AT command being a bit rate recommendation action command, determining a logical channel identifier (LCID) associated with the indication of a second stream identifier and the first stream identifier; sending a network assistance request to a base station of a Radio Access Network (RAN) including the second stream identifier and the LCID; receiving a Network Assistance Response from the base station of the RAN, the Network Assistance Response including the second stream identifier and the LCID; determining a bit rate recommendation in response to receiving the network assistance response from the base station of the RAN; transmitting a response via the AT interface to the other processor of the wireless device, the response being a bit rate recommendation response, the bit rate recommendation response including at least the indication of the first stream identifier, the bit rate recommendation indication, and the indication of the direction; A method comprising:
2. 2. The method of claim 1, wherein the indication of the first stream identifier is an indication of an Evolved Packet System (EPS) bearer for the streaming service.
3. the indication of the first stream identifier is an indication of a protocol data unit (PDU) session for the streaming service; and the bitrate recommendation action command further includes an indication of a Quality of Service (QoS) flow of the PDU session for the streaming service; the bitrate recommendation response further includes the indication of the QoS flow of the PDU session for the streaming service. The method of claim 1.
4. The method of claim 1 , wherein the direction is an indication of uplink or downlink.
5. starting a response timer in response to receiving the AT command from the other processor of the wireless device, the AT command being a bit rate recommendation action command; receiving, via the AT interface, an AT command from the other processor of the wireless device, the AT command being a second bitrate recommendation action command, the second bitrate recommendation action command including at least the indication of the first stream identifier, the indication of the requested bitrate, and the indication of the direction; determining whether the second bitrate recommendation action command is received before the response timer expires; taking a bitrate request frequency limiting action in response to determining that the second bitrate recommendation action command is received before the response timer expires; The method of claim 1 further comprising:
6. the bit rate request frequency limiting action includes sending a response via the AT interface to the other processor of the wireless device, the response being an error code indicating that the second bit rate recommendation action command was sent early; The method of claim 5 , wherein the response, which is the error code, includes a retry-after parameter.
7. the bitrate request frequency limiting action: transmitting a response to the other processor of the wireless device via the AT interface, the response being a second bit rate recommendation response, the second bit rate recommendation response comprising: the indication of at least the first stream identifier; the indication of the bit rate recommendation; the indication of the direction, and an indication of the time the network assistance response was received from the base station of the RAN; The method of claim 5, further comprising the step of transmitting.
8. The method of claim 5, wherein the bit rate request frequency limiting action includes a step of not sending a response to the AT command that is the second bit rate recommendation action command.
9. wherein said determining the bit rate recommendation in response to receiving the network assistance response from the base station of the RAN comprises converting the bit rate recommendation indicated in the network assistance response from the base station of the RAN into an application level bit rate value; the indication of the bit rate recommendation in the bit rate recommendation response is the application level bit rate value. The method of claim 1.
10. 1. A wireless device, comprising: means for receiving, via an attention (AT) interface, an attention (AT) command from another processor of the wireless device, the AT command being a bitrate recommendation action command for a streaming service, the bitrate recommendation action command including at least an indication of a first stream identifier, an indication of a requested bitrate, and an indication of a direction; means for determining a logical channel identifier (LCID) associated with the indication of a second stream identifier and the first stream identifier in response to receiving the AT command from the other processor of the wireless device, the AT command being a bit rate recommendation action command; means for transmitting a network assistance request including the second stream identifier and the LCID to a base station of a Radio Access Network (RAN); means for receiving a network assistance response from the base station of the RAN, the response including the second stream identifier and the LCID; means for determining a bit rate recommendation in response to receiving the network assistance response from the base station of the RAN; means for transmitting a response to the other processor of the wireless device via the AT interface, the response being a bit rate recommendation response, the bit rate recommendation response including at least the indication of the first stream identifier, the bit rate recommendation indication, and the indication of the direction; wireless devices, including
11. 11. The wireless device of claim 10, wherein the indication of the first stream identifier is an indication of an Evolved Packet System (EPS) bearer for the streaming service.
12. the indication of the first stream identifier is an indication of a protocol data unit (PDU) session for the streaming service; and the bitrate recommendation action command further includes an indication of a Quality of Service (QoS) flow of the PDU session for the streaming service; the bitrate recommendation response further includes the indication of the QoS flow of the PDU session for the streaming service.
11. The wireless device of claim 10.
13. means for starting a response timer in response to receiving the AT command from the other processor of the wireless device, the AT command being a bit rate recommendation action command; means for receiving, via the AT interface, an AT command from the other processor of the wireless device, the AT command being a second bit rate recommendation action command, the second bit rate recommendation action command including at least the indication of the first stream identifier, the indication of the requested bit rate, and the indication of the direction; means for determining whether the second bitrate recommendation action command is received before the response timer expires; means for taking a bitrate request frequency limiting action in response to determining that the second bitrate recommendation action command is received before the response timer expires; The wireless device of claim 10, further comprising:
14. the bit rate request frequency limiting action includes sending a response via the AT interface to the other processor of the wireless device, the response being an error code indicating that the second bit rate recommendation action command was sent prematurely; The wireless device of claim 13 , wherein the response, which is the error code, includes a retry-after parameter.
15. 14. The wireless device of claim 13, wherein the bit rate request frequency limiting action includes transmitting, via the AT interface, a response to the other processor of the wireless device that is a second bit rate recommendation response, the second bit rate recommendation response including at least the indication of the first stream identifier, the indication of the bit rate recommendation, the indication of the direction, and an indication of a time when the Network Assistance Response was received from the base station of the RAN.
16. A wireless device as described in claim 13, wherein the bit rate request frequency limiting action includes not sending a response to the AT command that is the second bit rate recommendation action command.
17. A non-transitory processor-readable medium having stored thereon processor-executable instructions, the processor-executable instructions causing a modem processor of a wireless device to: receiving, via an attention (AT) interface, an attention (AT) command from another processor of the wireless device, the AT command being a bitrate recommendation action command for a streaming service, the bitrate recommendation action command including at least an indication of a first stream identifier, an indication of a requested bitrate, and an indication of a direction; In response to receiving the AT command from the other processor of the wireless device, the AT command being a bit rate recommendation action command, determining a logical channel identifier (LCID) associated with a second stream identifier and the indication of the first stream identifier; sending a network assistance request to a base station of a radio access network (RAN) including the second stream identifier and the LCID; receiving a network assistance response from the base station of the RAN, the response including the second stream identifier and the LCID; determining a bit rate recommendation in response to receiving the network assistance response from the base station of the RAN; transmitting a response to the other processor of the wireless device via the AT interface, the response being a bit rate recommendation response, the bit rate recommendation response including at least the indication of the first stream identifier, the bit rate recommendation indication, and the indication of the direction; 10. A non-transitory processor-readable medium configured to cause a processor to perform operations including:
Citation Information
Patent Citations
communication systems
JP2022526602A
Uplink and downlink streaming bit rate assistance in 4g and 5g networks
US20210120540A1
Communication system
WO2020203446A1