Attention (AT) interface for radio access network bitrate recommendations
By using an AT interface to exchange AT commands and responses between the processor of the wireless device and the modem processor, the problem of lack of streaming service bit rate signaling on the wireless device is solved, achieving more efficient streaming service quality and efficiency, and supporting high bit rate real-time streaming services.
Patent Information
- Application Number
- CN202180047054.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-06-29
- Filing Date
- 2021-06-30
- Publication Date
- 2025-12-12
- Estimated Expiration
- 2041-06-30
AI Technical Summary
The current lack of effective signaling mechanisms on wireless devices to support the recommended uplink or downlink bit rate for streaming services makes it impossible to achieve application-level bit rate control, affecting the quality and efficiency of streaming services.
By exchanging Attention (AT) commands and responses between the processor of the wireless device and the modem processor using the AT interface, uplink and downlink bit rate recommendation requests, responses, and notifications are implemented, supporting auxiliary mechanisms for streaming services.
It enables the exchange of bitrate recommendation information between processors within the wireless device itself, improving the quality and efficiency of streaming services. It supports higher bitrate communication to reduce latency and increase resolution, and is suitable for real-time uplink streaming services such as 3D video and 8K ultra-high-definition video streaming.
Smart Images

Figure CN115804141B_ABST
Abstract
Description
[0001] Related applications
[0002] This application claims 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
[0003] Long Term Evolution (LTE), 5G New Radio (NR), and other recently developed communication technologies allow wireless devices to communicate information at data rates several orders of magnitude higher (e.g., in gigabits per second) than were available just a few years ago.
[0004] Today's communication networks are also more secure, resistant to multipath fading, allow for lower network traffic latency, and provide better communication efficiency (e.g., in bits per second used per unit of bandwidth). 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 communication. Summary of the Invention
[0005] Various aspects of the present invention include methods, systems, and apparatus for providing streaming services to a wireless device using Attention (AT) commands exchanged between a modem processor of the wireless device and another processor of the wireless device, including downlink assistance and / or uplink assistance mechanisms.
[0006] Various aspects may include methods for providing streaming service assistance executed by a processor of a wireless computing device. Various aspects may include sending an AT command via an 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 including at least an indication of a stream identifier, an indication of a requested bitrate, and an indication of direction; receiving via the AT interface a response as a bitrate recommendation response from the modem processor of the wireless device, the bitrate recommendation response including at least an indication of a stream identifier, an indication of a bitrate recommendation, and an indication of direction; and controlling the streaming service at least in part based on the indication of the bitrate recommendation. In some aspects, the stream of the streaming service may be associated with a packet data network (PDN) connection. In some aspects, the stream of the streaming service may be associated with a protocol data unit (PDU) session. In some aspects, the AT response may be an unrequested bitrate recommendation received from the modem processor of the wireless device, the bitrate recommendation including at least an indication of a stream identifier, an indication of a bitrate recommendation, and an indication of direction.
[0007] Some aspects can further include sending, over the AT interface, an AT command as a second bitrate recommendation action command to a modem processor of the wireless device, the second bitrate recommendation action command including at least an indication of the flow identifier, an indication of the requested bitrate, and an indication of the direction.
[0008] Some aspects can further include receiving, over the AT interface, a response as an error code from a mode processor of the wireless device, the error code indicating that the second bitrate recommendation action command was sent prematurely. In some aspects, the response as the error code includes a retry parameter.
[0009] Some aspects can further include receiving, over the AT interface, a response as a second bitrate recommendation response from a modem processor of the wireless device, the second bitrate recommendation response including at least an indication of the flow identifier, an indication of the bitrate recommendation, an indication of the direction, and an indication of a time at which the modem processor received a network assistance response associated with the indication of the bitrate recommendation.
[0010] Some aspects can further include determining that the indication of the bitrate recommendation is still valid in response to not receiving a response from the modem processor to the AT command as the second bitrate recommendation action command.
[0011] In some aspects, controlling the streaming service based at least in part on the indication of the bitrate recommendation can 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.
[0012] In some aspects, the modem processor of the wireless device can be a fifth generation (5G) modem processor.
[0013] Other aspects can include a wireless device having a processor configured to perform one or more operations of any of the methods described above. Other aspects can include a non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor of a wireless device to perform operations of any of the methods described above. Other aspects include a wireless device having means for performing the functions of any of the methods described above. Other aspects include a modem for use in a wireless device, the modem comprising a processor configured to perform one or more operations of any of the methods described above. Other aspects include a system-on-chip or system-in-package comprising two system-on-chips for use in a wireless device, the system-on-chips comprising processors configured to perform one or more operations of any of the methods described above. BRIEF DESCRIPTION OF DRAWINGS
[0014] The accompanying drawings, which are incorporated herein and constitute part of the specification, illustrate exemplary embodiments of the claims and, together with the general description given above and the detailed description given below, serve to explain features of the claims.
[0015] FIG. 1A is a system block diagram illustrating an example communication system suitable for implementing any of the various embodiments.
[0016] FIG. 1B is a system block diagram illustrating an example communication system suitable for implementing any of the various embodiments.
[0017] FIG. 2 is a component block diagram illustrating an example computing and wireless modem system suitable for implementing any of the various embodiments.
[0018] FIG. 3 is a diagram illustrating an example of a software architecture including a radio protocol stack for the user and control planes in wireless communication, in accordance with various embodiments.
[0019] FIG. 4A is a component block diagram illustrating a system configured for providing downlink streaming service assistance in a 5GS network, in accordance with various embodiments.
[0020] FIG. 4B is a component block diagram illustrating a system configured for providing uplink streaming service assistance in a 5GS network, in accordance with various embodiments.
[0021] FIG. 5 illustrates an architecture for attention (AT) command / response exchange on a wireless device to support streaming service assistance, in accordance with various embodiments.
[0022] FIG. 6 is a process flow diagram illustrating a method for providing streaming service assistance performed by a processor of a wireless device, in accordance with various embodiments.
[0023] FIG. 7 is a process flow diagram illustrating a method for providing streaming service assistance performed by a modem processor of a wireless device, in accordance with various embodiments.
[0024] FIG. 8A is a process flow diagram illustrating a method for providing streaming service assistance performed by a processor of a wireless device, in accordance with various embodiments.
[0025] FIG. 8B is a process flow diagram illustrating a method for providing streaming service assistance performed by a modem processor of a wireless device, in accordance with various embodiments.
[0026] FIG. 9A is a process flow diagram illustrating a method for providing streaming service assistance performed by a processor of a wireless device, in accordance with various embodiments.
[0027] FIG. 9B is a process flow diagram illustrating a method for providing streaming service assistance performed by a modem processor of a wireless device, in accordance with various embodiments.
[0028] FIG. 9C is a process flow diagram illustrating a method for providing streaming service assistance performed by a modem processor of a wireless device, in accordance with various embodiments.
[0029] FIG. 9D is a process flow diagram illustrating a method for providing streaming service assistance performed by a processor of a wireless device, in accordance with various embodiments.
[0030] FIG. 10 is a component block diagram of a network computing device suitable for use with various embodiments.
[0031] FIG. 11 is a component block diagram of a wireless device suitable for use with various embodiments. DETAILED DESCRIPTION
[0032] Various embodiments will be described in detail with reference to the drawings, where like reference numerals can refer to like parts throughout the various illustrative drawings. References to particular examples and implementations are for illustrative purposes, and are not intended to limit the scope of the claims.
[0033] Various embodiments provide methods that can use attention (AT) commands and responses exchanged over an AT interface between a modem processor of a wireless device and another processor of the wireless device to provide a wireless device with a streaming service downlink assistance and / or uplink assistance mechanism. Various embodiments can enable signaling of a recommended bit rate (uplink or downlink recommended bit rate) for a streaming session on a wireless device between processors on the wireless device, e.g., between a processor of the wireless device running a streaming service application and a modem processor of the wireless device. Various embodiments can include an AT command that is a bit rate recommendation action command for a streaming service that includes an indication of a stream identifier, an indication of a requested bit rate, and an indication of a direction. Some embodiments can include receiving a response over the AT interface as a bit rate recommendation response that includes an indication of a stream identifier, an indication of a bit rate recommendation, and an indication of a direction. In some embodiments, the response over the AT interface as a bit rate recommendation response can be a response by a modem processor to a prior AT command received over the AT interface from another processor as a bit rate recommendation action command for a streaming service. In some embodiments, the response over the AT interface (sometimes referred to as an "AT response") can be an unsolicited bit rate recommendation received from a modem processor of a wireless device. The unsolicited bit rate recommendation can be a push-type notification sent by the modem processor to another processor that is independent of any particular AT command bit rate request previously sent to the modem processor. The unsolicited bit rate recommendation can include an unsolicited result code.
[0034] The term "wireless device" is used herein to refer to a wireless router device, wireless appliance, cellular telephone, smartphone, portable computing device, personal or mobile multimedia player, laptop computer, tablet computer, smartbook, ultrabook, palm-top computer, wireless electronic mail receiver, multimedia Internet cellular telephone, medical device and equipment, biometric sensors / devices, wearable devices including smartwatches, smart clothing, smart glasses, smart wrist bands, smart jewelry (e.g., smart rings, smart bracelets, etc.), entertainment device (e.g., wireless gaming controller, music and video players, satellite radios, etc.), Internet of Things (IoT) devices that support wireless networking including smart meters / sensors, industrial manufacturing equipment, home or business sized machinery and appliances, wireless communication elements in automotive and avionic platforms, wireless devices fixed in or incorporated into various mobile platforms, global positioning system devices, and similar electronic devices that include a memory, wireless communication components, and a programmable processor.
[0035] The term "system on a chip" (SOC) is used herein to refer to a single integrated circuit (IC) chip that includes multiple resources and / or processors integrated on a single substrate. A single SOC can include circuits for digital, analog, mixed-signal, and radio-frequency functionality. A single SOC can also include any number of general-purpose and / or special-purpose processors (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.). An SOC can also include software for controlling the integrated resources and processors, as well as for controlling peripheral devices.
[0036] The term "system in a package" (SIP) can be used herein to refer to a single module or package that includes multiple resources, computing units, cores, and / or processors on two or more IC chips, substrates, or SOCs. For example, a SIP can include a single substrate on which multiple IC chips or semiconductor dies are stacked in a vertical configuration. Similarly, a SIP can include one or more multi-chip modules (MCMs) on which multiple ICs or semiconductor dies are packaged into a unified substrate. A SIP can also include multiple independent SOCs that are coupled together via high-speed communication circuitry and tightly packaged, e.g., on a single motherboard or in a single wireless device. The tight packaging of the SOCs facilitates high-speed communication as well as sharing of memory and resources.
[0037] The term "multi-core processor" can be used herein to refer to a single integrated circuit (IC) chip or chip package that includes two or more independent processing cores (e.g., central processing unit (CPU) cores, Internet protocol (IP) cores, graphics processor unit (GPU) cores, etc.) configured to read and execute program instructions. An SOC can include multiple multi-core processors, and each processor in an SOC can be referred to as a core. The term "multi-processor" can be used herein to refer to a system or device that includes two or more processing units configured to read and execute program instructions.
[0038] Fourth generation (4G) and fifth generation (5G) system (5GS) networks can support streaming services, such as live uplink streaming (LUS) services, e.g., Facebook live, YouTube live, Twitch, Periscope, Instagram live, etc. In such user-generated live uplink streaming services, a user can stream media content (e.g., video content, audio content, etc.) via their computing device to a network server associated with the live uplink streaming service. Different categories of live uplink streaming services can be professionally generated multimedia content, such as live video and audio feeds associated with live breaking news reports, audio / video streams of sporting events generated by venue-based cameras, etc. Regardless of the category of the live uplink streaming service (e.g., user-generated or professionally generated), in live uplink streaming services, the streamed (or uploaded) content is in turn available for viewing by other users via their respective computing devices. Both uplink and downlink network capacity can support the uplink transfer and / or downlink distribution of media content in LUS services.
[0039] Network assistance can be a feature of streaming service support. Network assistance can enable a wireless device to inquire whether a network assistance service (NAssS) can support a higher bit rate in wireless reception or transmission (referred to as “boosting”) and request a recommended operating bit rate before a session starts. A wireless device receiving a streaming service on the downlink (DL) can be referred to as requesting DL network assistance (DNA), while a wireless device transmitting a streaming content on the uplink (UL) can be referred to as requesting uplink network assistance (UNA). By allowing a higher bit rate for DL reception or UL transmission, boosting can be needed to avoid a media buffer of the wireless device from underflowing (in DL reception) or overflowing (in UL transmission). In addition, a higher bit rate of wireless reception or transmission can reduce latency in a streaming service, and a higher bit rate of wireless reception or transmission can support a higher resolution of a streaming service (e.g., a three-dimensional (3D) video streaming service, an 8K ultra-high definition (UHD) video streaming service, etc.). A network assistance request can be a message (e.g., a boost request) sent by a wireless device inquiring whether a radio access network (RAN) supports an increase in bit rate or a message sent by a wireless device inquiring a recommended bit rate (uplink or downlink recommended bit rate) for a streaming session. As specific examples, a network assistance request can be an access network bit rate recommendation query (ANBRQ) message defined for multimedia telephony service over Internet Protocol (IP) multimedia subsystem (IMS) (MTSI), a network assistance request can be a recommended bit rate query medium access control (MAC) control element (CE) (MAC CE) defined for long term evolution (LTE) and fifth generation (5G) new radio (NR), etc. A network assistance response can be a message received by a wireless device indicating a recommended bit rate for a streaming session and / or a capability to support an increase in bit rate (e.g., a boosting status). As specific examples, a network assistance response can be an access network bit rate recommendation (ANBR) message defined for MTSI, a network assistance response can be a recommended bit rate MAC CE defined for LTE and 5G NR, etc.
[0040] While a RAN such as an LTE-RAN, 5G-NR-RAN, etc. can support RAN-level signaling of recommended bit rates (uplink or downlink recommended bit rates) for a streaming session, current implementations do not support signaling of recommended bit rates (uplink or downlink recommended bit rates) for a streaming session on the wireless device itself, e.g., between a processor of a wireless device running a streaming service application and a modem processor of the wireless device. The inability to support signaling of recommended bit rates (uplink or downlink recommended bit rates) for a streaming session on the wireless device itself, e.g., between a processor of a wireless device running a streaming service application and a modem processor of the wireless device, can prevent current implementations from supporting application-level streaming service assistance, e.g., application-level bit rate control.
[0041] Methods, systems, and devices of various embodiments provide streaming service assistance on wireless devices such as a wireless device requesting a DNA, a wireless device requesting a UNA, etc. Various embodiments enable uplink and / or downlink bit rate recommendation requests, responses, and / or notifications to be exchanged between processors of a wireless device itself, e.g., between a processor of a wireless device running a streaming service application and a modem processor of the wireless device. Various embodiments can enable attention (AT) commands and / or responses associated with uplink and / or downlink bit rate recommendation requests, responses, and / or notifications to be exchanged between processors of a wireless device. In some embodiments, a modem processor and other processor of a wireless device can exchange AT commands and / or responses with each other via an AT interface. As used herein, an “AT interface” refers to any connection, bus, or other type of communication path through which one processor can exchange AT commands and / or responses with another processor. In some embodiments, a processor of a wireless device running a streaming service application can operate as a terminal equipment (TE) for sending / receiving AT commands associated with uplink and / or downlink bit rate recommendation requests, responses, and / or notifications. In some embodiments, a modem processor of a wireless device, e.g., a modem processor providing a connection to a RAN such as an LTE modem, 5G modem, etc., can operate as a mobile termination (MT) for sending / receiving AT commands associated with uplink and / or downlink bit rate recommendation requests, responses, and / or notifications. Various embodiments can 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, 5G NR RAN, etc.
[0042] In various embodiments, the AT commands associated with uplink and / or downlink bit rate recommendation requests, request responses and / or notifications (e.g., unsolicited responses to AT commands) can include a parameter (e.g., a logical channel identifier (LCID)) for explicitly identifying a logical channel carrying one or more media streams, the network assistance requests (e.g., ANBRQ, recommended bit rate query MAC CEs, etc.) sent / received by a RAN modem processor (e.g., a 5G modem processor, an LTE modem processor, etc.) to / from a RAN (e.g., an LTE RAN, a 5G NR RAN, etc.) and / or the network assistance responses (e.g., ANBR, recommended bit rate MAC CEs, etc.) are related to the one or more media streams. With respect to LTE systems, the streams used herein can be associated with LTE packet data network (PDN) connections. With respect to 5G systems, the streams used herein can be associated with protocol data unit (PDU) sessions.
[0043] In some embodiments, a media session handler running on a processor of a wireless device can operate as a TE for sending / receiving AT commands associated with uplink and / or downlink bit rate recommendation requests, responses and / or notifications. In some embodiments, the media session handler can include a network assistance sub-function or module configured to perform uplink and / or downlink bit rate recommendation request, response and / or notification functions. In some embodiments, the media session handler can interface with an application layer entity of the wireless device, such as a media stream aware application (e.g., a 5G media stream (5GMS) aware application, an evolved universal mobile telecommunications system (UMTS) terrestrial radio access network (E-UTRAN) aware application, etc.), a media player application, a media streaming application, etc.
[0044] Various embodiments can provide AT command interfaces for bitrate requests, recommendations, and / or notifications. In some embodiments, AT commands and responses for bitrate requests, recommendations, and / or notifications can employ extended commands and +C syntax for command prefixes associated with digital cellular communications. Various embodiment AT commands can belong to the packet domain. Various embodiment AT commands can support 5G system (5GS) protocol data unit (PDU) session and associated quality of service (QoS) semantics, e.g., QoS flow, QoS flow identifier (QFI), QoS rule, etc. Various embodiment AT commands can support c-Connected Establishment and evolved packet system (EPS) bearer semantics. Various embodiment AT commands can indicate a direction to which a bitrate request, recommendation, and / or notification applies, e.g., uplink, downlink, etc. Various embodiment AT commands can support unsolicited result codes. In some embodiments, unsolicited bitrate recommendation notifications from a RAN received by a RAN modem processor can be passed by the RAN modem processor to another processor of the wireless device, e.g., another processor of the wireless device running a media session handler interfacing with an application layer entity of the wireless device. As a specific example, unsolicited bitrate recommendation notifications from a 5G NR RAN received by a 5G modem processor can be passed to a media session handler. In some embodiments, AT commands with unsolicited result codes can be passed by the RAN modem processor to another processor of the wireless device, e.g., another processor of the wireless device running a media session handler interfacing with an application layer entity of the wireless device, without requiring the other processor to explicitly subscribe to the RAN modem processor to receive unsolicited result code AT commands.
[0045] Some embodiments can provide AT commands that are bitrate recommendation action commands. For example, an AT command that is a bitrate recommendation action command can be identified by the AT command syntax “+CGBRR”.
[0046] In some embodiments, a bitrate request can be an AT command that is a bitrate recommendation action command that includes an indication of a flow identifier, e.g., an identifier of a PDU session, an EPS bearer identifier, etc.; an indication of a requested bitrate, e.g., an aggregate requested bitrate for a set of QoS flows in a PDU session, a requested bitrate for an EPS bearer, a desired bitrate for a particular application data and / or a particular QoS flow within a PDU session for which an increased or elevated bitrate is requested, and a bitrate sum for all other application data and / or QoS flows in the PDU session that are not of interest; and an indication of a direction, e.g., UL, DL, etc. As a specific example, an AT command that is a bitrate recommendation action command can be “+CGBRR=, where the flow identifier is an identifier of a PDU session, the requested bitrate is an aggregate requested bitrate for a set of QoS flows in the PDU session, and the direction is UL. <cid> , <reqbitrate> , <direction>". In this example, <cid>"may be an integer type value specifying a flow identifier such as a specific PDU session definition," <reqbitrate>"may be an indication of the requested bit rate, such as a TE for a requested bit rate by" <cid>"the aggregate requested bit rate (e.g., in kilobits per second (kbit / s or kbps)) that will be responded by the MT for the set of QoS flows in the PDU session referenced" <direction>" " can be an indication of direction such as "UL" or "DL" for a bit rate request. In some embodiments, the AT command, as a bit rate recommendation action command, may further include an indication of a specific QoS flow within the PDU session. As a specific example, an AT command that includes an indication of a specific QoS flow within the PDU session as a bit rate recommendation action command could be "+CGBRR=" <cid> , <reqbitrate> , <direction>, [ <p_cid> ]. In this example, <cid>"may be an integer type value specifying a flow identifier such as a specific PDU session definition," <reqbitrate>"may be an indication of the requested bit rate, such as a TE for a requested bit rate by" <cid>the total aggregate requested bit rate (e.g., in kilobits per second (kbit / s or kbps)) for the overall QoS flows in the PDU session referenced, <direction>"UL" or "DL" such as a bit rate request, and "<p_cid>" can be a designation of the <cid>an integer type value of a specific QoS flow within the referenced PDU session. Aggregate request bit rate, e.g. <reqbitrate>The bit rate sum can represent a sum of a desired bit rate for a particular application data and / or a particular QoS flow (e.g., a QoS flow specified by <p_cid> (e.g., for which an increase or boost in bit rate is requested)) within a PDU session and a bit rate for all other application data and / or QoS flows in the PDU session that are not of interest.
[0047] In some embodiments, the bit rate response can be a response to an AT command sent over the AT interface, the bit rate response being a bit rate recommendation response, the bit rate recommendation response including an indication of a flow identifier (e.g., an identifier of a PDU session, an EPS bearer identifier, etc.), an indication of a bit rate recommendation (an aggregate bit rate recommendation for flow operations of a set of QoS flows in a PDU session, a bit rate recommendation for flow operations of an EPS bearer, etc.), and an indication of a direction (e.g., UL, DL, etc.). As a specific example, a response over the AT interface as a bit rate recommendation response can be "+CGBRR= <flow identifier>, <bit rate recommendation>, <direction>". <cid> , <recmbitrate> , <direction>". In this example, <cid>"may be an integer type value specifying a flow identifier (e.g. a specific PDU session definition), <recmbitrate>"may be a bitrate recommendation (e.g., from the MT to the TE for the" <cid>an indication of an aggregate bit rate recommendation (e.g., in kbit / s) for the flow operation of the set of QoS flows in the referenced PDU session, <direction>The response may be an indication of the direction of the bit rate response, such as "UL" or "DL". In some embodiments, the response as a bit rate recommendation response via the AT interface may also include an indication of a specific QoS flow within the PDU session. As a specific example, a response as a bit rate recommendation response via the AT interface that includes an indication of a specific QoS flow within the PDU session could be "+CGBRR=" <cid> , <recmbitrate> , <direction>[,, <p_cid>]". In this example, <cid>"may be an integer type value specifying a flow identifier (e.g. a specific PDU session definition), <recmbitrate>"may be a bitrate recommendation (e.g., from the MT to the TE for the" <cid>an indication of an aggregate bit rate recommendation (e.g., in kbit / s) for the flow operation of the set of QoS flows in the referenced PDU session, <direction>"This can be an indication of the direction of the bit rate response (e.g., "UL" or "DL"), and"<p_cid> "Can be specified by" <cid>The integer type value of the specific QoS flow within the referenced PDU session. In some embodiments, a response as a bit rate recommendation response can be sent from the MT to the TE in response to the TE sending an AT command as a bit rate recommendation action command to the MT.
[0048] In some embodiments, a response as a bit rate recommendation response over the AT interface can be sent from the MT to the TE as an unsolicited result code, the response including a bit rate recommendation value provided by the MT in the form of an unsolicited notification. As a specific example, an unsolicited notification response as a bit rate recommendation over the AT interface can be "+CGBRR[ <recmbitrate>]. In this example, <recmbitrate>The "bit rate recommendation" can be an indication of a bit rate recommendation, e.g., a bit rate recommendation value (e.g., in kbit / s).
[0049] In some embodiments, a test command can be sent from the TE to the MT to determine whether the MT supports sending a response as a bit rate recommendation response to an AT command as a bit rate recommendation action command. As a specific example, the TE can send a test command "+CGBRR=? " to the MT as an inquiry as to whether the MT supports sending a response as a bit rate recommendation response to an AT command as a bit rate recommendation action command. In some embodiments, a MT that supports sending a response as a bit rate recommendation response to an AT command as a bit rate recommendation action command can respond to the test code with a supported response. As a specific example, the MT can send a supported response "+CGBRR=OK" to the TE in response to the test command "+CGBRR=?", indicating that the MT supports sending a response as a bit rate recommendation response to an AT command as a bit rate recommendation action command. As another specific example, the MT can return a value as a composite value to the TE in response to the test command "+CGBRR=?", indicating that the MT supports sending a response as a bit rate recommendation response to an AT command as a bit rate recommendation action command. In some embodiments, a MT that does not support sending a response as a bit rate recommendation response to an AT command as a bit rate recommendation action command can respond to the test code with a not supported response. As a specific example, the MT can send a not supported response "+CGBRR=ERROR" to the TE in response to the test command "+CGBRR=?", indicating that the MT does not support sending a response as a bit rate recommendation response to an AT command as a bit rate recommendation action command. In some embodiments, a MT that supports sending a response as a bit rate recommendation response to an AT command as a bit rate recommendation action command can be mandatory in response to an action request. In some embodiments, a MT that supports sending a response as a bit rate recommendation response can be mandatory to support unsolicited notification of a bit rate recommendation implemented in the form of an unsolicited result code.
[0050] Various embodiments allow the frequency of bit rate requests from the TE to be limited by the MT. Network assistance messages, such as ANBRQ messages, can be limited on a per-logical-channel and per-direction basis. For example, the "bitRateQueryProhibitTimer" field in the "LogicalChannelConfig" information element (IE) can limit the frequency of ANBRQ messages sent by the radio device to the RAN. In some embodiments, the MT's response to bit rate requests from the TE can be limited on a per-logical-channel and per-direction basis. In some embodiments, a response timer can control the MT's response to bit rate recommendation action commands from the TE. For example, the same limitation on the frequency of ANBRQ messages set in the "bitRateQueryProhibitTimer" field of the "LogicalChannelConfig" IE can be applied to control the MT's response to bit rate requests from the TE. In various embodiments, the response timer can 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 consecutive bit rate recommendation action commands before the response timer expires, the MT can return an error code, such as an error code indicating that the latest bit rate recommendation action command was sent prematurely. In some embodiments, the error code may include a "retry" parameter. In one embodiment, in response to the TE sending a continuous bit rate recommendation action command before the response timer expires, the MT may return the latest bit rate recommendation indicated in the latest bit rate recommendation action command, applicable to the flow identifier (e.g., the identifier of a PDU session, the identifier of an EPS bearer, etc.). In some embodiments, the latest bit rate recommendation sent by the MT may include an indication of a wall clock time at which a network assistance response (e.g., an ANBR message, etc.) corresponding to the latest bit rate recommendation is received from the RAN. In one embodiment, in response to the TE sending a continuous bit rate recommendation action command before the response timer expires, the MT may take no action. In some embodiments, the TE may be configured to interpret the absence of a response from the MT to the bit rate recommendation action command as an indication that the last bit rate recommendation sent by the MT is still valid.
[0051] In various embodiments, flows such as QoS flows, EPS bearers, etc., can be mapped to RAN Layer 2 (L2) parameters. In various embodiments, the TE (e.g., an application running on the processor of a wireless device, such as a media session processor, etc.) can instruct the modem processor of the wireless device (e.g., a 5G modem, LTE modem, etc.) on flows corresponding to media streaming application flows for which it seeks bitrate recommendations or enhancements. For example, the application can use the action / execution command "+CGBRR=" <cid> , <reqbitrate> , <direction>[<p_cid>]”, to the modem, identifying the QoS flow (e.g., by QoS flow identifier (QFI)) corresponding to the media streaming application flow for which a bit rate recommendation or boost is sought, the associated PDU session identifier, and the requested flow bit rate.
[0052] In various embodiments, a modem processor receiving a bit rate recommendation action command can process the flow identifier (e.g., <p_cid>) to determine the PDU session identifier (e.g., <p_s_id>) and the QoS flow identifier (e.g., <qfi>) corresponding to the media streaming application flow for which a bit rate recommendation or boost is sought. <cid>The values of the "Recommended Bit Rate" field (e.g., the value of the "Recommended Bit Rate" field) are mapped to the internally referenced PDU Sessions and associated LCIDs in the Recommended Bit Rate MAC CE used in the bit rate recommendation query / response / notify interactions with the RAN.
[0053] In various embodiments, when a wireless device establishes a PDU Session via Non-Access Stratum (NAS) signaling with a Session Management Function (SMF), the SMF can return authorized QoS rules for the wireless device to use. In some embodiments, the SMF can also assign an associated QFI and QoS profile for each QoS Flow in the PDU Session, which can be provided to the base station, e.g., eNB, gNB, etc., in which the wireless device is camped via an Access and Mobility Management Function (AMF). There can be a one-to-one correspondence between the RAN L2 parameters for LCID, Data Radio Bearer (DRB) Identifier (DRB ID), QFI, and Radio Resource Control (RRC) parameters, which define the radio bearer and corresponding Service Data Adaptation Protocol (SDAP) (e.g., for NR only), Packet Data Convergence Protocol (PDCP), Radio Link Control (RLC), and MAC configurations. As a result, the base station, e.g., eNB, gNB, etc., in which the wireless device is camped is able to explicitly map the PDU Session and its contained QoS Flows for bit rate recommendation processing to DRBs.
[0054] 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 can 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 can be different than 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 can be different than the application requested bit rate in the AT command +CGBRR <reqbitrate>Different, similarly, AT response in <recmbrate>This may differ from the ANBR returned from the RAN. The reason for the difference could be, for example, that the ANBRQ / ANBR message could represent the bit rate value at the MAC layer, while the AT command... <reqbitrate>and <recmbitrate>This can correspond to the application layer bit rate (e.g., the values in the Recommended Bit Rate Query MAC CE and Recommended Bit Rate MAC CE include higher-layer transport overhead associated with MAC, RLC, PDCP, IP, and User Datagram Protocol (UDP) (or Transmission Control Protocol (TCP)) operations). In some embodiments, the modem can use values in the ANBRQ / ANBR message and in the AT command. <reqbitrate> / <recmbitrate>necessary conversions and mappings are performed to account for the differences in the protocol layer references of these messages. In some embodiments, the media session handler can perform conversions / mappings between MAC and application level bit rate values. For example, the media session handler can obtain from the modem any additional QoS flows (RAN bit rates represented by Contention ANBR) and their bit rate requirements and information of upper layer transmission overhead, and from the media player (in the case of DL streaming) information of the operating points of other application flows sent in the same PDU session to support conversions / mappings between MAC and application level bit rate values.
[0055] In some embodiments, controlling the streaming service based at least in part on the indication of the bit rate recommendation can include deriving a bit rate increase (or boost) for a QFI or QoS flow of interest (e.g., for which a boosted or increased bit rate is requested) from the bit rate recommendation in a response received from a modem processor of the wireless device over an AT interface. The bit rate recommendation received from the modem processor, for example <recmbitte>"may be a PDU session (e.g. by <cid>an indication of an aggregate bit rate recommendation (e.g., in kbit / s) for a set of QoS Flows in the PDU Session referenced by the <p_cid>. The recommended bit rate (e.g., the elevated or increased bit rate) for a particular application data and / or a particular QoS Flow of interest (e.g., the QoS Flow specified by the <p_cid> (e.g., for which the elevated or increased bit rate is requested)) can be determined by subtracting the sum of the bit rates of all other application data and / or QoS Flows in the PDU Session that are not of interest from the aggregate bit rate recommendation received from the modem processor, e.g., <recmbitter>" which can be an indication of an aggregate bit rate recommendation for a set of QoS flows in a PDU session. The resulting value can be a recommended bit rate (e.g., a boosted or increased bit rate) for a particular application data and / or a particular QoS flow of interest (e.g., a QoS flow specified by <p_cid>).
[0056] In some embodiments, the bit rate request can be an AT command that is a bit rate recommendation action command sent from a processor of the wireless device to a RAN modem of the wireless device over an AT interface to trigger the RAN modem to send a recommended bit rate query MAC CE for a PDN connection or a PDU session. In some embodiments, such a bit rate request to trigger a recommended bit rate query MAC CE for a PDN connection or a PDU session can be an AT command that includes an indication of a flow identifier (e.g., an identifier of a PDU session, a PDN connection identifier, etc.), an indication of a requested bit rate (e.g., an aggregate requested bit rate for a PDN connection or a PDU session, etc.), an indication of a direction (e.g., UL, DL, etc.), and optionally an indication of a QFI for a particular QoS flow within a PDU session. As a specific example, an AT command that is a bit rate recommendation action command can be "+CGBRRREQ= <p_cid>, <bit rate>, <direction>, [QFI]" where <p_cid> is an identifier of a PDU session, <bit rate> is a requested bit rate for the PDU session, <direction> is a direction (e.g., UL, DL, etc.), and [QFI] is an optional QFI for a particular QoS flow within the PDU session. <cid> , <reqbitrate> , <direction>, [ <p_cid> ]. In this example, <cid>"may be an integer type value specifying a flow identifier (e.g. a specific PDU session or PDN connection), <reqbitrate>"may be the requested bit rate (e.g. TE for the requested <cid>an indication of an aggregate requested bit rate (e.g., in kilobits per second (kbit / s or kbps)) for the identified PDN connection or PDU session, <direction>"may be an indication of the direction of the bitrate request (e.g., "UL" or "DL"), and when included, "<p_cid>" can be a designation of the flow by" <cid>an integer type value of a QFI of a specific QoS flow within the PDU session identified by the "QoS Flow ID" field.
[0057] In response to receiving an AT command that can be a bit rate request that triggers a recommended bit rate query MAC CE for a PDN connection or a PDU session, the modem processor can send a recommended bit rate query MAC CE for the PDN connection or the PDU session identified in the AT command (e.g., by the PDN ID or the PDU session ID) to the network. <cid>"identified PDN connection or PDU session) sends a recommended bit rate query MAC CE. In some embodiments, when the modem processor does not support such triggers, the modem processor can return an error code (e.g., "+CME ERROR: <err>) in response.
[0058] In some embodiments, the processor can test the modem processor to determine values for streams (e.g., PDN connections, PDU sessions, etc.) for which the modem processor can be configured to be triggered to send a recommended bit rate MAC CE. For example, the processor can send an AT command "+CGBRRREQ=?” to the modem processor over the AT interface as a test command. In response to the test command, in some embodiments, the modem processor can send a response over the AT interface indicating a range of supported streams, a range of supported requested bit rates, a range of supported directions, and a range of supported QoS flow’s QFI. For example, the modem processor can send a response "+CGBRRREQ: (supported streams = 1-10, supported requested bit rates = 1-10, supported directions = 1-2, supported QoS flow’s QFI = 1-10) in response to the test command over the AT interface. In some embodiments, the processor can use the response to determine the values for the streams for which the modem processor can be configured to be triggered to send a recommended bit rate MAC CE. For example, the processor can determine that the modem processor can be configured to be triggered to send a recommended bit rate MAC CE for streams 1-10, requested bit rates 1-10, directions 1-2, and QoS flow’s QFI 1-10. <cid>of the range), (supported <reqbitrate>of the range), (supported <direction>" (range of supported <p_cid>s)". In this example, <cid>"may be an integer type value specifying a flow identifier (e.g. a specific PDU session or PDN connection), <reqbitrate>"may be the requested bit rate (e.g., TE for the requested bit rate <cid>an indication of an aggregate requested bit rate (e.g., in kilobits per second (kbit / s or kbps)) for the identified PDN connection or PDU session, <direction>"may be an indication of the direction of the bit rate request (e.g., "UL" or "DL"), and "<p_cid>" can be a designation of the <cid>An integer type value identifying the QFI of the specific QoS flow within the PDU session. The supported range can be sent as a complex value in the response.
[0059] In some embodiments, a processor of a wireless device, e.g., a processor of a wireless device running a media session handler interfacing with an application layer entity of the wireless device, can send an AT command to a modem processor to subscribe to unsolicited result responses from a RAN modem processor of the wireless device, e.g., unsolicited bit rate recommendation responses or notifications from the RAN modem processor. In such embodiments, after the processor explicitly subscribes the RAN modem processor to receive unsolicited result code AT commands / responses, an AT command with an unsolicited result code can be passed by the RAN modem processor to the processor of the wireless device, e.g., a processor of a wireless device running a media session handler interfacing with an application layer entity of the wireless device. As a specific example, the processor can send an AT command "+CGBRRREP= to the modem processor over the AT interface. <reporting>], to enable (e.g., subscribe) to the reporting of the recommended bit rate received from the RAN in the Recommended Bit Rate MAC CE. This can prompt an unsolicited result code + CGBRR: <cid> , <recmbitrate> , <direction>[,, <p_cid>]. In this example, <reporting>"may be an integer type, for example "0" indicates that reporting is not enabled, "1" indicates that reporting is enabled, <cid>"may be an integer type identifying the PDN connection or PDU session to which the recommended bit rate applies, <direction>" can be a string type indicating the direction ("UL" or "DL") to which the recommended bit rate applies, and "<p_cid>" can be an integer type indicating the QFI of the QoS flow to which the recommended bit rate applies.
[0060] In response to the AT command subscribing to unsolicited responses from the modem processor, the modem processor can indicate whether the modem processor supports reporting of unsolicited bit rate recommendation responses. In some embodiments, when the modem processor does not support sending unsolicited bit rate recommendation responses, the modem processor can indicate an error (e.g., "+CME ERROR: 0xXX" in the response over the AT interface. <err>").
[0061] In some embodiments, the processor can request the status of the modem that provides the unsolicited bit rate recommendation response. For example, the processor can send an AT command "+CGBRRREP?" to the modem processor and the modem processor can return a response "CGBRRREP: 0" through the AT interface, indicating that the modem processor is not providing the unsolicited bit rate recommendation response. <reporting>". In this example, <reporting>" can be an integer type, for example "0" indicates that reporting is not enabled, and "1" indicates that reporting is enabled.
[0062] In some embodiments, the test command can be sent by the processor to the modem processor over the AT interface to request a value of the unsolicited bitrate recommendation response support. For example, the processor can send the AT command "+CGBRRREP=?" to the modem processor, and the modem processor can return the response "CGBRRREP: (supported value) 1" over the AT interface. <reporting>"list of supported features"). In this example, "(supported <reporting>"List of supported values for the unrequested bitrate recommendation response" can be a composite value of all values supported by the unrequested bitrate recommendation response. In some embodiments, the TE's <reporting>The value of the bit rate recommendation can be "0" or "1", and the return value from the MT can simply be one of the following three possibilities: 1) "0"; 2) "1"; or 3) "0" and "1").
[0063] In some embodiments, in response to an AT command, a TE (e.g., an application processor) on a wireless device can trigger an MT (e.g., a modem processor) on the wireless device to return a requested bit rate recommendation. For example, the AT command "+CGBRRREQ" can be useful for other embodiments or new AT commands. In this way, a bit rate recommendation sent from an MT (e.g., a modem processor) on a wireless device to a TE (e.g., an application processor) on the wireless device can be the result of a request.
[0064] In some embodiments, a processor of a wireless device, e.g., a processor of a wireless device running a media session handler interfacing with an application layer entity of the wireless device, can send an AT command to a 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 to a RAN for an indicated direction (e.g., UL, DL, etc.) for a PDN connection or PDU session, and additionally instructing the RAN modem processor to return to the processor a recommended bit rate value corresponding to a recommended bit rate MAC CE received by the RAN modem processor in response to a previous query. As a specific example, the AT command "+CGBRR[= "0" or "1"]" sent from a TE as an instruction to an MT to send a query to a RAN and return a bit rate recommendation from the RAN to the TE as a result of the query can be "+CGBRR[= "0" or "1"]". <cid> , <reqbitrate> , <direction>, [ <p_cid> ] ], and the response sent from the MT to the TE over 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 type value specifying a flow identifier (e.g. identifying a specific PDU session or PDN connection to which the recommended bit rate query or response applies), <reqbitrate>"may be a requested bit rate (e.g., TE queries MAC CE for recommended bit rate mapped by MT to MT transmitted to RAN" <cid>an indication of the aggregate requested bit rate (e.g., in kilobits per second (kbit / s or kbps)) for the identified PDN connection or PDU session. Also in this example, <recmbitrate>"may be directed to a change in the value of the parameter by" <cid>an indication of an aggregated bit rate recommendation (e.g., in kbit / s) of the PDU session or PDN connection referenced and corresponding to the bit rate in the Recommended Bit Rate MAC CE for the PDU session or PDN connection received from the RAN by the MT, and <direction>" can be a string type indication of the direction of the bitrate request or response (e.g. "UL" or "DL"). Also in this example, "<p_cid>" (when included) can be an integer type value identifying the QFI of the QoS flow to which the recommended bitrate query or response applies.
[0065] In some embodiments, when the modem processor does not support triggered bitrate recommendation responses, the modem processor can indicate an error in the response over the AT interface, e.g. "+CME ERROR: <err>In some embodiments, the processor can request the state of the modem triggered by the AT action / execution command for bitrate recommendation. For example, the processor can send an AT command "+CGBRR=?"" to the modem processor as a test command. In some embodiments, the test command can return a stream identifier (e.g., PDU session or PDN connection identifier (e.g., <cid>"supported values, QFI of the QoS flow (e.g., "<p_cid>") and requested bitrate (e.g. <reqbitrate>") and direction (e.g. <direction>") list of supported values. For example, a range can be returned as a composite value. As a specific example, in response to a test command, the MT can send a response "+CGBRR: (supported <cid>of the range), (supported <reqbitrate>of the range), (supported <direction>(list of supported)<p_cid> Scope)]”.
[0066] In some embodiments, the processor of the wireless device, such as the processor of a media session processor running an application layer entity interface connected to the wireless device, can send an AT command to the modem processor to subscribe to a bitrate recommendation report. The processor can send a setting command to the modem processor to enable the reporting of recommended bitrates received from the RAN via the Recommended Bitrate MAC CE, through an unsolicited result code response sent by the modem processor to the processor via the AT interface. As a specific example, the processor can send the AT command "+CGBRRREP=[" to the modem processor via the AT interface. <reporting>], with the result code +CGBRR by the modem processor through the AT interface by an unsolicited result code: <cid> , <recmbitrate> , <direction>[,, <p_cid>], enabling (e.g., subscribing) to reporting of recommended bitrates received from the RAN in a recommended bitrates MAC CE. In this example, <reporting>"may be an integer type, for example "0" to indicate that reporting is disabled, "1" to indicate that reporting is enabled, <cid>"may be an integer type identifying the PDN connection or PDU session to which the recommended bit rate applies, and <recmbitrate>"may be an indication of an aggregate bit rate recommendation (e.g., in kbit / s) for the data to be transmitted by the <cid>The referenced PDU session or PDN connection and corresponds to the bit rate in the recommended bit rate MAC CE for this PDU session or PDN connection received by the MT from the RAN and is mapped to the latest recommended bit rate MAC CE received by the modem from the RAN. Also in this example, <direction>" can be a string type indicating the direction ("UL" or "DL") to which the recommended bit rate applies, and "<p_cid>" can be an integer type indicating the QFI of the QoS flow to which the recommended bit rate applies. In some embodiments, a read command such as "+CGBRREP" can return the current command settings, e.g., in a response "+CGBRREP: <reporting>"Among them" <reporting>" can be an integer type, for example "0" to indicate disabling reporting, and "1" to indicate enabling reporting. In some embodiments, a test command such as "+cgbrrep=? " can indicate support for <reporting>Values are returned as compound values.
[0067] FIG. 1A is a system block diagram illustrating an example communication system 100 suitable for implementing any of the various embodiments. The communication system 100 can be a Fifth Generation (5G) New Radio (NR) network, or any other suitable network, such as an LTE network, a 5G network, and the like. While FIG. 1A A 5G network is illustrated, next generation networks can include the same or similar elements. Thus, references in the following description to a 5G network and 5G network elements are for illustrative purposes and are not intended to be limiting.
[0068] The communication system 100 can include a heterogeneous network architecture that includes a core network 140 and various mobile devices (also referred to as user equipment (UE) computing devices) (shown in FIG. 1A as wireless devices 120a-120e). The communication system 100 can also include a plurality of base stations (illustrated as BS 110a, BS 110b, BS 110c, and BS 1 lOd) and other network entities. A base station is an entity that communicates with wireless devices (mobile devices or UE computing devices) and can also be referred to as a NodeB, a NodeB, an LTE evolved NodeB (eNB), an access point (AP), a radio head, a transmit receive point (TRP), a New Radio Base Station (NR BS), a 5G NodeB (NB), a Next Generation NodeB (gNB), and the like. Each base station can provide communication coverage for a particular geographic area. In 3GPP, the term "cell" can refer to a coverage area of a base station, a base station subsystem serving the coverage area, or a combination thereof, depending on the context in which the term is used.
[0069] The base stations 110a-110d can provide communication coverage for a macro cell, a pico cell, a femto cell, another type of cell, or a combination thereof. A macro cell can cover a relatively large geographic area (e.g., several kilometers in radius) and can allow unrestricted access by mobile devices having service subscriptions with the network operator. A pico cell can cover a relatively small geographic area and can allow restricted access by mobile devices having service subscriptions with the network operator. A femto cell can cover a relatively small geographic area (e.g., a home) and can allow restricted access by mobile devices having service subscriptions with the network operator. A base station for a macro cell can be referred to as a macro BS. A base station for a pico cell can be referred to as a pico BS. A base station for a femto cell can be referred to as a femto BS or a home BS. In a FIG. 1A In the illustrated example, the base station 110a can be a macro BS for a macro cell 102a, the base station 110b can be a pico BS for a pico cell 102b, and the base station 110c can be a femto BS for a femto cell 102c. The base stations 110a- 110d can support one or more (e.g., three) cells. The terms "eNB," "base station," "NR BS," "gNB," "TRP," "AP," "node B," "5G NB," and "cell" can be used interchangeably herein.
[0070] In some examples, a cell can not be stationary, and the geographic area of the cell can move based on the location of a mobile base station. In some examples, the base stations 110a- 110d can be interconnected to one another and to the one or more other base stations or network nodes (not shown) in the communications system 100 through various types of backhaul interfaces (e.g., a direct physical connection, a virtual network, or a combination thereof) using any suitable transport network.
[0071] The base stations 110a- 110d can communicate with the core network 140 through wired or wireless communication links 126. The wireless devices 120a- 120e (UE computing devices) can communicate with the base stations 110a- 110d through wireless communication links 122.
[0072] The wired communication links 126 can use various wired networks (e.g., Ethernet, television cable, telephone, optical fiber, and other forms of physical network connections) that can 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).
[0073] The communications system 100 can also include relay stations (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 the data to a downstream station (e.g., a wireless device or a base station). A relay station can also be a mobile device that can relay transmissions for other mobile devices. In the example shown, the relay station 110d can communicate with the macro base station 110a and the wireless device 120d in order to facilitate communication between the base station 110a and the wireless device 120d. A relay station can also be referred to as a relay base station, a relay station, a relay, or the like. FIG. 1A In the illustrated example, the relay station 110d can communicate with the macro base station 110a and the wireless device 120d in order to facilitate communication between the base station 110a and the wireless device 120d. A relay station can also be referred to as a relay base station, a relay station, a relay, or the like.
[0074] The communication system 100 can be a heterogeneous network that includes base stations of different types, e.g., macro base stations, pico base stations, femto base stations, relay base stations, etc. These different types of base stations can have different transmit power levels, different coverage areas, and different impacts on interference in the communication system 100. For example, macro base stations can have a high transmit power level (e.g., 5 to 40 Watts), whereas pico base stations, femto base stations, and relay base stations can have relatively lower transmit power levels (e.g., 0.1 to 2 Watts).
[0075] A network controller 130 can couple to a set of base stations and can provide coordination and control for these base stations. The network controller 130 can communicate with the base stations via a backhaul. The base stations can also communicate with one another, e.g., directly or indirectly via a wireless or wireline backhaul.
[0076] Wireless devices (UE computing devices) 120a, 120b, 120c can be dispersed throughout the communication system 100, and each can be stationary or mobile. A wireless device can also be referred to as an access terminal, UE, terminal, mobile station, subscriber unit, station, etc.
[0077] The macro base station 110a can communicate with a communication network 140 over a wired or wireless communication link 126. The wireless devices 120a, 120b, 120c can communicate with the base stations 110a-110d over wireless communication links 122.
[0078] The wireless communication links 122, 124 can include multiple carrier signals, frequencies or frequency bands, each of which can include multiple logical channels. The wireless communication links 122 and 124 can utilize one or more radio access technologies (RATs). Examples of RATs that can 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 telephone communication technologies cellular RATs. Further examples of RATs that can 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).
[0079] Certain wireless networks (e.g., LTE) utilize orthogonal frequency division multiplexing (OFDM) on the downlink and single-carrier frequency division multiplexing (SC-FDM) on the uplink. OFDM and SC-FDM partition the system bandwidth into multiple (K) orthogonal subcarriers, which are also commonly referred to as tones, bins, etc. Each subcarrier can be modulated with data. In general, modulation symbols are sent in the frequency domain with OFDM and in the time domain with SC-FDM. The spacing of adjacent subcarriers can be fixed, and the total number of subcarriers (K) can be dependent on the system bandwidth. For example, the spacing of the subcarriers can be 15 kHz and the minimum resource allocation (called a“resource block” (RB)) can be 12 subcarriers (or 180 kHz). Consequently, the nominal fast Fourier transform (FFT) size can be equal to 128, 256, 512, 1024 or 2048 for system bandwidth of 1.25, 2.5, 5, 10, or 20 megahertz (MHz), respectively. The system bandwidth can also be partitioned into subbands. For example, a subband can cover 1.08 MHz (i.e., 6 resource blocks), and there can be 1, 2, 4, 8, or 16 subbands for system bandwidth of 1.25, 2.5, 5, 10, or 20 MHz, respectively.
[0080] While the description of some embodiments can use terminology and examples associated with LTE technology, various embodiments can be applied in connection with other wireless communication systems such as a New Radio (NR) or 5G network. NR can utilize OFDM with a cyclic prefix (CP) on the uplink (UL) and downlink (DL) and include support for half-duplex operation using time division duplex (TDD). A single component carrier (CC) bandwidth of 100 MHz can be supported. NR resource blocks can span 12 subcarriers with a subcarrier bandwidth of 75 kHz, lasting 0.1 ms. Each radio frame can consist of 50 subframes with a length of 10 ms. Consequently, each subframe can have a length of 0.2 ms. Each subframe can indicate a link direction (i.e., DL or UL) for data transmission and the link direction for each subframe can be dynamically switched. Each subframe can include DL / UL data as well as DL / UL control data. Beamforming can be supported and beam direction can be dynamically configured. Multiple Input Multiple Output (MIMO) transmissions with precoding can also be supported. MIMO configurations can support up to 8 transmit antennas with multiple layers of up to 8 streams for each wireless device with multi-layer DL transmissions up to 2 streams. Multi-layer transmissions can be supported with up to 2 streams for each wireless device. Aggregation of multiple cells can be supported with up to eight serving cells. Alternatively, NR can support a different air interface that is not based on OFDM.
[0081] Some mobile devices can be considered machine-type communication (MTC) or evolved or enhanced machine-type communication (eMTC) mobile devices. MTC and eMTC mobile devices include, for example, robots, drones, remote devices, sensors, meters, monitors, location tags, etc., that can communicate with a base station, another device (for example, remote device) or some other entity. A wireless node can provide, for example, connectivity for or to a network (for example, a wide area network such as Internet or a cellular network) via a wired or wireless communication link. Some mobile devices can be considered Intemet-of-Things (IoT) devices or can be implemented as NB-IoT (narrowband internet of things) devices. The wireless devices 120a-e can be included in the housing of the wireless device that houses components of the wireless device such as processor components, memory components, similar components, or a combination thereof.
[0082] In general, any number of communication systems and any number of wireless networks can be deployed in a given geographic area. Each communication system and wireless network can support a particular radio access technology (RAT) and can operate on one or more frequencies. A RAT can also be referred to as a radio technology, an air interface, etc. A frequency can also be referred to as a carrier, a frequency channel, etc. Each frequency channel can support a single RAT in a given geographic area in order to avoid interference between communication systems of different RATs. In some cases, 4G / LTE and / or 5G / NR RAT networks can be deployed. For example, a 5G non-standalone (NSA) network can utilize 4G / LTE RATs in a 4G / LTE RAN side of the 5G NSA network and 5G / NR RATs in a 5G / NR RAN side of the 5G NSA network. The 4G / LTE RAN and the 5G / NR RAN can be connected to each other and to a 4G / LTE core network (for example, an evolved packet core (EPC) network) in the 5G NSA network. Other example network configurations can include 5G standalone (SA) networks, where a 5G / NR RAN is connected to a 5G core network.
[0083] In some implementations, two or more mobile devices 120a-e (for example, wireless device 120a and wireless device 120e, illustrated) can communicate directly with each other using one or more sidelink channels 124 (for example, not using base stations 110a-d as an intermediary to communicate with each other). For example, wireless devices 120a-e can communicate using peer-to-peer (P2P) communication, device-to-device (D2D) communication, a vehicle-to-everything (V2X) protocol (which can include a vehicle-to- vehicle (V2V) protocol, a vehicle-to-infrastructure (V2I) protocol, or similar protocol), a mesh network, or similar network, or a combination thereof. In this case, the wireless devices 120a-e can perform scheduling operations, resource selection operations, and other operations described elsewhere herein as being performed by the base stations 110a-d.
[0084] FIG. 1B is a system diagram illustrating an example communication in a communication system (e.g., the communication system 100) that supports stream service assistance (e.g., for a framework of real-time uplink streaming (FLUS) services). Referring to FIG. 1A and 1B , a stream service source, e.g., a FLUS source 155 of a wireless device 152 (e.g., the wireless devices 120a-120e), can provide a real-time uplink media stream 150 to be provided in a real-time uplink streaming session to a real-time uplink sink wireless computing device, e.g., a wireless device 154 (e.g., the wireless devices 120a-120e) that is a wireless FLUS sink computing device. The real-time uplink media stream 150 can be transmitted from the FLUS source 155 to the FLUS sink 154 via a RAN 153, including a base station (e.g., the base stations 110a-110d), e.g., an eNB, gNB, etc., on which the wireless device 152 is camped. The FLUS source 155 of the wireless device 152 can request a higher bit rate (referred to as a "boost") in a wireless reception or transmission in a boost request 160. In response to the boost request 160, the wireless device 152 can transmit a network assistance request, such as an ANBRQ, as a recommended bit rate query MAC CE 162 to the RAN 153, e.g., to the eNB / gNB on which the wireless device 152 is camped. In response to the network assistance request, the RAN 153 (e.g., the eNB / gNB on which the wireless device 152 is camped) can transmit a network assistance response, such as an ANBR, as a recommended bit rate MAC CE 164, to the wireless device 152. Based on the received network assistance response, the FLUS source 155 can receive a bit rate indication 166. The bit rate indication 166 can be a recommended bit rate for the stream session of the media stream 150 and / or a capability (e.g., a boost status) to support (or not support) an increase in bit rate.
[0085] FIG. 2 is a component block diagram illustrating an example computing and wireless modem system 200 suitable for implementing any of the various embodiments. The various embodiments can be implemented on a number of single-processor and multi-processor computer systems including a system on a chip (SOC) or system in a package (SIP).
[0086] Referring to FIGS. 1A-2 The exemplary wireless device 200 (which can be a SIP in certain 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 to / from network wireless devices (e.g., base stations 110a) via an antenna (not shown). In some embodiments, the first SOC 202 operates as a central processing unit (CPU) of the wireless device, executing instructions of software applications by performing arithmetic, logical, control, and input / output (I / O) operations specified by the instructions. In some embodiments, the second SOC 204 can operate as a specialized processing unit. For example, the second SOC 204 can operate as a specialized 5G processing unit responsible for managing high capacity, high speed (e.g., 5 Gbps, etc.) and / or very high frequency short wavelength (e.g., 28 Ghz millimeter wave spectrum, etc.) communications.
[0087] The first SOC 202 can include a digital signal processor (DSP) 210, a modem processor 212, a graphics processor 214, an application processor (AP) 216, one or more co-processors 218 (e.g., vector co-processor), which are connected to one or more processors, a 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 a thermal power envelope (TPE) component 234. The second SOC 204 can include a 5G modem processor 252, a power management unit 254, an interconnect / bus module 264, a plurality of millimeter wave transceivers 256, a memory 258, and various additional processors 260, such as an application processor, a packet processor, etc.
[0088] Each processor 210, 212, 214, 216, 218, 252, 260 can include one or more cores, and each processor / core can perform operations independently of the other processors / cores. For example, the first SOC 202 can include a processor that executes a first type of operating system (e.g., FreeBSD, LINUX, OS X, etc.) and a processor that executes a second type of operating system (e.g., MICROSOFT windows 10). Further, any or all of the processors 210, 212, 214, 216, 218, 252, 260 can be included as part of a processor cluster architecture (e.g., a synchronous processor cluster architecture, an asynchronous or heterogeneous processor cluster architecture, etc.).
[0089] The first and second SOCs 202, 204 can include various system components, resources, and custom circuitry for managing sensor data, analog-to-digital conversion, wireless data transmission, and for performing other specialized operations such as decoding data packets and processing encoded audio and video signals for presentation in a web browser. For example, the system components and resources 224 of the first SOC 202 can include power amplifiers, voltage regulators, oscillators, phase-locked loops, peripheral bridges, data controllers, memory controllers, system controllers, access ports, timers, and other similar components for supporting processors and software clients running on the wireless device. The system components and resources 224 and / or custom circuitry 222 can also include circuitry to interface with peripheral devices such as cameras, electronic displays, wireless communication devices, external memory chips, and the like.
[0090] The first and second SOCs 202, 204 can communicate via an interconnect / bus module 250. The various processors 210, 212, 214, 216, 218 can be interconnected to one or more memory elements 220, system components and resources 224, and custom circuitry 222, and a thermal management unit 232 via an interconnect / bus module 226. Similarly, the processor 252 can be interconnected to a power management unit 254, millimeter wave transceiver 256, memory 258, and various additional processors 260 via an interconnect / bus module 264. The interconnect / bus modules 226, 250, 264 can include an array of reconfigurable logic gates and / or implement a bus architecture (e.g., CoreConnect, AMBA, etc.). Communications can be provided by an advanced interconnect such as a high-performance network-on-chip (NoC). The interconnect / bus modules 226, 250, 264 can be individually and / or in various combinations configured as AT interfaces to enable the processors 210, 212, 214, 216, 218, 252, 260 to exchange AT commands and / or responses with one another.
[0091] The first and / or second SOCs 202, 204 can also include an input / output module (not shown) for communicating with resources external to the SOC, such as the clock 206, voltage regulator 208, and one or more wireless transceivers 266. Resources external to the SOC (e.g., the clock 206, voltage regulator 208) can be shared by two or more internal SOC processors / cores.
[0092] In addition to the example SIP 200 discussed above, various embodiments can be implemented in a wide variety of computing systems, which can include single-processor, multi-processor, multi-core processors, or any combination thereof.
[0093] FIG. 3 An example of a software architecture 300 is shown that includes radio protocol stacks for the user and control planes in wireless communication 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). Reference is made to FIGS. 1A-3 The wireless device 320 can implement the software architecture 300 to communicate with the base stations 350 of a communication system (e.g., 100). In various embodiments, the layers in the software architecture 300 can form a logical connection with corresponding layers in software of the base stations 350. The software architecture 300 can be distributed among one or more processors (e.g., processors 212, 214, 216, 218, 252, 260). Although shown with respect to one radio protocol stack, in a multi-SIM (subscriber identity module) wireless device, the software architecture 300 can include multiple protocol stacks, each of which can be associated with a different SIM (e.g., in a dual-SIM wireless communication device, two protocol stacks are associated with two SIMs, respectively). Although described below with respect to LTE communication layers, the software architecture 300 can support any of a variety of standards and protocols for wireless communication, and / or can include additional protocol stacks that support any of a variety of standards and protocols for wireless communication.
[0094] The software architecture 300 can include a non-access stratum (NAS) 302 and an access stratum (AS) 304. The NAS 302 can include functions and protocols that support packet filtering, security management, mobility control, session management, and traffic and signaling between a SIM (e.g., SIM 204) of the wireless device and its core network 140. The AS 304 can include functions and protocols that support communication between a SIM (e.g., SIM 204) and an entity of a supported access network (e.g., a base station). Specifically, the AS 304 can include at least three layers (Layer 1, Layer 2, and Layer 3), each of which can contain various sub-layers.
[0095] In the user and control planes, Layer 1 (LI) of the AS 304 can be a physical layer (PHY) 306 that can monitor functions capable of being transmitted and / or received over an air interface. Examples of such physical layer 306 functions can include cyclic redundancy check (CRC) attachment, coding blocks, scrambling and descrambling, modulation and demodulation, signal measurements, MIMO, etc. The physical layer can include various logical channels, including a physical downlink control channel (PDCCH) and a physical downlink shared channel (PDSCH).
[0096] In the user and control planes, Layer 2 (L2) of the AS 304 can be responsible for the link between the wireless device 320 and the base station 350 through the physical layer 306. In various embodiments, Layer 2 can include a medium 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.
[0097] In the control plane, Layer 3 (L3) of the AS 304 can include a radio resource control (RRC) sublayer 313. Although not shown, the software architecture 300 can include additional Layer 3 sublayers as well as various upper layers above Layer 3. In various embodiments, the RRC sublayer 313 can provide functions including broadcast of system information, paging, and establishment and release of an RRC signaling connection between the wireless device 320 and the base station 350.
[0098] In various embodiments, the PDCP sublayer 312 can provide uplink functions including multiplexing of different radio bearers and logical channels, sequence number addition, handover data handling, integrity protection, ciphering, and header compression. In the downlink, the PDCP sublayer 312 can provide functions including in-sequence delivery of data packets, duplicate data packet detection, integrity verification, deciphering, and header decompression.
[0099] In the uplink, the RLC sublayer 310 can provide segmentation and concatenation of upper layer data packets, retransmission of lost data packets, and automatic repeat request (ARQ). In the downlink, although the functions of the RLC sublayer 310 can include reordering of data packets to compensate for out-of-order reception, reassembly of upper layer data packets, and ARQ.
[0100] In the uplink, the MAC sublayer 308 can provide functions including multiplexing between logical and transport channels, random access procedures, logical channel prioritization, and hybrid-ARQ (HARQ) operation. In the downlink, the MAC layer functions can include channel mapping, demultiplexing, discontinuous reception (DRX), and HARQ operation within a cell.
[0101] While the software architecture 300 can provide functionality for transmitting data over a physical medium, the software architecture 300 can also include at least one host layer 314 to provide data transfer services to various applications in the wireless device 320. In some embodiments, application-specific functionality provided by the at least one host layer 314 can provide an interface between the software architecture and a general-purpose processor. As an example, the host layer 314 can provide various functionality, including a streaming service application functionality 360, such as a downlink streaming service application functionality and / or an uplink streaming service application functionality, a media session handler functionality 362, a media player entity, a media streamer entity, and / or the like. Such streaming service application functionality 360 and / or media handler functionality 362 can operate together to provide a streaming service (e.g., an uplink streaming service, a downlink streaming service, and / or the like) on the wireless device 320.
[0102] In other embodiments, the software architecture 300 can include one or more higher logical layers (e.g., transport, session, presentation, application, etc.) that provide host layer functionality. For example, in some embodiments, the software architecture 300 can include a network layer (e.g., an IP layer) in which logical connections terminate at an external packet data network (PDN) gateway (PGW) in a mobile operator network. In some embodiments, the software architecture 300 can include an application layer in which logical connections terminate at another device (e.g., an end-user device, a server, etc.). In some embodiments, the software architecture 300 can also include a hardware interface 316 between the AS 304 and communication hardware (e.g., one or more radio frequency (RF) transceivers) in the wireless device 320.
[0103] FIG. 4A FIG. 1 is a component block diagram illustrating a system configured for providing downlink streaming service assistance in a 5GS network, in accordance with various embodiments. FIG. 4B FIG. 2 is a component block diagram illustrating a system configured for providing uplink streaming service assistance, in accordance with various embodiments. FIG. 4A FIG. 3 is a component block diagram illustrating a system configured for providing downlink streaming service assistance in a 5GS network, in accordance with various embodiments. FIGS. 1A-4B In various embodiments, the system can include a wireless device 400 (e.g., wireless devices 120a-120e, 152, 154, 200, 320). The wireless device 400 can 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 can run on the application processor 403. The application processor 403, and in particular the media session handler 404, can 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 can be AT commands / responses associated with downlink bitrate recommendation requests, responses, and / or notifications. In response to receiving an AT command as a downlink bitrate recommendation request from the application processor 403 (e.g., from the media session handler 404 running on the application processor 403), the RAN modem 402 can send an ANBR Q message to a base station (e.g., base stations 110a-110d, 350) of a RAN (e.g., RAN 153). The RAN (e.g., RAN 153) can return a bitrate recommendation to the RAN modem 402 as an ANBR message. In response to receiving the ANBR message, the RAN modem 402 can send a response as a downlink bitrate recommendation response to the application processor 403, e.g., to the media session handler 404 running on the application processor 403, over the AT interface. The media session handler 404 can interface with a media player / streamer application and / or a stream awareness application to provide a streaming service. For example, the media session handler 404 can interface with a media player / streamer application and / or a stream awareness application to provide a streaming service via an M6 interface (e.g., an M6d interface for downlink media streaming and / or an M6u interface for uplink media streaming). Although illustrated as running on the same processor (e.g., 403), the media player / streamer application and / or stream awareness application and / or the media session handler 404 can run on different processors of the wireless device 400 (e.g., a media player / streamer application on processor 218 and a media session handler 404 on processor 216, etc.).
[0104] In various embodiments, the AT commands / responses exchanged between the application processor 403 and the RAN modem 402 can be AT commands / responses associated with uplink bitrate recommendation requests, responses, and / or notifications. In response to receiving an AT command from the application processor 403 (e.g., from the media session handler 404 running on the application processor 403) as an uplink bitrate recommendation request, the RAN modem 402 can send an ANBR Q message to a base station (e.g., base stations 110a-110d, 350) of a RAN (e.g., RAN 153). The RAN (e.g., RAN 153) can return a bitrate recommendation to the RAN modem 402 as an ANBR message. In response to receiving the ANBR message, the RAN modem 402 can send a response to the application processor 403, e.g., to the media session handler 404 running on the application processor 403, over the AT interface as an uplink bitrate recommendation response.
[0105] FIG. 5 An architecture for AT command / response exchange on the wireless device 400 to support streaming service assistance is shown in accordance with various embodiments. Reference is made to FIGS. 1A-5 The TE can be an application running on a first processor of the wireless device 400, such as the media session handler 404 running on the application processor 403. The MT can be the RAN modem 402. The TE (e.g., the media session handler 404) and the MT (e.g., the RAN modem 402) can exchange AT commands and responses via one or more logical terminal adapters (TAs) between the TE (e.g., the media session handler 404) and the MT (e.g., the RAN modem 402). Various one or more interconnects (e.g., interconnect / bus modules 226, 250, 264) that include the one or more logical TAs can operate as an AT interface 420 between the TE (e.g., the media session handler 404) and the MT (e.g., the RAN modem 402). As a specific example, the media session handler 404 running on the application processor 403 can send an AT command associated with 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 way, the media session handler 404 can operate as a TE and the RAN modem 402 can operate as a MT. In response to receiving the AT command over the AT interface 420, the RAN modem 402 can send an ANBRQ message to a base station (e.g., base stations 110a-110d, 350) of a RAN (e.g., RAN 153). The base station (e.g., base stations 110a-110d, 350) of the RAN (e.g., RAN 153) can return a bit rate recommendation to the RAN modem 402 as an ANBR message. In response to receiving the ANBR message, the RAN modem 402 can send a response to the media session handler 404 running on the application processor 403 over the AT interface 420 as a bit rate recommendation response (e.g., a downlink bit rate recommendation response, an uplink bit rate recommendation response, etc.).
[0106] FIG. 6 A process flow diagram of an example method 600 for providing streaming service assistance is shown in accordance with some embodiments. Reference is made to FIGS. 1A-6 The method 600 can 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 the method 600 can be performed to support uplink streaming and / or downlink streaming. In some embodiments, the processor implementing the operations of the method 600 can operate as a TE to exchange AT commands / responses with a modem processor (e.g., 212, 252, 402) of the wireless device that can operate as a MT over an AT interface (e.g., 226, 250, 264, 420).
[0107] In block 602, the processor can perform operations including sending, over an AT interface, an AT command 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 can include at least an indication of a flow identifier, an indication of a requested bitrate, and an indication of a direction. In some embodiments, the direction can be an indication of uplink or downlink. In some embodiments, the indication of the flow identifier can be an indication of an EPS bearer for the streaming service. In some embodiments, the indication of the flow identifier can be an indication of a PDU session for the streaming service. In some embodiments, the bitrate recommendation action command can further include an indication of a QoS flow of the PDU session for the streaming service.
[0108] In some embodiments, the bitrate request can be an AT command as a bitrate recommendation action command including an indication of a flow identifier (e.g., an identifier of a PDU session, an identifier of an EPS bearer, etc.), an indication of a requested bitrate (e.g., an aggregate requested bitrate of a set of QoS flows in a PDU session, a requested bitrate of an EPS bearer, a sum of bitrates of a particular application data and / or a particular QoS flow of interest within a PDU session (e.g., for which an elevated or increased bitrate is requested) and bitrates of all other application data and / or QoS flows not of interest in the PDU session, etc.), and an indication of a direction (e.g., UL, DL, etc.). As a specific example, the AT command as a bitrate recommendation action command can be "+CGBRR=, where the flow identifier is an identifier of a PDU session, the requested bitrate is an aggregate requested bitrate of a set of QoS flows in the PDU session, and the direction is an indication of uplink or downlink. <cid> , <reqbitrate> , <direction>". In this example, <cid>"may be an integer type value specifying a flow identifier such as a specific PDU session definition," <reqbitrate>"may be such as the TE is for by" <cid>an indication of a requested bit rate of an aggregate request bit rate (e.g., in kilobits per second (kbit / s or kbps)) of a set of QoS flows in the referenced PDU session that will be responded to by the MT, and <direction>"UL" or "DL" such as a bit rate request.
[0109] In some embodiments, the AT command that is a bit rate recommendation action command can further include an indication of a specific QoS flow within a PDU session. As a specific example, the AT command that is a bit rate recommendation action command including an indication of a specific QoS flow within a PDU session can be "+CGBRR=, where the "QFID" parameter is an identifier of the specific QoS flow within the PDU session. <cid> , <reqbitrate> , <direction>, [ <p_cid> ]. In this example, <cid>"may be an integer type value specifying a flow identifier such as a specific PDU session definition," <reqbitrate>"may be such as the TE is for by" <cid>"an indication of a requested bit rate of a requested aggregate bit rate (e.g., in kilobits per second (kbit / s or kbps)) of the set of QoS flows in the PDU session referenced by the PDU session update request that will be responded by the MT," <direction>"UL" or "DL" such as a bit rate request, and "<p_cid>" can be a designation of the <cid>The integer type value of the specific QoS flow within the referenced PDU session. Such as <reqbitrate>a bit rate sum of a desired bit rate for a particular application data and / or a particular QoS flow (e.g., a QoS flow specified by <p_cid> (e.g., for which a bit rate is requested to be boosted or increased)) within a PDU session and a bit rate for all other application data and / or QoS flows in the PDU session that are not of interest.
[0110] In block 604, the processor can perform operations including receiving, over the AT interface, a response from the modem processor of the wireless device, the response being a bit rate recommendation response including at least an indication of a flow identifier, an indication of a bit rate recommendation, and an indication of a direction. In various embodiments, the bit rate recommendation response can further include an indication of a QoS flow of a PDU session for a streaming service.
[0111] In some embodiments, the bit rate response can be a response to a bit rate recommendation response including an indication of a flow identifier (e.g., an identifier of a PDU session, an identifier of an EPS bearer, etc.), an indication of a bit rate recommendation (an aggregated bit rate recommendation for a set of flow operations of QoS flows in a PDU session, a bit rate recommendation for a flow operation of an EPS bearer, etc.), and an indication of a direction (e.g., UL, DL, etc.). As a specific example, a response over the AT interface to a bit rate recommendation response can be "+CGBRR= <bit rate recommendation> <direction> <flow identifier>". <cid> , <recmbitrate> , <direction>". In this example, <cid>"may be an integer type value specifying a flow identifier such as a specific PDU session definition," <recmbitrate>"may be, for example, a message sent from the MT to the TE for use by the <cid>an indication of a bit rate recommendation of an aggregate bit rate recommendation (e.g., in kbit / s) of flow operations of a set of QoS flows in the referenced PDU session, <direction>"UL" or "DL" of a direction such as a bitrate response.
[0112] In some embodiments, the response as a bitrate recommendation response can also include an indication of a specific QoS flow within a PDU session. As a specific example, the response as a bitrate recommendation response including an indication of a specific QoS flow within a PDU session can be "+CGBRR=QFID" where QFID is the ID of the specific QoS flow within the PDU session. <cid> , <recmbitrate> , <direction>[,, <p_cid>]". In this example, <cid>"may be an integer type value that specifies a flow identifier such as a specific PDU session definition, and <recmbitrate>"may be, for example, a message sent from the MT to the TE for use by the <cid>an indication of a bit rate recommendation of an aggregate bit rate recommendation of flow operations of a set of QoS flows in the referenced PDU session (e.g., in kbit / s). Again in this example, <direction>"UL" or "DL" in response to a bit rate, and "<p_cid>" can be a designation of a packet by <cid>an integer type value of a particular QoS flow within the referenced PDU session. In some embodiments, a response can be sent from the MT to the TE as a bit rate recommendation response in response to the TE sending an AT command to the MT as a bit rate recommendation action command.
[0113] In block 606, the processor can perform an operation including controlling the streaming service based at least in part on the indication of the bit rate recommendation. For example, the processor can increase and / or decrease a streaming rate of the streaming service based on the bit rate recommendation. In various embodiments, controlling the streaming service based at least in part on the indication of the bit rate recommendation can include converting the indication of the bit rate recommendation to an application level bit rate value and controlling the streaming service based at least in part on the application level bit rate value. In some embodiments, the media session handler can perform the conversion / mapping between the MAC and application level bit rate values. For example, the media session handler can obtain information of any additional QoS flows (RAN bit rates represented by Contended ANBR) and their bit rate requirements and upper layer transmission overhead from the modem, and information of the operating points of other application flows sent in the same PDU session from the media player (in the case of DL streaming) to support the conversion / mapping between the MAC and application level bit rate values.
[0114] In some embodiments, controlling the streaming service based at least in part on the indication of the bit rate recommendation in block 606 can include deriving a bit rate increase (or boost) for a QFI or QoS flow of interest (e.g., for which a boost or increase in bit rate is requested) from the bit rate recommendation in a response received over the AT interface from a modem processor of the wireless device. For example, <recmbitte>The recommended bit rate received from the modem processor can be a PDU session (e.g., by " <cid>an indication of an aggregate bit rate recommendation (e.g., in kbit / s) for a set of QoS Flows in the PDU Session referenced by the <p_cid>. The recommended bit rate (e.g., the elevated or increased bit rate) for a particular application data and / or a particular QoS Flow of interest (e.g., the QoS Flow specified by the <p_cid> (e.g., for which the elevated or increased bit rate is requested)) can be determined by subtracting the sum of the bit rates of all other application data and / or QoS Flows in the PDU Session that are not of interest from the aggregate bit rate recommendation received from the modem processor, e.g., <recmbitter>" which can be an indication of an aggregate bit rate recommendation for a set of QoS flows in a PDU session.
[0115] 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, in accordance with some embodiments. Reference is made to FIGS. 1A-7 Method 700 can 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 can be performed to support uplink streaming and / or downlink streaming. The operations of method 700 can be performed in conjunction with the operations of method 600 FIG. 6 In some embodiments, the modem processor implementing the operations of method 700 can operate as an MT to conduct AT command / response exchanges with another processor (e.g., 216, 403) of the wireless device that can operate as a TE over an AT interface (e.g., 226, 250, 264, 420).
[0116] In block 702, the modem processor can perform operations comprising receiving, over an AT interface from another processor of the wireless device, an AT command that is a bit rate recommendation action command for a streaming service, the bit rate recommendation action command including at least an indication of a flow identifier, an indication of a requested bit rate, and an indication of a direction. In some embodiments, the direction can be an indication of uplink or downlink. In some embodiments, the indication of the flow identifier can be an indication of an EPS bearer for the streaming service. In some embodiments, the indication of the flow identifier can be an indication of a PDU session for the streaming service. In some embodiments, the bit rate recommendation action command can further include an indication of a QoS flow of the PDU session for the streaming service.
[0117] In some embodiments, the bit rate request can be an AT command that is a bit rate recommendation action command including an indication of a flow identifier (e.g., an identifier of a PDU session, an identifier of an EPS bearer, etc.), an indication of a requested bit rate (e.g., an aggregate requested bit rate for a set of QoS flows in a PDU session, a requested bit rate for an EPS bearer, a sum of bit rates for a particular application data and / or a particular QoS flow of interest within a PDU session (e.g., for which a bit rate is requested to be boosted or increased), and bit rates for all other application data and / or QoS flows that are not of interest in the PDU session, etc.), and an indication of a direction (e.g., UL, DL, etc.). As a specific example, the AT command that is the bit rate recommendation action command can be "+CGBRR=, where the flow identifier is an identifier of a PDU session, the requested bit rate is a sum of bit rates for a particular application data and / or a particular QoS flow of interest within the PDU session, and the direction is an indication of uplink or downlink. <cid> , <reqbitrate> , <direction>". In this example, <cid>"may be an integer type value specifying a flow identifier such as a specific PDU session definition," <reqbitrate>"may be such as the TE is for by" <cid>an indication of a requested bit rate of an aggregate request bit rate (e.g., in kilobits per second (kbit / s or kbps)) of a set of QoS flows in the referenced PDU session that will be responded by the MT, and <direction>"UL" or "DL" such as a bit rate request.
[0118] In some embodiments, the AT command that is a bit rate recommendation action command can further include an indication of a specific QoS flow within a PDU session. As a specific example, the AT command that is a bit rate recommendation action command including an indication of a specific QoS flow within a PDU session can be "+CGBRR=, where the "QFID" parameter is an identifier of the specific QoS flow within the PDU session. <cid> , <reqbitrate> , <direction>, [ <p_cid> ]. In this example, <cid>"may be an integer type value specifying a flow identifier such as a specific PDU session definition," <reqbitrate>"may be such as the TE is for by" <cid>"QoS Flows" is a set of QoS Flows in the referenced PDU Session. The requested bit rate is an indication of the aggregate request bit rate (e.g., in kilobits per second (kbit / s or kbps)) that will be responded by the MT. Also in this example, the requested bit rate is 1000 kbps. <direction>"UL" or "DL" such as a bit rate request, and "<p_cid>" can be a designation of the <cid>The integer type value of the specific QoS flow within the referenced PDU session. Such as <reqbitrate>The aggregated request bit rate can represent the specific application data of interest and / or specific QoS flows (e.g., those generated by...) within a PDU session.<p_cid> The sum of the expected bit rate of the specified QoS stream (e.g., the bit rate for which a boost or increase is requested) and the bit rates of all other application data and / or QoS streams that are not of interest in this PDU session.
[0119] In block 704, in response to receiving an AT command as a bitrate recommendation action command from another processor of the wireless device, the modem processor may perform operations including determining a flow identifier and LCID associated with the indication of the flow identifier. In various embodiments, flows 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 the processor of the wireless device, such as a media session processor, etc.) may indicate to the modem processor of the wireless device (e.g., a 5G modem, LTE modem, etc.) a flow (e.g., a QoS flow, EPS bearer, etc.) corresponding to a media streaming application flow for which a bitrate recommendation or enhancement is sought. For example, the application may use the action / execution command "+CGBRR=" <cid> , <reqbitrate> , <direction>[<p_cid>]”, to the modem identifying the QoS flow (e.g., identified by a QoS flow identifier (QFI)) corresponding to the media streaming application flow for which a bit rate recommendation or boost is sought, the associated PDU session identifier, and the requested flow bit rate. In various embodiments, a modem processor receiving a bit rate recommendation action command can process the flow identifier (e.g., <p_cid>) to determine the corresponding PDU session identifier (e.g., <p_s_id>) and QoS flow identifier (e.g., <qfi>) and then determine the requested flow bit rate (e.g., <bit_rate>) from the received command. <cid>The value of the "Recommended Bit Rate" field (e.g., the application level bit rate value) is mapped to the internally referenced PDU session and associated LCID in the Recommended Bit Rate MAC CE used in the bit rate recommendation query / response / notify interaction with the RAN. In various embodiments, when a wireless device establishes a PDU session with a session management function (SMF) via non-access stratum (NAS) signaling, the SMF can return authorized QoS rules for the wireless device to use. In some embodiments, the SMF can also assign an associated QFI and QoS profile for each QoS flow in the PDU session, which can be provided to the base station, e.g., eNB, gNB, etc., in which the wireless device is camped via an access and mobility management function (AMF). Since there can be a one-to-one correspondence between the RAN L2 parameters for LCID, data radio bearer (DRB) identifier (DRB ID), QFI, and radio resource control (RRC) parameters, which define radio bearer and corresponding service data adaptation protocol (SDAP) (e.g., only for NR), packet data convergence protocol (PDCP), radio link control (RLC), and MAC configurations, the base station, e.g., eNB, gNB, etc., in which the wireless device is camped is able to explicitly map the PDU session and its contained QoS flows for bit rate recommendation processing to a DRB.
[0120] In block 706, the modem processor can perform operations including transmitting, to a base station of the RAN, a network assistance request including the determined flow identifier and LCID. As a specific example, the network assistance request can be an ANBRQ message, a recommended bit rate query MAC CE, etc.
[0121] In block 708, the modem processor can perform operations including receiving, from a base station of the RAN, a network assistance response including the determined flow identifier and LCID. As a specific example, the network assistance response can be an ANBR message, a recommended bit rate MAC CE, etc.
[0122] In block 710, the modem processor can perform operations including determining a bit rate recommendation in response to receiving the network assistance response from the base station of the RAN. In various embodiments, the bit rate recommendation can 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 the network assistance response from the base station of the RAN can 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.
[0123] In block 712, the modem processor can perform operations including sending, over the AT interface, a response that is a bitrate recommendation response to another processor of the wireless device, the bitrate recommendation response including at least an indication of a flow identifier, an indication of a bitrate recommendation, and an indication of a direction. In various embodiments, the bitrate recommendation response further includes an indication of a QoS flow of a PDU session for a streaming service.
[0124] In some embodiments, the bitrate response can be a response that is a bitrate recommendation response over the AT interface, the bitrate recommendation response including an indication of a flow identifier (e.g., an identifier of a PDU session, an identifier of an EPS bearer, etc.), an indication of a bitrate recommendation (an aggregate bitrate recommendation for a set of flow operations of a QoS flow in a PDU session, a bitrate recommendation for a flow operation of an EPS bearer, etc.), and an indication of a direction (e.g., UL, DL, etc.). As a specific example, the response that is a bitrate recommendation response can be "+CGBRR= 1000, DL" to indicate a bitrate recommendation of 1000 for a flow operation of a QoS flow in a PDU session in the DL direction. <cid> , <recmbitrate> , <direction>". In this example, <cid>"may be an integer type value specifying a flow identifier such as a specific PDU session definition," <recmbitrate>"may be, such as from the MT to the TE, for use by the" <cid>an indication of a bit rate recommendation of an aggregate bit rate recommendation (e.g., in kbit / s) of flow operations of a set of QoS flows in the referenced PDU session, <direction>"Can be an indication of direction such as "UL" or "DL" for bit rate response.
[0125] In some embodiments, the response as a bitrate recommendation response may also include an indication of a specific QoS stream within the PDU session. As a specific example, a bitrate recommendation response including an indication of a specific QoS stream within the PDU session could be "+CGBRR=" <cid> , <recmbitrate> , <direction>[,, <p_cid>]". In this example, <cid>"may be an integer type value that specifies a flow identifier such as a specific PDU session definition, and <recmbitrate>"may be, such as from the MT to the TE, for use by the" <cid>an indication of a bit rate recommendation of an aggregate bit rate recommendation of flow operations of a set of QoS flows in the referenced PDU session (e.g., in kbit / s). Again in this example, <direction>"UL" or "DL" in response to a bit rate, and "<p_cid>" can be a designation of a packet by <cid>The integer type value of the specific QoS flow within the referenced PDU session. In some embodiments, a response can be sent from the MT to the TE as a bit rate recommendation response in response to the TE sending an AT command as a bit rate recommendation action command to the MT.
[0126] FIG. 8A is a process flow diagram illustrating a method 800 performed by a processor of a wireless device for providing streaming service assistance, in accordance with some embodiments. Referring to FIGS. 1A-8A , the method 800 can be implemented by a processor (e.g., 216, 403) of a wireless device (e.g., the wireless device 120a-120e, 152, 154, 200, 320, 400). The operations of method 800 can be performed to support uplink streaming and / or downlink streaming. The operations of method 800 can 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 can operate as a TE to conduct AT command / response exchanges over an AT interface (e.g., 226, 250, 264, 420) with a modem processor (e.g., 212, 252, 402) of a wireless device that can operate as a MT.
[0127] In block 802, the processor can perform operations including sending an AT command as a test command to a modem processor of the wireless device. The AT command as a test command can be sent over an AT interface to the modem processor of the wireless device. In some embodiments, the test command can be sent from the TE to the MT to determine whether the MT supports sending an AT command as a bit rate recommendation response to an AT command as a bit rate recommendation action command. As a specific example, the TE can send the test command "+CGBRR=?" to the MT as an inquiry as to whether the MT supports sending an AT command as a bit rate recommendation response to an AT command as a bit rate recommendation action command.
[0128] 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, in accordance with some embodiments. Referring to FIGS. 1A-8B , the method 810 can be implemented by a modem processor (e.g., 212, 252, 402) of a wireless device (e.g., the wireless device 120a-120e, 152, 154, 200, 320, 400). The operations of method 810 can be performed to support uplink streaming and / or downlink streaming. In some embodiments, the operations of method 810 can be performed in conjunction with the operations of method 600 FIG. 6 ), method 700 FIG. 7 ), and / or method 800 FIG. 8A The operations of method 810 can be implemented by a modem processor that is running as an MT to conduct AT command / response exchanges with another processor (e.g., 216, 403) of a wireless device that is running as a TE over an AT interface (e.g., 226, 250, 264, 420) in some embodiments.
[0129] In block 812, the modem processor can perform operations including receiving, from the other processor of the wireless device, an AT command as a test command. In some embodiments, a test command can be sent from the TE to the MT to determine whether the MT supports sending an AT command as a bitrate recommendation response to an AT command as a bitrate recommendation action command. As a specific example, the TE can send the test command "+CGBRR=?" to the MT as a query as to whether the MT supports sending an AT command as a bitrate recommendation response to an AT command as a bitrate recommendation action command.
[0130] In block 814, the modem processor can perform operations including sending, over the AT interface, a response indicating that bitrate recommendations are supported. In some embodiments, a MT that supports sending a response as a bitrate recommendation response to an AT command as a bitrate recommendation action command can respond to the test code with a supported response. As a specific example, the MT can send the supported response "+CGBRR=OK" to the TE in response to the test command "+CGBRR=?" to indicate that the MT supports sending a response as a bitrate recommendation response to an AT command as a bitrate recommendation action command.
[0131] FIG. 9A is a process flow diagram illustrating a method 900 performed by a processor of a wireless device for providing streaming service assistance in accordance with some embodiments. Reference to FIGS. 1A-9A , the method 600 can be implemented by a processor (e.g., 216, 403) of a wireless device (e.g., the wireless devices 120a-120e, 152, 154, 200, 320, 400). The operations of the method 900 can be performed to support uplink streaming and / or downlink streaming. In some embodiments, the operations of the method 900 can be performed in conjunction with the operations of the method 600( FIG. 6 ), the method 700( FIG. 7 ), the method 800( FIG. 8A ), and / or the method 810( FIG. 8B ). In some embodiments, the operations of the method 900 can be performed by a processor that is running as an MT to conduct AT command / response exchanges with another processor (e.g., 216, 403) of a wireless device that is running as a TE over an AT interface (e.g., 226, 250, 264, 420) in conjunction with the operations of the method 600( FIG. 6 ) after sending the initial AT command as the second bitrate recommendation action command in block 602. In some embodiments, the processor implementing the operations of method 900 can operate as a TE to conduct AT command / response exchanges with a modem processor (e.g., 212, 252, 402) of a wireless device that can operate as a MT over an AT interface (e.g., 226, 250, 264, 420).
[0132] In block 902, the processor can perform operations including sending an AT command to a modem processor of a wireless device, the AT command being a second bitrate recommendation action command for a streaming service, 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 as the second bitrate recommendation action command for a streaming service can be sent to the modem processor of the wireless device over an AT interface.
[0133] In determination block 904, the processor can determine whether a response is received, e.g., whether a response is received via the AT interface. For example, the processor can determine whether a response is received from the modem processor of the wireless device as an error message over the AT interface or whether a response is received from the modem processor of the wireless device as a second bitrate recommendation response over the AT interface.
[0134] In response to determining that a response is not received over the AT interface (i.e., determination block 906 = “No”), the processor can determine in block 906 that the indication of the bitrate recommendation is still valid. In various embodiments, the lack of a response from the modem processor to the AT command as the second bitrate recommendation action command indicates that the indication of the bitrate recommendation is still valid.
[0135] In response to determining that a response is received over the AT interface (i.e., determination block 906 = “Yes”), the processor can retry the AT command as the second bitrate recommendation action command based on the response in block 908. Retrying the AT command as the second bitrate recommendation action command based on the response can include sending the AT command as the second bitrate recommendation action command again after an expiration of a retry time period indicated in the response from the modem processor. Retrying the AT command as the second bitrate recommendation action command based on the response can include sending the AT command as the second bitrate recommendation action command again when an indication of a time at which the modem processor received a network assistance response associated with the indication of the bitrate recommendation is longer than a threshold value.
[0136] FIG. 9B FIG. 9 is a process flow diagram illustrating a method 900 for providing streaming service assistance performed by a processor of a wireless device, in accordance with various embodiments. Reference is made to FIG. 1 for purposes of explanation of the method 900. FIGS. 1A-9B Method 920 can 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 can be performed to support uplink streaming and / or downlink streaming. In various embodiments, the operations of method 920 can 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 can be performed in response to receiving an AT command from another processor of the wireless device in block 702 FIG. 7 ) as a bit rate recommendation action command. In various embodiments, the modem processor implementing the operations of method 920 can operate as an MT to conduct AT command / response exchanges with another processor (e.g., 216, 403) of the wireless device that can operate as a TE over an AT interface (e.g., 226, 250, 264, 420).
[0137] In block 922, the modem processor can perform operations including starting a response timer. In some embodiments, the response timer can control the MT’s response to bit rate recommendation action commands from the TE. For example, the same limit on the frequency of ANBRQ messages set in the “bitRateQueryProhibitTimer” field in the “LogicalChannelConfig” IE can be applied to control the MT’s response to bit rate requests from the TE.
[0138] In block 924, the modem processor can perform operations including receiving an AT command from another processor of the wireless device as a second bit rate recommendation action command, the second bit rate recommendation action command including at least an indication of a stream identifier, an indication of a requested bit rate, and an indication of a direction. The AT command as the second bit rate recommendation action command can be received from the other processor of the wireless device over the AT interface.
[0139] In determination block 926, the modem processor can perform operations including determining whether the second bit rate recommendation action command is received before the response timer expires.
[0140] In response to determining that the second bit rate recommendation action command is received after the response timer expires (i.e., determination block 926 = "No"), the modem processor can send a response in block 928. The response can be sent over the AT interface. When the response timer expires, the request and response can be the expected frequency of bit rate requests.
[0141] In response to receiving the second bit rate recommendation action command before the response timer expires (i.e., determination block 926 = "Yes"), the modem processor can perform a bit rate request frequency limiting action in block 930. In one embodiment, in response to the TE sending successive bit rate recommendation action commands before the response timer expires, the MT can return an error code, such as an error code indicating that the latest bit rate recommendation action command was sent too early. In some embodiments, the error code can include a "retry" parameter. In some embodiments, the error code can be sent by the modem processor over the AT interface. In one embodiment, in response to the TE sending successive bit rate recommendation action commands before the response timer expires, the MT can return the latest bit rate recommendation indicated in the latest bit rate recommendation action command, applicable to a flow identifier (e.g., an identifier of a PDU session, an identifier of an EPS bearer, etc.). In some embodiments, the latest bit rate recommendation sent by the MT can include an indication of a wall clock time at which a network assistance response (e.g., an ANBR message, etc.) corresponding to the latest bit rate recommendation was received from the RAN. In some embodiments, the latest bit rate recommendation can be sent by the modem processor in a response over the AT interface. In some embodiments, in response to the TE sending successive bit rate recommendation action commands before the response timer expires, the MT can take no action. In some embodiments, the TE can be configured to interpret the absence of a response by 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.
[0142] FIG. 9C FIG. 9 is a process flow diagram illustrating a method 900 for providing streaming service assistance by a modem processor of a wireless device, in accordance with various embodiments. The method 900 can 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 900 can be performed to support uplink streaming and / or downlink streaming. In various embodiments, the operations of method 900 can be combined with the operations of method 600 FIGS. 1A-9C , method 700 FIG. 6 , method 800 FIG. 7 , method 810 FIG. 8A , and / or method 950, as described above. FIG. 8B FIG. 9A ) and / or the operations of method 920 FIG. 9B ) can be performed to send an unsolicited AT command. In various embodiments, a modem processor implementing the operations of method 950 can operate as an MT to conduct AT command / response exchanges with another processor (e.g., 216, 403) of a wireless device that can operate as a TE over an AT interface (e.g., 226, 250, 264, 420).
[0143] In block 952, the modem processor can perform operations including receiving a network assistance response from a base station of the RAN. The response can be an unsolicited network assistance response from the RAN including a bitrate recommendation for the streaming service.
[0144] In block 710, the modem processor can perform operations discussed with reference to blocks of the same number of method 700 FIG. 7 ) to determine a bitrate recommendation in response to receiving a network assistance response from a base station of the RAN.
[0145] In block 954, the modem processor can perform operations including sending a bitrate recommendation response to another processor of the wireless device over an AT interface, the bitrate recommendation response including at least an indication of the bitrate recommendation. In some embodiments, a response as a bitrate recommendation response including a bitrate recommendation value provided by the MT can be sent from the MT to the TE as an unsolicited result code in the form of an unsolicited notification. As a specific example, a response as an unsolicited notification of a bitrate recommendation can be "+CGBRR <recmbitrate>]. In this example, <recmbitrate>" can be an indication of a bit rate recommendation, e.g., a bit rate recommendation value (e.g., in kbit / s).
[0146] FIG. 9D is a process flow diagram illustrating a method 960 for providing streaming service assistance performed by a processor of a wireless device according to some embodiments. Referring to FIGS. 1A-9D , the method 960 can be implemented by a processor (e.g., 216, 403) of a wireless device (e.g., the wireless devices 120a-120e, 152, 154, 200, 320, 400). The operations of method 960 can be performed to support uplink streaming and / or downlink streaming. The operations of method 960 can be performed in combination 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 processor implementing the operations of method 960 can operate as a TE to conduct AT command / response exchanges with a modem processor (e.g., 212, 252, 402) of a wireless device that can operate as an MT over an AT interface (e.g., 226, 250, 264, 420).
[0147] In block 962, the processor can perform operations including receiving, over the AT interface from the modem processor of the wireless device, a bit rate recommendation response comprising at least an indication of a bit rate recommendation. In some embodiments, the response as a bit rate recommendation response comprising a bit rate recommendation value provided by the MT can be sent from the MT to the TE as an unsolicited result code in the form of an unsolicited notification. As a specific example, the response as an unsolicited notification of a bit rate recommendation can be "+CGBRR[ <recmbitrate>]. In this example, <recmbitrate>The "bitrate recommendation" can be an indication of a bitrate recommendation, e.g., a bitrate recommendation value (e.g., in kbit / s).
[0148] In block 606, the processor can perform the operations discussed with respect to the block of the same number of the method 600 FIG. 6 ) to control the streaming service based at least in part on the indication of the bitrate recommendation.
[0149] Various embodiments can be implemented on various wireless network devices, examples of which are shown in the form of a wireless network computing device 1000 that functions as a network element of a communication network, e.g., a base station (e.g., base stations 110a-110d, 350, etc.), in FIG. 10 Fig. 1. Such a network computing device can include at least the components shown in Fig. 1. With reference to FIG. 10 , the network computing device 1000 can generally include a processor 1001 coupled to volatile memory 1002 and a large capacity nonvolatile memory, such as a disk drive 1003. The network computing device 1000 can also include a peripheral device coupled to the processor 1001, such as a floppy disk drive, compact disc (CD) or digital video disc (DVD) drive 1006. The network computing device 1000 can also include a network access port 1004 (or interface) coupled to the processor 1001 for establishing data connections with a network, such as the Internet and / or a local area network coupled to other system computers and servers. The network computing device 1000 can include one or more antennas 1007 for sending and receiving electromagnetic radiation that can be connected to wireless communication links. The network computing device 1000 can include additional access ports, such as USB, Firewire, Thunderbolt, etc., for coupling to peripheral devices, external memory, or other devices. FIGS. 1A-10 Various embodiments can be implemented on various wireless devices (e.g., wireless devices 120a-120e, 152, 154, 200, 320, 400), examples of which are shown in the form of a smartphone 1100 in
[0150] Fig. 1. With reference to FIG. 11 , the network computing device 1000 can generally include a processor 1001 coupled to volatile memory 1002 and a large capacity nonvolatile memory, such as a disk drive 1003. The network computing device 1000 can also include a peripheral device coupled to the processor 1001, such as a floppy disk drive, compact disc (CD) or digital video disc (DVD) drive 1006. The network computing device 1000 can also include a network access port 1004 (or interface) coupled to the processor 1001 for establishing data connections with a network, such as the Internet and / or a local area network coupled to other system computers and servers. The network computing device 1000 can include one or more antennas 1007 for sending and receiving electromagnetic radiation that can be connected to wireless communication links. The network computing device 1000 can include additional access ports, such as USB, Firewire, Thunderbolt, etc., for coupling to peripheral devices, external memory, or other devices.
[0150] Various embodiments can be implemented on various wireless devices (e.g., wireless devices 120a-120e, 152, 154, 200, 320, 400), examples of which are shown in the form of a smartphone 1100 in FIG. 11 Fig. 1. With reference to FIGS. 1A-11 The smartphone 1100 can include a first SOC 202 (e.g., a SOC-CPU) coupled to a second SOC 204 (e.g., a 5G-capable SOC). The first and second SOCs 202, 204 can be coupled to internal memory 1106, 1116, a display 1112, and a speaker 1114. Additionally, the smartphone 1100 can include an antenna 1104 for sending and receiving electromagnetic radiation that can be connected to a wireless data link and / or a cellular telephone transceiver 266 coupled to one or more processors in the first and / or second SOCs 202, 204. The smartphone 1100 also typically includes menu selection buttons or rocker switches 1120 for receiving user inputs.
[0151] A typical smartphone 1100 also includes sound encoding / decoding (CODEC) circuitry 1110 that digitizes sound received from a microphone into data packets suitable for wireless transmission and decodes received sound data packets to produce analog signals that are provided to a speaker to produce sound. Additionally, one or more processors in the first and second SOCs 202, 204, the wireless transceiver 266, and the CODEC circuitry 1110 can include digital signal processor (DSP) circuitry (not shown separately).
[0152] The processors of the wireless network computing device 1000 and the smartphone 1100 can be any programmable microprocessor, microcomputer or multiple processor chip or chips that can be configured by software instructions (applications) to perform a variety of functions (including the functions of the various embodiments described below). In some mobile devices, multiple processors can be provided, such as one processor dedicated to wireless communication functions within the SOC 204 and one processor dedicated to running other applications within the SOC 202. Typically, software applications can be stored in the memory 1106, 1116 before they are accessed and loaded into the processor. The processor can include internal memory sufficient to store the application software instructions
[0153] As used in this application, the terms "component," "module," "system" and the like are intended to refer to a computer-related entity, either hardware, firmware, a combination of hardware and software, software, or software in execution, that is configured to perform particular operations, or function. For example, a component can 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 illustration, both an application running on a wireless device and the wireless device can be referred to as a component. One or more components can reside within a process and / or thread of execution and a component can be localized, either physically and / or logically, in one computer or kernel or distributed across two or more computers or kernels. Further, components can be executable and / or executable stored on various non-transitory computer-readable media at one or more of the various sites. A component can communicate with another component by local and / or remote process-to-process, function-to-function, or process-to-function communication, electronic signals, data packets, memory reads / writes, and other known computer, processor, and / or process related communication methods.
[0154] Many different cellular and mobile communication services and standards are available or contemplated in the future, all of which can implement and benefit from the various embodiments. These services and standards include, for example, Third Generation Partnership Project (3GPP), Long Term Evolution (LTE) systems, Third Generation wireless mobile communication technology (3G), Fourth Generation wireless mobile communication technology (4G), Fifth Generation wireless mobile communication technology (5G), Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), 3GSM, General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA) systems (e.g., cdmaOne, CDMAi020™), 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 & II (WPA, WPA2), and Integrated Digital Enhanced Network (iDEN). Each of these technologies involves the transmission and reception of, for example, voice, data, signaling, and / or content messages. It should be understood that any reference to terminology and / or technical details related to a single telecommunication 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 specifically recited in the claim language.
[0155] The various embodiments shown and described are provided by way of example only, to illustrate various features of the claims. However, features shown and described in relation to any given embodiment are not necessarily limited to that associated embodiment, and can be used or combined with other embodiments shown and described. Moreover, the claims are not intended to be limited by any one example embodiment. For example, one or more operations of the methods 600, 700, 800, 810, 900, 920, 950, and / or 960 can be replaced or combined with one or more operations of the methods 600, 700, 800, 810, 900, 920, 950, and / or 960.
[0156] The following paragraphs describe example implementations. While some of the example implementations below are described in terms of example methods, further example implementations can include: example methods discussed in the following paragraphs implemented by a wireless device comprising a processor configured to perform operations of the example methods; example methods discussed in the following paragraphs implemented by a wireless device comprising a modem processor configured to perform operations of the example methods; example methods discussed in the following paragraphs implemented by a wireless device comprising components for performing functions of the example methods; example methods discussed in the following paragraphs implemented in a processor configured to perform operations of the example methods; and example methods discussed in the following paragraphs implemented in a modem configured to perform operations of the example methods.
[0157] Example 1 : A method for providing stream service assistance performed by a processor of a wireless device, comprising: sending, over an AT interface, an AT command to a modem processor of the wireless device, the AT command being a bit rate recommendation action command for a stream service, the bit rate recommendation action command including at least an indication of a flow identifier, an indication of a requested bit rate, and an indication of a direction; receiving, over the AT interface, a response as a bit rate recommendation response from the modem processor of the wireless device, the bit rate recommendation response including at least an indication of the flow identifier, an indication of a bit rate recommendation, and an indication of the direction; and controlling the stream service based at least in part on the indication of the bit rate recommendation.
[0158] Example 2: The method of example 1, wherein the indication of the flow identifier is an indication of an EPS bearer for the stream service.
[0159] Example 3: The method of example 1, wherein the indication of the flow identifier is an indication of a PDU session for the stream service.
[0160] Example 4: The method of example 3, wherein: the bit rate recommendation action command further comprises an indication of a QoS flow of the PDU session for the streaming service; and the bit rate recommendation response further comprises an indication of the QoS flow of the PDU session for the streaming service.
[0161] Example 5: The method of any of examples 1-4, wherein the direction is an indication of uplink or downlink.
[0162] Example 6: The method of any of examples 1-5, further comprising sending, over the AT interface, an AT command as a test command to a modem processor of the wireless device.
[0163] Example 7: The method of any of examples 1-6, further comprising: sending, over the AT interface, an AT command as a second bit rate recommendation action command to a modem processor of the wireless device, the second bit rate recommendation action command comprising at least an indication of the flow identifier, an indication of the requested bit rate, and an indication of the direction.
[0164] Example 8: The method of example 7, further comprising: receiving, over the AT interface, a response as an error code from the modem processor of the wireless device, the error code indicating that the second bit rate recommendation action command was sent prematurely.
[0165] Example 9: The method of example 8, wherein the response as the error code over the AT interface contains a retry parameter.
[0166] Example 10: The method of example 7, further comprising: receiving, over the AT interface, a response as a second bit rate recommendation response from the modem processor of the wireless device, the second bit rate recommendation response comprising at least the indication of the flow identifier, an indication of the bit rate recommendation, the indication of the direction, and an indication of a time at which the modem processor received a network assistance response associated with the indication of the bit rate recommendation.
[0167] Example 11: The method of example 7, further comprising determining that the indication of the bit rate recommendation is still valid in response to not receiving a response to the AT command as the second bit rate recommendation action command from the modem processor.
[0168] Example 12: The method of any of examples 1-11, wherein controlling the streaming service based at least in part on the indication of the bit rate recommendation comprises: converting the indication of the bit rate recommendation to an application level bit rate value; and controlling the streaming service based at least in part on the application level bit rate value.
[0169] Example 13: A method for providing stream service assistance performed by a modem processor of a wireless device, comprising: receiving, over an AT interface, an AT command from another processor of the wireless device, the AT command being a bit rate recommendation action command for a stream service, the bit rate recommendation action command including at least an indication of a flow identifier, an indication of a requested bit rate, and an indication of a direction; responsive to receiving the AT command from the other processor of the wireless device as the bit rate recommendation action command, sending, to a base station of a RAN, a network assistance request including the flow identifier and an LCID associated with the indication of the flow identifier; receiving, from the base station of the RAN, a network assistance response including the flow identifier and the LCID; and sending, over the AT interface, a response to the other processor of the wireless device as a bit rate recommendation response, the bit rate recommendation response including at least the indication of the flow identifier, the indication of the bit rate recommendation, and the indication of the direction.
[0170] Example 14: The method of example 13, wherein the indication of the first flow identifier is an indication of an EPS bearer for the stream service.
[0171] Example 15: The method of example 13, wherein the indication of the first flow identifier is an indication of a PDU session for the stream service.
[0172] Example 16: The method of example 15, wherein: the bit rate recommendation action command further includes an indication of a QoS flow of the PDU session for the stream service; and the bit rate recommendation response further includes an indication of the QoS flow of the PDU session for the stream service.
[0173] Example 17: The method of any of examples 13-16, wherein the direction is an indication of uplink or downlink.
[0174] Example 18: The method of any of examples 13-17, further comprising: receiving, over the AT interface, an AT command from the other processor of the wireless device as a test command; and sending, over the AT interface, a response indicating support for bit rate recommendations.
[0175] Example 19: The method of any of examples 13-17, further comprising: starting a response timer responsive to receiving the AT command from the other processor of the wireless device as the bit rate recommendation action command; receiving, over the AT interface, an AT command from the other processor of the wireless device as a second bit rate recommendation action command, the second bit rate recommendation action command including at least the indication of the flow identifier, the indication of the requested bit rate, and the indication of the direction; and taking a bit rate request frequency limit action responsive to receiving the second bit rate recommendation action command before the response timer expires.
[0176] Example 20: The method of example 19, wherein the bit rate request frequency limiting action comprises sending a response as an error code through the AT interface to the other processor of the wireless device, the error code indicating that the second bit rate recommendation action command was sent too early.
[0177] Example 21 : The method of example 20, wherein the response as an error code comprises a retry parameter.
[0178] Example 22: The method of example 19, wherein taking the bit rate request frequency limiting action comprises sending a response as a second bit rate recommendation response through the AT interface to the other processor of the wireless device, the second bit rate recommendation response including at least an indication of a flow identifier, an indication of a bit rate recommendation, an indication of a direction, and an indication of a time of receiving the network assistance response from the base station of the RAN.
[0179] Example 23: The method of example 19, wherein taking the bit rate request frequency limiting action comprises not sending a response to an AT command as a second bit rate recommendation action command.
[0180] Example 24: The method of any of examples 13-23, wherein: determining the bit rate recommendation in response to receiving the network assistance response from the base station of the RAN comprises converting a bit rate recommendation indicated in the network assistance response from the base station of the RAN to an application level bit rate value; and the indication of the bit rate recommendation in the bit rate recommendation response is the application level bit rate value.
[0181] Example 25: A method for providing stream service assistance performed by a processor of a wireless device, comprising: receiving a bit rate recommendation response through an AT interface from a modem processor of the wireless device, the bit rate recommendation response including at least an indication of a bit rate recommendation for a stream service; and controlling the stream service based at least in part on the indication of the bit rate recommendation.
[0182] Example 26: The method of example 25, wherein the bit rate recommendation response comprises an unsolicited response code.
[0183] Example 27: The method of example 25, wherein the bit rate recommendation response is received after sending the bit rate recommendation through the AT interface to the modem processor.
[0184] Example 28: The method of example 26, further comprising, prior to receiving the bit rate recommendation response, sending an AT command through the AT interface to the modem processor of the wireless device, the AT command subscribing to unsolicited bit rate recommendation responses.
[0185] Example 29: A method for providing stream service assistance performed by a modem processor of a wireless device, comprising: receiving a network assistance response from a base station of a RAN; and responsive to receiving a network assistance request from a base station of a RAN, sending a bitrate recommendation response over an AT interface to another processor of the wireless device, the bitrate recommendation response comprising at least an indication of a bitrate recommendation.
[0186] Example 30: The method of example 29, wherein the bitrate recommendation response comprises an unsolicited response code.
[0187] Example 31 : The method of example 30, further comprising prior to sending the bitrate recommendation response, receiving an AT command over the AT interface from the other processor of the wireless device, the AT command subscribing to unsolicited bitrate recommendation responses.
[0188] Example 32: The method of any of examples 1-31, wherein the modem processor is a fifth generation (5G) modem processor.
[0189] The above method descriptions and process flow diagrams are provided only as illustrative examples and are not intended to require or imply that operations of 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 foregoing embodiments can be performed in any order. Words such as "thereafter," "then," "next," etc. are used to guide the reader through the description of operations. Furthermore, any reference to claim elements in the singular, for example, using the articles "a," "an" or "the" is not construed to imply that the claim element is singular in number unless such a construction is explicitly recited in the claim.
[0190] The various illustrative logical blocks, modules, components, circuits, and algorithm operations described in connection with the embodiments disclosed herein can be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and operations have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans can 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 present claims.
[0191] The hardware for implementing various illustrative logics, logical blocks, modules, and circuits described in connection with the embodiments disclosed herein can be executed or performed in a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. The general-purpose processor can be a microprocessor, but in the alternative, the processor can be any conventional processor, controller, microcontroller, or state machine. A processor can also be implemented as a combination of receiver smart objects, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Alternatively, some operations or methods can be performed by circuitry that is specific to a given function.
[0192] In one or more embodiments, the functions can be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions can be stored as one or more instructions or code on a non-transitory computer-readable storage medium or non-transitory processor-readable storage medium. The operations of a method or algorithm disclosed herein can be embodied in a processor-executable software module or processor-executable instructions, which can reside on a non-transitory computer- or processor- readable storage medium. Non-transitory computer- or processor-readable storage media can be any storage media that can be accessed by a computer or a processor. By way of example but not limitation, such non-transitory computer- or processor-readable storage media can include RAM, ROM, EEPROM, FLASH memory, CD-ROM or other optical disk storage, magnetic disk storage, or other smart storage as the case can be, 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. Disk and disc, as used herein, includes compact discs (CDs), laser discs, optical discs, digital versatile discs (DVDs), floppy disks, and blu-ray discs where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above are also included within the scope of non-transitory computer- and processor-readable media. Additionally, the operations of a method or algorithm can reside in one or any combination of the above memory hardware, as the case can be, as instructions or code that can be executed by a computer or processor. Furthermore, the method or algorithm can be embodied as one or any combination of the above memory hardware as code and / or instructions that can be executed by a computer or processor.
[0193] The foregoing description of the disclosed embodiments enables a 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 generic principles defined herein can 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 claims, the principles and the novel features disclosed herein.< / 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> < / recmbitter> < / cid> < / recmbitte> < / 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> < / direction> < / recmbitrate> < / cid> < / reporting> < / direction> < / reqbitrate> < / cid> < / direction> < / reqbitrate> < / cid> < / 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> < / recmbitter> < / cid> < / recmbitte> < / recmbitrate> < / reqbitrate> < / recmbitrate> < / reqbitrate> < / recmbrate> < / 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. A method for providing stream service assistance performed by a processor of a wireless device, comprising: sending, over an attention (AT) interface, an AT command to a modem processor of the wireless device, the AT command being a bit rate recommendation action command for a stream service, the bit rate recommendation action command including at least an indication of a flow identifier, an indication of a requested bit rate, and an indication of a direction, wherein the indication of the flow identifier is an indication of a protocol data unit (PDU) session for the stream service, and the bit rate recommendation action command further includes an indication of a quality of service (QoS) flow of the PDU session for the stream service; receiving, over the AT interface, a response as a bit rate recommendation response from the modem processor of the wireless device, the bit rate recommendation response including at least the indication of the flow identifier, an indication of a bit rate recommendation, and the indication of the direction, and wherein the bit rate recommendation response further includes the indication of the QoS flow of the PDU session for the stream service; and controlling the stream service based at least in part on the indication of the bit rate recommendation.
2. The method of claim 1, wherein, the indication of the flow identifier is an indication of an evolved packet system (EPS) bearer for the stream service.
3. The method of claim 1, wherein the direction is an indication of uplink or downlink.
4. The method of claim 1, further comprising: sending, over the AT interface, an AT command as a second bit rate recommendation action command to the modem processor of the wireless device, the second bit rate recommendation action command including at least the indication of the flow identifier, the indication of the requested bit rate, and the indication of the direction.
5. The method of claim 4, further comprising: receiving, over an AT interface, a response as an error code from a modem processor of a wireless device, the error code indicating that the second bit rate recommendation action command was sent prematurely.
6. The method of claim 5, wherein the response over the AT interface as the error code includes a retry parameter.
7. The method of claim 4, further comprising: receiving, over the AT interface, a response as a second bit rate recommendation response from the modem processor of the wireless device, the second bit rate recommendation response including at least the indication of the flow identifier, the indication of the bit rate recommendation, the indication of the direction, and an indication of a time at which the modem processor received a network assistance response associated with the indication of the bit rate recommendation.
8. The method of claim 4, further comprising: determining that the indication of the bit rate recommendation is still valid in response to not receiving a response from the modem processor to the AT command as the second bit rate recommendation action command.
9. The method of claim 1, wherein controlling the stream service based at least in part on the indication of the bit rate recommendation comprises: converting the indication of the bit rate recommendation to an application level bit rate value; and controlling the stream service based at least in part on the application level bit rate value. 10. A wireless device, comprising: at least one memory including instructions; and at least one processor configured to execute the instructions to cause the wireless device to: send, over an AT interface, an AT command to a modem processor of the wireless device, the AT command being a bit rate recommendation action command for a streaming service, the bit rate recommendation action command including at least an indication of a flow identifier, an indication of a requested bit rate, and an indication of a direction, and wherein the indication of the flow identifier is an indication of a protocol data unit (PDU) session for the streaming service, and the bit rate recommendation action command further includes an indication of a quality of service (QoS) flow for the PDU session of the streaming service; receive, over the AT interface, a response as a bit rate recommendation response from the modem processor of the wireless device, the bit rate recommendation response including at least the indication of the flow identifier, an indication of a bit rate recommendation, and the indication of the direction, and wherein the bit rate recommendation response further includes the indication of the QoS flow for the PDU session of the streaming service; and control the streaming service based at least in part on the indication of the bit rate recommendation.
11. The wireless device of claim 10, wherein, the indication of the flow identifier is an indication of an evolved packet system (EPS) bearer for the streaming service.
12. The wireless device of claim 10, wherein the direction is an indication of uplink or downlink.
13. The wireless device of claim 10, wherein the at least one processor is further configured to cause the wireless device to: send, over the AT interface, an AT command to the modem processor of the wireless device as a second bit rate recommendation action command, the second bit rate recommendation action command including at least the indication of the flow identifier, the indication of the requested bit rate, and the indication of the direction.
14. The wireless device of claim 13, wherein the at least one processor is further configured to cause the wireless device to: receive, over the AT interface, a response as an error code from the modem processor of the wireless device, the error code indicating that the second bit rate recommendation action command was sent prematurely.
15. The wireless device of claim 14, wherein the response over the AT interface as the error code includes a retry parameter.
16. The wireless device of claim 13, wherein the at least one processor is further configured to cause the wireless device to: receive, over the AT interface, a response as a second bit rate recommendation response from the modem processor of the wireless device, the second bit rate recommendation response including at least the indication of the flow identifier, the indication of the bit rate recommendation, the indication of the direction, and an indication of a time at which the modem processor received a network assistance response associated with the indication of the bit rate recommendation.
17. The wireless device of claim 13, wherein the at least one processor is further configured to cause the wireless device to: determining that the indication of the bit rate recommendation is still valid in response to not receiving a response to the AT command that is the second bit rate recommendation action command from the modem processor.
18. The wireless device of claim 10, wherein the at least one processor is further configured to cause the wireless device to control the streaming service based at least in part on the indication of the bit rate recommendation by: converting the indication of the bit rate recommendation to an application level bit rate value; and controlling the streaming service based at least in part on the application level bit rate value.
19. A wireless device comprising: means for sending an AT command to a modem processor of the wireless device over an AT interface, the AT command being a bit rate recommendation action command for a streaming service, the bit rate recommendation action command including at least an indication of a flow identifier, an indication of a requested bit rate, and an indication of a direction, wherein the indication of the flow identifier is an indication of a protocol data unit (PDU) session for the streaming service, and the bit rate recommendation action command further includes an indication of a quality of service (QoS) flow of the PDU session for the streaming service; means for receiving a response over the AT interface that is a bit rate recommendation response from the modem processor of the wireless device, the bit rate recommendation response including at least the indication of the flow identifier, an indication of a bit rate recommendation, and the indication of the direction, and wherein the bit rate recommendation response further includes the indication of the QoS flow of the PDU session for the streaming service; and means for controlling the streaming service based at least in part on the indication of the bit rate recommendation.
20. The wireless device of claim 19, wherein, the indication of the flow identifier is an indication of an evolved packet system (EPS) bearer for the streaming service.
21. The wireless device of claim 19, further comprising: means for sending an AT command to the modem processor of the wireless device over the AT interface that is a second bit rate recommendation action command, the second bit rate recommendation action command including at least the indication of the flow identifier, the indication of the requested bit rate, and the indication of the direction.
22. The wireless device of claim 21, further comprising: means for receiving a response over the AT interface that is an error code from the modem processor of the wireless device, the error code indicating that the second bit rate recommendation action command was sent prematurely.
23. The wireless device of claim 22, wherein the response over the AT interface that is the error code includes a retry parameter.
24. The wireless device of claim 21, further comprising: a means for receiving, over the AT interface, a response as a second bitrate recommendation response from the modem processor of the wireless device, the second bitrate recommendation response comprising at least an indication of the flow identifier, an indication of the bitrate recommendation, an indication of the direction, and an indication of a time at which the modem processor received a network assistance response associated with the indication of the bitrate recommendation.
25. The wireless device of claim 19, wherein the means for controlling the streaming service based at least in part on the indication of the bitrate recommendation comprises: a means for converting the indication of the bitrate recommendation to an application level bitrate value; and a means for controlling the streaming service based at least in part on the application level bitrate value.
26. A processor for a wireless device, the processor configured to: send, over an AT interface to a modem of the wireless device, an AT command, the AT command being a bitrate recommendation action command for a streaming service, the bitrate recommendation action command comprising at least an indication of a flow identifier, an indication of a requested bitrate, and an indication of a direction, wherein the indication of the flow identifier is an indication of a protocol data unit (PDU) session for the streaming service, and the bitrate recommendation action command further comprises an indication of a quality of service (QoS) flow for the PDU session of the streaming service; receive, over the AT interface, a response as a bitrate recommendation response from the modem of the wireless device, the bitrate recommendation response comprising at least the indication of the flow identifier, an indication of a bitrate recommendation, and the indication of the direction, and wherein the bitrate recommendation response further comprises the indication of the QoS flow for the PDU session of the streaming service; and control the streaming service based at least in part on the indication of the bitrate recommendation.
27. The processor of claim 26, wherein, the indication of the flow identifier is an indication of an evolved packet system (EPS) bearer for the streaming service.
28. The processor of claim 26, wherein the processor is further configured to: send, over the AT interface to the modem of the wireless device, an AT command as a second bitrate recommendation action command, the second bitrate recommendation action command comprising at least the indication of the flow identifier, the indication of the requested bitrate, and the indication of the direction.
29. The processor of claim 28, wherein the processor is further configured to: receive, over the AT interface, a response as a second bitrate recommendation response from the modem of the wireless device, the second bitrate recommendation response comprising at least the indication of the flow identifier, the indication of the bitrate recommendation, the indication of the direction, and an indication of a time at which the modem processor received a network assistance response associated with the indication of the bitrate recommendation.
30. The processor of claim 26, wherein the processor is further configured to control the streaming service based at least in part on the indication of the bitrate recommendation by: 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.
31. A non-transitory computer-readable medium comprising processor-readable instructions to cause a processor of a wireless device to perform the method of any of claims 1-9.
32. A computer program product comprising computer-readable instructions to cause a processor of a wireless device to perform the method of any of claims 1-9 when executed by the processor.
Citation Information
Patent Citations
AT commands for 5G session management
CN111034253A