Attention (AT) Interface for Wireless Access Network Bit Rate Recommendation
By using AT commands to exchange bitrate recommendations between processors on a wireless device, the solution addresses the lack of recommended bit rate signaling, enabling effective application-level streaming service assistance and improving streaming quality.
Patent Information
- Application Number
- JP2022580895
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-06-29
- Filing Date
- 2021-06-30
- Publication Date
- 2026-01-20
- Estimated Expiration
- 2041-06-30
AI Technical Summary
Current communication technologies do not support signaling of recommended bit rates for streaming sessions between processors of a wireless device, preventing effective application-level streaming service assistance.
Implementing Attention (AT) commands and responses between a modem processor and another processor of a wireless device to exchange bitrate recommendations, enabling uplink and downlink assistance for streaming services, including AT commands with parameters for identifying media streams and direction, and supporting unsolicited notifications.
Facilitates application-level streaming service assistance by allowing wireless devices to request and receive bitrate recommendations, reducing latency, and supporting high-resolution streaming services by preventing buffer overflow/underflow, thus enhancing streaming quality.
Smart Images

Figure 0007802709000001 
Figure 0007802709000002 
Figure 0007802709000003
Abstract
Description
[Technical Field]
[0001] Related Applications
[0001] 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]
[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 that are orders of magnitude greater (e.g., in terms of gigabits per second) than were available just a few years ago.
[0003] Today's communication networks are also more secure, tolerant to multipath fading, allow for lower network traffic latency, and provide better communication efficiency (e.g., in terms of bits per second per unit of bandwidth used, etc.). 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 and secure communications. Summary of the Invention
[0004]
[0004] Various aspects of the present disclosure include methods, systems, and devices that provide streaming service downlink assistance and / or uplink assistance mechanism 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]
[0005] Various aspects may include a method for providing streaming service assistance implemented by a processor of a wireless computing device. Various aspects may include sending an AT command, the bitrate recommendation action command for a streaming service, over an AT interface to a modem processor of the wireless device; receiving a response on the AT interface, the bitrate recommendation response, from the modem processor of the wireless device, the 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; and controlling the streaming service based at least in part on the bitrate recommendation indication, the bitrate recommendation response including at least the indication of the stream identifier, the indication of the bitrate recommendation, and the indication of the direction. In some aspects, a stream of the streaming service may be associated with a packet data network (PDN) connection. In some aspects, a stream of a streaming service may be associated with a Protocol Data Unit (PDU) session. In some aspects, the AT response may be an unsolicited bit rate recommendation received from a modem processor of the wireless device, the bit rate recommendation including at least an indication of a stream identifier, an indication of a bit rate recommendation, and an indication of a direction.
[0006]
[0006] Some aspects may further include sending an AT command, which is a second bitrate recommendation action command, to a modem processor of the wireless device over the AT interface, 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.
[0007] Some aspects may further include receiving, from the mode processor of the wireless device, a response on the AT interface that is an error code indicating that the second bit rate recommendation action command was sent prematurely. In some aspects, the response that is the error code includes a retry-after parameter.
[0008]
[0008] Some aspects may further include receiving a response on the AT interface from a modem processor of the wireless device, the response being a second bitrate recommendation response, the second bitrate recommendation response including at least an indication of a stream identifier, an indication of the bitrate recommendation, an indication of a direction, and an indication of a time when a network assistance response associated with the indication of the bitrate recommendation was received by the modem processor.
[0009]
[0009] Some aspects may further include determining that the bit rate recommendation indication is still valid in response to not receiving a response from the modem processor to the AT command, which is a second bit rate recommendation action command.
[0010]
[0010] In some aspects, controlling a streaming service based at least in part on the bitrate recommendation indication may include 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.
[0011]
[0011] In some aspects, the modem processor of the wireless device may be a fifth generation (5G) modem processor.
[0012]
[0012] 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 the 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 modem 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-on-chip or system in a package including two system-on-chips for use in a wireless device including processors configured to perform one or more operations of any of the methods summarized above.
[0013]
[0013] The accompanying drawings, which are incorporated in and form part of this specification, illustrate exemplary embodiments of the claims and, together with the general description given above and the detailed description given below, serve to explain the features of the claims. [Brief explanation of the drawings]
[0014] [Figure 1A]
[0014] FIG. 1 is a system block diagram illustrating an exemplary communication system suitable for implementing any of the various embodiments. [Figure 1B]
[0015] FIG. 1 is a system block diagram illustrating example communications for supporting streaming service support in a communication system. [Figure 2]
[0016] 1 is a component block diagram illustrating an exemplary computing and wireless modem system suitable for implementing any of the various embodiments. [Figure 3]
[0017] FIG. 1 illustrates an example software architecture including radio protocol stacks for user and control planes in wireless communications, in accordance with various embodiments. [Figure 4A]
[0018] Component block diagram illustrating a system configured to provide downlink streaming service support in a 5GS network, in accordance with various embodiments. [Figure 4B]
[0019] Component block diagram illustrating a system configured to provide uplink streaming service support in a 5GS network, in accordance with various embodiments. [Figure 5]
[0020] 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]
[0021] 1 is a process flow diagram illustrating a method implemented by a processor of a wireless device for providing streaming service assistance, according to various embodiments. [Figure 7]
[0022] 1 is a process flow diagram illustrating a method implemented by a modem processor of a wireless device for providing streaming service support, according to various embodiments. [Figure 8A]
[0023] 1 is a process flow diagram illustrating a method implemented by a processor of a wireless device for providing streaming service assistance, according to various embodiments. [Figure 8B]
[0024] 1 is a process flow diagram illustrating a method implemented by a modem processor of a wireless device for providing streaming service support, according to various embodiments. [Figure 9A]
[0025] 1 is a process flow diagram illustrating a method implemented by a processor of a wireless device for providing streaming service assistance, according to various embodiments. [Figure 9B]
[0026] 1 is a process flow diagram illustrating a method implemented by a modem processor of a wireless device for providing streaming service support, according to various embodiments. [Figure 9C]
[0027] 1 is a process flow diagram illustrating a method implemented by a modem processor of a wireless device for providing streaming service support, according to various embodiments. [Figure 9D]
[0028] 1 is a process flow diagram illustrating a method implemented by a processor of a wireless device for providing streaming service assistance, according to various embodiments. [Figure 10]
[0029] FIG. 1 is a component block diagram of a network computing device suitable for use with the various embodiments. [Figure 11]
[0030] FIG. 1 is a component block diagram of a wireless device suitable for use with the various embodiments. DETAILED DESCRIPTION OF THE INVENTION
[0015]
[0031] Various embodiments will be described in detail with reference to the accompanying drawings. Wherever 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.
[0016]
[0032] Various embodiments provide a method that may provide streaming service downlink and / or uplink assistance for a wireless device using AT commands and responses exchanged between a modem processor of the wireless device and another processor of the wireless device over an attention (AT) interface. Various embodiments may enable signaling between processors on a wireless device of a recommended bitrate (uplink or downlink recommended bitrate) for a streaming session on the wireless device, such as between a processor of the wireless device executing a streaming service application and a 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 bitrate, and an indication of a direction. Some embodiments may include receiving a response over the AT interface that is a bitrate recommendation response, the bitrate recommendation response including an indication of the stream identifier, an indication of the bitrate recommendation, and an indication of a direction. In some embodiments, the response over the AT interface that is a bitrate recommendation response may be a response by the modem processor to a previous AT command received from another processor over the AT interface that is a bitrate recommendation action command for the streaming service. In some embodiments, the response on 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 related to a specific AT command bit rate request previously sent to the modem processor. The unsolicited bit rate recommendation may include an unsolicited result code.
[0017]
[0033] 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, smart jewelry (e.g., smart rings, smart bracelets, etc.), entertainment devices (e.g., wireless gaming controllers, music and video players, satellite radio, etc.), wireless network-enabled Internet of Things (IoT) devices including smart meters / sensors, industrial manufacturing equipment, large and small machines and appliances for home or 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 that include memory, wireless communication components, and a programmable processor.
[0018]
[0034] The term "system on a chip" (SOC) is used herein to refer to a single integrated circuit (IC) chip containing multiple resources and / or processors integrated on a single substrate. A single SOC may include circuitry 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 and for controlling peripheral devices.
[0019]
[0035] 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 unified 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 in a single wireless device. The proximity of the SOCs facilitates high-speed communication and sharing of memory and resources.
[0020]
[0036] 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., a central processing unit (CPU) core, an internet protocol (IP) core, a graphics processor unit (GPU) core, 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.
[0021]
[0037] Live uplink streaming (LUS) services, such as Facebook® Live, YouTube® Live, Twitch, Periscope, and Instagram Live, can 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. A different category of live uplink streaming service can be professionally produced multimedia content, such as real-time video and audio feeds related to breaking news reports on the field, audio / visual streaming of sporting events produced by venue-based cameras, etc. 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 can support the upstream and / or downlink distribution of media content in LUS services.
[0022]
[0038] Network assistance may be a feature supported for streaming services. Network assistance may enable a wireless device to query a Network Assistance Service (NAssS) whether a higher bit rate in wireless reception or transmission (called “boost”) can be supported, 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 requesting DL network assistance (DNA), and a wireless device sending streaming content on the uplink (UL) may be referred to as requesting uplink network assistance (UNA). Boosting may be desirable to prevent a 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. Furthermore, wireless reception or transmission of higher bit rates may reduce latency in streaming services, and wireless reception or transmission of higher bit rates 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 the wireless device inquiring whether an increase in bit rate is supported by the radio access network (RAN) (e.g., a boost request) or a message sent by the wireless device inquiring about a recommended bit rate (uplink or downlink recommended bit rate) for a streaming session.As a particular example, the network assistance request may be an Access Network Bitrate Recommendation Query (ANBRQ) message defined for Multimedia Telephone Service for Internet Protocol (IP) Multimedia Subsystem (IMS) (MTSI), the network assistance request may be a Recommended Bitrate Query Medium Access Control (MAC) Control Element (CE) (MAC CE) 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 a bitrate increase (e.g., boost status). As a particular example, the network assistance response may be an Access Network Bitrate Recommendation (ANBR) message defined for MTSI, the network assistance response may be a Recommended Bitrate MAC CE defined for LTE and 5G NR, etc.
[0023]
[0039] Although 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.
[0024]
[0040] Methods, systems, and devices of various embodiments provide streaming service support on wireless devices, such as wireless devices requesting DNA and wireless devices requesting UNA. Various embodiments enable the exchange of uplink and / or downlink bitrate recommendation requests, responses, and / or notifications between processors of the wireless device itself, such as between a processor of the wireless device executing a streaming service application and a modem processor of the wireless device. Various embodiments may enable attention (AT) commands and / or responses related to uplink and / or downlink bitrate recommendation requests, responses, and / or notifications to be exchanged between processors of the wireless device. In some embodiments, the modem processor and other processors of the wireless device may exchange AT commands and / or responses with each other via an AT interface. As used herein, “AT interface” refers to any connection, bus, or other type of communication path over which one processor may exchange AT commands and / or responses with another processor. In some embodiments, the processor of the wireless device executing a streaming service application may act as terminal equipment (TE) for sending / receiving AT commands related to uplink and / or downlink bitrate 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 Termination (MT) to send / receive AT commands related to 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.
[0025]
[0041] In various embodiments, notifications such as AT commands, solicited responses to AT commands, and / or unsolicited responses to AT commands associated with uplink and / or downlink bit rate recommendation requests may include parameters (e.g., logical channel identifiers (LCIDs), etc.) for unambiguously identifying the 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.) sent / received by a RAN modem processor, such as a 5G modem processor, an LTE modem processor, to / from a RAN, such as an LTE RAN, a 5G NR RAN, etc., pertains. With respect to LTE systems, a stream as used herein may relate to an LTE packet data network (PDN) connection. With respect to 5G systems, a stream as used herein may relate to a protocol data unit (PDU) session.
[0026]
[0042] 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 related to 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 implement the uplink and / or downlink bit rate recommendation request, response, and / or notification functionality. 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.
[0027]
[0043] Various embodiments may provide an AT command interface for bitrate requests, recommendations, and / or notifications. In some embodiments, AT commands and responses for bitrate requests, recommendations, and / or notifications may employ extended command and +C syntax for command prefixes related to 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 bitrate 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 that executes 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 a 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 for receipt of unsolicited result code AT commands.
[0028]
[0044] 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."
[0029]
[0045] 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 the aggregate requested bitrate of an ensemble of QoS flows in a PDU session, the requested bitrate of an EPS bearer, the sum of the bitrates for a particular application data and / or for a particular QoS flow of interest within 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 value specifying a stream identifier, such as a particular PDU session definition, <reqbitrate>" should 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 an ensemble of QoS flows in a PDU session referenced by " <direction>" may be an indication of direction, such as "UL" or "DL" for a bitrate request. In some embodiments, an 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 value specifying a stream identifier, such as a particular PDU session definition, <reqbitrate>" should 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 an ensemble of QoS flows in a PDU session referenced by " <direction>" may be a direction indication, such as "UL" or "DL" for bitrate requests, and "<p_cid> "teeth," <cid>" may be an integer value that specifies a particular QoS flow within the PDU session referenced by ". <reqbitrate>Aggregate requested bit rate for specific application data and / or within a PDU session (e.g., boosted or increased bit rate requested)<p_cid> The bit rate may represent the sum of the desired bit rate for a particular QoS flow of interest, such as the QoS flow specified by, and the bit rates of all other application data and / or QoS flows in that PDU session that are not of interest.
[0030]
[0046] In some embodiments, the bitrate response may be a response to an AT command sent over the AT interface 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 operation of an ensemble of QoS flows in a PDU session, a bitrate recommendation for streaming operation 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 be "+CGBRR= <cid> , <recmbitrate> , <direction>" In this example, " <cid>" may be an integer value specifying a 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 an ensemble of QoS flows in the PDU session referenced by " <direction>" may be an indication of direction, such as "UL" or "DL" for a bit rate response. In some embodiments, a response on 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 on an AT interface that is a bit rate recommendation response that includes an indication of a particular QoS flow within the PDU session may be "+CGBRR= <cid> , <recmbitrate> , <direction>[,<p_cid> In this example, <cid>" may be an integer value specifying a 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 an ensemble of QoS flows in the PDU session referenced by " <direction>" may be a directional indication, such as "UL" or "DL" for bitrate response, and "<p_cid> "teeth," <cid>" may be an integer value that specifies a particular QoS flow within the PDU session referenced by ". In some embodiments, a response that is a bitrate recommendation response may be sent from the MT to the TE in response to the TE sending an AT command that is a bitrate recommendation action command to the MT.
[0031]
[0047] In some embodiments, a response on the AT interface that is a bit rate recommendation response may be sent from the MT to the TE as an unsolicited result code that includes the bit rate recommendation provided by the MT in the form of an unsolicited notification. As a specific example, a response on the AT interface that is an unsolicited notification of a bit rate recommendation may be sent as "+CGBRR[ <recmbitrate>In this example, <recmbitrate>" may be an indication of a bitrate recommendation, such as a bitrate recommendation (eg, in kbit / s).
[0032]
[0048] 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 regarding 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 compound 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 an 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 responses that are bitrate recommendation responses in order to support unsolicited notification of bitrate recommendation implemented in the form of an unsolicited result code.
[0033]
[0049] 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 per logical channel and direction. 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 per logical channel and direction. 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 ANBRQ message frequency limit 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 an initial 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 or an identifier of an EPS bearer, 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 wall-clock time when a network assistance response, such as an ANBR message, was received from the RAN that corresponded to the latest bitrate recommendation.In one embodiment, the MT may take no action in response to the TE sending a successive bitrate recommendation action command before the response timer expires. In some embodiments, the TE may be configured to interpret the absence of a response from the MT to a bitrate recommendation action command as an indication that the last bitrate recommendation sent by the MT is still valid.
[0034]
[0050] In various embodiments, the streams, such as QoS flows, EPS bearers, etc., may be mapped to RAN Layer 2 (L2) parameters. In various embodiments, the TE (e.g., an application running 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.) the streams (e.g., QoS flows, EPS bearers, etc.) corresponding to the media streaming application flows for which a bitrate recommendation or boost is desired. As an example, the application may use the 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)), associated PDU session identifier, and requested streaming bit rate corresponding to the media streaming application flow for which a bit rate recommendation or boost is desired.
[0035]
[0051] In various embodiments, the modem processor receiving the bitrate recommendation action command may add a stream identifier (e.g., " )" to the internally referenced PDU session and associated LCID in the recommended bitrate MAC CE used in the bitrate recommendation query / response / notification interaction with the RAN. <cid>" value).
[0036]
[0052] In various embodiments, upon wireless device establishment of 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 in the PDU session, an associated QFI and QoS profile, which may be provided to a base station to which the wireless device is camped, such as an eNB or gNB, via an access and mobility management function (AMF). There may be a one-to-one correspondence between RAN L2 parameters for the LCID, data radio bearer (DRB) identifier (DRB ID), and QFI, and radio resource control (RRC) parameters 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 configuration. As a result, 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 flow(s) to a DRB for bit rate recommendation processing.
[0037]
[0053] 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 requested bit rate in the ANBRQ may be the same as the application requested bit rate in the AT command +CGBRR. <reqbitrate>Similarly, in an AT response <recmbitrate>The ANBRQ / ANBR message may not be the same as the ANBR returned from the RAN. The reason for the 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 an application layer bit rate (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)) operations). In some embodiments, the modem may use the values in the ANBRQ / ANBR message and the values in the AT command <reqbitrate> / <recmbitrate>to account for differences in the protocol layer references of these messages. In some embodiments, the media session handler may perform the conversion / mapping between MAC and application-level bitrate values. For example, the media session handler may obtain information from the modem of additional QoS flows (competing for the RAN bitrate represented by ANBR) and their bitrate requirements, as well as upper layer transport overhead, and from the media player (in the case of DL streaming) of the operation points of other application flows sent in the same PDU session to support the conversion / mapping between MAC and application-level bitrate values.
[0038]
[0054] 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 a QFI or QoS flow of interest (e.g., for which a boost or increased bitrate has been requested) from a bitrate recommendation in a response received on 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 bit rate recommendation (e.g., in kbit / s) for an ensemble of QoS flows in a PDU session, such as a PDU session referenced by ", specific application data, and / or (e.g., a boosted or increased bit rate requested)<p_cid> The recommended bit rate (e.g., boosted or increased bit rate) for a particular QoS flow of interest, such as the QoS flow specified by ", may be an indication of the aggregate bit rate recommendation for the ensemble of QoS flows in 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. The resulting value may be used to determine the aggregate bit rate recommendation for the particular application data and / or<p_cid> The bit rate may be a recommended bit rate (e.g., a boosted or increased bit rate) for a particular QoS flow of interest, such as a QoS flow specified by
[0039]
[0055] In some embodiments, the bit rate request may be an AT command that is a bit rate recommendation action command sent over the AT interface from the processor of the wireless device to the RAN modem of the wireless device 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 a PDN connection or PDU session may be an AT command that includes an indication of a stream identifier, such as an identifier of the PDU session, 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, etc., 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 value specifying a stream identifier, such as a particular PDU session or PDN connection, <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 value that specifies the QFI of a particular QoS flow within the PDU session identified by ".
[0040]
[0056] In response to receiving an AT command that may be a bit rate request for triggering a MAC CE, the modem processor may request a bit rate for 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 triggering, the modem processor may send a "+CME ERROR: <err>" may return a response containing an error code on the AT interface.
[0041]
[0057] In some embodiments, the processor may test the modem processor to determine values for streams, PDN connections, PDU sessions, etc., that may be configured to trigger the modem processor to send a recommended bit rate MAC CE. For example, the processor may send the AT command "+CGBRRREQ=?" as a test command to the modem processor over the AT interface. In response to the test command, in some embodiments, the modem processor may send a response over the AT interface indicating the range of supported streams, the range of supported requested bit rates, the range of supported directions, and the range of supported QFIs for the QoS flows. For example, the modem processor may send the response "+CGBRRREQ:(supported streams)" over 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 value specifying a stream identifier, such as a particular PDU session or PDN connection, <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>" may be an integer value specifying the QFI of a particular QoS flow within the PDU session identified by ". The supported range may be sent as a composite value in the response.
[0042]
[0058] In some embodiments, a processor of the wireless device, such as a processor of the wireless device executing 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 an unsolicited result response from the RAN modem processor of the wireless device, such as an unsolicited bit rate recommendation response or notification from the RAN modem processor. In such embodiments, an AT command with an unsolicited result code may be passed by the RAN modem processor to a processor of the wireless device, such as a processor of the wireless device executing a media session handler that interfaces with an application layer entity of the wireless device, after the processor 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=[" on the AT interface to the modem processor to enable (e.g., subscribe to) reporting of the recommended bit rate received from the RAN in the recommended bit rate MAC CE. <reporting>]" which is an unsolicited result code +CGBRR: <cid> , <recmbitrate> , <direction>[,<p_cid> In this example, you can type " <reporting>" can be an integer, such as "0" meaning that reporting is not enabled, and "1" meaning that reporting is enabled, <cid>" may be an integer identifying the PDN connection or PDU session to which the recommended bit rate applies, <direction>" can be a string type indicating the direction ("UL" or "DL") in which the recommended bitrate applies, and "<p_cid> " may be an integer type indicating the QFI of the QoS flow to which the recommended bit rate applies.
[0043]
[0059] In response to an AT command to subscribe to unsolicited responses from the modem processor, the modem processor may indicate whether reporting of unsolicited bit rate suggestion responses is or is not supported by the modem processor. In some embodiments, when the modem processor does not support sending unsolicited bit rate suggestion responses, the modem processor may return "+CME ERROR: <err>" may indicate an error in the response on the AT interface.
[0044]
[0060] 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>". In this example, " <reporting>" can be an integer type, such as "0" meaning that reporting is not enabled and "1" meaning that reporting is enabled.
[0045]
[0061] In some embodiments, a test command may be sent by the processor over the AT interface to the modem processor 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, which returns the response "CGBRRREP:(supported)" over the AT interface. <reporting>In this example, it can return "(list of supported <reporting>The "list of bit rate recommendations" may be a composite value of all values supported for unsolicited bit rate recommendation responses. <reporting>The value of can be either "0" or "1", and the returned value from MT can simply be one of three possibilities: 1) "0", 2) "1", or 3) both "0" and "1".
[0046]
[0062] In some embodiments, a TE (e.g., an application processor) on a wireless device may trigger a MT (e.g., a modem processor) on the wireless device to return a solicited bit rate recommendation in response to an AT command. For example, the AT command "+CGBRRREQ" may be useful for other embodiments or new AT commands. In this manner, a bit rate recommendation sent from a MT (e.g., a modem processor) of a wireless device to a TE (e.g., an application processor) of the wireless device may be a solicited result.
[0047]
[0063] In some embodiments, a processor of the wireless device, such as a processor of the wireless device executing 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 instructing 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 instructing the RAN modem processor to return to the processor a recommended bit rate value that corresponds 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 instructing the MT to send a query to the RAN and return the result of that query from the RAN to the TE may be "+CGBRR[= <cid> , <reqbitrate> , <direction>,[<p_cid> ]]" and the response sent from the MT to the TE on the AT interface when the MT receives the recommended bit rate MAC CE from the RAN can be "+CGBRR: <cid> , <recmbitrate> , <direction>,[<p_cid> In this example, <cid>" may be an integer 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>" should be mapped by the MT to a recommended bit rate query MAC CE that the MT sends to the RAN. <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 ". Also, in this example, " <recmbitrate>"teeth," <cid>" may be an indication of an aggregate bit rate recommendation (e.g., in kbit / s) for the PDU session or PDN connection referenced by " and 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 value that identifies the QFI of the QoS flow to which the recommended bitrate query or response applies.
[0048]
[0064] In some embodiments, when the modem processor does not support triggered bit rate recommendation responses, the modem processor returns "+CME ERROR: <err>" may indicate an error in the response on the AT interface. 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=?" as a test command to the modem processor. In some embodiments, the test command may request the supported values for direction (e.g., " <direction>" ) along with a list of PDU session or PDN connection identifiers (for example, " <cid>" ), QFI for QoS flows (e.g., "<p_cid> " ), and requested bitrate (e.g., " <reqbitrate>For example, the range may be returned as a composite value. As a specific example, in response to a test command, the MT may return a response "+CGBRR:(supported values)" to the TE over the AT interface. <cid>range), (supported <reqbitrate>range), (supported <direction>), [(list of supported<p_cid> (range of 100 characters) can be sent.
[0049]
[0065] In some embodiments, a processor of a wireless device, such as a processor of a wireless device executing 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 configured 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 over the AT interface. As a particular example, the processor may send an unsolicited result code +CGBRR: <cid> , <recmbitrate> , <direction>[,<p_cid> ] to the modem processor on the AT interface to enable (e.g., subscribe to) reporting of the recommended bit rate received from the RAN in the Recommended Bit Rate MAC CE by the modem processor on the AT interface. <reporting>In this example, " <reporting>" can be an integer, such as "0" meaning that reporting is disabled and "1" meaning that reporting is enabled, and " <cid>" may be an integer identifying the PDN connection or PDU session to which the recommended bit rate applies, <recmbitrate>"teeth," <cid>" and may be an indication of an aggregate bit rate recommendation (e.g., in kbit / s) for a PDU session or PDN connection referenced by " and that corresponds 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, and that is mapped to the most recent recommended bit rate MAC CE that the modem received from the RAN. Also, in this example, " <direction>" can be a string type indicating the direction ("UL" or "DL") in which the recommended bitrate applies, and "<p_cid> " may be an integer indicating the QFI of the QoS flow to which the recommended bit rate applies. In some embodiments, the read command may be "+CGBRRREP?" <reporting>" may return the current command settings, such as in a response on the AT interface of " <reporting>" may be an integer, such as "0" meaning reporting is disabled and "1" meaning reporting is enabled. In some embodiments, test commands are supported, such as "+CGBRRREP=?" <reporting>The value may be returned as a composite value.
[0050]
[0066] 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 and 5G network elements in the following description are for purposes of explanation and not limitation.
[0051]
[0067] 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) (illustrated in FIG. 1A as wireless devices 120a-120e). Communications system 100 may also include several base stations (illustrated 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 referred to as a Node B, Node B, LTE evolved Node B (eNB), access point (AP), radio head, transmit receive point (TRP), new radio base station (NR BS), 5G Node B (NB), 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 the coverage area of a base station, the coverage area of a base station subsystem serving this coverage area, or a combination thereof, depending on the context in which the term is used.
[0052]
[0068] 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 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.
[0053]
[0069] In some examples, the cells may not be fixed, 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.
[0054]
[0070] The base stations 110a-110d may communicate with the core network 140 via wired or wireless communication links 126. The wireless devices 120a-120e (UE computing devices) may communicate with the base stations 110a-110d via wireless communication links 122.
[0055]
[0071] The wired communication link 126 may use various wired networks (e.g., Ethernet, TV cable, telephone, fiber optic, 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).
[0056]
[0072] The communications system 100 may also include a relay station (e.g., relay BS 110d). A relay station is an entity that can receive a transmission of data from an upstream station (e.g., a base station or a mobile device) and send a transmission of data 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 base station 110a and wireless device 120d to facilitate communication between macro base station 110a and wireless device 120d. A relay station may also be referred to as a relay base station, relay base station, relay, etc.
[0057]
[0073] 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 different susceptibility to 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).
[0058]
[0074] Network controller 130 may couple to a set of base stations and may 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.
[0059]
[0075] 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 referred to as an access terminal, UE, terminal, mobile station, subscriber unit, station, etc.
[0060]
[0076] The macro base station 110a may communicate with the communication network 140 via a wired or wireless communication link 126. The wireless devices 120a, 120b, 120c may communicate with the base stations 110a-110d via a wireless communication link 122.
[0061]
[0077] 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 and 124 may utilize 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 (e.g., 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 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).
[0062]
[0078] 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, 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.
[0063]
[0079] 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 utilizes OFDM with a 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 0.1 ms duration. Each radio frame may consist of 50 subframes with a length of 10 ms. Thus, 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 different air interfaces other than an OFDM-based air interface.
[0064]
[0080] Some mobile devices may be considered machine-type communication (MTC) mobile devices 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-e may be included within a housing that stores components of the wireless device, such as a processor component, a memory component, similar components, or a combination thereof.
[0065]
[0081] 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) in 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.
[0066]
[0082] 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 stations 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, vehicle-to-everything (V2X) protocols (which may include vehicle-to-vehicle (V2V) protocols, vehicle-to-infrastructure (V2I) protocols, or similar protocols), mesh networks, or similar networks, or combinations 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 stations 110a-110d.
[0067]
[0083] 1B is a system block diagram illustrating example communications for supporting streaming service support, such as streaming service support for Framework for Live Uplink Streaming (FLUS) services, in 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 sent from the FLUS source 155 to the FLUS sink 154 via a RAN 153, which may include a base station (e.g., base stations 110a-110d), such as an eNB or gNB, on which the wireless device 152 is camped. The FLUS source 155 of the wireless device 152 may request a higher bit rate for wireless reception or transmission (referred to as a “boost”) in a boost request 160. In response to the boost request 160, the wireless device 152 may send a network assistance request, such as an ANBRQ 162 as a recommended bit rate query MAC CE, to the RAN 153, for example, to an eNB / gNB on which the wireless device 152 is camped on. In response to the network assistance request, the RAN 153, for example, an eNB / gNB on which the wireless device 152 is camped on, may send a network assistance response, such as an ANBR 164 sent as a recommended bit rate MAC CE 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 the bitrate (eg, boost status).
[0068]
[0084] 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).
[0069]
[0085] 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 send and receive wireless communications via an antenna (not shown) to and from a network wireless device, such as a base station 110a. In some embodiments, the first SOC 202 operates as the wireless device's central processing unit (CPU), carrying out 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-volume, high-speed (e.g., 5 Gbps, etc.), and / or very high-frequency, short-wavelength (e.g., 28 GHz mmWave spectrum, etc.) communications.
[0070]
[0086] 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 (e.g., vector coprocessors) 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.
[0071]
[0087] 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). Furthermore, 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.).
[0072]
[0088] The first SOC 202 and the second SOC 204 may include various system components, resources, and custom circuits 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 circuits 222 may also include circuits for interfacing with peripheral devices, such as cameras, electronic displays, wireless communication devices, external memory chips, etc.
[0073]
[0089] 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, 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, an mmWave 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 be provided by an advanced interconnect 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.
[0074]
[0090] The first SOC 202 and / or the second SOC 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.
[0075]
[0091] 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.
[0076]
[0092] FIG. 3 illustrates an example of a software architecture 300 including radio protocol stacks for the user plane and control plane 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). With reference 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). 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 of which may be associated with a different SIM (e.g., two protocol stacks, each 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.
[0077]
[0093] 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 to support packet filtering, security management, mobility control, session management, and traffic and signaling between a wireless device's SIM(s) (e.g., SIM(s) 204) and its core network 140. The AS 304 may include functions and protocols to support communication between a wireless device's SIM(s) (e.g., SIM(s) 204) and supported access network entities (e.g., base stations). In particular, the AS 304 may include at least three layers (Layer 1, Layer 2, and Layer 3), each of which may include various sublayers.
[0078]
[0094] In the user and control planes, Layer 1 (L1) of the AS 304 may be a physical layer (PHY) 306 that 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).
[0079]
[0095] In the user and control planes, Layer 2 (L2) of the AS 304 may be responsible for 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 media access control (MAC) sublayer 308, a radio link control (RLC) sublayer 310, and a packet data convergence protocol (PDCP) 312 sublayer, each of which forms a logical connection that terminates at the base station 350.
[0080]
[0096] In the control plane, Layer 3 (L3) of the AS 304 may include a radio resource control (RRC) sublayer 3. 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.
[0081]
[0097] In various embodiments, the PDCP sublayer 312 may provide uplink functions including multiplexing between different radio bearers and logical channels, sequence number addition, 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.
[0082]
[0098] 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), while 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.
[0083]
[0099] 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 intra-cell channel mapping, demultiplexing, discontinuous reception (DRX), and HARQ operations.
[0084]
[0100] 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 to provide 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 functions, such as downlink streaming service application functions and / or uplink streaming service application functions, including streaming service application functions 360, media session handler functions 362, media player entities, media streamer entities, etc. Such streaming service application functions 360 and / or media handler functions 362 may operate together to provision streaming services (e.g., uplink streaming services, downlink streaming services, etc.) on the wireless device 320.
[0085]
[0101] 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) in 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) in AS 304.
[0086]
[0102] FIG. 4A is a component block diagram illustrating a system configured to provide downlink streaming service support 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 support, 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 executing on the application processor 403. The application processor 403, and in particular 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 related to downlink bitrate recommendation requests, responses, and / or notifications. In response to receiving an AT command that is a downlink bit rate recommendation request from the application processor 403, such as from the 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., RAN 153). The RAN (e.g., 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 on the AT interface that is a downlink bit rate recommendation response to the application processor 403, such as to the media session handler 404 running on the application processor 403.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 via 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., a media player / streamer application on processor 218 and the media session handler 404 on processor 216).
[0087]
[0103] In various embodiments, the AT commands / responses exchanged between the application processor 403 and the RAN modem 402 may be AT commands / responses related to 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., RAN 153). The RAN (e.g., 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 on the AT interface 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.
[0088]
[0104] 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 RAN 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 420 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 related to a bit rate recommendation request (e.g., a downlink bit rate request, an uplink bit rate request, etc.) over 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 over 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 to the RAN modem 402 as an ANBR message. In response to receiving the ANBR message, the RAN modem 402 may send a response on the AT interface 420 to the media session handler 404 running on the application processor 403, the response being a bit rate recommendation response (e.g., a downlink bit rate recommendation response, an uplink bit rate recommendation response, etc.).
[0089]
[0105] 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 purposes of AT command / response exchanges over an AT interface (e.g., 226, 250, 264, 420) with a modem processor (e.g., 212, 252, 402) of the wireless device, which may act as an MT.
[0090]
[0106] In block 602, the processor may perform operations including sending an AT command over the AT interface 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.
[0091]
[0107] 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 the aggregate requested bitrate of an ensemble of QoS flows in a PDU session, the requested bitrate of an EPS bearer, the sum of the bitrates for a particular application data and / or for a particular QoS flow of interest within 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 value specifying a stream identifier, such as a particular PDU session definition, <reqbitrate>" should 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 an ensemble of QoS flows in a PDU session referenced by " <direction>" may be a direction indication, such as "UL" or "DL" for bitrate requests.
[0092]
[0108] 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 value specifying a stream identifier, such as a particular PDU session definition, <reqbitrate>" should 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 an ensemble of QoS flows in a PDU session referenced by " <direction>" may be a direction indication, such as "UL" or "DL" for bitrate requests, and "<p_cid> "teeth," <cid>" may be an integer value that specifies a particular QoS flow within the PDU session referenced by ". <reqbitrate>Aggregate requested bit rate for specific application data and / or within a PDU session (e.g., boosted or increased bit rate requested)<p_cid> The bit rate may represent the sum of the desired bit rate for a particular QoS flow of interest, such as the QoS flow specified by, and the bit rates of all other application data and / or QoS flows in that PDU session that are not of interest.
[0093]
[0109] In block 604, the processor may perform operations including receiving a response over the AT interface from a 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.
[0094]
[0110] 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 operation of an ensemble of QoS flows in a PDU session, a bitrate recommendation for streaming operation of an EPS bearer, and an indication of a direction, such as UL, DL, etc. As a specific example, a response on 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 value specifying a 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 an ensemble of QoS flows in the PDU session referenced by " <direction>" may be a directional indication, such as "UL" or "DL" for bitrate response.
[0095]
[0111] In some embodiments, the response that is a bitrate recommendation response may further include an indication of a particular QoS flow within the PDU session. As a particular 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 value specifying a stream identifier, such as a particular PDU session definition, <recmbitrate>"teeth," <cid>It 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 the ensemble of QoS flows in the PDU session referenced by ". Also, in this example, <direction>" may be a directional indication, such as "UL" or "DL" for bitrate response, and "<p_cid> "teeth," <cid>" may be an integer value that specifies a particular QoS flow within the PDU session referenced by ". In some embodiments, a response that is a bitrate recommendation response may be sent from the MT to the TE in response to the TE sending an AT command that is a bitrate recommendation action command to the MT.
[0096]
[0112] 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 to 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 conversion / mapping between MAC and application-level bitrate values. For example, the media session handler may obtain information from the modem of additional QoS flows (competing for the RAN bitrate represented by ANBR) and their bitrate requirements, as well as upper layer transport overhead, and information from the media player (in the case of DL streaming) of the operation points of other application flows sent in the same PDU session to support conversion / mapping between MAC and application-level bitrate values.
[0097]
[0113] 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 a bitrate increase (or boost) for the QFI or QoS flow of interest (e.g., for which a boost or increased bitrate has been requested) from the bitrate recommendation in the response received on 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 bit rate recommendation (e.g., in kbit / s) for an ensemble of QoS flows in a PDU session, such as a PDU session referenced by ", specific application data, and / or (e.g., a boosted or increased bit rate requested)<p_cid> The recommended bit rate (e.g., boosted or increased bit rate) for a particular QoS flow of interest, such as the QoS flow specified by ", may be an indication of the aggregate bit rate recommendation for the ensemble of QoS flows in 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 "
[0098]
[0114] FIG. 7 is a process flow diagram illustrating a method 700 performed by a modem processor of a wireless device for providing 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 purposes of AT command / response exchanges over an AT interface (e.g., 226, 250, 264, 420) with another processor of the wireless device (e.g., 216, 403) that may act as a TE.
[0099]
[0115] In block 702, the modem processor may perform operations including receiving an AT command over an AT interface 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 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.
[0100]
[0116] 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 the aggregate requested bitrate of an ensemble of QoS flows in a PDU session, the requested bitrate of an EPS bearer, the sum of the bitrates for a particular application data and / or for a particular QoS flow of interest within 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 value specifying a stream identifier, such as a particular PDU session definition, <reqbitrate>" should 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 an ensemble of QoS flows in a PDU session referenced by " <direction>" may be a direction indication, such as "UL" or "DL" for bitrate requests.
[0101]
[0117] 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 value specifying a stream identifier, such as a particular PDU session definition, <reqbitrate>" should 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 the ensemble of QoS flows in the PDU session referenced by " <direction>" may be a direction indication, such as "UL" or "DL" for bitrate requests, and "<p_cid> "teeth," <cid>" may be an integer value that specifies a particular QoS flow within the PDU session referenced by ". <reqbitrate>Aggregate requested bit rate for specific application data and / or within a PDU session (e.g., boosted or increased bit rate requested)<p_cid> The bit rate may represent the sum of the desired bit rate for a particular QoS flow of interest, such as the QoS flow specified by, and the bit rates of all other application data and / or QoS flows in that PDU session that are not of interest.
[0102]
[0118] In block 704, the modem processor may perform operations including determining a stream identifier and an LCID associated with an indication of the stream identifier in response to receiving an AT command that is a bitrate recommendation action command from another processor of the wireless device. In various embodiments, the stream, such as a QoS flow, EPS bearer, etc., may map to RAN Layer 2 (L2) parameters. In various embodiments, the 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.) the stream (e.g., a QoS flow, an EPS bearer, etc.) corresponding to a media streaming application flow for which a bitrate recommendation or 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), associated PDU session identifier, and requested streaming bitrate corresponding to the media streaming application flow for which a bitrate recommendation or boost is sought. In various embodiments, the modem processor receiving the bitrate recommendation action command may add the stream identifier (e.g., " <cid>" value). In various embodiments, upon wireless device establishment of a PDU session with a 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 in the PDU session, an associated QFI and QoS profile, which may be provided via an access and mobility management function (AMF) to a base station to which the wireless device is camped, such as an eNB, gNB, etc. Since there may be a one-to-one correspondence between RAN L2 parameters for LCID, Data Radio Bearer (DRB) Identifier (DRB ID), QFI, and Radio Resource Control (RRC) parameters 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 configuration, a base station to which a wireless device is camped, such as an eNB or gNB, may be able to unambiguously map a PDU session and its contained QoS flow(s) to a DRB for bit rate recommendation processing.
[0103]
[0119] In block 706, the modem processor may perform operations including sending a network assistance request including the determined stream identifier and 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.
[0104]
[0120] In 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 determined stream identifier and LCID. As a particular example, the network assistance response may be an ANBR message, a recommended bit rate MAC CE, etc.
[0105]
[0121] At 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 the bit rate recommendation in response to receiving a network assistance response from the 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.
[0106]
[0122] In block 712, the modem processor may perform operations including sending a response over the AT interface to another processor of the wireless device that is a bit rate recommendation response, the bit rate recommendation response including at least an indication of a stream identifier, an indication of a bit rate recommendation, and an indication of a direction. In various embodiments, the bit rate recommendation response further includes an indication of a QoS flow of the PDU session for the streaming service.
[0107]
[0123] In some embodiments, the bitrate response may be a response on the AT interface 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 operation of an ensemble of QoS flows in a PDU session, a bitrate recommendation for streaming operation of an 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 value specifying a 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 an ensemble of QoS flows in the PDU session referenced by " <direction>" may be a directional indication, such as "UL" or "DL" for bitrate response.
[0108]
[0124] In some embodiments, the response that is a bitrate recommendation response may further include an indication of a particular QoS flow within the PDU session. As a particular 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 value specifying a stream identifier, such as a particular PDU session definition, <recmbitrate>"teeth," <cid>It 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 the ensemble of QoS flows in the PDU session referenced by ". Also, in this example, <direction>" may be a directional indication, such as "UL" or "DL" for bitrate response, and "<p_cid> "teeth," <cid>" may be an integer value that specifies a particular QoS flow within the PDU session referenced by ". In some embodiments, a response that is a bitrate recommendation response may be sent from the MT to the TE in response to the TE sending an AT command that is a bitrate recommendation action command to the MT.
[0109]
[0125] FIG. 8A is a process flow diagram illustrating a method 800 performed by a processor of a wireless device for providing 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 method 600 (FIG. 6) and / or method 700 (FIG. 7). The processor implementing the operations of method 800 may act as a TE for purposes of AT command / response exchanges over an AT interface (e.g., 226, 250, 264, 420) with a modem processor (e.g., 212, 252, 402) of the wireless device, which may act as an MT.
[0110]
[0126] 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 over 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 an AT command 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 regarding whether the MT supports sending an AT command that is a bitrate recommendation response to an AT command that is a bitrate recommendation action command.
[0111]
[0127] FIG. 8B is a process flow diagram illustrating a method 810 performed by a modem processor of a wireless device for providing 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 method 600 (FIG. 6), method 700 (FIG. 7), and / or method 800 (FIG. 8A). In some embodiments, a modem processor implementing the operations of method 810 may act as a MT for purposes of AT command / response exchanges over an AT interface (e.g., 226, 250, 264, 420) with another processor of the wireless device (e.g., 216, 403) that may act as a TE.
[0112]
[0128] 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 an AT command 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 an AT command that is a bitrate recommendation response to an AT command that is a bitrate recommendation action command.
[0113]
[0129] In block 814, the modem processor may perform operations including sending a response over the AT interface indicating that bit rate recommendation is supported. In some embodiments, an MT that supports sending responses that are bit rate recommendation responses to AT commands that are bit rate recommendation action commands may respond to the test code with a 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 responses that are bit rate recommendation responses to AT commands that are bit rate recommendation action commands.
[0114]
[0130] FIG. 9A is a process flow diagram illustrating a method 900 performed by a processor of a wireless device for providing 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 together with the operations of method 600 (FIG. 6), method 700 (FIG. 7), method 800 (FIG. 8A), and / or method 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 (FIG. 6) of method 600. In some embodiments, the processor implementing the operations of method 900 may act as a TE for purposes of AT command / response exchange over an AT interface (e.g., 226, 250, 264, 420) with a modem processor (e.g., 212, 252, 402) of a wireless device that may act as an MT.
[0115]
[0131] In block 902, the processor may perform operations including sending an AT command, which is 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, which is the second bitrate recommendation action command for the streaming service, may be sent to the modem processor of the wireless device over an AT interface.
[0116]
[0132] At decision block 904, the processor may determine whether a response was received, such as whether the response was received over an AT interface. For example, the processor may determine whether a response that is an error message was received over the AT interface from a modem processor of the wireless device, or whether a response that is a second bit rate recommendation response was received over the AT interface from a modem processor of the wireless device.
[0117]
[0133] In response to determining that no response on the AT interface is received (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 a second bit rate recommendation action command from the modem processor, indicates that the bit rate recommendation indication is still valid.
[0118]
[0134] In response to determining that a response on the AT interface has been received (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 expires. 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.
[0119]
[0135] FIG. 9B is a process flow diagram illustrating a method 920 performed by a modem processor of a wireless device for providing 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 method 600 (FIG. 6), method 700 (FIG. 7), method 800 (FIG. 8A), method 810 (FIG. 8B), and / or method 900 (FIG. 9A). In various embodiments, the operations of method 920 may be performed in response to receiving an AT command that is a bitrate recommendation action command from another processor of the wireless device at block 702 (FIG. 7). In various embodiments, a modem processor implementing the operations of method 920 may act as an MT for purposes of AT command / response exchange over an AT interface (e.g., 226, 250, 264, 420) with another processor (e.g., 216, 403) of the wireless device that may act as a TE.
[0120]
[0136] 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 ANBRQ message frequency limit as 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.
[0121]
[0137] In block 924, the modem processor may perform operations including receiving an AT command that is 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 that is the second bit rate recommendation action command may be received over an AT interface from another processor of the wireless device.
[0122]
[0138] In decision block 926, the modem processor may perform actions including determining whether a second bitrate recommendation action command is received before the response timer expires.
[0123]
[0139] In response to determining that a second bit rate recommendation action command was received after the response timer expired (i.e., decision block 926="No"), the modem processor may send a response in block 928. The response may be sent over the AT interface. Because the response timer has expired, the request and response may be the desired frequency setting for the bit rate request.
[0124]
[0140] In response to determining that a second bitrate recommendation action command was received before the response timer expired (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 expired, 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 expired, the MT may return the 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, was received from the RAN that corresponded to the latest bitrate recommendation. In some embodiments, the most recent bit rate recommendation may be sent by the modem processor in a response on the AT interface. In some embodiments, the MT may take no action in response to the TE sending a successive bit rate recommendation action command before the response timer expires. In some embodiments, the TE may be configured to interpret the absence of a response from the MT to a bit rate recommendation action command as an indication that the last bit rate recommendation sent by the MT is still valid.
[0125]
[0141] FIG. 9C is a process flow diagram illustrating a method 950 performed by a modem processor of a wireless device for providing streaming service support, 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 method 600 (FIG. 6), method 700 (FIG. 7), method 800 (FIG. 8A), method 810 (FIG. 8B), method 900 (FIG. 9A), and / or method 920 (FIG. 9B). In various embodiments, the operations of method 950 may be performed to send unsolicited AT commands. In various embodiments, a modem processor implementing the operations of method 950 may act as an MT for purposes of AT command / response exchange over an AT interface (e.g., 226, 250, 264, 420) with another processor (e.g., 216, 403) of the wireless device that may act as a TE.
[0126]
[0142] 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.
[0127]
[0143] In block 710, the modem processor may perform operations as described with reference to like-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.
[0128]
[0144] In block 954, the modem processor may perform operations including sending a bit rate recommendation response over the AT interface 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 sent from the MT to the TE as an unsolicited result code that includes 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 sent 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]
[0145] 9D is a process flow diagram illustrating a method 960 performed by a processor of a wireless device for providing 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 method 600 (FIG. 6), method 700 (FIG. 7), method 800 (FIG. 8A), method 810 (FIG. 8B), method 900 (FIG. 9A), method 920 (FIG. 9B), and / or method 950 (FIG. 9C). In various embodiments, the operations of method 960 may be performed to receive unsolicited AT commands. A processor implementing the operations of method 960 may act as a TE for purposes of AT command / response exchange over an AT interface (e.g., 226, 250, 264, 420) with a modem processor (e.g., 212, 252, 402) of a wireless device that may act as an MT.
[0130]
[0146] In block 962, the processor may perform operations including receiving a bit rate recommendation response over the AT interface from a modem 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 sent from the MT to the TE as an unsolicited result code that includes 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 sent as "+CGBRR[ <recmbitrate>In this example, <recmbitrate>" may be an indication of a bitrate recommendation, such as a bitrate recommendation (eg, in kbit / s).
[0131]
[0147] At block 606, the processor may perform operations as described with reference to like-numbered blocks of method 600 (FIG. 6) to control the streaming service based at least in part on the bitrate recommendation indication.
[0132]
[0148] 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 mass 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. The network computing device 1000 may include one or more antennas 1007 for sending and receiving electromagnetic radiation, which may be connected to a wireless communications link. The network computing device 1000 may include additional access ports, such as USB, Firewire, Thunderbolt, etc., for coupling to peripherals, external memory, or other devices.
[0133]
[0149] 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 , 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 second SOC 204 may be coupled to internal memory 1106, 1116, a display 1112, and a speaker 1114. Additionally, smartphone 1100 may include an antenna 1104 for sending 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 first SOC 202 and / or second SOC 204. Smartphone 1100 also typically includes menu selection buttons or rocker switches 1120 for receiving user input.
[0134]
[0150] The typical smartphone 1100 also includes a sound 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. Also, one or more of the processors in the first SOC 202 and second SOC 204, the wireless transceiver 266, and the CODEC circuit 1110 may include digital signal processor (DSP) circuitry (not separately shown).
[0135]
[0151] The processors of the wireless network computing device 1000 and the smartphone 1100 may be any programmable microprocessor, microcomputer, or one or more multiple 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 they are accessed and loaded into the processor. The processors may include sufficient internal memory to store application software instructions.
[0136]
[0152] 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; a component may be localized on one processor or core and / or distributed among two or more processors or cores. Furthermore, 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 process, function or procedure calls, electronic signals, data packets, memory read / writes, and other known network-, computer-, processor-, and / or process-related communication methods.
[0137]
[0153] Several different cellular and mobile communication services and standards may become available or are contemplated in the future, all of which may implement and benefit from various embodiments. Such services and standards include, for example, Third Generation Partnership Project (3GPP), Long Term Evolution (LTE) systems, third generation wireless mobile communication technologies (3G), fourth generation wireless mobile communication technologies (4G), fifth generation wireless mobile communication technologies (5G), Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), 3GSM, General Packet Radio Service (GPRS), and Code Division Multiple Access (CDMA) systems (e.g., cdmaOne, Examples of technologies include 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), Worldwide Interoperability for Microwave Access (WiMAX), Wireless Local Area Network (WLAN), Wi-Fi Protected Access I and II (WPA, WPA2), and Integrated Digital Enhanced Network (iDEN). Each of these technologies involves, for example, 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 pertaining to a particular telecommunications standard or technology is for illustrative purposes only and is not intended to limit the scope of the claims to a particular communication system or technology unless expressly stated in the claim language.
[0138]
[0154] 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 or combined with other illustrated and described embodiments. Furthermore, the claims are not intended to be 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 replaced by or combined with one or more operations of methods 600, 700, 800, 810, 900, 920, 950, and / or 960.
[0139]
[0155] Example implementations are described in the following paragraphs. Although some of the following example implementations are described with reference to example methods, further example implementations may include the example methods described in the following paragraphs implemented by a wireless device including a processor configured to perform the operations of the example methods, the example methods described in the following paragraphs implemented by a wireless device including a modem processor configured to perform the operations of the example methods, the example methods described in the following paragraphs implemented by a wireless device including means for performing the functions of the example methods, the example methods described in the following paragraphs implemented in a processor for use in a wireless device configured to perform the operations of the example methods, and the example methods described in the following paragraphs implemented in a modem for use in a wireless device configured to perform the operations of the example methods.
[0140]
[0156] Example 1. A method for providing streaming service support implemented by a processor of a wireless device, the method including: sending an AT command over an AT interface to a modem processor of the wireless device, the AT command being a bitrate recommendation action command for the streaming service; receiving a response over the AT interface 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, 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.
[0141]
[0157] 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.
[0142]
[0158] 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.
[0143]
[0159] Example 4. The method of 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.
[0144]
[0160] Example 5. The method of any of Examples 1-4, wherein the direction is an indication of uplink or downlink.
[0145]
[0161] Example 6. The method of any of Examples 1-5, further comprising sending an AT command, the AT command being a test command, to a modem processor of the wireless device over an AT interface.
[0146]
[0162] Example 7. The method of any of Examples 1-6, further including: sending an AT command, the AT command being a second bit rate recommendation action command, to a modem processor of the wireless device over the AT interface, 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.
[0147]
[0163] Example 8. The method of Example 7, further comprising receiving, from a modem processor of the wireless device, a response on the AT interface that is an error code indicating that the second bit rate recommendation action command was sent prematurely.
[0148]
[0164] Example 9. The method of example 8, wherein the response on the AT interface that is an error code includes a retry-after parameter.
[0149]
[0165] Example 10. The method of Example 7, further including receiving a response on the AT interface from a modem 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 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.
[0150]
[0166] Example 11. The method of Example 7, further comprising: determining, in response to not receiving a response from the modem processor to the AT command, the AT command being a second bit rate recommendation action command, that the bit rate recommendation indication is still valid.
[0151]
[0167] Example 12. The method of any of Examples 1-11, wherein controlling the streaming service based at least in part on the bitrate recommendation indication includes translating 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.
[0152]
[0168] Example 13. A method for providing streaming service assistance implemented by a modem processor of a wireless device, the method comprising: receiving an AT command, the AT command being a bitrate recommendation action command for a streaming service, from another processor of the wireless device over an AT interface; in response to receiving the AT command being a bitrate recommendation action command from the other processor of the wireless device, 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, sending a network assistance request to a base station of a RAN, the network assistance request including the stream identifier and an LCID associated with the indication of the stream identifier; receiving a network assistance response from the base station of the RAN, the network assistance response including the stream identifier and the LCID; and sending the response, the bitrate recommendation response, to the other processor of the wireless device over the AT interface, 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.
[0153]
[0169] Example 14. The method of example 13, wherein the indication of the stream identifier is an indication of an EPS bearer for a streaming service.
[0154]
[0170] Example 15. The method of example 13, wherein the indication of the stream identifier is an indication of a PDU session for a streaming service.
[0155]
[0171] Example 16. The method of 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.
[0156]
[0172] Example 17. The method of any of Examples 13-16, wherein the direction is an indication of uplink or downlink.
[0157]
[0173] Example 18. The method of any of Examples 13-17, further comprising receiving an AT command, the AT command being a test command, from another processor of the wireless device over the AT interface; and sending a response over the AT interface indicating that the bit rate recommendation is supported.
[0158]
[0174] Example 19. The method of any of Examples 13-17, further including: starting a response timer in response to receiving an AT command that is a bitrate recommendation action command from another processor of the wireless device; receiving an AT command that is a second bitrate recommendation action command from another processor of the wireless device over the AT interface; and taking a bitrate request frequency limiting action in response to receiving the second bitrate recommendation action command before the response timer expires, 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.
[0159]
[0175] Example 20. The method of Example 19, wherein the bit rate request frequency limiting action includes sending a response to another processor of the wireless device over the AT interface, the response being an error code indicating that the second bit rate recommendation action command was sent early.
[0160]
[0176] Example 21. The method of example 20, wherein the response that is an error code includes a retry-after parameter.
[0161]
[0177] Example 22. The method of Example 19, wherein taking the bit rate request frequency limiting action includes sending a response, the second bit rate recommendation response, to another processor of the wireless device over the AT interface, the second bit rate recommendation response including at least an indication of a stream identifier, an indication of the bit rate recommendation, a direction indication, and an indication of a time when a network assistance response was received from a base station of the RAN.
[0162]
[0178] Example 23. The method of example 19, wherein taking a bit rate request frequency limiting action includes not sending a response to an AT command that is a second bit rate recommendation action command.
[0163]
[0179] Example 24. The method of any of Examples 13-23, wherein determining the 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 to an application level bit rate value, and wherein the bit rate recommendation indication in the bit rate recommendation response is an application level bit rate value.
[0164]
[0180] Example 25. A method for providing streaming service assistance implemented by a processor of a wireless device, the method including: receiving a bit rate recommendation response from a modem processor of the wireless device over an AT interface; and controlling the streaming service based at least in part on the bit rate recommendation indication, wherein the bit rate recommendation response includes at least an indication of a bit rate recommendation for the streaming service.
[0165]
[0181] Example 26. The method of example 25, wherein the bit rate recommendation response includes an unsolicited response code.
[0166]
[0182] 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 over the AT interface.
[0167]
[0183] Example 28. The method of Example 26, further comprising, prior to receiving the bit rate recommendation response, sending an AT command to a modem processor of the wireless device over the AT interface to subscribe to the unsolicited bit rate recommendation response.
[0168]
[0184] Example 29. A method for providing streaming service assistance implemented by a modem processor of a wireless device, the method comprising: receiving a network assistance response from a base station of the RAN; and sending a bit rate recommendation response over an AT interface to another processor of the wireless device in response to receiving the network assistance response from the base station of the RAN, the bit rate recommendation response including at least an indication of the bit rate recommendation.
[0169]
[0185] Example 30. The method of example 29, wherein the bit rate recommendation response includes an unsolicited response code.
[0170]
[0186] Example 31. The method of Example 30, further comprising, prior to sending the bit rate recommendation response, receiving an AT command from another processor of the wireless device over the AT interface to subscribe to the unsolicited bit rate recommendation response.
[0171]
[0187] Example 32. The method of any of Examples 1-31, wherein the modem processor is a fifth generation (5G) modem processor.
[0172]
[0188] The above method descriptions and process flow diagrams are provided merely as illustrative examples and are not intended to 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 embodiments may be performed in any order. Words such as "then," "then," and "next" are not intended to limit the order of operations; these words are used to guide the reader through the method descriptions. Furthermore, references 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.
[0173]
[0189] 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 between hardware and software, the 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.
[0174]
[0190] The hardware used to implement the various example 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 that is specific to a given function.
[0175]
[0191] 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 implemented 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 a 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 can be used to store desired program code in the form of instructions or data structures and that can 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 with a laser. 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.
[0176]
[0192] 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. The inventions described in the claims of the present application as originally filed are set forth below. [C1] 1. A method for providing streaming service support implemented by a processor of a wireless device, comprising: sending an AT command over an attention (AT) interface to a modem 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 stream identifier, an indication of a requested bitrate, and an indication of a direction; receiving a response on the AT interface from the modem 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 stream identifier, an indication of a bit rate recommendation, and the indication of the direction; controlling the streaming service based at least in part on the indication of the bit rate recommendation; and A method comprising: [C2] The method of C1, wherein the indication of the stream identifier is an indication of an Evolved Packet System (EPS) bearer for the streaming service. [C3] The method of C1, wherein the indication of the stream identifier is an indication of a protocol data unit (PDU) session for the streaming service. [C4] 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 described in C3. [C5] The method of C1, wherein the direction is an indication of uplink or downlink. [C6] sending an AT command, the AT command being a second bit rate recommendation action command, to the modem processor of the wireless device over the AT interface, the second bit rate recommendation action command including at least the indication of the stream identifier, the indication of the requested bit rate, and the indication of the direction; The method of C1, further comprising: [C7] receiving a response on the AT interface 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; The method of C6, further comprising: [C8] The method of C7, wherein the response on the AT interface, which is the error code, includes a retry-after parameter. [C9] receiving a response on the AT interface from the modem processor of the wireless device, the response being a second bit rate recommendation response, the second bit rate recommendation response including at least the indication of the stream identifier, the indication of the bit rate recommendation, the indication of the 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; The method of C6, further comprising: [C10] determining, in response to not receiving a response from the modem processor to the AT command, the AT command being the second bit rate recommendation action command, that the indication of the bit rate recommendation is still valid; The method of C6, further comprising: [C11] controlling the streaming service based at least in part on the indication of the bitrate recommendation; converting the indication of the bit rate recommendation into an application level bit rate value; controlling the streaming service based at least in part on the application level bitrate value; The method of claim C1, comprising: [C12] 1. A wireless device, comprising: sending an AT command over an attention (AT) interface to a modem 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 stream identifier, an indication of a requested bitrate, and an indication of a direction; receiving a response on the AT interface from the modem 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 stream identifier, an indication of a bit rate recommendation, and the indication of the direction; controlling the streaming service based at least in part on the indication of the bit rate recommendation; and a first processor configured with processor-executable instructions for performing A wireless device comprising: [C13] The wireless device of C12, wherein the indication of the stream identifier is an indication of an evolved packet system (EPS) bearer for the streaming service. [C14] The wireless device of C12, wherein the indication of the stream identifier is an indication of a protocol data unit (PDU) session for the streaming service. [C15] 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. A wireless device as described in C14. [C16] The wireless device of C12, wherein the direction is an indication of uplink or downlink. [C17] The first processor sending an AT command, the AT command being a second bit rate recommendation action command, to the modem processor of the wireless device over the AT interface, the second bit rate recommendation action command including at least the indication of the stream identifier, the indication of the requested bit rate, and the indication of the direction; 3. The wireless device of claim 2, further configured with processor-executable instructions for: [C18] The first processor receiving a response on the AT interface 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; 19. The wireless device of claim 17, further configured with processor-executable instructions for performing: [C19] The wireless device of C18, wherein the response on the AT interface, which is the error code, includes a retry-after parameter. [C20] The first processor receiving a response on the AT interface from the modem processor of the wireless device, the response being a second bit rate recommendation response, the second bit rate recommendation response including at least the indication of the stream identifier, the indication of the bit rate recommendation, the indication of the 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; 19. The wireless device of claim 17, further configured with processor-executable instructions for performing: [C21] The first processor determining, in response to not receiving a response from the modem processor to the AT command, the AT command being the second bit rate recommendation action command, that the indication of the bit rate recommendation is still valid; 19. The wireless device of claim 17, further configured with processor-executable instructions for performing: [C22] The first processor: converting the indication of the bit rate recommendation into an application level bit rate value; controlling the streaming service based at least in part on the application level bitrate value; 5. The wireless device of claim 12, further configured with processor-executable instructions for controlling the streaming service based at least in part on the indication of the bit rate recommendation by performing: [C23] 1. A wireless device, comprising: means for sending an AT command, the AT command being a bitrate recommendation action command for a streaming service, to a modem processor of the wireless device over an attention (AT) interface, the 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; means for receiving a response on the AT interface from the modem 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 stream identifier, an indication of a bit rate recommendation, and the indication of the direction; means for controlling the streaming service based at least in part on the indication of the bit rate recommendation; A wireless device comprising: [C24] 5. The wireless device of claim 23, wherein the indication of the stream identifier is an indication of an Evolved Packet System (EPS) bearer for the streaming service. [C25] 23. The wireless device of claim 22, wherein the indication of the stream identifier is an indication of a protocol data unit (PDU) session for the streaming service. [C26] 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. A wireless device as described in C25. [C27] means for sending an AT command, the AT command being a second bit rate recommendation action command, to the modem processor of the wireless device over the AT interface, the second bit rate recommendation action command including at least the indication of the stream identifier, the indication of the requested bit rate, and the indication of the direction; The wireless device of C23, further comprising: [C28] means for receiving, from the modem processor of the wireless device, a response on the AT interface, the response being an error code indicating that the second bit rate recommendation action command was sent prematurely; The wireless device of C27, further comprising: [C29] The wireless device of C28, wherein the response on the AT interface, which is the error code, includes a retry-after parameter. [C30] means for receiving a response on the AT interface from the modem processor of the wireless device, the response being a second bit rate recommendation response, the second bit rate recommendation response including at least the indication of the stream identifier, the indication of the bit rate recommendation, the indication of the 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; The wireless device of C27, further comprising: [C31] means for controlling the streaming service based at least in part on the indication of the bit rate recommendation, means for converting the indication of the bit rate recommendation into an application level bit rate value; means for controlling the streaming service based at least in part on the application level bitrate value; 2. The wireless device of claim 1, further comprising: [C32] 1. A processor for use in a wireless device, the processor comprising: sending an AT command over an attention (AT) interface to a modem 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 stream identifier, an indication of a requested bitrate, and an indication of a direction; receiving a response on the AT interface from the modem of the wireless device, the response being a bit rate recommendation response, the bit rate recommendation response including at least the indication of the stream identifier, an indication of a bit rate recommendation, and the indication of the direction; controlling the streaming service based at least in part on the indication of the bit rate recommendation; and a processor configured to: [C33] 3. The processor of claim 2, wherein the indication of the stream identifier is an indication of an Evolved Packet System (EPS) bearer for the streaming service. [C34] 3. The processor of claim 2, wherein the indication of the stream identifier is an indication of a protocol data unit (PDU) session for the streaming service. [C35] 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. A processor as described in C34. [C36] The processor: sending an AT command, the AT command being a second bit rate recommendation action command, to the modem of the wireless device over the AT interface, the second bit rate recommendation action command including at least the indication of the stream identifier, the indication of the requested bit rate, and the indication of the direction; 3. The processor of claim 2, further configured to: [C37] The processor: receiving a response on the AT interface from the modem of the wireless device, the response being a second bit rate recommendation response, the second bit rate recommendation response including at least the indication of the stream identifier, the indication of the bit rate recommendation, the indication of the 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; 37. The processor of claim 36, further configured to: [C38] the processor: converting the indication of the bit rate recommendation into an application level bit rate value; controlling the streaming service based at least in part on the application level bitrate value; 3. The processor of claim 2, further configured to control the streaming service based at least in part on the indication of the bit rate recommendation by: < / 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> < / cid> < / 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 support implemented by a processor of a wireless device, comprising: sending an AT command over an attention (AT) interface to a modem 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 stream identifier, an indication of a requested bitrate, and an indication of a direction; receiving a response on the AT interface from the modem 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 stream identifier, an indication of a bit rate recommendation, and the indication of the direction; controlling the streaming service based on the indication of the bitrate recommendation; sending an AT command over the AT interface to the 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 the indication of the stream identifier, the indication of the requested bit rate, and the indication of the direction, wherein a response over the AT interface to the second bit rate recommendation action command is based on an amount of time from when the bit rate recommendation action command is received by the modem processor to when the second bit rate recommendation action command is received by the modem processor; Equipped with The method, wherein the AT interface is a communication path within the wireless device for exchanging the AT commands and the responses between the processor of the wireless device and the modem processor.
2. 2. The method of claim 1, wherein the indication of the stream identifier is an indication of an Evolved Packet System (EPS) bearer for the streaming service.
3. the indication of the stream identifier is an indication of a protocol data unit (PDU) session for the streaming service; 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. receiving a response on the AT interface 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; 2. The method of claim 1, further comprising: wherein the response on the AT interface, which is the error code, includes a retry-after parameter.
6. receiving a response on the AT interface from the modem processor of the wireless device, the response being a second bit rate recommendation response, the second bit rate recommendation response including at least the indication of the stream identifier, the indication of the bit rate recommendation, the indication of the 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; The method of claim 1 further comprising:
7. determining, in response to not receiving a response from the modem processor to the AT command, the AT command being the second bit rate recommendation action command, that the indication of the bit rate recommendation is still valid; The method of claim 1 further comprising:
8. controlling the streaming service based on the indication of the bitrate recommendation; converting the indication of the bitrate recommendation into an application-level bitrate value; controlling the streaming service based on the application level bitrate value; The method of claim 1 , comprising:
9. 1. A wireless device, comprising: means for sending, by a processor of the wireless device, an attention (AT) command to a modem processor of the wireless device over an AT interface, 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 stream identifier, an indication of a requested bitrate, and an indication of a direction; means for receiving, by the processor of the wireless device, a response on the AT interface from the modem 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 stream identifier, an indication of a bit rate recommendation, and the indication of the direction; means for controlling, by the processor of the wireless device, the streaming service based on the indication of the bit rate recommendation; means for sending, by the processor of the wireless device, an AT command over the AT interface to the 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 the indication of the stream identifier, the indication of the requested bit rate, and the indication of the direction, wherein a response over the AT interface to the second bit rate recommendation action command is based on an amount of time from when the bit rate recommendation action command is received by the modem processor to when the second bit rate recommendation action command is received by the modem processor; Equipped with The wireless device, wherein the AT interface is a communication path within the wireless device for exchanging the AT commands and the responses between the processor of the wireless device and the modem processor.
10. 10. The wireless device of claim 9, wherein the indication of the stream identifier is an indication of an Evolved Packet System (EPS) bearer for the streaming service.
11. the indication of the stream identifier is an indication of a protocol data unit (PDU) session for the streaming service; 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.
10. The wireless device of claim 9.
12. means for receiving, by the processor of the wireless device, a response on the AT interface 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; Furthermore, 10. The wireless device of claim 9, wherein the response on the AT interface, which is the error code, includes a retry-after parameter.
13. 1. A processor for use in a wireless device, the processor comprising: sending an AT command over an attention (AT) interface to a modem 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 stream identifier, an indication of a requested bitrate, and an indication of a direction; receiving a response on the AT interface from the modem 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 stream identifier, an indication of a bit rate recommendation, and the indication of the direction; controlling the streaming service based on the indication of the bitrate recommendation; sending an AT command over the AT interface to the 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 the indication of the stream identifier, the indication of the requested bit rate, and the indication of the direction, wherein a response over the AT interface to the second bit rate recommendation action command is based on an amount of time from when the bit rate recommendation action command is received by the modem processor to when the second bit rate recommendation action command is received by the modem processor; configured to: The AT interface is a communication path within the wireless device for exchanging the AT commands and the responses between the processor of the wireless device and the modem processor.