Attention (AT) interface for radio access network bitrate recommendations
Patent Information
- Application Number
- CN202180047049.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-06-29
- Filing Date
- 2021-06-30
- Publication Date
- 2026-09-25
- Estimated Expiration
- 2041-06-30
Smart Images

Figure CN115918143B_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 performed by a modem processor of a wireless computing device. These aspects may include receiving an AT command via an AT interface from another processor of the wireless device, the AT command being a bitrate recommendation action command for streaming service, the bitrate recommendation action command including at least an indication of a first stream identifier, an indication of a requested bitrate, and an indication of direction; in response to receiving the AT command as a bitrate recommendation action command from the other processor of the wireless device, determining a second stream identifier and a logical channel identifier (LCID) associated with the indication of the first stream identifier; sending a network assistance request including the second stream identifier and LCID to a base station of a radio access network (RAN); receiving a network assistance response including the second stream identifier and LCID from the base station of the RAN; determining a bitrate recommendation in response to receiving the network assistance response from the base station of the RAN; and sending a response as a bitrate recommendation response via the AT interface to the other processor of the wireless device, the bitrate recommendation response including at least an indication of the first stream identifier, an indication of the bitrate recommendation, and an indication of direction.
[0007] In some aspects, the indication of the first-flow identifier may be an indication of the Evolved Packet System (EPS) bearer for the streaming service. In some aspects, the indication of the first-flow identifier may be an indication of the Protocol Data Unit (PDU) session for the streaming service. In some aspects, the bitrate recommendation action command also includes an indication of the Quality of Service (QoS) flow for the PDU session of the streaming service; and the bitrate recommendation response also includes an indication of the QoS flow for the PDU session of the streaming service. In some aspects, the direction may be an uplink or downlink indication.
[0008] Some aspects may further include starting a response timer in response to receiving an AT command as a bit rate recommendation action command from another processor of the wireless device via an AT interface; receiving an AT command as a second bit rate recommendation action command from another processor of the wireless device via an AT interface, the second bit rate recommendation action command including at least an indication of a first stream identifier, an indication of a requested bit rate, and an indication of direction; determining whether the second bit rate recommendation action command has been received before the response timer expires; and taking a bit rate request frequency limiting action in response to determining that the second bit rate recommendation action command has been received before the response timer expires. In some aspects, the bit rate request frequency limiting action may include sending a response as an error code to another processor of the wireless device via an AT interface, the error code indicating that the second bit rate recommendation action command was sent prematurely. In some aspects, the response as an error code includes retry parameters. In some aspects, the bit rate request frequency limiting action includes sending a response as a second bit rate recommendation response to another processor of the wireless device via an AT interface, the second bit rate recommendation response including at least an indication of a first stream identifier, an indication of bit rate recommendation, an indication of direction, and an indication of the time at which a network assistance response was received from the RAN's base station. In some aspects, a bit rate request frequency limiting action may include not sending a response to an AT command that serves as a second bit rate recommendation action command.
[0009] Some aspects may also include determining a bit rate recommendation in response to receiving a network assistance response from the RAN's base station, including converting the bit rate recommendation indicated in the network assistance response from the RAN's base station into an application-level bit rate value; and the indication of the bit rate recommendation in the bit rate recommendation response is an application-level bit rate value.
[0010] In some respects, the modem processor of a wireless device can be a fifth-generation (5G) modem processor.
[0011] Other aspects may include a wireless device having a processor configured to perform one or more operations of any of the methods described above. Other aspects may include a non-transitory processor-readable storage medium storing processor-executable instructions configured to cause the processor of the wireless device to perform the operations of any of the methods described above. Other aspects include a wireless device having components with functionality for performing any of the methods described above. Other aspects include a system-on-a-chip (SoC) for a wireless device, the SoC including a processor configured to perform one or more operations of any of the methods described above. Other aspects include a system-in-package (SIP) including two SIPs for a wireless device, each SIP including a processor configured to perform one or more operations of any of the methods described above. Attached Figure Description
[0012] The accompanying drawings, which are incorporated herein and form part of this specification, illustrate exemplary embodiments of the claims and, together with the general description given above and the detailed description given below, serve to interpret the features of the claims.
[0013] Figure 1A This is a system block diagram illustrating an example communication system suitable for implementing any of the various embodiments.
[0014] Figure 1B This is a system block diagram illustrating an example communication system that supports streaming service assistance.
[0015] Figure 2 This is a component block diagram illustrating an example computing and wireless modem system suitable for implementing any of the various embodiments.
[0016] Figure 3 This is a diagram illustrating examples of software architectures including radio protocol stacks for user and control planes in wireless communication, according to various embodiments.
[0017] Figure 4A This is a component block diagram illustrating a system configured to provide downlink streaming service assistance in a 5GS network according to various embodiments.
[0018] Figure 4B This is a component block diagram illustrating a system configured according to various embodiments for providing uplink streaming service assistance in a 5GS network.
[0019] Figure 5 An architecture for performing Attention (AT) command / response exchange on a wireless device to support streaming service assistance, according to various embodiments, is illustrated.
[0020] Figure 6This is a flowchart illustrating a method for providing streaming service assistance executed by a processor of a wireless device according to various embodiments.
[0021] Figure 7 This is a flowchart illustrating a method for providing streaming service assistance executed by a modem processor of a wireless device according to various embodiments.
[0022] Figure 8A This is a flowchart illustrating a method for providing streaming service assistance executed by a processor of a wireless device according to various embodiments.
[0023] Figure 8B This is a flowchart illustrating a method for providing streaming service assistance executed by a modem processor of a wireless device according to various embodiments.
[0024] Figure 9A This is a flowchart illustrating a method for providing streaming service assistance executed by a processor of a wireless device according to various embodiments.
[0025] Figure 9B This is a flowchart illustrating a method for providing streaming service assistance executed by a modem processor of a wireless device according to various embodiments.
[0026] Figure 9C This is a flowchart illustrating a method for providing streaming service assistance executed by a modem processor of a wireless device according to various embodiments.
[0027] Figure 9D This is a flowchart illustrating a method for providing streaming service assistance executed by a processor of a wireless device according to various embodiments.
[0028] Figure 10 This is a component block diagram of a network computing device suitable for use with various embodiments.
[0029] Figure 11 This is a component block diagram of a wireless device suitable for use with various embodiments. Detailed Implementation
[0030] Various embodiments will be described in detail with reference to the accompanying drawings. Where possible, the same reference numerals will be used throughout the drawings to refer to the same or similar parts. References to specific examples and implementations are for illustrative purposes and are not intended to limit the scope of the claims.
[0031] Various embodiments provide methods for providing streaming service downlink and / or uplink assistance mechanisms to a wireless device using attention (AT) commands and responses exchanged via an AT interface between a modem processor of the wireless device and another processor of the wireless device. Various embodiments may include an AT command that is a bitrate recommendation action command for streaming service, the bitrate recommendation action command including an indication of a stream identifier, an indication of a requested bitrate, and an indication of direction. Some embodiments may include receiving a response via the AT interface as a bitrate recommendation response, the bitrate recommendation response including an indication of a stream identifier, an indication of a bitrate recommendation, and an indication of direction. In some embodiments, the response via the AT interface as a bitrate recommendation response may be a response of the modem processor to a previous AT command received via the AT interface from another processor as a bitrate recommendation action command for streaming service. In some embodiments, the response via the AT interface (sometimes referred to as an "AT response") may be an unsolicited bitrate recommendation received from the modem processor of the wireless device. An unsolicited bitrate recommendation may be a push-type notification sent by the modem processor to another processor that is independent of any specific AT command bitrate request previously sent to the modem processor. Unsolicited bitrate recommendations may include unsolicited result codes.
[0032] The term "wireless device" as used herein refers to wireless router devices, wireless appliances, cellular phones, smartphones, portable computing devices, personal or mobile multimedia players, laptop computers, tablet computers, smartbooks, ultrabooks, handheld computers, wireless email receivers, multimedia internet cellular phones, medical devices and equipment, biometric sensors / devices, wearable devices including smartwatches, smart clothing, smart glasses, smart wristbands, smart jewelry (e.g., smart rings, smart bracelets, etc.), entertainment devices (e.g., wireless game controllers, music and video players, satellite radios, etc.), Internet of Things (IoT) devices that support wireless networks, including smart meters / sensors, industrial manufacturing equipment, large and small machinery and appliances for home or business use, wireless communication elements in autonomous and semi-autonomous vehicles, wireless devices fixed to or incorporated into various mobile platforms, GPS devices, and similar electronic devices including memory, wireless communication components, and programmable processors.
[0033] The term "System-on-a-Chip" (SOC) is used herein to refer to a single integrated circuit (IC) chip containing multiple resources and / or processors integrated on a single substrate. A single SOC may contain circuitry for digital, analog, mixed-signal, and radio frequency functions. A single SOC may also include any number of general-purpose and / or special-purpose processors (digital signal processors, modem processors, video processors, etc.), memory blocks (e.g., ROM, RAM, Flash, etc.), and resources (e.g., timers, voltage regulators, oscillators, etc.). A SOC may also include software for controlling the integrated resources and processors, as well as software for controlling peripheral devices.
[0034] The term "system-in-package" (SIP) may be used herein to refer to a single module or package that incorporates multiple resources, computing units, cores, and / or processors on two or more IC chips, substrates, or SoCs. For example, a SIP may include a single substrate on which multiple IC chips or semiconductor wafers are stacked in a vertical configuration. Similarly, a SIP may include one or more multi-chip modules (MCMs) on which multiple ICs or semiconductor wafers are packaged into a unified substrate. A SIP may also include multiple independent SoCs coupled together and tightly packaged via high-speed communication circuitry, such as on a single motherboard or in a single wireless device. The compactness of the SoCs facilitates high-speed communication and the sharing of memory and resources.
[0035] The term "multi-core processor" may be used herein to refer to a single integrated circuit (IC) chip or chip package containing two or more independent processing cores (e.g., a central processing unit (CPU) core, an Internet Protocol (IP) core, a graphics processing unit (GPU) core, etc.) configured to read and execute program instructions. A System-on-a-Chip (SoC) may include multiple multi-core processors, and each processor in the SoC may be referred to as a core. The term "multi-processor" may also be used herein to refer to a system or device comprising two or more processing units configured to read and execute program instructions.
[0036] Fourth-generation (4G) and fifth-generation (5G) systems (5GS) networks can support streaming services, such as live uplink streaming (LUS) services, including Facebook Live, YouTube Live, Twitch, Periscope, and Instagram Live. In such user-generated live uplink streaming services, users can stream media content (e.g., video, audio, etc.) to a network server associated with the live uplink streaming service via their computing devices. Different types of live uplink streaming services can be professionally generated multimedia content, such as live video and audio feeds associated with breaking news reports, audio / video streams of sporting events generated by stadium-based cameras, and so on. Regardless of the type of live uplink streaming service (e.g., user-generated or professionally generated), the streamed (or uploaded) content is then available for other users to view via their respective computing devices. Both uplink and downlink network capacity can support the uplink transmission and / or downlink distribution of media content in LUS services.
[0037] Network assistance can be a feature supported by a streaming service. Network assistance allows a wireless device to query the Network Assistance Service (NASS) to see if a higher bit rate (called a "boost") is supported in wireless reception or transmission, and to request a recommended operating bit rate before the session begins. A wireless device receiving a streaming service on the downlink (DL) may be referred to as requesting DL network assistance (DNA), while a wireless device transmitting streaming content on the uplink (UL) may be referred to as requesting uplink network assistance (UNA). By allowing a higher bit rate for DL reception or UL transmission, boosting may be necessary to prevent media buffer underflow (in DL reception) or overflow (in UL transmission) of the wireless device. Additionally, higher bit rates in wireless reception or transmission can reduce latency in streaming services, and can support higher resolution streaming services (e.g., 3D video streaming, 8K Ultra High Definition (UHD) video streaming, etc.). A network assistance request can be a message sent by a radio device inquiring whether the radio access network (RAN) supports a bit rate increase (e.g., an upgrade request) or a message sent by a radio device inquiring about a recommended bit rate (uplink or downlink recommended bit rate) for a streaming session. As a specific example, a network assistance request can be an Access Network Bit Rate Recommendation Query (ANBRQ) message defined for multimedia telephony services of Internet Protocol (IP) Multimedia Subsystem (IMS) (MTSI), or a Recommended Bit Rate Query Media Access Control (MAC) Control Element (CE) (MAC CE) defined for Long Term Evolution (LTE) and 5G New Radio (NR), etc. A network assistance response can be a message received by a radio device indicating a recommended bit rate for a streaming session and / or the ability to support a bit rate increase (e.g., an upgrade status). As a specific example, a network assistance response can be an Access Network Bit Rate Recommendation (ANBR) message defined for MTSI, or a Recommended Bit Rate MAC CE defined for LTE and 5G NR, etc.
[0038] While RANs such as LTE-RAN and 5G-NR-RAN can support RAN-level signaling for recommended bit rates (uplink or downlink recommended bit rates) for streaming sessions, current implementations do not support this signaling at the wireless device itself, for example, between the processor of a wireless device running a streaming service application and the modem processor of that wireless device. This lack of support for recommended bit rate signaling for streaming sessions at the wireless device itself, such as between the processor of a wireless device running a streaming service application and the modem processor of that wireless device, may prevent current implementations from supporting application-level streaming service assistance, such as application-level bit rate control.
[0039] Various embodiments of methods, systems, and apparatus provide streaming service assistance on wireless devices such as wireless devices requesting DNA, wireless devices requesting UNA, etc. Various embodiments enable the exchange of uplink and / or downlink bit rate recommendation requests, responses, and / or notifications between processors within the wireless device itself, such as between the processor of a wireless device running a streaming service application and the modem processor of that wireless device. Various embodiments enable the exchange of Attention (AT) commands and / or responses associated with uplink and / or downlink bit rate recommendation requests, responses, and / or notifications between processors of the wireless device. In some embodiments, the modem processor and other processors of the 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 a processor can exchange AT commands and / or responses with another processor. In some embodiments, the processor of the wireless device running a streaming service application can operate as a terminal device (TE) for sending / receiving AT commands associated with uplink and / or downlink bit rate recommendation requests, responses, and / or notifications. In some embodiments, the modem processor of a wireless device (e.g., a modem processor providing connectivity to the RAN, such as an LTE modem, a 5G modem, etc.) can operate as a mobile terminal (MT) for sending / receiving AT commands associated with uplink and / or downlink bit rate recommendation requests, responses, and / or notifications. Various embodiments may enable uplink and / or downlink bit rate recommendation requests, responses, and / or notifications on wireless devices connected to the RAN (e.g., an LTE RAN, a 5G NR RAN, etc.).
[0040] In various embodiments, AT commands associated with uplink and / or downlink bit rate recommendation requests, request responses to AT commands, and / or notifications (e.g., unsolicited responses to AT commands) may include parameters (e.g., logical channel identifiers (LCIDs)) for explicitly identifying the logical channel carrying one or more media streams, and network assistance requests (e.g., ANBRQ, recommended bit rate query MAC CE, etc.) and / or network assistance responses (e.g., ANBR, recommended bit rate MAC CE, etc.) sent / received by the RAN modem processor (e.g., 5G modem processor, LTE modem processor, etc.) to / from the RAN (e.g., LTE RAN, 5GNR RAN, etc.) related to the one or more media streams. Regarding LTE systems, the streams used herein may be associated with LTE packet data network (PDN) connections. Regarding 5G systems, the streams used herein may be associated with Protocol Data Unit (PDU) sessions.
[0041] In some embodiments, a media session processor running on the processor of a wireless device can operate as a TE (Transmission and Execution) mechanism to send / receive AT (Attack Command) commands associated with uplink and / or downlink bit rate recommendation requests, responses, and / or notifications. In some embodiments, the media session processor may include network auxiliary subfunctions or modules configured to perform uplink and / or downlink bit rate recommendation request, response, and / or notification functions. In some embodiments, the media session processor may connect to an application layer entity interface of the wireless device, such as a media stream awareness application (e.g., a 5G Media Streaming (5GMS) awareness application, an Evolved Universal Mobile Telecommunications System (UMTS) Terrestrial Radio Access Network (E-UTRAN) awareness application, a media player application, a media streaming application, etc.
[0042] Various embodiments can provide an AT command interface for bit rate requests, recommendations, and / or notifications. In some embodiments, AT commands and responses for bit rate requests, recommendations, and / or notifications may employ extended commands and +C syntax for command prefixes associated with digital cellular communications. Various embodiments of AT commands may belong to the packet domain. Various embodiments of AT commands may support 5G System (5GS) Protocol Data Unit (PDU) sessions and associated Quality of Service (QoS) semantics, such as QoS flows, QoS Flow Identifiers (QFIs), QoS rules, etc. Various embodiments of AT commands may support connection establishment and Evolved Packet System (EPS) bearer semantics. Various embodiments of AT commands may indicate the direction to which the bit rate request, recommendation, and / or notification is applied, such as uplink, downlink, etc. Various embodiments of AT commands may support unsolicited result codes. In some embodiments, unsolicited bit rate recommendation notifications received by the RAN modem processor from the RAN may be passed by the RAN modem processor to another processor of the wireless device, such as another processor of the wireless device running a media session processor connected to the application layer entity interface of the wireless device. As a specific example, an unsolicited bitrate recommendation notification from the 5G NRRAN received by the 5G modem processor can be passed to the media session processor. In some embodiments, an AT command with an unsolicited result code can be passed by the RAN modem processor to another processor of the wireless device, such as another processor of the wireless device running a media session processor connected to the application layer entity interface of the wireless device, without the other processor explicitly subscribing to the RAN modem processor to receive the unsolicited result code AT command.
[0043] Some embodiments may provide AT commands as bitrate recommendation action commands. For example, an AT command as a bitrate recommendation action command may be identified by the AT command syntax "+CGBRR".
[0044] In some embodiments, a bitrate request may be an AT command as a bitrate recommendation action command, which includes an indication of a flow identifier (e.g., an identifier of a PDU session, an EPS bearer identifier, etc.); an indication of the requested bitrate, such as the sum of the bitrates of the aggregated request bitrate of a set of QoS flows in the PDU session, the requested bitrate of the EPS bearer, the desired bitrate of a specific application data and / or a specific QoS flow of interest within the PDU session (e.g., for which a bitrate is requested to be increased or enhanced), and the bitrates of all other application data and / or QoS flows of no interest in the PDU session; and an indication of direction, such as UL, DL, etc. As a specific example, the AT command as a bitrate recommendation action command may be "+CGBRR=" <cid> , <reqbitrate> , <direction>In this example, " <cid>"It can be an integer value specifying a stream identifier, such as that defined for a specific PDU session." <reqbitrate>"This could be an indication of the requested bit rate, such as TE for..." <cid>"The set of QoS flows in the referenced PDU session will be aggregated by the MT response request bit rate (e.g., in kilobits per second (kbit / s or kbps)), and" <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>"It can be an integer value specifying a stream identifier, such as that defined for a specific PDU session." <reqbitrate>"This could be an indication of the requested bit rate, such as TE for..." <cid>"The overall QoS flow in the referenced PDU session will be determined by the aggregated request bit rate of the MT response (e.g., in kilobits per second (kbit / s or kbps))," <direction>"This can be an indication of direction, such as 'UL' or 'DL' for bit rate requests, and"<p_cid> "Can be specified by" <cid>"Integer value of a specific QoS stream within the referenced PDU session. Aggregate request bit rate, for example..." <reqbitrate>This can represent specific application data and / or specific QoS flows of interest within a PDU session (e.g., by...).<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.
[0045] In some embodiments, the bitrate response may be a response to an AT command sent via the AT interface. This bitrate response is a bitrate recommendation response, which includes an indication of a flow identifier (e.g., an identifier for a PDU session, an EPS bearer identifier, etc.), an indication of a bitrate recommendation (e.g., an aggregated bitrate recommendation for a set of QoS flows in a PDU session, a bitrate recommendation for a flow operation for an EPS bearer, etc.), and an indication of direction (e.g., UL, DL, etc.). As a specific example, a bitrate recommendation response via the AT interface could be "+CGBRR=" <cid> , <recmbitrate> , <direction>In this example, " <cid>"It can be an integer value that specifies a stream identifier (such as a specific PDU session definition)," <recmbitrate>"This could be a bit rate recommendation (e.g., a bit rate recommendation sent from MT to TE)" <cid>"The referenced PDU session indicates the aggregated bit rate recommendation (e.g., in kbit / s) for the set of QoS flows in the stream operation." <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>"It can be an integer value that specifies a stream identifier (such as a specific PDU session definition)," <recmbitrate>"This could be a bit rate recommendation (e.g., a bit rate recommendation sent from MT to TE)" <cid>"The referenced PDU session indicates the aggregated bit rate recommendation (e.g., in kbit / s) for the set of QoS flows in the stream operation." <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 referenced integer value of a specific QoS flow within the PDU session. In some embodiments, in response to the TE sending an AT command as a bitrate recommendation action command to the MT, the MT can send a response as a bitrate recommendation response to the TE."
[0046] In some embodiments, a response as a bitrate recommendation via the AT interface can be sent from the MT to the TE as an unsolicited result code, the response including a bitrate recommendation value provided by the MT as an unsolicited notification. As a specific example, the response as an unsolicited notification of bitrate recommendation via the AT interface could be "+CGBRR[ <recmbitrate>In this example, " <recmbitrate>"This could be an indication of a recommended bit rate, such as a recommended bit rate value (e.g., in kbit / s).
[0047] 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 bitrate recommended response to an AT command that is a bitrate recommended action command. As a specific example, the TE can send the test command "+CGBRR=?" to the MT as an inquiry into whether the MT supports sending a response as a bitrate recommended response to an AT command that is a bitrate recommended action command. In some embodiments, an MT that supports sending a response as a bitrate recommended response to an AT command that is a bitrate recommended action command can respond to the test code with a supported response. As a specific example, the MT can respond to the test command "+CGBRR=?" by sending a supported response "+CGBRR=OK" to the TE, thereby indicating that the MT supports sending a response as a bitrate recommended response to an AT command that is a bitrate recommended action command. As another specific example, the MT can respond to the test command "+CGBRR=?" by returning a value that supports being a composite value to the TE, thereby indicating that the MT supports sending a response as a bitrate recommended response to an AT command that is a bitrate recommended action command. In some embodiments, an MT that does not support sending a response as a bitrate recommendation response to an AT command that is a bitrate recommendation action command can respond to the test code with an unsupported response. As a specific example, the MT can respond to the test command "+CGBRR=?" by sending an unsupported response "+CGBRR=ERROR" to the TE, thereby indicating that the MT does not support sending a response as a bitrate recommendation response to an AT command that is a bitrate recommendation action command. In some embodiments, supporting the sending of a response as a bitrate recommendation response to an AT command that is a bitrate recommendation action command in response to an action request can be mandatory for the MT. In some embodiments, supporting the sending of a response as a bitrate recommendation response can be mandatory to support unsolicited notification of bitrate recommendation implemented in the form of an unsolicited result code.
[0048] 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.
[0049] 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> The modem is identified by a QoS stream (e.g., via a QoS stream identifier (QFI)) that corresponds to the media streaming application stream for which it seeks a bit rate recommendation or enhancement, along with the associated PDU session identifier and the requested stream bit rate.
[0050] In various embodiments, the modem processor receiving the bitrate recommendation action command can use a stream identifier (e.g., "...") <cid>The value of '' is mapped to the internally referenced PDU session and associated LCID in the recommended bit rate MAC CE used in bit rate recommendation query / response / notification interactions with the RAN.
[0051] In various embodiments, when a wireless device establishes a PDU session via a Non-Access Stratum (NAS) Signaling and 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, such as an eNB, gNB, etc., where the wireless device resides, via an Access and Mobility Management Function (AMF). A one-to-one correspondence can exist between the RAN L2 parameters for LCID, the Data Radio Bearer (DRB) identifier (DRB ID), the QFI, and the Radio Resource Control (RRC) parameters, which define the radio bearer and the corresponding Service Data Adaptation Protocol (SDAP) (e.g., for NR only), Packet Data Convergence Protocol (PDCP), Radio Link Control (RLC), and MAC configuration. As a result, the base station (e.g., eNB, gNB, etc.) where the wireless device resides can explicitly map the PDU session and its contained QoS flows for bit rate recommendation processing to the DRB.
[0052] In some embodiments, the requested and / or recommended bit rate indicated in AT commands and responses exchanged between the TE and MT on a wireless device may be the same as the requested and / or recommended bit rate exchanged between the wireless device and the RAN. In some embodiments, the requested and / or recommended bit rate indicated in AT commands exchanged between the TE and MT on a wireless device may be different from the requested and / or recommended bit rate exchanged between the wireless device and the RAN. For example, the bit rate requested by the modem in ANBRQ may be different from the bit rate requested by the application in the AT command +CGBRR. <reqbitrate>Unlike, similarly, in AT responses <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>The necessary conversions and mappings are performed to account for differences in the protocol layer references of these messages. In some embodiments, the media session processor can perform conversions / mappings between MAC and application-level bitrate values. For example, the media session processor can obtain information from the modem about any additional QoS streams (RAN bitrates represented by contention ANBRs) and their bitrate requirements and upper-layer transport overheads, as well as information from the media player (in the case of DL streaming) about the operation points of other application streams sent in the same PDU session, to support the conversions / mappings between MAC and application-level bitrate values.
[0053] In some embodiments, controlling the streaming service based at least in part on a bitrate recommendation instruction may include deriving a bitrate increase (or boost) from a bitrate recommendation received from the modem processor of the wireless device via an AT interface for a QFI or QoS stream of interest (e.g., for which a bitrate boost or increase is requested). The bitrate recommendation received from the modem processor, for example... <recmbitte>", can be a PDU session (e.g., by " <cid>The aggregated bit rate recommendation (e.g., in kbit / s) of the set of QoS flows in the referenced PDU session. This is for specific application data of interest and / or specific QoS flows (e.g., by...).<p_cid> The recommended bit rate (e.g., the boosted or increased bit rate) for a specified QoS stream (e.g., for which a boost or increase in bit rate is requested) can be determined by subtracting the sum of the bit rates of all other application data and / or QoS streams of no interest in the PDU session from the aggregated bit rate recommendation received from the modem processor, for example, " <recmbitter>This can be an indication of the aggregated bit rate recommendation for a set of QoS flows in a PDU session. The resulting value can be specific to the application data and / or specific QoS flows of interest (e.g., by...).<p_cid> The recommended bit rate (e.g., boosted or increased bit rate) for the specified QoS stream.
[0054] In some embodiments, a bitrate request can be an AT command, which is a bitrate recommendation action command sent from the processor of the wireless device via the AT interface to the RAN modem of the wireless device to trigger the RAN modem to send a recommended bitrate query MAC CE for a PDN connection or PDU session. In some embodiments, such a bitrate request that triggers the recommended bitrate query MAC CE for a PDN connection or PDU session can be an AT command that includes an indication of a flow identifier (e.g., an identifier for a PDU session, a PDN connection identifier, etc.), an indication of the requested bitrate (e.g., an aggregated request bitrate for a PDN connection or PDU session, etc.), an indication of the direction (e.g., UL, DL, etc.), and, optionally, an indication of the QFI of a specific QoS flow within the PDU session. As a specific example, the AT command as a bitrate recommendation action command could be "+CGBRRREQ=" <cid> , <reqbitrate> , <direction>, [<p_cid> In this example, " <cid>"It can be an integer value that specifies a flow identifier (such as a specific PDU session or PDN connection)," <reqbitrate>"This could be the requested bit rate (e.g., TE for...") <cid>"An indication of the aggregated request bit rate (e.g., in kilobits per second (kbit / s or kbps)) of the identified PDN connection or PDU session," <direction>"This can be an indication of the direction of the bit rate request (e.g., "UL" or "DL"), and when included,"<p_cid> "Can be specified by" <cid>"Integer type value of QFI for a specific QoS flow within the PDU session identified by the identifier."
[0055] In response to receiving an AT command that may trigger a recommended bitrate query MAC CE for a PDN connection or PDU session, the modem processor can target the PDN connection or PDU session identified in the AT command (e.g., by " <cid>The PDN connection or PDU session identified by the identifier sends a recommended bitrate query MAC CE. In some embodiments, when the modem processor does not support such a trigger, the modem processor may return an error code (e.g., "+CME ERROR") on the AT interface. <err>The response to ").
[0056] 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 the AT command "+CGBRRREQ=" as a test command to the modem processor via the AT interface. In response to the test command, in some embodiments, the modem processor can send a response via the AT interface indicating the range of supported streams, the range of supported requested bit rates, the range of supported directions, and the range of QFIs for supported QoS streams. For example, the modem processor can send the response "+CGBRRREQ: (Supported...)" via the AT interface in response to the test command. <cid>(scope), (supported) <reqbitrate>(scope), (supported) <direction>(scope), (supported)<p_cid> (the range). In this example, " <cid>"It can be an integer value that specifies a flow identifier (such as a specific PDU session or PDN connection)," <reqbitrate>"This could be the requested bit rate (e.g., TE for...") <cid>"An indication of the aggregated request bit rate (e.g., in kilobits per second (kbit / s or kbps)) of the identified PDN connection or PDU session," <direction>"This could be an indication of the direction of the bit rate request (e.g., "UL" or "DL"), and"<p_cid> "Can be specified by" <cid>"Integer value of the QFI for a specific QoS flow within the PDU session. Supported ranges can be sent as composite values in the response."
[0057] In some embodiments, the processor of a wireless device, such as a processor of a wireless device running a media session processor connected to the application layer entity interface of the wireless device, may send an AT command to a modem processor to subscribe to an unsolicited result response from the RAN modem processor of the wireless device, such as an unsolicited bitrate recommendation response or notification from the RAN modem processor. In this embodiment, after the processor explicitly subscribes to the RAN modem processor to receive an unsolicited result code AT command / response, the AT command with the unsolicited result code may be passed from the RAN modem processor to the processor of the wireless device, such as a processor of a wireless device running a media session processor connected to the application layer entity interface of the wireless device. As a specific example, the processor may send the AT command "+CGBRRREP=[" to the modem processor via the AT interface. <reporting>]”, to enable (e.g., subscription) reporting of the recommended bit rate received from the RAN in the recommended bit rate MAC CE. This may prompt an unsolicited result code +CGBRR: <cid> , <recmbitrate> , <direction>[,<p_cid> 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." <cid>"It can be an integer type that identifies the PDN connection or PDU session to which the recommended bit rate is applied." <direction>"This can be a string type indicating the direction ("UL" or "DL") to which the recommended bitrate is applied, and"<p_cid> "It can be an integer type of QFI that indicates the QoS stream to which the recommended bit rate is applied."
[0058] In response to an AT command subscribing to an unsolicited response from the modem processor, the modem processor may indicate whether it supports reporting unsolicited bitrate recommendation responses. In some embodiments, when the modem processor does not support sending unsolicited bitrate recommendation responses, the modem processor may indicate an error (e.g., "+CME ERROR") in the response via the AT interface. <err>”).
[0059] In some embodiments, the processor can request the status of the modem to provide an unrequested bitrate recommendation response. For example, the processor can send the AT command "+CGBRRREP?" to the modem processor, and the modem processor can return the response "CGBRRREP:" via the AT interface. <reporting>In this example, " <reporting>"Can be an integer type, for example, "0" means reporting is not enabled, and "1" means reporting is enabled.
[0060] In some embodiments, a test command may be sent by the processor to the modem processor via the AT interface to request an unrequested bit rate recommended response value. For example, the processor may send the AT command "+CGBRRREP=?" to the modem processor, and the modem processor may return the response "CGBRRREP: (supported)" via the AT interface. <reporting>(a list of supported items). In this example, "(supported items)" <reporting>The list of values () can be a composite value of all values supported by an unrequested bitrate recommendation response. In some embodiments, the TE <reporting>The value can be "0" or "1", and the return value from MT can be only one of the following three possibilities: 1) "0"; 2) "1"; or 3) "0" and "1".
[0061] 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 bitrate recommendation. For example, the AT command "+CGBRRREQ" might be useful in other embodiments or new AT commands. In this way, the bitrate recommendation sent from the MT (e.g., the modem processor) of the wireless device to the TE (e.g., the application processor) of the wireless device can be the result of a request.
[0062] In some embodiments, the processor of the wireless device, such as the processor of a wireless device running a media session processor connected to the application layer entity interface of the wireless device, may send an AT command to the RAN modem processor of the wireless device as an execution command instructing the RAN modem processor to send a recommended bit rate query MAC CE for a PDN connection or PDU session to the RAN in the indicated direction (e.g., UL, DL, etc.), and additionally instructing the RAN modem processor to return to the processor a recommended bit rate value corresponding to the recommended bit rate MAC CE received by the RAN modem processor in response to a previous query. As a specific example, the AT command sent from the TE as an instruction for the MT to send a query to the RAN and return the result of the query from the RAN to the TE could be "+CGBRR[= <cid> , <reqbitrate> , <direction>, [<p_cid> Furthermore, when the MT receives the recommended bit rate MAC CE from the RAN, the response sent from the MT to the TE via the AT interface can be "+CGBRR". <cid> , <recmbitrate> , <direction>, [<p_cid> In this example, " <cid>"It can be an integer value specifying a stream identifier (such as a specific PDU session or PDN connection that identifies the PDN connection or PDU session to which the recommended bitrate query or response is applied)," <reqbitrate>"This could be a request for bit rate (e.g., the TE queries the MAC CE for the recommended bit rate mapped from MT to MT sent to the RAN)." <cid>"An indication of the aggregated request bit rate (e.g., in kilobits per second (kbit / s or kbps)) of the identified PDN connection or PDU session. Also in this example, " <recmbitrate>"It can be targeted at" <cid>"The referenced PDU session or PDN connection and the aggregated bit rate recommendation (e.g., in kbit / s) corresponding to the bit rate in the recommended bit rate MAC CE received by the MT from the RAN for that PDU session or PDN connection, and" <direction>"This can be a string type indicator of the direction of the bitrate request or response (e.g., "UL" or "DL"). Similarly, in this example, "<p_cid> "(When included)" can be an integer value of the QFI that identifies the QoS stream to which the recommended bitrate query or response is applied.
[0063] In some embodiments, when the modem processor does not support the triggered bitrate recommendation response, the modem processor may indicate an error in the response via the AT interface, such as "+CME ERROR: <err>In some embodiments, the processor may request the status of the modem triggered by an AT action / execution command for bit rate recommendation. For example, the processor may send the AT command "+CGBRR=?" to the modem processor as a test command. In some embodiments, the test command may return a flow identifier (e.g., a PDU session) or a PDN connection identifier (e.g., "..."). <cid>The range of supported values, the QFI of the QoS stream (e.g., "))<p_cid> ") and the requested bit rate (e.g., " <reqbitrate>"), and direction (e.g. " <direction>A list of supported values. For example, a range can be returned as a composite value. As a concrete example, in response to a test command, the MT can send the response "+CGBRR: (supported values)" to the TE on the AT interface. <cid>(scope), (supported) <reqbitrate>(scope), (supported) <direction>(list of supported)<p_cid> Scope)]”.
[0064] 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>]”, to be sent by the modem processor via the AT interface via unsolicited result code +CGBRR: <cid> , <recmbitrate> , <direction>[,<p_cid> Enables (e.g., subscription) reporting of the recommended bit rate received from the RAN in the recommended bit rate MAC CE. In this example, " <reporting>"Can be an integer type, for example, "0" means reporting is disabled, "1" means reporting is enabled," <cid>"It can be an integer type that identifies the PDN connection or PDU session to which the recommended bit rate is applied, and" <recmbitrate>"This could be an indication of an aggregated bit rate recommendation (e.g., in kbit / s) that is targeted at..." <cid>"The referenced PDU session or PDN connection and the corresponding bit rate in the recommended bit rate MAC CE received by the MT from the RAN for that PDU session or PDN connection are mapped to the latest recommended bit rate MAC CE received by the modem from the RAN. Also in this example," <direction>"This can be a string type indicating the direction ("UL" or "DL") to which the recommended bitrate is applied."<p_cid> "Can be an integer type of QFI indicating the QoS stream to which the recommended bit rate is applied. In some embodiments, a read command such as "+CGBRREP" can return the current command setting, for example, in the response "+CGBRREP:" via an AT interface. <reporting>"In the middle, among which" <reporting>" can be an integer type, for example, "0" indicates reporting is disabled, and "1" indicates reporting is enabled. In some embodiments, test commands such as "+cgbrrep=?" can support <reporting>The value is returned as a composite value.
[0065] Figure 1A This is a system block diagram illustrating an example communication system 100 suitable for implementing any of the various embodiments. Communication system 100 may be a fifth-generation (5G) new radio (NR) network, or any other suitable network, such as an LTE network, a 5G network, etc. Although Figure 1A A 5G network is shown, but next-generation networks may include the same or similar elements. Therefore, references to 5G networks and 5G network elements in the following description are for illustrative purposes and not intended to be limiting.
[0066] Communication system 100 may include a heterogeneous network architecture, which includes a core network 140 and various mobile devices (also known as user equipment (UE) computing devices) (in Figure 1A The diagram shows wireless devices 120a-120e. Communication system 100 may also include multiple base stations (shown as BS 110a, BS 110b, BS 110c, and BS 110d) and other network entities. A base station is an entity that communicates with wireless devices (mobile devices or UE computing devices) and may also be referred to as NodeB, NodeB, LTE Evolution NodeB (eNB), Access Point (AP), Radio Head, Transmitter-Receiver Point (TRP), New Radio Base Station (NR BS), 5G NodeB (NB), Next Generation NodeB (gNB), etc. Each base station can provide communication coverage for a specific geographic area. In 3GPP, the term "cell" can refer to the coverage area of a base station, the base station subsystem serving that coverage area, or a combination thereof, depending on the context in which the term is used.
[0067] Base stations 110a-110d can provide communication coverage for macrocells, picocells, femtocells, another type of cell, or a combination thereof. Macrocells can cover a relatively large geographic area (e.g., a radius of several kilometers) and allow unrestricted access for mobile devices with service subscriptions. Picocells can cover a relatively small geographic area and allow unrestricted access for mobile devices with service subscriptions. Femtocells can cover a relatively small geographic area (e.g., a home) and allow restricted access for mobile devices associated with the femtocell (e.g., mobile devices in a Closed Subscriber Group (CSG)). A base station used for a macrocell may be referred to as a macro BS. A base station used for a picocell may be referred to as a pico BS. A base station used for a femtocell may be referred to as a femtocell BS or a home BS. Figure 1A In the example shown, base station 110a can be a macro BS for macro cell 102a, base station 110b can be a pico BS for pico cell 102b, and base station 110c can be a femto BS for femto cell 102c. 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", "5GNB", and "cell" are used interchangeably herein.
[0068] In some examples, the cell may not be stationary, and the geographical area of the cell may move depending on the location of the mobile base station. In some examples, base stations 110a-110d may use any suitable transport network to interconnect with each other through various types of backhaul interfaces (e.g., direct physical connections, virtual networks, or combinations thereof), and to interconnect with one or more other base stations or network nodes (not shown) in the communication system 100.
[0069] Base stations 110a-110d can communicate with the core network 140 via wired or wireless communication link 126. Wireless devices 120a-120e (UE computing devices) can communicate with base stations 110a-110d via wireless communication link 122.
[0070] The wired communication link 126 can use various wired networks (e.g., Ethernet, TV cable, telephone, fiber optic and other forms of physical network connection) and can use one or more wired communication protocols, such as Ethernet, point-to-point protocol, advanced data link control (HDLC), advanced data communication control protocol (ADCCP) and transmission control protocol / Internet protocol (TCP / IP).
[0071] The communication system 100 may also include a relay station (e.g., relay BS 110d). A relay station is an entity capable of receiving data transmissions from an upstream station (e.g., a base station or mobile device) and transmitting the data transmissions to a downstream station (e.g., a wireless device or base station). A relay station may also be a mobile device that can relay transmissions for other wireless devices. Figure 1A In the example shown, relay station 110d can communicate with macro base station 110a and wireless device 120d to facilitate communication between base station 110a and wireless device 120d. A relay station can also be referred to as a relay base station, relay, relay, etc.
[0072] The communication system 100 can be a heterogeneous network, comprising different types of base stations, such as 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 effects on interference in the communication system 100. For example, macro base stations can have high transmit power levels (e.g., 5 to 40 watts), while pico base stations, femto base stations, and relay base stations can have lower transmit power levels (e.g., 0.1 to 2 watts).
[0073] Network controller 130 can be coupled to a set of base stations and can provide coordination and control for these base stations. Network controller 130 can communicate with the base stations via backhaul. Base stations can also communicate with each other directly or indirectly, for example, via wireless or wired backhaul.
[0074] Wireless devices (UE computing devices) 120a, 120b, and 120c can be distributed throughout the communication system 100, and each wireless device can be stationary or mobile. Wireless devices can also be referred to as access terminals, UEs, terminals, mobile stations, subscriber units, stations, etc.
[0075] Macro base station 110a can communicate with communication network 140 via wired or wireless communication link 126. Wireless devices 120a, 120b, and 120c can communicate with base stations 110a-110d via wireless communication link 122.
[0076] Wireless communication links 122 and 124 may include multiple carrier signals, frequencies, or frequency bands, and each carrier signal, frequency, or frequency band may include multiple logical channels. Wireless communication links 122 and 124 may utilize one or more radio access technologies (RATs). Examples of RATs that can be used in wireless communication links include 3GPP LTE, 3G, 4G, 5G (e.g., NR), GSM, Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Global Microwave Access Interoperability (WiMAX), Time Division Multiple Access (TDMA), and other cellular RATs for mobile phone communication technologies. Further examples of RATs that can be used in one or more of the various wireless communication links 122 and 124 within the communication system 100 include mid-range protocols such as Wi-Fi, LTE-U, LTE-Direct, LAA, and MuLTEfire, and relatively short-range RATs such as ZigBee, Bluetooth, and Bluetooth Low Energy (LE).
[0077] Some wireless networks (such as 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 divide the system bandwidth into multiple (K) orthogonal subcarriers, often referred to as tones, bands, etc. Each subcarrier can be modulated with data. Typically, modulation symbols are transmitted using OFDM in the frequency domain and SC-FDM in the time domain. The spacing between adjacent subcarriers can be fixed, and the total number of subcarriers (K) can depend on the system bandwidth. For example, the subcarrier spacing could be 15 kHz, and the minimum resource allocation (called a "resource block") could be 12 subcarriers (or 180 kHz). Therefore, for system bandwidths of 1.25, 2.5, 5, 10, or 20 MHz, the nominal Fast File Transfer (FFT) size could be 128, 256, 512, 1024, or 2048, respectively. The system bandwidth can also be divided into subbands. For example, a subband can cover 1.08MHz (i.e., 6 resource blocks), and for system bandwidths of 1.25, 2.5, 5, 10, or 20MHz, it can have 1, 2, 4, 8, or 16 subbands respectively.
[0078] While some embodiments are described using terminology and examples associated with LTE technology, various embodiments can be applied to other wireless communication systems, such as New Radio (NR) or 5G networks. NR can utilize OFDM with a cyclic prefix (CP) on both the uplink (UL) and downlink (DL) and includes support for half-duplex operation using Time Division Duplex (TDD). A single-component carrier bandwidth of 100 MHz can be supported. An NR resource block can span 12 subcarriers with a subcarrier bandwidth of 75 kHz and a duration of 0.1 ms. Each radio frame can consist of 50 subframes of 10 ms in length. Therefore, each subframe can have a length of 0.2 ms. Each subframe can indicate the link direction for data transmission (i.e., DL or UL), and the link direction of each subframe can be dynamically switched. Each subframe can include DL / UL data and DL / UL control data. Beamforming can be supported, and beam direction can be dynamically configured. Multiple-input multiple-output (MIMO) transmission with precoding can also be supported. MIMO configuration in DL can support up to 8 transmit antennas, with each radio device having up to 8 streams and up to 2 streams in multilayer DL transmission. Multilayer transmission with up to 2 streams per radio device can be supported. Aggregation of multiple cells can be supported by up to eight serving cells. Alternatively, NR can support different air interfaces in addition to the OFDM-based air interface.
[0079] 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., which can communicate with a base station, another device (e.g., a remote device), or some other entity. For example, a wireless node can provide connectivity to or to a network (e.g., a wide area network such as the Internet or cellular networks) via wired or wireless communication links. Some mobile devices can be considered Internet of Things (IoT) devices or can be implemented as NB-IoT (Narrowband Internet of Things) devices. Wireless devices 120a-e can be included within a housing that houses components of the wireless device (e.g., processor components, memory components, similar components, or combinations thereof).
[0080] Typically, any number of communication systems and wireless networks can be deployed within a given geographical area. Each communication system and wireless network can support a specific Radio Access Technology (RAT) and can operate on one or more frequencies. A RAT can also be referred to as a radio technology, air interface, etc. A frequency can also be referred to as a carrier, channel, etc. Each frequency can support a single RAT within a given geographical area to avoid interference between communication systems using 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 on the 4G / LTE RAN side of a 5G NSA network and 5G / NR RATs on the 5G / NR RAN side of a 5G NSA network. The 4G / LTE RAN and 5G / NR RAN can be interconnected and connected to the 4G / LTE core network (e.g., an evolved packet core (EPC) network) within the 5G NSA network. Other example network configurations may include a 5G Standalone (SA) network, where the 5G / NR RAN is connected to the 5G core network.
[0081] In some implementations, two or more mobile devices 120a-e (e.g., illustrated as wireless devices 120a and 120e) can communicate directly using one or more sidechain channels 124 (e.g., without using base stations 110a-110d as intermediaries for communication with each other). For example, wireless devices 120a-e can communicate using peer-to-peer (P2P) communication, device-to-device (D2D) communication, vehicle-to-everything (V2X) protocols (which may include vehicle-to-vehicle (V2V) protocols, vehicle-to-infrastructure (V2I) protocols, or similar protocols), mesh networks, or similar networks, or combinations thereof. In this case, wireless devices 120a-e can perform scheduling operations, resource selection operations, and other operations performed by base stations 110a-110d as described elsewhere herein.
[0082] Figure 1B This is a system block diagram illustrating example communication supporting streaming service assistance (e.g., streaming service assistance for a framework for real-time uplink streaming (FLUS) services) in a communication system (e.g., communication system 100). Reference Figure 1A and 1B A streaming service source, such as the FLUS source 155 of wireless device 152 (e.g., wireless devices 120a-120e), can provide the real-time uplink media stream 150 to be provided in the real-time uplink streaming session to a real-time uplink stream sink wireless computing device, such as wireless device 154 (e.g., wireless devices 120a-120e) acting as 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 RAN 153, which includes base stations (e.g., base stations 110a-110d), such as eNBs, gNBs, etc., on which wireless device 152 resides. The FLUS source 155 of wireless device 152 can request a higher bit rate (referred to as "boost") in a boost request 160 during wireless reception or transmission. In response to the upgrade request 160, radio device 152 may send a network assistance request such as ANBRQ as a recommended bit rate query MAC CE 162 to RAN 153, for example, to the eNB / gNB where radio device 152 resides. In response to the network assistance request, RAN 153 (e.g., the eNB / gNB where radio device 152 resides) may send a network assistance response to radio device 152, such as an ANBR MAC CE 164. Based on the received network assistance response, FLUS source 155 may receive a bit rate indication 166. The bit rate indication 166 may be a recommended bit rate for the streaming session of media stream 150 and / or the ability to support (or not support) bit rate increases (e.g., an upgrade status).
[0083] Figure 2 This 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 multiple single-processor and multi-processor computer systems, including system-on-a-chip (SOC) or system-in-package (SIP) systems.
[0084] refer to Figures 1A to 2 The exemplary wireless device 200 shown (which may be a SIP in some embodiments) includes two SOCs 202 and 204 coupled to a clock 206, a voltage regulator 208, and a wireless transceiver 266 configured to transmit and receive wireless communications to / from a network wireless device (e.g., base station 110a) via an antenna (not shown). In some embodiments, the first SOC 202 operates as the central processing unit (CPU) of the wireless device, executing instructions of a software application by performing arithmetic, logic, control, and input / output (I / O) operations specified by instructions. In some embodiments, the second SOC 204 may operate as a dedicated processing unit. For example, the second SOC 204 may operate as a dedicated 5G processing unit responsible for managing high-capacity, high-speed (e.g., 5Gbps) and / or very high frequency short-wavelength (e.g., 28GHz millimeter-wave spectrum) communications.
[0085] The first SOC 202 may include a digital signal processor (DSP) 210, a modem processor 212, a graphics processor 214, an application processor (AP) 216, and one or more coprocessors 218 (e.g., vector coprocessors) connected to one or more processors, memory 220, custom circuitry 222, system components and resources 224, an interconnect / bus module 226, one or more temperature sensors 230, a thermal management unit 232, and a thermal power envelope (TPE) component 234. The second SOC 204 may include a 5G modem processor 252, a power management unit 254, an interconnect / bus module 264, multiple millimeter-wave transceivers 256, memory 258, and various additional processors 260, such as application processors, packet processors, etc.
[0086] Each processor 210, 212, 214, 216, 218, 252, 260 may include one or more cores, and each processor / core may perform operations independently of other processors / cores. For example, the first SOC 202 may include a processor running a first type of operating system (e.g., FreeBSD, LINUX, OS X, etc.) and a processor running a second type of operating system (e.g., Microsoft Windows 10). Furthermore, any or all of processors 210, 212, 214, 216, 218, 252, 260 may be included as part of a processor cluster architecture (e.g., synchronous processor cluster architecture, asynchronous or heterogeneous processor cluster architecture, etc.).
[0087] The first and second SOCs 202 and 204 may include various system components, resources, and custom circuitry for managing sensor data, analog-to-digital conversion, wireless data transmission, and 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 may include power amplifiers, voltage regulators, oscillators, phase-locked loops, peripheral bridges, data controllers, memory controllers, system controllers, access ports, timers, and other similar components to support processors and software clients running on wireless devices. System components and resources 224 and / or custom circuitry 222 may also include circuitry for interfacing with peripheral devices such as cameras, electronic displays, wireless communication devices, external memory chips, etc.
[0088] The first and second SOCs 202 and 204 can communicate via interconnect / bus module 250. Each processor 210, 212, 214, 216, and 218 can be interconnected via interconnect / bus module 226 to one or more memory elements 220, system components and resources 224, custom circuitry 222, and thermal management unit 232. Similarly, processor 252 can be interconnected via interconnect / bus module 264 to power management unit 254, millimeter-wave transceiver 256, memory 258, and various additional processors 260. Interconnect / bus modules 226, 250, and 264 may include arrays of reconfigurable logic gates and / or implement bus architectures (e.g., CoreConnect, AMBA, etc.). Communication can be provided by advanced interconnects, such as high-performance on-chip networks (NoC). Interconnect / bus modules 226, 250, and 264 can be configured individually and / or in various combinations as AT interfaces to enable processors 210, 212, 214, 216, 218, 252, and 260 to exchange AT commands and / or responses with each other.
[0089] The first and / or second SOCs 202, 204 may also include input / output modules (not shown) for communicating with external resources (e.g., clock 206, voltage regulator 208, and one or more wireless transceivers 266). External resources (e.g., clock 206, voltage regulator 208) may be shared by two or more internal SOC processors / cores.
[0090] In addition to the example SIP 200 discussed above, various embodiments can be implemented in a wide variety of computing systems, which may include single-processor, multi-processor, multi-core processor or any combination thereof.
[0091] Figure 3 An example of software architecture 300 is shown, which includes a radio protocol stack for the user and control planes in wireless communication between base stations 350 (e.g., base stations 110a-110d) and wireless devices 320 (e.g., wireless devices 120a-120e, 152, 154, 200). Reference Figures 1A to 3 Wireless device 320 may implement software architecture 300 to communicate with base station 350 of a communication system (e.g., 100). In various embodiments, layers in software architecture 300 may form logical connections with corresponding layers in the software of base station 350. Software architecture 300 may be distributed among one or more processors (e.g., processors 212, 214, 216, 218, 252, 260). Although shown with respect to a single radio protocol stack, in a multi-SIM (Subscriber Identity Module) wireless device, software architecture 300 may include multiple protocol stacks, each of which may be associated with a different SIM (e.g., in a dual-SIM wireless communication device, the two protocol stacks are associated with two SIMs respectively). Although described below with reference to the LTE communication layer, software architecture 300 may support any of a variety of standards and protocols for wireless communication, and / or may include additional protocol stacks that support any of a variety of standards and protocols for wireless communication.
[0092] Software architecture 300 may include a Non-Access Stratum (NAS) 302 and an Access Stratum (AS) 304. NAS 302 may include functions and protocols supporting packet filtering, security management, mobility control, session management, and services and signaling between a SIM (e.g., SIM 204) of a radio device and its core network 140. AS 304 may include functions and protocols supporting communication between the SIM (e.g., SIM 204) and entities of the supported access network (e.g., base stations). Specifically, AS 304 may include at least three layers (Layer 1, Layer 2, and Layer 3), each of which may contain various sublayers.
[0093] In the user and control plane, Layer 1 (L1) of AS 304 can be the Physical Layer (PHY) 306, which can monitor functions capable of transmitting and / or receiving over the air interface. Examples of such Physical Layer 306 functions may include Cyclic Redundancy Check (CRC) appendices, decoding blocks, scrambling and descrambling, modulation and demodulation, signal measurement, MIMO, etc. The Physical Layer may include various logical channels, including the Physical Downlink Control Channel (PDCCH) and the Physical Downlink Shared Channel (PDSCH).
[0094] In the user and control plane, Layer 2 (L2) of AS 304 may be responsible for the link between wireless device 320 and base station 350 via physical layer 306. In various embodiments, Layer 2 may include a Media Access Control (MAC) sublayer 308, a Radio Link Control (RLC) sublayer 310, and a Packet Data Convergence Protocol (PDCP) sublayer 312, each sublayer forming a logical connection that terminates at base station 350.
[0095] In the control plane, Layer 3 (L3) of AS 304 may include a Radio Resource Control (RRC) sublayer 3. Although not shown, software architecture 300 may include additional Layer 3 sublayers and various upper layers above Layer 3. In various embodiments, RRC sublayer 313 may provide functions including broadcasting system information, paging, and establishing and releasing RRC signaling connections between radio device 320 and base station 350.
[0096] In various embodiments, PDCP sublayer 312 can provide uplink functions including multiplexing between different radio bearers and logical channels, sequence numbering, handover data processing, integrity protection, encryption, and header compression. In the downlink, PDCP sublayer 312 can provide functions including sequential delivery of data packets, duplicate data packet detection, integrity verification, decryption, and header decompression.
[0097] In the uplink, 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, the functions of RLC sublayer 310 may include reordering data packets to compensate for out-of-order reception, reassembly of upper-layer data packets, and ARQ.
[0098] In the uplink, MAC sublayer 308 provides functions including multiplexing between logical and transport channels, random access procedures, logical channel prioritization, and hybrid ARQ (HARQ) operations. In the downlink, MAC layer functions may include intra-cell channel mapping, demultiplexing, discontinuous reception (DRX), and HARQ operations.
[0099] While the software architecture 300 can provide the functionality to transmit data over a physical medium, it may also include at least one host layer 314 to provide data transmission services to various applications in the wireless device 320. In some embodiments, application-specific functionalities provided by 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 may provide various functionalities, including streaming service application functions 360, such as downlink streaming service application functions and / or uplink streaming service application functions, media session processor functions 362, media player entities, media streamer entities, etc. Such streaming service application functions 360 and / or media processor functions 362 may operate together to provide streaming services (e.g., uplink streaming service, downlink streaming service, etc.) on the wireless device 320.
[0100] In other embodiments, software architecture 300 may include one or more higher logical layers (e.g., transport, session, presentation, application, etc.) that provide host layer functionality. For example, in some embodiments, software architecture 300 may include a network layer (e.g., IP layer) where logical connections terminate at an external packet data network (PDN) gateway (PGW) in a mobile operator network. In some embodiments, software architecture 300 may include an application layer where logical connections terminate at another device (e.g., end-user equipment, server, etc.). In some embodiments, software architecture 300 may also include a hardware interface 316 in AS 304 between physical layer 306 and communication hardware (e.g., one or more radio frequency (RF) transceivers).
[0101] Figure 4A This is a component block diagram illustrating a system configured to provide downlink streaming service assistance in a 5GS network according to various embodiments. Figure 4B This illustrates providing uplink streaming service assistance according to various embodiments. Figure 4A The system's component block diagram. (Reference) Figures 1A to 4B The system may include wireless device 400 (e.g., wireless devices 120a-120e, 152, 154, 200, 320). Wireless device 400 may include RAN modem 402 (e.g., modem processors 212, 252) connected to application processor 403 (e.g., application processor 216). Media session processor 404 applications may run on application processor 403. Application processor 403, particularly media session processor 404, may exchange AT commands / responses with RAN modem 402. In various embodiments, the AT commands / responses exchanged between application processor 403 and RAN modem 402 may be AT commands / responses associated with downlink bit rate recommendation requests, responses, and / or notifications. In response to receiving an AT command as a downlink bit rate recommendation request from application processor 403 (e.g., from media session processor 404 running on application processor 403), RAN modem 402 may send an ANBRQ message to base stations (e.g., base stations 110a-110d, 350) of the RAN (e.g., RAN 153). The RAN (e.g., RAN 153) may return the bit rate recommendation as an ANBR message to RAN modem 402. In response to receiving the ANBR message, RAN modem 402 may send a response as a downlink bit rate recommendation response to application processor 403 via the AT interface, for example, to media session processor 404 running on application processor 403. Media session processor 404 may interface with media player / cable applications and / or stream-aware applications to provide streaming services. For example, media session processor 404 may interface with media player / streamer applications and / or stream-aware applications to provide streaming services via M6 interfaces (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), media player / streamer applications and / or stream-aware applications and / or media session processor 404 may run on different processors of wireless device 400 (e.g., a media player / streamer application on processor 218 and media session processor 404 on processor 216, etc.).
[0102] In various embodiments, the AT commands / responses exchanged between the application processor 403 and the RAN modem 402 may be AT commands / responses associated with uplink bit rate recommendation requests, responses, and / or notifications. In response to receiving an AT command as an uplink bit rate recommendation request from the application processor 403 (e.g., from a media session processor 404 running on the application processor 403), the RAN modem 402 may send an ANBRQ message to a base station (e.g., base station 110a-110d, 350) of the RAN (e.g., RAN 153). The RAN (e.g., RAN 153) may return a bit rate recommendation as an ANBR message to the RAN modem 402. In response to receiving the ANBR message, the RAN modem 402 may send a response as an uplink bit rate recommendation response to the application processor 403 via the AT interface, for example, to the media session processor 404 running on the application processor 403.
[0103] Figure 5 An architecture for AT command / response exchange on a wireless device 400 to support streaming service assistance, according to various embodiments, is illustrated. References Figures 1A to 5 The TE can be an application running on the first processor of the wireless device 400, such as a media session processor 404 running on application processor 403. The MT can be a RAN modem 402. The TE (e.g., media session processor 404) and the MT (e.g., RAN modem 402) can exchange AT commands and responses via one or more logical terminal adapters (TAs) between the TE (e.g., media session processor 404) and the MT (e.g., RAN modem 402). Various interconnects (e.g., interconnect / bus modules 226, 250, 264) including one or more logical TAs can operate as an AT interface 420 between the TE (e.g., media session processor 404) and the MT (e.g., RAN modem 402). As a specific example, the media session processor 404 running on application processor 403 can send AT commands associated with bit rate recommendation requests (e.g., downlink bit rate requests, uplink bit rate requests, etc.) via AT interface 420. In this way, the media session processor 404 can operate as a TE, and the RAN modem 402 can operate as an MT. In response to receiving an AT command via AT interface 420, RAN modem 402 can send an ANBRQ message to a base station (e.g., base station 110a-110d, 350) of the RAN (e.g., RAN 153). The base station (e.g., base station 110a-110d, 350) of the RAN (e.g., RAN 153) can return a bit rate recommendation as an ANBR message to RAN modem 402. In response to receiving the ANBR message, RAN modem 402 can send a response as a bit rate recommendation response (e.g., downlink bit rate recommendation response, uplink bit rate recommendation response, etc.) to media session processor 404 running on application processor 403 via AT interface 420.
[0104] Figure 6 A process flowchart of an example method 600 for providing assistance with streaming services, according to some embodiments, is shown. (Reference) Figures 1A to 6 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). Operations of method 600 can be performed to support uplink streaming and / or downlink streaming. In some embodiments, the processor implementing method 600 can operate as a TE to exchange AT commands / responses with a modem processor (e.g., 212, 252, 402) of a wireless device that can operate as an MT via an AT interface (e.g., 226, 250, 264, 420).
[0105] In block 602, the processor can perform operations including sending an AT command via an AT interface to the modem processor of the wireless device. This AT command is a bitrate recommendation action command for a streaming service. The bitrate recommendation action command may include at least an indication of a stream identifier, an indication of a requested bitrate, and an indication of direction. In some embodiments, the direction may be an uplink or downlink indication. In some embodiments, the stream identifier indication may be an indication of an EPS bearer for the streaming service. In some embodiments, the stream identifier indication may be an indication of a PDU session for the streaming service. In some embodiments, the bitrate recommendation action command may further include an indication of a QoS stream for the PDU session of the streaming service.
[0106] In some embodiments, a bitrate request can be an AT command as a bitrate recommendation action command, which includes an indication of a flow identifier (e.g., an identifier of a PDU session, an identifier of an EPS bearer, etc.), an indication of the requested bitrate (e.g., the aggregated request bitrate of a set of QoS flows in the PDU session, the requested bitrate of the EPS bearer, the sum of the expected bitrate of a specific application data and / or a specific QoS flow of interest within the PDU session (e.g., the bitrate for which a boost or increase is requested) and the bitrate of all other application data and / or QoS flows of no interest in the PDU session, etc.), and an indication of direction (e.g., UL, DL, etc.). As a specific example, the AT command as a bitrate recommendation action command could be "+CGBRR=" <cid> , <reqbitrate> , <direction>In this example, " <cid>"It can be an integer value specifying a stream identifier, such as that defined for a specific PDU session." <reqbitrate>"It could be something like TE targeting" <cid>"The set of QoS flows in the referenced PDU session will be indicated by the aggregated request bit rate (e.g., in kilobits per second (kbit / s or kbps)) of the MT response, and" <direction>" " can be an indication of direction such as "UL" or "DL" for bit rate requests.
[0107] In some embodiments, the AT command serving as a bitrate recommendation action command may further include an indication of a specific QoS flow within the PDU session. As a specific example, the AT command serving as a bitrate recommendation action command (including an indication of a specific QoS flow within the PDU session) could be "+CGBRR=" <cid> , <reqbitrate> , <direction>, [<p_cid> In this example, " <cid>"It can be an integer value specifying a stream identifier, such as that defined for a specific PDU session." <reqbitrate>"It could be something like TE targeting" <cid>"The set of QoS flows referenced in the PDU session will be indicated by the aggregated request bit rate (e.g., in kilobits per second (kbit / s or kbps)) of the MT response." <direction>"This can be an indication of direction, such as 'UL' or 'DL' for bit rate requests, and"<p_cid> "Can be specified by" <cid>"The referenced integer value for a specific QoS flow within the 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.
[0108] In block 604, the processor may perform operations including receiving a response via the AT interface, which is 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. In various embodiments, the bitrate recommendation response may also include an indication of a QoS stream for a PDU session of the streaming service.
[0109] In some embodiments, the bitrate response may be a response serving as a bitrate recommendation response, which includes an indication of a flow identifier (e.g., an identifier for a PDU session, an identifier for an EPS bearer, etc.), an indication of a bitrate recommendation (an aggregated bitrate recommendation for a set of flow operations for QoS flows in a PDU session, a bitrate recommendation for a flow operation for an EPS bearer, etc.), and an indication of direction (e.g., UL, DL, etc.). As a specific example, a response serving as a bitrate recommendation response via an AT interface may be "+CGBRR=" <cid> , <recmbitrate> , <direction>In this example, " <cid>"It can be an integer value specifying a stream identifier, such as that defined for a specific PDU session." <recmbitrate>"This could be, for example, data sent from MT to TE for use by..." <cid>"The referenced PDU session provides an indication of the aggregated bitrate recommendation (e.g., in kbit / s) for the set of QoS flows." <direction>"Can be an indication of direction such as "UL" or "DL" for bit rate response.
[0110] 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>"It can be an integer type value that specifies a stream identifier, such as a specific PDU session definition, and" <recmbitrate>"This could be, for example, data sent from MT to TE for use by..." <cid>"The referenced PDU session provides an indication of the aggregated bitrate recommendation (e.g., in kbit / s) for the set of QoS flows. Also in this example,..." <direction>"This can be an indication of direction, such as 'UL' or 'DL' for bit rate response, and"<p_cid> "Can be specified by" <cid>"The referenced integer value of a specific QoS flow within the PDU session. In some embodiments, in response to the TE sending an AT command as a bitrate recommendation action command to the MT, the MT can send a response as a bitrate recommendation response to the TE."
[0111] In block 606, the processor may perform operations including controlling the streaming service based at least in part on a bitrate recommendation. For example, the processor may increase and / or decrease the streaming rate of the streaming service based on the bitrate recommendation. In various embodiments, controlling the streaming service based at least in part on the bitrate recommendation may include translating the bitrate recommendation into an application-level bitrate value and controlling the streaming service based at least in part on the application-level bitrate value. In some embodiments, the media session processor may perform a conversion / mapping between MAC and application-level bitrate values. For example, the media session processor may obtain information from the modem about any additional QoS streams (RAN bitrates represented by competing ANBRs) and their bitrate requirements and upper-layer transport overhead, as well as information from the media player (in the case of DL streaming) about the operation points of other application streams sent in the same PDU session, to support the conversion / mapping between MAC and application-level bitrate values.
[0112] In some embodiments, controlling the streaming service based at least in part on the bitrate recommendation indication in block 606 may include deriving a bitrate increase (or boost) for the QFI or QoS stream of interest (e.g., for which a bitrate increase or boost is requested) from the bitrate recommendation in a response received from the modem processor of the wireless device via the AT interface. Such as " <recmbitte>The recommended bit rate received from the modem processor can be a PDU session (e.g., by " <cid>The aggregated bit rate recommendation (e.g., in kbit / s) of the set of QoS flows in the referenced PDU session. This is for specific application data of interest and / or specific QoS flows (e.g., by...).<p_cid> The recommended bit rate (e.g., the boosted or increased bit rate) for a specified QoS stream (e.g., for which a boost or increase in bit rate is requested) can be determined by subtracting the sum of the bit rates of all other application data and / or QoS streams of no interest in the PDU session from the aggregated bit rate recommendation received from the modem processor, for example, " <recmbitter>", which can be an indication of the aggregated bit rate recommendation of the set of QoS flows in a PDU session.
[0113] Figure 7 This is a flowchart illustrating a method 700 for providing streaming service assistance, executed by a modem processor of a wireless device according to some embodiments. (Reference) Figures 1A to 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). Operations of method 700 can be performed to support uplink streaming and / or downlink streaming. Operations of method 700 can be combined with method 600 (…). Figure 6 The operation of method 700 is performed. In some embodiments, the modem processor implementing the operation of method 700 may operate as an MT to exchange AT commands / responses with another processor (e.g., 216, 403) of a wireless device that may operate as a TE via an AT interface (e.g., 226, 250, 264, 420).
[0114] In block 702, the modem processor can perform operations including receiving an AT command from another processor of the wireless device via an AT interface. This AT command is a bitrate recommendation action command for a streaming service, which includes at least an indication of a first stream identifier, an indication of a requested bitrate, and an indication of direction. In some embodiments, the direction may be an uplink or downlink indication. In some embodiments, the indication of the first stream identifier may be an indication of an EPS bearer for the streaming service. In some embodiments, the indication of the first stream identifier may be an indication of a PDU session for the streaming service. In some embodiments, the bitrate recommendation action command may further include an indication of a QoS flow for the PDU session of the streaming service.
[0115] In some embodiments, a bitrate request can be an AT command as a bitrate recommendation action command, which includes an indication of a first stream identifier (e.g., an identifier of a PDU session, an identifier of an EPS bearer, etc.), an indication of the requested bitrate (e.g., the aggregated request bitrate of a set of QoS flows in the PDU session, the requested bitrate of the EPS bearer, the sum of the expected bitrates of specific application data and / or specific QoS flows of interest within the PDU session (e.g., the bitrate for which a boost or increase is requested), and the bitrates of all other application data and / or QoS flows of no interest in the PDU session, etc.), and an indication of direction (e.g., UL, DL, etc.). As a specific example, the AT command as a bitrate recommendation action command could be "+CGBRR=" <cid> , <reqbitrate> , <direction>In this example, " <cid>"It can be an integer value that specifies a first-stream identifier, such as that defined for a specific PDU session." <reqbitrate>"It could be something like TE targeting" <cid>"The set of QoS flows in the referenced PDU session will be indicated by the aggregated request bit rate (e.g., in kilobits per second (kbit / s or kbps)) of the MT response, and" <direction>" " can be an indication of direction such as "UL" or "DL" for bit rate requests.
[0116] In some embodiments, the AT command serving as a bitrate recommendation action command may further include an indication of a specific QoS flow within the PDU session. As a specific example, the AT command serving as a bitrate recommendation action command (including an indication of a specific QoS flow within the PDU session) could be "+CGBRR=" <cid> , <reqbitrate> , <direction>, [<p_cid> In this example, " <cid>"It can be an integer value that specifies a first-stream identifier, such as that defined for a specific PDU session." <reqbitrate>"It could be something like TE targeting" <cid>"The set of QoS flows referenced in the PDU session is an indication of the aggregated request bit rate (e.g., in kilobits per second (kbit / s or kbps)) of the requested bit rate in the MT response. Also in this example," <direction>"This can be an indication of direction, such as 'UL' or 'DL' for bit rate requests, and"<p_cid> "Can be specified by" <cid>"The referenced integer value for a specific QoS flow within the 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.
[0117] 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 second stream identifier and LCID associated with the indication of the first stream identifier. In various embodiments, streams such as QoS streams, 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 stream (e.g., a QoS stream, EPS bearer, etc.) corresponding to a media streaming application stream 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> The modem processor identifies the QoS stream (e.g., identified by a QoS stream identifier (QFI)) corresponding to the media streaming application stream for which it seeks bitrate recommendation or enhancement, the associated PDU session identifier, and the requested stream bitrate. In various embodiments, the modem processor receiving the bitrate recommendation action command may use the first stream identifier (e.g., ...) to identify the media streaming application stream for which it seeks bitrate recommendation or enhancement. <cid>The value of '' is mapped to the internally referenced PDU session and associated LCID in the recommended bitrate MAC CE used in bitrate recommendation query / response / notification interactions with the RAN (e.g., mapping the first flow identifier to the second flow identifier of the internally referenced PDU session). In various embodiments, when a radio device establishes a PDU session via Non-Access Stratum (NAS) Signaling and Session Management Function (SMF), the SMF can return authorized QoS rules for the radio 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 where the radio device resides, such as an eNB, gNB, etc., via the Access and Mobility Management Function (AMF). This is because the RAN L2 parameters used for LCID, the Data Radio Bearer (DRB) identifier (DRB)... There may be a one-to-one correspondence between the ID, QFI, and Radio Resource Control (RRC) parameters, which define the radio bearer and the corresponding Service Data Adaptation Protocol (SDAP) (e.g., only for NR), Packet Data Convergence Protocol (PDCP), Radio Link Control (RLC), and MAC configuration. The base station (e.g., eNB, gNB, etc.) where the wireless device resides can explicitly map the PDU session and its contained QoS stream for bit rate recommendation processing to the DRB.
[0118] In box 706, the modem processor can perform operations including sending a network assistance request, which includes a second stream identifier and an LCID, to the RAN's base station. As a specific example, the network assistance request could be an ANBRQ message, a recommended bit rate query MAC CE, etc.
[0119] In box 708, the modem processor can perform operations including receiving a network assistance response from the RAN's base station, which includes a second flow identifier and an LCID. As a specific example, the network assistance response could be an ANBR message, a recommended bit rate MAC CE, etc.
[0120] In block 710, the modem processor may perform operations including determining a bit rate recommendation in response to receiving a network assistance response from a base station of the RAN. In various embodiments, the bit rate recommendation may be determined to be the same as the bit rate recommendation in the network assistance response. In various embodiments, determining the bit rate recommendation in response to receiving a network assistance response from a base station of the RAN may include converting the bit rate recommendation indicated in the network assistance response from the base station of the RAN into an application-level bit rate value.
[0121] In block 712, the modem processor may perform operations including sending a response as a bitrate recommendation response to another processor of the wireless device via the AT interface, the bitrate recommendation response including at least an indication of a first stream identifier, an indication of a bitrate recommendation, and an indication of direction. In various embodiments, the bitrate recommendation response may also include an indication of a QoS stream for a PDU session of the streaming service.
[0122] In some embodiments, the bit rate response may be a response via the AT interface as a bit rate recommendation response, which includes an indication of a flow identifier (e.g., an identifier for a PDU session, an identifier for an EPS bearer, etc.), an indication of a bit rate recommendation (aggregate bit rate recommendation for a set of QoS flows in a PDU session, bit rate recommendation for a flow operation for an EPS bearer, etc.), and an indication of direction (e.g., UL, DL, etc.). As a specific example, the response as a bit rate recommendation response may be "+CGBRR=" <cid> , <recmbitrate> , <direction>In this example, " <cid>"It can be an integer value that specifies a first-stream identifier, such as that defined for a specific PDU session." <recmbitrate>"This could be, for example, data sent from MT to TE for use by..." <cid>"The referenced PDU session provides an indication of the aggregated bitrate recommendation (e.g., in kbit / s) for the set of QoS flows." <direction>"Can be an indication of direction such as "UL" or "DL" for bit rate response.
[0123] 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>"It can be an integer type value that specifies a first stream identifier, such as a specific PDU session definition, and" <recmbitrate>"This could be, for example, data sent from MT to TE for use by..." <cid>"The referenced PDU session provides an indication of the aggregated bitrate recommendation (e.g., in kbit / s) for the set of QoS flows. Also in this example,..." <direction>"This can be an indication of direction, such as 'UL' or 'DL' for bit rate response, and"<p_cid> "Can be specified by" <cid>"The referenced integer value of a specific QoS flow within the PDU session. In some embodiments, in response to the TE sending an AT command as a bitrate recommendation action command to the MT, the MT can send a response as a bitrate recommendation response to the TE."
[0124] Figure 8A This is a flowchart illustrating a method 800 for providing streaming service assistance, executed by a processor of a wireless device according to some embodiments. (See reference...) Figures 1A to 8A Method 800 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 operation of method 800 can be performed to support uplink streaming and / or downlink streaming. The operation of method 800 can be combined with method 600 (…). Figure 6 ) and / or method 700 ( Figure 7 The processor implementing method 800 can operate as a TE to exchange AT commands / responses with a modem processor (e.g., 212, 252, 402) of a wireless device that can operate as an MT via an AT interface (e.g., 226, 250, 264, 420).
[0125] In block 802, the processor can perform operations including sending an AT command as a test command to the modem processor of the wireless device. The AT command as a test command can be sent to the modem processor of the wireless device via an AT interface. 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 that is ...
[0126] Figure 8B This is a flowchart illustrating a method 810 for providing streaming service assistance, executed by a modem processor of a wireless device according to some embodiments. (See reference...) Figures 1A to 8B Method 810 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). Operations of method 810 can be performed to support uplink streaming and / or downlink streaming. In some embodiments, operations of method 810 can be combined with method 600 (…). Figure 6 Method 700 Figure 7 ) and / or method 800 ( Figure 8A The operation of method 810 is performed. In some embodiments, the modem processor implementing the operation of method 810 may operate as an MT to exchange AT commands / responses with another processor (e.g., 216, 403) of a wireless device that may operate as a TE via an AT interface (e.g., 226, 250, 264, 420).
[0127] In block 812, the modem processor can perform operations including receiving AT commands as test commands from another processor of the wireless device. In some embodiments, a test command can be sent from the TE to the MT to determine whether the MT supports sending AT commands as bitrate recommendation responses to AT commands that are bitrate recommendation action commands. As a specific example, the TE can send the test command "+CGBRR=?" to the MT as a query about whether the MT supports sending AT commands as bitrate recommendation responses to AT commands that are bitrate recommendation action commands.
[0128] In block 814, the modem processor may perform operations including sending a response indicating that bitrate recommendation is supported via the AT interface. In some embodiments, the MT, which supports sending a response as a bitrate recommendation response to an AT command that is a bitrate recommendation action command, may respond to the test code with a supported response. As a specific example, the MT may send a supported response "+CGBRR=OK" to the TE in response to the test command "+CGBRR=?", thereby indicating that the MT supports sending a response as a bitrate recommendation response to an AT command that is a bitrate recommendation action command.
[0129] Figure 9A This is a flowchart illustrating a method 900 for providing streaming service assistance, executed by a processor of a wireless device according to some embodiments. (See reference...) Figures 1A to 9A 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 operation of method 900 can be performed to support uplink streaming and / or downlink streaming. In some embodiments, the operation of method 900 can be combined with method 600 (…). Figure 6 Method 700 Figure 7 Method 800 Figure 8A ) and / or method 810 ( Figure 8B The operation of method 900 can be performed in some embodiments of method 600. Figure 6 The execution proceeds after sending the initial AT command as a second bit rate recommended action command in box 602. In some embodiments, the processor implementing the operation of method 900 may operate as a TE to exchange AT command / response with a modem processor (e.g., 212, 252, 402) of a wireless device that may operate as an MT via an AT interface (e.g., 226, 250, 264, 420).
[0130] In block 902, the processor can perform operations including sending an AT command to the modem processor of the wireless device. This AT command is a second bitrate recommendation action command for streaming services, and includes at least an indication of a stream identifier, an indication of the requested bitrate, and an indication of direction. The AT command, as the second bitrate recommendation action command for streaming services, can be sent to the modem processor of the wireless device via an AT interface.
[0131] In determination box 904, the processor can determine whether a response has been received, for example, whether a response has been received via the AT interface. For example, the processor can determine whether a response as an error message was received from the modem processor of the wireless device via the AT interface, or whether a response as a second bit rate recommendation was received from the modem processor of the wireless device via the AT interface.
[0132] In response to determining that no response was received via the AT interface (i.e., determination box 906 = "No"), the processor can determine in box 906 that the bitrate recommendation indication remains valid. In various embodiments, the absence of a response from the modem processor to the AT command, which serves as a second bitrate recommendation action command, indicates that the bitrate recommendation indication remains valid.
[0133] In response to determining that a response has been received via the AT interface (i.e., determining box 906 = "Yes"), the processor may retry the AT command as a second bit rate recommendation action command based on the response in box 908. The AT command as a second bit rate recommendation action command based on the response retry may include retransmitting the AT command as a second bit rate recommendation action command after the retry period indicated in the response from the modem processor has expired. The AT command as a second bit rate recommendation action command based on the response retry may include retransmitting the AT command as a second bit rate recommendation action command when the modem processor receives an indication of a network assistance response associated with the bit rate recommendation indication for a time longer than a threshold.
[0134] Figure 9B This is a flowchart illustrating a method 920 for providing streaming service assistance, executed by a modem processor of a wireless device according to various embodiments. (Reference) Figures 1A to 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). Operations of method 920 can be performed to support uplink streaming and / or downlink streaming. In various embodiments, operations of method 920 can be combined with method 600 (…). Figure 6 Method 700 Figure 7 Method 800 Figure 8A Method 810 Figure 8B ) and / or method 900 ( Figure 9A The operation of method 920 is performed in response to the operation in block 702. In various embodiments, the operation of method 920 may be performed in response to the operation in block 702. Figure 7 The modem processor implementing method 920 receives AT commands as bit rate recommendation action commands from another processor of the wireless device and executes them. In various embodiments, the modem processor implementing the operation of method 920 may operate as an MT to exchange AT commands / responses with another processor of the wireless device (e.g., 216, 403) that may operate as a TE via an AT interface (e.g., 226, 250, 264, 420).
[0135] In box 922, the modem processor may perform operations including starting a response timer. In some embodiments, the response timer may control the MT's response to a bitrate recommendation action command from the TE. For example, the same limit on the frequency of ANBRQ messages set in the "bitRateQueryProhibitTimer" field in the "LogicalChannelConfig" IE may be applied to control the MT's response to a bitrate request from the TE.
[0136] In block 924, the modem processor can perform operations including receiving an AT command as a second bitrate recommendation action command from another processor of the wireless device. This second bitrate recommendation action command includes at least an indication of a stream identifier, an indication of a requested bitrate, and an indication of direction. The AT command as the second bitrate recommendation action command can be received from another processor of the wireless device via an AT interface.
[0137] In determination box 926, the modem processor may perform operations including determining whether a second bit rate recommended action command has been received before the response timer expires.
[0138] In response to determining that a second bitrate recommended action command has been received after the response timer expires (i.e., confirmation box 926 = "No"), the modem processor can send a response in box 928. The response can be sent via the AT interface. When the response timer expires, the request and response can be the desired frequency setting for the bitrate request.
[0139] In response to receiving a second bitrate recommendation action command before the response timer expires (i.e., confirmation box 926 = "Yes"), the modem processor may perform a bitrate request frequency limiting action in box 930. In one embodiment, in response to the TE sending consecutive bitrate recommendation action commands before the response timer expires, the MT may return an error code, such as an error code indicating that the latest bitrate recommendation action command was sent prematurely. In some embodiments, the error code may include a "retry" parameter. In some embodiments, the error code may be sent by the modem processor via the AT interface. In one embodiment, in response to the TE sending consecutive bitrate recommendation action commands before the response timer expires, the MT may return the latest bitrate recommendation indicated in the latest bitrate recommendation action command, applicable to the flow identifier (e.g., identifier of a PDU session, identifier of an EPS bearer, etc.). In some embodiments, the latest bitrate 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 bitrate recommendation is received from the RAN. In some embodiments, the latest bitrate recommendation may be sent by the modem processor via the AT interface in the response. In some embodiments, in response to the TE sending consecutive bitrate recommendation action commands before the response timer expires, the MT may take no action. In some embodiments, the TE can be configured to interpret the absence of a response from the MT to a bitrate recommendation action command as an indication that the last bitrate recommendation sent by the MT is still valid.
[0140] Figure 9C This is a flowchart illustrating a method 950 for providing streaming service assistance, executed by a modem processor of a wireless device according to various embodiments. (Reference) Figures 1A to 9C Method 950 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). Operations of method 950 can be performed to support uplink streaming and / or downlink streaming. In various embodiments, operations of method 950 can be combined with method 600 (…). Figure 6 Method 700 Figure 7 Method 800 Figure 8A Method 810 Figure 8B Method 900 Figure 9A ) and / or method 920 ( Figure 9B The operation of method 950 is performed. In various embodiments, the operation of method 950 can be performed to send unsolicited AT commands. In various embodiments, the modem processor implementing the operation of method 950 can operate as an MT to exchange AT commands / responses with another processor (e.g., 216, 403) of a wireless device that can operate as a TE via an AT interface (e.g., 226, 250, 264, 420).
[0141] In block 952, the modem processor may perform operations including receiving a network assistance response from the RAN's base station. The response may be an unsolicited network assistance response from the RAN that includes a bit rate recommendation for streaming services.
[0142] In block 710, the modem processor can execute reference method 700. Figure 7 The operation discussed in the same numbered box is to determine the bit rate recommendation in response to receiving a network assistance response from the RAN's base station.
[0143] In block 954, the modem processor may perform operations including sending a bitrate recommendation response to another processor of the wireless device via an AT interface, the bitrate recommendation response including at least an indication of a bitrate recommendation. In some embodiments, the response as a bitrate recommendation response including a bitrate recommendation value provided by the MT may be sent from the MT to the TE as an unsolicited notification as an unsolicited result code. As a specific example, the response as an unsolicited notification of a bitrate recommendation may be "+CGBRR[ <recmbitrate>In this example, " <recmbitrate>"This could be an indication of a recommended bit rate, such as a recommended bit rate value (e.g., in kbit / s).
[0144] Figure 9D This is a flowchart illustrating a method 960 for providing streaming service assistance, executed by a processor of a wireless device according to some embodiments. (See reference...) Figures 1A to 9D Method 960 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). Operations of method 960 can be performed to support uplink streaming and / or downlink streaming. Operations of method 960 can be combined with method 600 (…). Figure 6 Method 700 Figure 7 Method 800 Figure 8A Method 810 Figure 8B Method 900 Figure 9A Method 920 Figure 9B ) and / or method 950 ( Figure 9C The operation of method 960 is performed. In various embodiments, the operation of method 960 can be performed to receive unsolicited AT commands. The processor implementing the operation of method 960 can operate as a TE to exchange AT commands / responses with a modem processor (e.g., 212, 252, 402) of a wireless device that can operate as an MT via an AT interface (e.g., 226, 250, 264, 420).
[0145] In block 962, the processor may perform operations including receiving a bitrate recommendation response from the modem processor of the wireless device via an AT interface, the bitrate recommendation response including at least an indication of a bitrate recommendation. In some embodiments, the response as a bitrate recommendation response including a bitrate recommendation value provided by the MT may be sent from the MT to the TE as an unsolicited notification as an unsolicited result code. As a specific example, the response as an unsolicited notification of a bitrate recommendation may be "+CGBRR[ <recmbitrate>In this example, " <recmbitrate>"This could be an indication of a recommended bit rate, such as a recommended bit rate value (e.g., in kbit / s).
[0146] In box 606, the processor can execute reference method 600. Figure 6 The operations discussed in the same numbered boxes are used to control the streaming service based at least in part on instructions recommended by the bit rate.
[0147] Various embodiments can be implemented on various wireless network devices, examples of which are shown in Figure 10 The image is shown in the form of a wireless network computing device 1000, which serves as a network element in a communication network, such as a base station (e.g., base stations 110a-110d, 350, etc.). Such a network computing device may include at least... Figure 10 The components shown. (Reference) Figures 1A-10 The network computing device 1000 typically includes a processor 1001 coupled to volatile memory 1002 and mass non-volatile memory such as a disk drive 1003. The network computing device 1000 may also include peripheral memory access devices, such as a floppy disk drive, compact disc (CD), or digital video disc (DVD) drive 1006 coupled to the processor 1001. The network computing device 1000 may also include a network access port 1004 (or interface) coupled to the processor 1001 for establishing data connections to networks such as the Internet and / or local area networks coupled to other system computers and servers. The network computing device 1000 may include one or more antennas 1007 for transmitting and receiving electromagnetic radiation, which may be connected to a wireless communication link. The network computing device 1000 may include additional access ports, such as USB, Firewire, Thunderbolt, etc., for coupling to peripheral devices, external storage, or other devices.
[0148] 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 Figure 11 It is shown in the form of a smartphone 1100. (Reference) Figures 1A-11 The smartphone 1100 may include a first SOC 202 (e.g., an SOC-CPU) coupled to a second SOC 204 (e.g., a 5G-enabled SOC). The first and second SOCs 202, 204 may be coupled to internal memory 1106, 1116, a display 1112, and a speaker 1114. Additionally, the smartphone 1100 may include an antenna 1104 for transmitting and receiving electromagnetic radiation, which may be connected to a wireless data link and / or a cellular transceiver 266 coupled to one or more processors in the first and / or second SOCs 202, 204. The smartphone 1100 typically also includes menu selection buttons or a rocker switch 1120 for receiving user input.
[0149] A typical smartphone 1100 also includes a voice codec (CODEC) circuit 1110 that digitizes sound received from the microphone into data packets suitable for wireless transmission and decodes the received voice data packets to generate an analog signal provided to the speaker to produce sound. Furthermore, one or more processors in the first and second SOCs 202, 204, the wireless transceiver 266, and the codec circuit 1110 may include digital signal processor (DSP) circuitry (not shown separately).
[0150] The processors of the wireless network computing device 1000 and the smartphone 1100 can be any programmable microprocessor, microcomputer, or multiprocessor chip, or a chip that can be configured by software instructions (applications) to perform various functions (including those described in the various embodiments below). In some mobile devices, multiple processors may be provided, such as one processor within SOC 204 dedicated to wireless communication functions and another processor within SOC 202 dedicated to running other applications. Typically, software applications can be stored in memories 1106, 1116 before they are accessed and loaded into the processor. The processor may include internal memory sufficient to store application software instructions.
[0151] As used in this application, the terms "component," "module," "system," etc., are intended to include computer-related entities, such as, but not limited to, hardware, firmware, combinations of hardware and software, software, or software in execution, configured to perform specific operations or functions. For example, a component can be, but is not limited to, a processor, an object, an executable file, an execution thread, a program, and / or a process running on a computer. For illustration, both an application running on a wireless device and the wireless device itself can be referred to as a component. One or more components may reside in an executing process and / or thread, and components may be localized on a single processor or core and / or distributed across two or more processors or cores. Furthermore, these components can be executed from various non-transitory computer-readable media on which various instructions and / or data structures are stored. Components can communicate via local and / or remote procedures, function or procedure calls, electronic signals, data packets, memory read / write, and other known network, computer, processor, and / or process-related communication methods.
[0152] Many different cellular and mobile communication services and standards are available or anticipated in the future, and all of these services and standards can be implemented and benefit from various implementations. These services and standards include, for example, the 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE) systems, 3rd Generation Wireless (3G), 4th Generation Wireless (4G), 5th Generation Wireless (5G), Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), 3GSM, General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA) systems (such as cdmaOne, CDMA1020TM), Enhanced Evolution Data Rate (EDGE) for GSM, Advanced Mobile Telephone Systems (AMPS), Digital AMPS (IS-136 / TDMA), Evolved Data Optimized (EV-DO), Digital Enhanced Cordless Communications (DECT), Global Microwave Access Interoperability (WiMAX), Wireless Local Area Networks (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 references to terms and / or technical details relating to a single telecommunications standard or technology are for illustrative purposes only and are not intended to limit the scope of the claims to a particular communication system or technology unless specifically stated in the language of the claims.
[0153] The various embodiments shown and described are provided by way of example only to illustrate the various features of the claims. However, the features shown and described with respect to any given embodiment are not necessarily limited to the associated embodiments and may be used or combined with other embodiments shown and described. Furthermore, the claims are not intended to be limited to any one of the exemplary embodiments. For example, one or more operations of methods 600, 700, 800, 810, 900, 920, 950 and / or 960 may be replaced or combined with one or more operations of methods 600, 700, 800, 810, 900, 920, 950 and / or 960.
[0154] The following paragraphs describe examples of implementation methods. While some of the following examples are described in accordance with example methods, further example implementations may include: example methods implemented by a wireless device including a processor configured to perform the operations of the example methods, as discussed in the following paragraphs; example methods implemented by a wireless device including a modem processor configured to perform the operations of the example methods, as discussed in the following paragraphs; example methods implemented by a wireless device including components for performing the functions of the example methods, as discussed in the following paragraphs; and example methods implemented by a non-transitory processor-readable storage medium having processor-executable instructions stored thereon, the processor-executable instructions being configured to cause the processor of the wireless device or the modem processor to perform the operations of the example methods, as discussed in the following paragraphs.
[0155] Example 1: A method for providing streaming service assistance executed by a processor of a wireless device, comprising: 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 the indication of a stream identifier, the indication of bitrate recommendation, and the indication of direction; and controlling the streaming service at least in part based on the indication of bitrate recommendation.
[0156] Example 2: Following the method of Example 1, the stream identifier is an indication of the EPS bearer used for the streaming service.
[0157] Example 3: Following the method of Example 1, the indication of the stream identifier is an indication of the PDU session used for the streaming service.
[0158] Example 4: According to the method of Example 3, wherein: the bit rate recommendation action command also includes an indication of the QoS flow for the PDU session of the streaming service; and the bit rate recommendation response also includes an indication of the QoS flow for the PDU session of the streaming service.
[0159] Example 5: Based on the method of any of the examples in Examples 1-4, where the direction is an indication of uplink or downlink.
[0160] Example 6: The method according to any of the examples in Examples 1-5 further includes sending AT commands as test commands to the modem processor of the wireless device via the AT interface.
[0161] Example 7: The method according to any of the examples 1-6 further includes: sending an AT command as a second bit rate recommendation action command to the modem processor of the wireless device via an AT interface, the second bit rate recommendation action command including at least an indication of a stream identifier, an indication of a requested bit rate, and an indication of direction.
[0162] Example 8: According to the method of Example 7, it further includes: receiving, via 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 recommended action command was sent prematurely.
[0163] Example 9: Following the method in Example 8, the response as an error code via the AT interface includes a retry parameter.
[0164] Example 10: The method according to Example 7 further includes: receiving, via an AT interface, a response as a second bit rate recommendation response from a modem processor of a wireless device, the second bit rate recommendation response including at least an indication of a stream identifier, an indication of a bit rate recommendation, an indication of direction, and an indication of the time at which the modem processor receives a network assistance response associated with the bit rate recommendation indication.
[0165] Example 11: According to the method of Example 7, it also includes the indication that the bit rate recommendation is still valid in response to the absence of a response from the modem processor to an AT command as a second bit rate recommendation action command.
[0166] Example 12: The method according to any of Examples 1-11, wherein controlling the streaming service based at least in part on a bitrate recommendation instruction includes: converting the bitrate recommendation instruction into an application-level bitrate value; and controlling the streaming service based at least in part on the application-level bitrate value.
[0167] Example 13: A method for providing streaming service assistance performed by a modem processor of a wireless device, comprising: receiving an AT command via an AT interface from another processor of the wireless device, the AT command being a bitrate recommendation action command for streaming service, the bitrate recommendation action command including at least an indication of a first stream identifier, an indication of a requested bitrate, and an indication of direction; in response to receiving the AT command as a bitrate recommendation action command from the other processor of the wireless device, determining a second stream identifier and an LCID associated with the indication of the first stream identifier; sending a network assistance request including the second stream identifier and the LCID to a base station of a RAN; receiving a network assistance response including the second stream identifier and the LCID from the base station of the RAN; in response to receiving the network assistance response from the base station of the RAN, determining a bitrate recommendation; and sending a response as a bitrate recommendation response via the AT interface to the other processor of the wireless device, the bitrate recommendation response including at least an indication of the first stream identifier, an indication of the bitrate recommendation, and an indication of direction.
[0168] Example 14: Following the method of Example 13, where the indication of the first stream identifier is an indication of the EPS bearer used for the streaming service.
[0169] Example 15: According to the method of Example 13, the indication of the first stream identifier is an indication of the PDU session used for the streaming service.
[0170] Example 16: According to the method of Example 15, wherein: the bit rate recommendation action command further includes an indication of the QoS flow for the PDU session of the streaming service; and the bit rate recommendation response further includes an indication of the QoS flow for the PDU session of the streaming service.
[0171] Example 17: A method based on any of the examples in Examples 13-16, where the direction is an indication of uplink or downlink.
[0172] Example 18: The method according to any of the examples 13-17 further includes: receiving an AT command as a test command from another processor of the wireless device via an AT interface; and sending a response via the AT interface indicating support for a recommended bit rate.
[0173] Example 19: The method according to any of the examples 13-17 further includes: starting a response timer in response to receiving an AT command as a bit rate recommendation action command from another processor of the wireless device; receiving an AT command as a second bit rate recommendation action command from another processor of the wireless device via an AT interface, the second bit rate recommendation action command including at least an indication of a first stream identifier, an indication of a requested bit rate, and an indication of direction; determining whether the second bit rate recommendation action command has been received before the response timer expires; and taking a bit rate request frequency limiting action in response to determining that the second bit rate recommendation action command has been received before the response timer expires.
[0174] Example 20: According to the method of Example 19, the bit rate request frequency limiting action includes sending a response as an error code to another processor of the wireless device via the AT interface, the error code indicating that the second bit rate recommendation action command was sent prematurely.
[0175] Example 21: Following the method of Example 20, the response as an error code includes a retry parameter.
[0176] Example 22: According to the method of Example 19, the bit rate request frequency limiting action includes sending a response as a second bit rate recommendation response to another processor of the wireless device via the AT interface, the second bit rate recommendation response including at least an indication of a first stream identifier, an indication of bit rate recommendation, an indication of direction, and an indication of the time when a network assistance response is received from the RAN's base station.
[0177] Example 23: According to the method of Example 19, the bit rate request frequency limiting action includes not sending a response to the AT command as a second bit rate recommendation action command.
[0178] Example 24: The method according to any of the examples 13-23, wherein: determining the bit rate recommendation in response to receiving a network assistance response from the RAN's base station includes converting the bit rate recommendation indicated in the network assistance response from the RAN's base station into an application-level bit rate value; and the indication of the bit rate recommendation in the bit rate recommendation response is an application-level bit rate value.
[0179] Example 25: A method for providing streaming service assistance executed by a processor of a wireless device, comprising: receiving a bitrate recommendation response from a modem processor of the wireless device via an AT interface, the bitrate recommendation response including at least an indication of a bitrate recommendation for the streaming service; and controlling the streaming service at least in part based on the indication of the bitrate recommendation.
[0180] Example 26: Following the method of Example 25, the bitrate recommended response includes an unrequested response code.
[0181] Example 27: The method of Example 25, wherein a bitrate recommendation response is received after a bitrate recommendation is sent to the modem processor via the AT interface.
[0182] Example 28: The method according to Example 26 further includes sending an AT command via the AT interface to the modem processor of the wireless device before receiving the bit rate recommendation response, the AT command subscribing to the unrequested bit rate recommendation response.
[0183] Example 29: A method for providing streaming service assistance performed by a modem processor of a wireless device, comprising: receiving a network assistance response from a base station of a RAN; determining a bit rate recommendation in response to receiving the network assistance response from the base station of the RAN; and sending a bit rate recommendation response via an AT interface to another processor of the wireless device, the bit rate recommendation response including at least an indication of a bit rate recommendation.
[0184] Example 30: Following the method of Example 29, the bitrate recommended response includes an unsolicited response code.
[0185] Example 31: The method according to Example 30 further includes receiving an AT command via an AT interface from another processor of the wireless device before sending the bit rate recommendation response, the AT command subscribing to the unrequested bit rate recommendation response.
[0186] Example 32: The method of any of the examples in Examples 1-31, wherein the modem processor is a fifth-generation (5G) modem processor.
[0187] The above method descriptions and process flowcharts are provided as illustrative examples only and are not intended to require or imply that the operations of the various embodiments must be performed in the presented order. As those skilled in the art will understand, the order of operations in the above embodiments can be performed in any order. Words such as "afterwards," "then," and "next" are not intended to limit the order of operations; these words are used to guide the reader to an overview of the method description. Furthermore, any reference to singular claim elements, such as the use of the articles "a," "an," or "the," should not be construed as limiting the element to the singular form.
[0188] The various illustrative logic blocks, modules, components, circuits, and algorithmic operations described in conjunction with the embodiments disclosed herein can be implemented as electronic hardware, computer software, or a combination of both. To clearly illustrate this interchangeability between hardware and software, various illustrative components, blocks, modules, circuits, and operations have been described above in general terms of their functionality. Whether these functions are implemented as hardware or software depends on the specific application and design constraints imposed on the entire system. Those skilled in the art can implement the described functions in different ways for each specific application; however, such implementation decisions should not be construed as causing a departure from the scope of these claims.
[0189] Hardware for implementing the various illustrative logics, logic blocks, modules, and circuits described in conjunction with the embodiments disclosed herein may be implemented or performed by 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. A general-purpose processor may be a microprocessor, but alternatively, the processor may be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of receiver intelligent objects, such as a DSP and a microprocessor, a combination of multiple microprocessors, a combination of one or more microprocessors with a DSP core, or any other such configuration. Alternatively, some operations or methods may be performed by circuitry specific to a given function.
[0190] In one or more embodiments, the functionality may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, these functions may be stored as one or more instructions or code on a non-transitory computer-readable storage medium or a non-transitory processor-readable storage medium. The operation of the methods or algorithms disclosed herein may be embodied in a processor-executable software module or processor-executable instructions, which may reside on a non-transitory computer-readable or processor-readable storage medium. A non-transitory computer-readable or processor-readable storage medium may be any storage medium accessible by a computer or processor. By way of example and not limitation, such non-transitory computer-readable or processor-readable storage media may include RAM, ROM, EEPROM, flash memory, CD-ROM or other optical disc storage, disk storage or other magnetic storage smart objects, or any other medium that can be used to store the required program code in the form of instructions or data structures and is accessible by a computer. Disks and optical discs as used herein include compact optical discs (CDs), laser optical discs, optical discs, digital versatile optical discs (DVDs), floppy disks, and Blu-ray discs, wherein disks typically reproduce data magnetically, while optical discs reproduce data optically using lasers. The aforementioned combinations also fall within the scope of non-transitory computer-readable and processor-readable media. Furthermore, the operation of a method or algorithm may reside as one or any combination or set of code and / or instructions on a non-transitory processor-readable and / or computer-readable storage medium into which a computer program product may be incorporated.
[0191] The foregoing description of the disclosed embodiments is provided to enable those skilled in the art to make or use the claims. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein can be applied to other embodiments without departing from the scope of the claims. Therefore, this disclosure is not intended to be limited to the embodiments shown herein, but is to be given the widest scope consistent with the following claims and the principles and 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 streaming service assistance executed by a modem processor of a wireless device, comprising: The Attention (AT) command is received from another processor of the wireless device via an Attention (AT) interface. The AT command is a bitrate recommendation action command for a streaming service. The bitrate recommendation action command includes at least an indication of a first stream identifier, an indication of a requested bitrate, and an indication of direction. The indication of the first stream identifier is an indication of a Protocol Data Unit (PDU) session for the streaming service. The bitrate recommendation action command also includes an indication of a Quality of Service (QoS) stream for the PDU session of the streaming service. In response to receiving the AT command as a bit rate recommendation action command from the other processor of the wireless device, a second stream identifier and logical channel identifier (LCID) associated with the first indication of the stream identifier are determined. Send a network assistance request, including the second flow identifier and LCID, to the base station of the radio access network (RAN); Receive a network assistance response including the second flow identifier and LCID from the base station of the RAN; In response to receiving the network assistance response from the base station of the RAN, a recommended bit rate is determined; as well as The response, which is a bitrate recommendation response, is sent via the AT interface to the other processor of the wireless device. The bitrate recommendation response includes at least an indication of the first stream identifier, an indication of the bitrate recommendation, and an indication of the direction. The bitrate recommendation response also includes an indication of the QoS stream for the PDU session of the streaming service.
2. The method according to claim 1, wherein, The indication of the first stream identifier is an indication of the evolved packet system (EPS) bearer used for the streaming service.
3. The method of claim 1, wherein the direction is an indication of uplink or downlink.
4. The method according to claim 1, further comprising: A response timer is started in response to receiving an AT command as a bit rate recommendation action command from the other processor of the wireless device; The AT command is received from another processor of the wireless device via the AT interface as a second bit rate recommendation action command, the second bit rate recommendation action command including at least an indication of the first stream identifier, an indication of the requested bit rate, and an indication of the direction; Determine whether the second bitrate recommended action command is received before the response timer expires; as well as In response to determining that the second bitrate recommended action command is received before the response timer expires, a bitrate request frequency limiting action is taken.
5. The method of claim 4, wherein the bit rate request frequency limiting action includes sending a response as an error code to the other processor of the wireless device via the AT interface, the error code indicating that the second bit rate recommendation action command was sent prematurely.
6. The method according to claim 5, wherein, The response, which is the error code, includes a retry parameter.
7. The method of claim 4, wherein the bit rate request frequency limiting action comprises sending a response as a second bit rate recommendation response to the other processor of the wireless device via the AT interface, the second bit rate recommendation response comprising at least an indication of the first stream identifier, an indication of the bit rate recommendation, an indication of the direction, and an indication of the time at which the network assistance response was received from the base station of the RAN.
8. The method of claim 4, wherein the bit rate request frequency limiting action includes not sending a response to the AT command as a second bit rate recommendation action command.
9. The method according to claim 1, wherein: Determining the bit rate recommendation in response to receiving the network assistance response from the base station of the RAN includes converting the bit rate recommendation indicated in the network assistance response from the base station of the RAN into an application-level bit rate value; and The bitrate recommendation in the bitrate recommendation response is the application-level bitrate value.
10. A wireless device, comprising: A modem processor configured with processor-executable instructions to perform the following operations: The Attention (AT) command is received from another processor of the wireless device via an Attention (AT) interface. The AT command is a bitrate recommendation action command for a streaming service. The bitrate recommendation action command includes at least an indication of a first stream identifier, an indication of a requested bitrate, and an indication of direction. The indication of the first stream identifier is an indication of a Protocol Data Unit (PDU) session for the streaming service. The bitrate recommendation action command also includes an indication of a Quality of Service (QoS) stream for the PDU session of the streaming service. In response to receiving the AT command as a bit rate recommendation action command from the other processor of the wireless device, a second stream identifier and logical channel identifier (LCID) associated with the first indication of the stream identifier are determined. Send a network assistance request, including the second flow identifier and LCID, to the base station of the radio access network (RAN); Receive a network assistance response including the second flow identifier and LCID from the base station of the RAN; In response to receiving the network assistance response from the base station of the RAN, a recommended bit rate is determined; as well as The response, which is a bitrate recommendation response, is sent via the AT interface to the other processor of the wireless device. The bitrate recommendation response includes at least an indication of the first stream identifier, an indication of the bitrate recommendation, and an indication of the direction. The bitrate recommendation response also includes an indication of the QoS stream for the PDU session of the streaming service.
11. The wireless device according to claim 10, wherein, The indication of the first stream identifier is an indication of the evolved packet system (EPS) bearer used for the streaming service.
12. The wireless device of claim 10, wherein the modem processor is further configured with processor-executable instructions to perform the following operations: A response timer is started in response to receiving an AT command as a bit rate recommendation action command from the other processor of the wireless device; The AT command is received from another processor of the wireless device via the AT interface as a second bit rate recommendation action command, the second bit rate recommendation action command including at least an indication of the first stream identifier, an indication of the requested bit rate, and an indication of the direction; Determine whether the second bitrate recommended action command is received before the response timer expires; as well as In response to determining that the second bitrate recommended action command is received before the response timer expires, a bitrate request frequency limiting action is taken.
13. The wireless device according to claim 12, wherein, The modem processor is further configured with processor-executable instructions to perform operations such that the bit rate request frequency limiting action includes sending a response as an error code to the other processor of the wireless device via the AT interface, the error code indicating that the second bit rate recommendation action command was sent prematurely.
14. The wireless device according to claim 13, wherein, The response, which is the error code, includes a retry parameter.
15. The wireless device of claim 12, wherein the modem processor is further configured with processor-executable instructions to perform an operation such that the bit rate request frequency limiting action includes sending a response as a second bit rate recommendation response to the other processor of the wireless device via the AT interface, the second bit rate recommendation response including at least an indication of the first stream identifier, an indication of the bit rate recommendation, an indication of the direction, and an indication of the time at which the network assistance response was received from the base station of the RAN.
16. The wireless device of claim 12, wherein the modem processor is further configured with processor-executable instructions to perform operations such that the bit rate request frequency limiting action includes not sending a response to the AT command as a second bit rate recommendation action instruction.
17. The wireless device of claim 10, wherein: The modem processor is further configured with processor-executable instructions to perform operations to determine the bit rate recommendation in response to receiving the network assistance response from the base station of the RAN by converting the bit rate recommendation indicated in the network assistance response from the base station of the RAN into an application-level bit rate value; and The bitrate recommendation in the bitrate recommendation response is the application-level bitrate value.
18. A wireless device, comprising: A component for receiving an Attention (AT) command from another processor of a wireless device via an Attention (AT) interface, the AT command being a bitrate recommendation action command for a streaming service, the bitrate recommendation action command including at least an indication of a first stream identifier, an indication of a requested bitrate, and an indication of direction, wherein the indication of the first stream identifier is an indication of a Protocol Data Unit (PDU) session for the streaming service, and the bitrate recommendation action command also includes an indication of a Quality of Service (QoS) stream for the PDU session of the streaming service; A component for determining a second stream identifier and a logical channel identifier (LCID) associated with the indication of the first stream identifier in response to receiving an AT command as a bit rate recommendation action command from another processor of the wireless device; A component for sending a network assistance request, including the second flow identifier and LCID, to a base station in a radio access network (RAN); Components for receiving a network assistance response, including the second flow identifier and LCID, from the base station of the RAN; A component for determining a recommended bit rate in response to receiving the network assistance response from the base station of the RAN; as well as A component for sending a response as a bitrate recommendation response to another processor of the wireless device via the AT interface, the bitrate recommendation response including at least an indication of the first stream identifier, an indication of the bitrate recommendation, and an indication of the direction, wherein the bitrate recommendation response also includes an indication of the QoS stream for the PDU session of the streaming service.
19. The wireless device according to claim 18, wherein, The indication of the first stream identifier is an indication of the evolved packet system (EPS) bearer used for the streaming service.
20. The wireless device of claim 18, further comprising: Components for starting a response timer in response to receiving an AT command as a bit rate recommendation action command from another processor of the wireless device; A component for receiving, via the AT interface, an AT command as a second bitrate recommendation action command from another processor of the wireless device, the second bitrate recommendation action command including at least an indication of the first stream identifier, an indication of the requested bitrate, and an indication of the direction; A component used to determine whether the second bit rate recommended action command is received before the response timer expires; as well as A component for taking a bit rate request frequency limiting action in response to determining that a second bit rate recommended action command has been received before the response timer expires.
21. The wireless device of claim 20, wherein the bit rate request frequency limiting action includes sending a response as an error code to the other processor of the wireless device via the AT interface, the error code indicating that the second bit rate recommendation action command was sent prematurely.
22. The wireless device according to claim 21, wherein, The response, which is the error code, includes a retry parameter.
23. The wireless device of claim 20, wherein the bit rate request frequency limiting action comprises sending a response as a second bit rate recommendation response to the other processor of the wireless device via the AT interface, the second bit rate recommendation response comprising at least an indication of the first stream identifier, an indication of the bit rate recommendation, an indication of the direction, and an indication of the time at which the network assistance response was received from the base station of the RAN.
24. The wireless device of claim 20, wherein the bit rate request frequency limiting action includes not sending a response to the AT command as a second bit rate recommendation action command.
25. The wireless device according to claim 18, wherein: The component for determining the bit rate recommendation in response to receiving the network assistance response from the base station of the RAN includes converting the bit rate recommendation indicated in the network assistance response from the base station of the RAN into an application-level bit rate value; and The bitrate recommendation in the bitrate recommendation response is the application-level bitrate value.
26. A non-transitory processor-readable medium having processor-executable instructions stored thereon, the processor-executable instructions being configured to cause a modem processor of a wireless device to perform operations, the operations including: The Attention (AT) command is received from another processor of the wireless device via an Attention (AT) interface. The AT command is a bitrate recommendation action command for a streaming service. The bitrate recommendation action command includes at least an indication of a first stream identifier, an indication of a requested bitrate, and an indication of direction. The indication of the first stream identifier is an indication of a Protocol Data Unit (PDU) session for the streaming service. The bitrate recommendation action command also includes an indication of a Quality of Service (QoS) stream for the PDU session of the streaming service. In response to receiving the AT command as a bit rate recommendation action command from the other processor of the wireless device, a second stream identifier and a logical channel identifier (LCID) associated with the indication of the first stream identifier are determined. Send a network assistance request, including the second flow identifier and LCID, to the base station of the radio access network (RAN); Receive a network assistance response including the second flow identifier and LCID from the base station of the RAN; In response to receiving the network assistance response from the base station of the RAN, a recommended bit rate is determined; as well as The response, which is a bitrate recommendation response, is sent via the AT interface to the other processor of the wireless device. The bitrate recommendation response includes at least an indication of the first stream identifier, an indication of the bitrate recommendation, and an indication of the direction. The bitrate recommendation response also includes an indication of the QoS stream for the PDU session of the streaming service.
27. The non-transitory processor-readable medium of claim 26, wherein the indication of the first stream identifier is an indication of an evolved packet system (EPS) bearer for the streaming service.
28. The non-transitory processor-readable medium of claim 26, wherein the processor-executable instructions are configured to cause a modem processor of a wireless device to perform operations, the operations further comprising: A response timer is started in response to receiving an AT command as a bit rate recommendation action command from the other processor of the wireless device; The AT command is received from another processor of the wireless device via the AT interface as a second bit rate recommendation action command, the second bit rate recommendation action command including at least an indication of the first stream identifier, an indication of the requested bit rate, and an indication of the direction; Determine whether the second bitrate recommended action command is received before the response timer expires; as well as In response to determining that the second bitrate recommended action command is received before the response timer expires, a bitrate request frequency limiting action is taken.
29. The non-transitory processor-readable medium according to claim 28, wherein, The processor-executable instructions are configured to cause the modem processor of the wireless device to perform an operation such that the bit rate request frequency limiting action includes sending a response as a second bit rate recommendation response to the other processor of the wireless device via the AT interface, the second bit rate recommendation response including at least an indication of the first stream identifier, an indication of the bit rate recommendation, an indication of the direction, and an indication of the time at which the network assistance response was received from the base station of the RAN.
30. The non-transitory processor-readable medium according to claim 28, wherein, The processor-executable instructions are configured to cause the modem processor of the wireless device to perform operations such that the bit rate request frequency limiting action includes not sending a response to the AT command, which is a second bit rate recommendation action command.
31. The non-transitory processor-readable medium of claim 26, wherein the processor-executable instructions are configured to cause a modem processor of a wireless device to perform operations such that: Determining the bit rate recommendation in response to receiving the network assistance response from the base station of the RAN includes converting the bit rate recommendation indicated in the network assistance response from the base station of the RAN into an application-level bit rate value; and The bitrate recommendation in the bitrate recommendation response is the application-level bitrate value.