Interleaving transmissions to wireless clients based on wireless network information
By sending network information from the client to assist the server in adjusting content delivery time, the problem of business capacity overload in low-latency services was solved, achieving the expected number of users and throughput, and improving service quality.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- QUALCOMM INC
- Filing Date
- 2021-07-20
- Publication Date
- 2026-04-17
AI Technical Summary
In low-latency cloud-based services, client content delivery within the same serving cell may overload service capacity, leading to client lag and lower downlink data rates, thus limiting the number of users and service quality within a given time period.
The client sends network information, such as cell identifiers, to the server. Based on this information, the server coordinates and adjusts the transmission and generation of client data. By mapping client sessions to specific network entities, the server dynamically adjusts content delivery time to achieve the desired latency and throughput.
It enables effective interleaving of client data in wireless communication networks, ensuring the expected number of users, latency, and downlink throughput, and improving service quality and cell capacity utilization.
Smart Images

Figure CN116097871B_ABST
Abstract
Description
[0001] Cross-reference to related applications
[0002] This application claims the benefit and priority of Indian Patent Application No. 202041035136, filed on August 14, 2020, the entire contents of which are incorporated herein by reference for all applicable purposes. Technical Field
[0003] Various aspects of this disclosure relate to wireless communications, and more specifically, various aspects of this disclosure relate to techniques for staggering clients for cloud-based services based on network information. Background Technology
[0004] Wireless communication systems are widely deployed to provide a variety of telecommunications services such as telephone, video, data, messaging, and broadcasting. These wireless communication systems can employ multiple access technologies that enable communication with multiple users by sharing available system resources (e.g., bandwidth, transmit power, etc.). Examples of such multiple access systems include the 3rd Generation Partnership Project (3GPP) Long Term Evolution (LTE) system, the improved LTE (LTE-A) system, Code Division Multiple Access (CDMA) systems, Time Division Multiple Access (TDMA) systems, Frequency Division Multiple Access (FDMA) systems, Orthogonal Frequency Division Multiple Access (OFDMA) systems, Single Carrier Frequency Division Multiple Access (SC-FDMA) systems, and Time Division Synchronous Code Division Multiple Access (TD-SCDMA) systems.
[0005] These multiple access technologies have been adopted in various telecommunications standards to provide a common protocol that enables different wireless devices to communicate at the city, country, region, and even global levels. New radio (e.g., 5G NR) is an example of an emerging telecommunications standard. NR is a set of enhancements to the LTE mobile standard released by 3GPP. NR is designed to better support mobile broadband internet access by improving spectrum efficiency, reducing costs, improving service, utilizing new spectrum, and using OFDMA with cyclic prefix (CP) on the downlink (DL) and uplink (UL). To this end, NR supports beamforming, multiple-input multiple-output (MIMO) antenna technology, and carrier aggregation.
[0006] However, with the continued growth in demand for mobile broadband access, there is a need for further improvements to NR and LTE technologies. Preferably, these improvements should be applicable to other multiple access technologies and telecommunications standards that employ these technologies. Summary of the Invention
[0007] The systems, methods, and apparatuses of this disclosure have several aspects, none of which are solely responsible for their desired properties. Without limiting the scope of this disclosure as set forth in the following claims, some features will now be briefly discussed. Upon consideration of this discussion, and especially after reading the section entitled "Detailed Description," those skilled in the art will understand how the features of this disclosure provide advantages, including desired latency at the client or desired service capacity at the serving cell and / or wireless network.
[0008] Certain aspects of the subject matter described in this disclosure can be implemented in a method for transmitting information associated with a wireless communication network from a client to a server by a user equipment (UE). In general, the method includes: obtaining information associated with a wireless communication network from a modem by a client. The method further includes: sending a first message including the information from the client to the server at an application level. The method further includes: receiving data from the server by the client at a time determined based on the information.
[0009] Certain aspects of the subject matter described in this disclosure can be implemented in a method for sending client data by a server. In general, the method includes: receiving by a server a plurality of messages from a plurality of clients, wherein at least two of the messages include information associated with one or more wireless communication networks; and, based on the information, sending client data from the server to at least one of the clients at one or more transmission times.
[0010] Certain aspects of the subject matter described in this disclosure can be implemented in an apparatus for transmitting information associated with a wireless communication network from a client to a server. In general, the apparatus includes: a modem; a memory; and a processor coupled to the memory and the modem. The processor and the memory are configured to: obtain the information associated with the wireless communication network from the modem via a client; send a first message including the information to the server at an application level; and receive data from the server via the client at a time determined based on the information.
[0011] Certain aspects of the subject matter described in this disclosure can be implemented in an apparatus for sending client data. In general, the apparatus includes: a memory; and a processor coupled to the memory. The processor and the memory are configured to: receive multiple messages from multiple clients via a server, wherein at least two of the messages include information associated with one or more wireless communication networks; and, based on the information, send client data from the server to at least one of the clients at one or more transmission times.
[0012] Certain aspects of the subject matter described in this disclosure can be implemented in an apparatus for transmitting information associated with a wireless communication network from a client to a server. In general, the apparatus includes: units for obtaining information associated with a wireless communication network from a modem via a client; units for sending a first message including the information from the client to the server at an application level; and units for receiving data from the server via the client at a time determined based on the information.
[0013] Certain aspects of the subject matter described in this disclosure can be implemented in an apparatus for sending client data. In general, the apparatus includes: units for receiving multiple messages from multiple clients via a server, wherein at least two of the messages include information associated with one or more wireless communication networks; and units for sending client data from the server to at least one of the clients at one or more transmission times based on the information.
[0014] Certain aspects of the subject matter described in this disclosure can be implemented in a computer-readable medium. The computer-readable medium includes computer-executable instructions that, when executed by one or more processors of a processing system, cause the processing system to: obtain information associated with a wireless communication network from a modem via a client; send a first message including the information from the client to the server at an application level; and receive data from the server via the client at a time determined based on the information.
[0015] Certain aspects of the subject matter described in this disclosure can be implemented in a computer-readable medium. The computer-readable medium includes computer-executable instructions that, when executed by one or more processors of a processing system, cause the processing system to perform the following operations: receive multiple messages from multiple clients via a server, wherein at least two of the messages include information associated with one or more wireless communication networks; and, based on the information, send client data from the server to at least one of the clients at one or more transmission times.
[0016] To achieve the foregoing and related objectives, one or more aspects include the features fully described below and specifically pointed out in the claims. The following description and drawings set forth certain illustrative features of one or more aspects in detail. However, these features indicate only a few of the various ways in which the principles of each aspect may be employed. Attached Figure Description
[0017] A more specific description, as briefly outlined above, can be provided by referring to some of the aspects shown in the accompanying drawings, so that the foregoing features of this disclosure can be understood in detail. However, it should be noted that the drawings illustrate only certain typical aspects of this disclosure and are therefore not intended to limit its scope, as this description may allow for other equally valid aspects.
[0018] Figure 1 This is a block diagram conceptually illustrating an example wireless communication network according to certain aspects of this disclosure.
[0019] Figure 2 This is a block diagram conceptually illustrating the design of an example base station (BS) and user equipment (UE) according to certain aspects of this disclosure.
[0020] Figure 3 These are example frame formats for certain wireless communication systems (e.g., New Radio (NR)) based on certain aspects of this disclosure.
[0021] Figure 4 This is a diagram illustrating an example environment in which a UE can communicate with a server via a cloud-based service or session, according to certain aspects of this disclosure.
[0022] Figure 5 This is a flowchart illustrating an example operation for transmitting information associated with a wireless communication network from a client to a server, according to certain aspects of this disclosure.
[0023] Figure 6 This is a flowchart illustrating an example operation for sending client data by a server, according to certain aspects of this disclosure.
[0024] Figure 7 This is a signaling flowchart illustrating example operations for interleaving client data based on network information, according to certain aspects of this disclosure.
[0025] Figure 8 This is a diagram illustrating an example server cluster communicating with a UE via a BS according to certain aspects of this disclosure.
[0026] Figure 9A This is a diagram illustrating an example architecture of a communication network in which a client application provides network information to a server, according to certain aspects of this disclosure.
[0027] Figure 9B A timing diagram is shown depicting the interleaved transmission of client data by a server across multiple cells, according to certain aspects of this disclosure.
[0028] Figure 10 This is a sequence diagram illustrating the delivery of client data from a server to a client according to certain aspects of this disclosure.
[0029] Figure 11 A timing diagram is shown illustrating an example of the distribution of clients over time according to certain aspects of this disclosure.
[0030] Figure 12 A communication device (e.g., a UE) according to various aspects of this disclosure is shown, which may include various components configured to perform operations using the techniques disclosed herein.
[0031] Figure 13 Communication devices (e.g., servers) according to various aspects of this disclosure are shown, which may include various components configured to perform operations using the techniques disclosed herein.
[0032] To facilitate understanding, where possible, identical reference numerals have been used to designate identical elements that are common to the figures. It is anticipated that elements disclosed in one aspect can be beneficially used in other aspects without requiring specific description. Detailed Implementation
[0033] This disclosure provides apparatus, methods, processing systems, and computer-readable media for interleaving or distributing client sessions serviced by a server.
[0034] In certain low-latency cloud-based services (such as split extended reality (XR) or live video streaming), the timeline at which packets are generated and delivered at the server for each client can impact the service capacity of certain wireless communication networks (e.g., 5G NR and / or LTE networks). For example, a server may send content to clients residing in / served by the same cell during overlapping time periods. In some cases, the content sent to clients during overlapping time periods may exceed the service capacity of the cell serving the client during that period. In such cases, clients may experience lag or lower downlink data rates in content delivery from the server due to cell capacity limitations. In some situations, lag and / or lower downlink data rates can translate to lower frame rates and / or lower resolutions for certain content (such as video frames). In some cases, overlapping content delivery may limit the number of users a serving cell can serve in a given time period.
[0035] For multiple clients sharing network capacity (e.g., at the same serving cell), client services may be rolled out over time to achieve the desired number of users that can be served by the wireless communication network, or to provide the desired latency and / or downlink throughput for client data delivery at the client's location. In some aspects, the client may send network information (such as the cell identifier of the serving cell) to the server, and the server may roll out the transmission and / or generation of client data based on the network information received from the client. The network information can enable the server to map client sessions to specific network entities (such as the client's serving cell), and the server can use the mapping between client sessions and specific network entities to determine the timing of content delivery to the client. In a server cluster providing content to clients, the server may coordinate and adjust the transmission and / or generation of client data based on the network information associated with the client. The various client data delivery schemes described herein can achieve the desired latency at the client's location, the desired downlink throughput at the client's location, and / or the desired user capacity for the wireless communication network (e.g., at a specific serving cell).
[0036] The following description provides examples of interleaving clients in a communication system and is not intended to limit the scope, applicability, or examples set forth in the claims. Changes may be made in the function and arrangement of the elements discussed without departing from the scope of this disclosure. Various processes or components may be omitted, substituted, or added as appropriate in the examples. For example, the described methods may be performed in a different order than those described, and various steps may be added, omitted, or combined. Furthermore, features described with respect to some examples may be combined with those in other examples. For example, an apparatus or method may be implemented using any number of aspects set forth herein. Moreover, the scope of this disclosure is intended to cover such apparatuses or methods practiced using structures, functions, or structures and functions other than or different from those set forth herein. It should be understood that any aspect of the disclosure herein may be embodied by one or more elements of the claims. The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any aspect described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects.
[0037] Typically, any number of wireless networks can be deployed in a given geographical area. Each 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, subcarrier, frequency channel, tone, subband, etc. Each frequency can support a single RAT in a given geographical area to avoid interference between wireless networks using different RATs.
[0038] The techniques described herein can be used in a variety of wireless network and radio technologies. Although the various aspects may be described herein using terms commonly associated with 3G, 4G and / or newer radio technologies (e.g., 5G NR), the various aspects of this disclosure can be applied to communication systems based on other generations.
[0039] NR access (e.g., 5G technology) can support a variety of wireless communication services, such as enhanced mobile broadband (eMBB) targeting wide bandwidth (e.g., 80MHz or higher), millimeter wave (mmW) targeting high carrier frequencies (e.g., 24GHz-53GHz or higher), massive machine-type communication (mMTC) targeting non-backward compatible MTC technologies, and / or mission-critical ultra-reliable low-latency communication (URLLC). These services can include latency and reliability requirements. These services can also have different transmission time intervals (TTIs) to meet corresponding quality of service (QoS) requirements. Furthermore, these services can coexist in the same subframe. NR supports beamforming and allows for dynamic configuration of beam direction. It can also support MIMO transmission with precoding. MIMO configurations in DL can support up to 8 transmit antennas, with up to 8 streams in multi-layer DL transmission and up to 2 streams per UE. Multi-layer transmission with up to 2 streams per UE can be supported. Aggregation of multiple cells with up to 8 serving cells can be supported.
[0040] Figure 1 An example wireless communication network 100 in which various aspects of this disclosure may be implemented is shown. For example, the wireless communication network 100 may be an NR system (e.g., a 5G NR network) or an evolved universal terrestrial radio access (E-UTRA) system (e.g., an LTE network).
[0041] According to various aspects of this disclosure, UE 120a includes a client manager 122 that sends network information (e.g., cell identifier) to server 134 at the application level and receives client data at times determined based on the network information. According to various aspects of this disclosure, server 134 includes a client manager 136 that generates and / or sends client data at one or more times based on the network information.
[0042] like Figure 1 As shown, the wireless communication network 100 may include multiple BSs 110a-z (each BS is also individually referred to as BS 110 or collectively as BS 110 herein) and other network entities. BS 110 may provide communication coverage for a specific geographic area (sometimes referred to as a "cell"), which may be fixed or movable depending on the location of the mobile BS 110. In some examples, BS 110 may interconnect with each other and / or with one or more other BSs or network nodes (not shown) in the wireless communication network 100 using any suitable transport network via various types of backhaul interfaces (e.g., direct physical connection, wireless connection, virtual network, etc.). Figure 1In the example shown, BS 110a, 110b, and 110c can be macro BSs for macro cells 102a, 102b, and 102c, respectively. BS 110x can be a pico BS for pico cell 102x. BS 110y and 110z can be femto BSs for femto cells 102y and 102z, respectively. A BS can support one or more cells.
[0043] BS 110 communicates with UEs 120a-y (each UE is also individually referred to as UE 120 or collectively as UE 120 herein) in the wireless communication network 100. UEs 120 (e.g., 120x, 120y, etc.) may be distributed throughout the wireless communication network 100, and each UE 120 may be stationary or mobile. The wireless communication network 100 may also include relay stations (e.g., relay station 110r) (also referred to as repeaters, etc.) that receive transmissions of data and / or other information from upstream stations (e.g., BS 110a or UE 120r) and transmit transmissions of data and / or other information to downstream stations (e.g., UE 120 or BS 110), or relay transmissions between UEs 120 to facilitate communication between devices.
[0044] Network controller 130 can communicate with a group of BSs 110 and provide coordination and control (e.g., via backhaul) for these BSs 110. In various aspects, network controller 130 can communicate with core network 132 (e.g., a 5G core network (5GC)) which provides various network functions such as access and mobility management, session management, user plane functions, policy control functions, authentication server functions, unified data management, application functions, network openness functions, network repository functions, network slice selection functions, etc.
[0045] Core network 132 can communicate with server 134, enabling core network 132 to act as a packet gateway for providing UE 120a with access to server 134. Core network 132 may include various servers and networking devices, such as switches, routers, and gateways. Server 134 may be or include a computer, computing device, or processing system that provides services (e.g., split extended reality (XR), cloud gaming, live streaming, etc.) to clients such as UE 120a. Server may be or include a program, process, or thread running on a computer, computing device, or processing system. For example, server 134 may be a virtual instance of a processing system or application hosted on another processing system. That is, server 134 may be virtualized in an application container or virtual machine running on a host processing system. Computer-readable media may include computer-executable instructions that, when executed by one or more processors of the host processing system, cause the host processing system to run an application container or virtual machine operating as a server. Figure 4 As further described, splitting XR can offload the rendering of various content or data (e.g., video and / or audio streams) from UE 120 to a server (e.g., server 134) with a high-power processor (e.g., graphics processing unit (GPU)) for virtual reality (VR), augmented reality (AR), or mixed reality (MR) applications. Although for ease of understanding, server 134 is depicted as a separate server entity communicating with core network 132, aspects of this disclosure can be applied to server 134 integrated or co-located with core network 130, network controller 130, and / or BS 110a.
[0046] Figure 2 BS 110a and UE 120a are shown (e.g., Figure 1 Example components of a wireless communication network 100, which can be used to implement various aspects of this disclosure.
[0047] At BS 120a, the transmitting processor 220 can receive data from the data source 212 and control information from the controller / processor 240. The control information can be used for the Physical Broadcast Channel (PBCH), Physical Control Format Indicator Channel (PCFICH), Physical Hybrid ARQ Indicator Channel (PHICH), Physical Downlink Control Channel (PDCCH), Group Common PDCCH (GC PDCCH), etc. Data can be used for the Physical Downlink Shared Channel (PDSCH), etc. The Media Access Control (MAC) control element (MAC-CE) is a MAC layer communication structure that can be used for exchanging control commands between wireless nodes. The MAC-CE can be carried in a shared channel (e.g., Physical Downlink Shared Channel (PDSCH), Physical Uplink Shared Channel (PUSCH), or Physical Sidelink Shared Channel (PSSCH)).
[0048] Processor 220 can process (e.g., encode and symbol map) data and control information separately to obtain data symbols and control symbols. Transmit processor 220 can also generate reference symbols, for example, for the primary synchronization signal (PSS), secondary synchronization signal (SSS), PBCH demodulation reference signal (DMRS), and channel state information reference signal (CSI-RS). Transmit (TX) multiple-input multiple-output (MIMO) processor 230 can perform spatial processing (e.g., precoding, if applicable) on data symbols, control symbols, and / or reference symbols, and can provide output symbol streams to modulators (MODs) 232a-232t. Each modulator 232 can (e.g., for OFDM, etc.) process its corresponding output symbol stream to obtain an output sample stream. Each modulator can further process (e.g., convert to analog, amplify, filter, and up-convert) the output sample stream to obtain a downlink signal. The downlink signal from modulators 232a-232t can be transmitted via antennas 234a-234t respectively.
[0049] At UE 120a, antennas 252a-252r can receive downlink signals from BS 110a and can provide the received signals to demodulators (DEMODs) in transceivers 254a-254r respectively. Each demodulator 254 can adjust (e.g., filter, amplify, down-convert, and digitize) the corresponding received signal to obtain input samples. Each demodulator can further process the input samples (e.g., for OFDM, etc.) to obtain received symbols. MIMO detector 256 can obtain received symbols from all demodulators in transceivers 254a-254r, perform MIMO detection on the received symbols (if applicable), and provide the detected symbols. Receiver processor 258 can process (e.g., demodulate, deinterleave, and decode) the detected symbols, provide decoded data for UE 120a to data sink 260, and provide decoded control information to controller / processor 280.
[0050] On the uplink, at UE 120a, the transmitting processor 264 can receive and process data from data source 262 (e.g., for the Physical Uplink Shared Channel (PUSCH)) and control information from controller / processor 280 (e.g., for the Physical Uplink Control Channel (PUCCH)). The transmitting processor 264 can also generate reference symbols for reference signals (e.g., for Sounding Reference Signals (SRS)). Symbols from the transmitting processor 264 can be pre-encoded (if applicable) by the TX MIMO processor 266, further processed by modulators (e.g., for SC-FDM, etc.) in transceivers 254a-254r, and transmitted to BS 110a. At BS 110a, uplink signals from UE 120a can be received by an antenna, processed by modulator 232, detected by MIMO detector 236 (if applicable), and further processed by receiving processor 238 to obtain decoded data and control information transmitted by UE 120a. The receiver processor 238 can provide decoded data to the data sink 239 and decoded control information to the controller / processor 240.
[0051] Memory 242 and memory 282 can store data and program code for BS 110a and UE 120a, respectively. Scheduler 244 can schedule the UE for data transmission on the downlink and / or uplink.
[0052] Antenna 252, processors 266, 258, 264 and / or controller / processor 280 of UE 120a and / or antenna 234, processors 220, 230, 238 and / or controller / processor 240 of BS 110a can be used to perform the various techniques and methods described herein. Figure 2As shown, according to the aspects described herein, the controller / processor 280 of UE 120a has a client manager 122 that sends network information (e.g., cell identifier) to a server (e.g., server 134) at the application level and receives client data at a time determined based on the network information. Although shown at the controller / processor, other components of UE 120a and BS 110a can be used to perform the operations described herein.
[0053] NR can utilize Orthogonal Frequency Division Multiplexing (OFDM) with a cyclic prefix (CP) on both the uplink and downlink. NR can support half-duplex operation using Time Division Multiplexing (TDD). OFDM and Single-Carrier Frequency Division Multiplexing (SC-FDM) can divide the system bandwidth into multiple orthogonal subcarriers, which are often referred to as frequency modulation, frequency bands, etc. Each subcarrier can be modulated using data. Modulation symbols can be transmitted using OFDM in the frequency domain and modulated signals can be transmitted using SC-FDM in the time domain. The spacing between adjacent subcarriers can be fixed, and the total number of subcarriers can depend on the system bandwidth. The minimum resource allocation, called a resource block (RB), can be 12 consecutive subcarriers. The system bandwidth can also be divided into subbands. For example, a subband can cover multiple RBs. NR can support a basic subcarrier spacing (SCS) of 15 kHz, and other SCSs can be defined with respect to the basic SCS (e.g., 30 kHz, 60 kHz, 120 kHz, 240 kHz, etc.).
[0054] Figure 3 This is a diagram illustrating an example of frame format 300 for certain wireless communication systems, such as NR. The transmission timeline for each of the downlink and uplink can be divided into units of radio frames. Each radio frame can have a predetermined duration (e.g., 10 ms) and can be divided into 10 subframes with indices 0 to 9, each subframe being 1 ms. Each subframe can include a variable number of time slots (e.g., 1, 2, 4, 8, 16... time slots), depending on the SCS. Each time slot can include a variable number of symbol periods (e.g., 7, 12, or 14 symbols), depending on the SCS. Indices can be assigned to the symbol periods in each time slot. Micro-slots (which may be referred to as sub-slot structures) refer to transmission time intervals with a duration less than a time slot (e.g., 2, 3, or 4 symbols). Each symbol in a time slot can indicate the link direction used for data transmission (e.g., DL, UL, or flexible), and the link direction of each subframe can be dynamically switched. The link direction can be based on the time slot format. Each time slot can include DL / UL data and DL / UL control information.
[0055] In NR, a Synchronization Signal Block (SSB) is transmitted. In some aspects, SSBs can be transmitted in bursts, where each SSB in the burst corresponds to a different beam direction used for UE-side beam management (e.g., including beam selection and / or beam refinement). An SSB includes a PSS, an SSS, and a two-symbol PBCH. It can be transmitted at fixed time slot locations (such as in...). Figure 3 SSBs are transmitted in symbols 0-3 shown in the diagram. PSS and SSS can be used by the UE for cell search and acquisition. PSS can provide half-frame timing, and SS can provide CP length and frame timing. PSS and SSS can provide cell identification. PBCH carries some basic system information, such as downlink system bandwidth, timing information within the radio frame, SS burst set periodicity, system frame number, etc. SSBs can be organized into SS bursts to support beam scanning. Additional system information, such as Residual Minimum System Information (RMSI), System Information Block (SIB), and Other System Information (OSI), can be transmitted on the Physical Downlink Shared Channel (PDSCH) in some subframes. For millimeter wave (mmWave), SSBs can be transmitted up to sixty-four times, for example, using up to sixty-four different beam directions. Multiple transmissions of SSBs are called SS burst sets. SSBs in an SS burst set can be transmitted in the same frequency region, while SSBs in different SS burst sets can be transmitted in different frequency regions.
[0056] Some cloud-based services (such as SplitXR) can offload computation or rendering of various content or data (e.g., video and / or audio streams) to servers with high-powered processors (e.g., graphics processing units (GPUs)). In some cases, head-mounted displays (HMDs) can be equipped with wireless modems that provide access to wireless communication networks (e.g., wireless communication network 100) and enable splitXR sessions to be wirelessly streamed between the HMD and the server. For example, Figure 4This diagram illustrates an example environment 400 in which a UE can communicate with a server via a cloud-based service or session. As shown, UE 120 can receive various generated content 402 (e.g., encoded video streams, encoded audio streams, and / or instructions for haptic feedback) from server 134 via a radio access network (RAN) such as BS 110 and / or network controller 130. For example, server 134 can transmit the generated content 402 on a periodic basis (e.g., every 11, 13, 16, or 22 ms) at a high throughput level (e.g., >100 kilobytes). UE 120 can also transmit various information 404 to server 134 via BS 110. For example, UE 120 can transmit information 404 on a periodic basis (e.g., every 2 ms) at a relatively low throughput level (e.g., 100 bytes). This information can be gesture information (e.g., the orientation of the user's head relative to a coordinate system) and / or control information (e.g., information from an input device such as a gamepad, controller, or stick). In some respects, server 134 can generate content 402 based on information 404. In an XR setup, UE 120 can display the generated content as a sequence of video frames to the user in the HMD.
[0057] Split XR sessions can have various service flow characteristics to provide users with an acceptable XR experience (i.e., an immersive, realistic, and comfortable experience). For example, split XR sessions can have low latency (e.g., 5-20ms delay) and a high reliable bit error rate (e.g., less than or equal to 10) between the UE and the server. -3 This involves high packet error rate (PER), high downlink throughput (100-600 Mbit / s or 1-2.5 Gbit / s or higher), and periodic low downlink throughput (e.g., <1 Mbps). As used herein, split XR can include a variety of low-latency cloud-based services such as cloud gaming, split rendering, split computing, virtual reality (VR), augmented reality (AR), mixed reality (MR), or live video streaming.
[0058] Example of interleaving clients based on wireless network information
[0059] In certain low-latency cloud-based services (such as split XR or live video streaming), the timeline for generating and delivering packets at a server (e.g., server 134) for each client in a client (e.g., UE 120) can impact the service capacity of certain wireless communication networks (e.g., 5G NR networks or LTE networks). For example, the server may send packets to clients residing in the same cell (e.g., UE 120) during overlapping time periods. Figure 1Content is sent on / by clients served by the same cell (BS 110a). In some cases, the content sent to clients during overlapping periods may exceed the service capacity of the cell serving the client during that period. In such cases, clients may experience lag or lower downlink data rates in content delivery from the server due to the cell's service capacity. In some cases, lag and / or lower downlink data rates can translate to lower frame rates and / or lower resolutions for certain content (such as video frames). In some cases, overlapping content delivery may limit the number of users a serving cell can serve in a given period.
[0060] Various aspects of this disclosure provide various apparatuses and methods for providing interleaved transmission and / or generation of client data based on wireless network information. For example, for multiple clients sharing network capacity (e.g., at the same serving cell), client services may be deployed over time to achieve a desired number of users that can be served by the wireless communication network, or to provide desired latency and / or downlink throughput for client data delivery at the client's location. In some aspects, the client may send network information (such as the cell identifier of the serving cell) to the server, and the server may deploy the transmission and / or generation of client data based on the network information received from the client. The network information may enable the server to map client sessions to specific network entities (such as the serving cell for the client), and the server may use the mapping between client sessions and specific network entities to determine the timing of content delivery to the client. In a server cluster providing content to clients, the server may coordinate and adjust the transmission and / or generation of client data based on network information associated with the client. The various client data delivery schemes described herein can achieve desired latency and / or downlink throughput at the client's location, and / or desired user capacity for the wireless communication network (e.g., at a specific serving cell).
[0061] Figure 5 This is a flowchart illustrating an example operation 500 for transmitting information associated with a wireless communication network from a client to a server, according to certain aspects of this disclosure. Operation 500 can be performed, for example, by a user equipment (e.g., UE120a in wireless communication network 100). Operation 500 can be implemented in one or more processors (e.g., ...). Figure 2 The software components that execute and run on the controller / processor 280. Furthermore, in operation 500, the UE can transmit and receive signals, for example, through one or more antennas (e.g., Figure 2This can be achieved via antenna 252. In some aspects, the UE's transmission and / or reception of signals can be achieved via a bus interface for acquiring and / or outputting signals from one or more processors (e.g., controller / processor 280).
[0062] Operation 500 can begin at 502, where the client (e.g., UE 120) can obtain information associated with the wireless communication network from a modem (e.g., a cellular modem, such as modulator / demodulator 254a-254r in a transceiver). At 504, the client can send a first message including this information to the server at the application level. Optionally, at 506, the client can send a second message including client information (e.g., headset orientation information, prediction coefficients, controller inputs, etc.) to the server. At 508, the client can receive data from the server at a time determined based on this information. Optionally, the client can display the data as one or more video frames, for example, using a VR headset or other display device.
[0063] In some respects, the information sent to the server at a 504 error allows the server to interleave or adjust the timing of data sent or generated for multiple clients, as discussed in this article. Figure 6 Further description. That is, the server can adjust the timing of receiving data at 508 based on information provided by the client. For example, the server can use this information to interleave data sent to clients residing in the same serving cell, for example, as described in this article regarding... Figure 9B Further described. As an example of data interleaving, a server can distribute or adjust the rendering timeline for a specific client (e.g., clients served in the same serving cell) so that downlink traffic for that specific client does not overlap with each other. In some cases, data interleaving can allow partially overlapping downlink and / or uplink traffic for a specific client, for example, depending on the RAN's network or channel capacity.
[0064] As used herein, an application level (or layer) can refer to a layer in a protocol stack, in descending order, with the application layer at the top and the remaining layers including the Packet Data Convergence Protocol (PDCP) layer, the Radio Link Control (RLC) layer, the Media Access Control (MAC) layer, and the Physical (PHY) layer. For example, an application level can be the level where payloads for the protocol stack in the user plane are generated. Payloads can be processed at various layers (e.g., the PDCP, RLC, MAC, and PHY layers) to enable payload transmission on radio resources (e.g., frequency-time resources). In some aspects, an application level can include Session Initiation Protocol (SIP) signaling used to establish, maintain, or terminate real-time sessions between clients and servers.
[0065] In some aspects, obtaining information at 502 may involve a client accessing information via a modem. For example, the client may request information from the modem, and the modem may provide information to the client. In some cases, an application programming interface (API) may be used to pass information (such as cell identifier, beam identifier, etc.) from the modem to the client. In some cases, the UE's operating system (such as Android, Linux, Windows, iOS, macOS, etc.) may provide an API to allow the client to access the modem at the application level. That is, the operating system may act as an intermediary between the client at the application level and the modem at the hardware level. In some aspects, this information may include various attributes of the client regarding the wireless network. For example, this information may include at least one of the following: the cell identifier of the client's serving cell (e.g., BS 110a), the beam identifier of the serving cell, quasi-co-address (QCL) information associated with the reference signal of the serving cell, the media access control (MAC) address of the access point serving the client, or the network identifier of the network serving the client.
[0066] Cell identifiers can be Enhanced Cell Identifiers (ECIs) or Global Cell Identifiers, such as cell identifiers used to clearly identify cells within a radio network (e.g., a Public Land Mobile Network (PLMN)). Beam identifiers can be indications of the downlink beam used by a client to receive data at 508. For example, a beam identifier can be an SSB identifier associated with an SSB. QCL information can also represent the downlink beam carrying data from the serving cell to the client. In some cases, a reference signal (e.g., a Channel State Information Reference Signal (CSI-RS) or DMRS) can have a QCL relationship with another reference signal (e.g., an SSB or CSI-RS). QCL information can include reference signals, reference signal resources, or QCL types (such as Transmission Configuration Indication (TCI) status) included in the QCL configuration. Network identifiers can be, for example, Mobile Country Codes (MCCs), Mobile Network Codes (MNCs), PLMNs (which include MCCs and MNCs), base station identifiers (such as eNodeB identifiers or gNodeB identifiers), or combinations thereof.
[0067] In some respects, the wireless communication network can be a wireless wide area network (WWAN) (such as a 5G NR network or an LTE network) or a wireless local area network (WLAN) (such as a WiFi network). In other respects, the base station serving the client can be a wireless access point in the WLAN, and the information obtained at 502 may include the access point's MAC address or the WLAN's Service Set Identifier (SSID).
[0068] In some respects, the first message can be included in Session Description Protocol (SDP) signaling used for various Real-time Transport Protocols (RTPs), such as Session Initiation Protocol (SIP). That is, the first message can be an SDP message for SIP. In some cases, the SDP message may include information using attribute fields (e.g., "a="). As an example, the attribute field may have the following format:
[0069] a = X-cell: <mnc> <mcc> <cid>
[0070] Here, X-cell is the name of the attribute field (other appropriate names can be used), MNC is the mobile network code, MCC is the mobile country code, and CID is the cell identifier.
[0071] In some cases, clients can report the waiting time between the time a frame is ready (e.g., received and decoded at the client) and the time consumed by the frame being displayed or processed by other display processes (such as asynchronous reprojection or asynchronous timewarp (ATW)). In such cases, the server can adjust the transmission and / or generation time for client data by changing the rendering order across some or all of the clients. In some cases, clients can report the downlink time spread for the arrival of packets (e.g., IP packets) for video frames. Downlink time spread can refer to the duration it takes for a video frame to reach the client across multiple packets. In such cases, the server can adjust the transmission and / or generation time for the client based on such time offsets, if possible.
[0072] As an example, operation 500 may include: the client sending a third message to the server, the third message including a waiting time for processing data at the client or a downlink time extension for packets arriving at the client carrying the generated data, wherein this time is further determined based on the third message. In response to the third message, the client may receive additional data from the server at another time determined based on this information and the third message.
[0073] In some aspects, for example, when a client performs a handover to a target cell, the client may send updated information to the server. As an example, a client may handover from a serving cell to a target cell, and based on the handover, the client may send updated information to the server. In various aspects, the updated information may include the target cell's cell identifier, the target cell's beam identifier, the target cell's QCL information, or the network identifier of the network serving the client. In some aspects, the updated information may include the MAC address of the access point to which the client has switched.
[0074] In some respects, the server can provide clients with various cloud-based services, such as split XR, split rendering, split computing, cloud gaming, live streaming, etc. That is, operation 500 can be implemented for a split XR session or a cloud gaming session. For example, client information sent at 506 may include headphone orientation information, prediction coefficients for headphone orientation, controller input, or other appropriate processing input for generating data. Data received at 508 may include one or more rendered video frames, where the server performs rendering based on client information. In various respects, data received at 508 may include one or more rendered video frames (e.g., video frames for the right eye and video frames for the left eye), audio streams, and / or instructions for haptic feedback, and the client may display one or more rendered video frames, play audio streams, and / or provide haptic feedback. As an example, video frames may be displayed on an HMD in a split XR setup or on a TV screen in a cloud gaming setup, audio streams may be played through headphone speakers, and haptic feedback may cause the controller to vibrate. The server can generate the data received at 508 based on various inputs provided by the client. In other words, the data received at 508 can be generated based on the client information included in the second message at 506.
[0075] In some cases, the data received at 508 may be instructions or data for Internet of Things (IoT) devices, where the server provides low-latency split computation based on sensor data measured by the IoT device. That is, the client information at 506 can include various sensor measurements.
[0076] In some respects, operation 500 can be implemented for live streaming of various content, such as live video streams. For example, data received at 508 and displayed at 510 could be video frames from a live video stream.
[0077] Figure 6 This is a flowchart illustrating an example operation 600 for sending client data according to certain aspects of this disclosure. Operation 600 can be performed, for example, by a server (e.g., server 134 in wireless communication network 100). Operation 600 can be complementary to operation 500 performed by the UE. Operation 600 can be implemented in one or more processors (e.g., Figure 13 Software components executed and running on the processor 1304. Furthermore, in operation 600, the server's transmission and reception of signals can be achieved, for example, via a network interface (e.g., ...). Figure 13 The network interface 1308 is implemented via a wired or optical interface. In some aspects, the server's transmission and / or reception of signals may be achieved via a bus interface (e.g., for acquiring and / or outputting signals) of one or more processors (e.g., processor 1304). Figure 13 It is implemented using the 1306 bus.
[0078] Operation 600 may begin at 602, where the server may receive multiple messages from multiple clients. In various aspects, at least two of these messages may include information associated with one or more wireless communication networks, and this information may correspond to the information at 502 / 504 of operation 500. Optionally, at 604, the server may receive multiple additional messages from the clients, including client information (e.g., headphone orientation information, prediction coefficients for headphone orientation, controller inputs, or other suitable processing inputs). Optionally, at 606, the server may, in response to the additional messages, generate client data for at least one of the clients based on the additional information and the client information. At 608, the server may, based on the additional information, send the client data to the at least one client at one or more transmission points. In various aspects, the information received at 602 may enable the server to interleave or adjust the timing of sending and / or generating data for multiple clients. In some cases, information received at 602 can enable the server to expand or distribute downlink data from multiple clients over time in order to prevent or reduce network capacity and / or channel capacity overload of a particular serving cell or wireless network.
[0079] In some aspects, a server can be a computer, computing device, or processing system that provides services to clients (e.g., split XR rendering of video frames, audio streaming, and / or haptic feedback). In other aspects, a server can be a program, process, or thread running on a computer, computing device, or processing system. For example, server 134 can be a virtual instance of a processing system or application hosted on another processing system. That is, server 134 can be virtualized within an application container or virtual machine running on the host processing system.
[0080] In some respects, the same server can provide cloud-based services to a number of clients (e.g., clients with the same cell identifier). In other cases, a server cluster can provide cloud-based services to multiple clients, as discussed in this article. Figure 8 Further described. The same server providing the cloud-based service can facilitate the interleaving of client data generation and / or transmission with desired latency (e.g., due to an internal clock source at the server). As an example, operation 600 may also include the server obtaining additional information associated with one or more wireless communication networks and additional clients. For example, the server may obtain additional information from a public database (or any suitable data structure) accessible to the server in the cluster or from another server managing information. The server may select a set of clients among the client and additional clients based at least in part on this information and the additional information. In some cases, instead of the server making the selection, another server may instruct the server to provide the cloud-based service to the selected set of clients. Sending client data at 608 may include the server sending client data to the set of clients. In various aspects, the other server may be integrated within the same computer, computing device, or processing system as the server. For example, the other server may be another virtual machine or application container running on a host hosting a virtual machine or application container used for the server. In some respects, the other server may be a virtual machine, application container, computer, computing device or processing system separate from the server, and / or run on a virtual machine, computer, computing device or processing system separate from the server.
[0081] A server can select a group of clients based on various attributes associated with a wireless communication network. For example, a server can select clients with the same cell identifier based on information received at 602 and additional information. As an example, selecting a group of clients may include selecting a group of clients that have at least one of the following: the same cell identifier of the serving cell of the group of clients, the same beam identifier of the serving cell, the same QCL information of the serving cell, the same MAC address of the access point, or the same network identifier of the network serving the group of clients (e.g., a wireless communication network such as a PLMN).
[0082] In some cases, multiple servers can provide cloud-based services to clients connected to the same network entity (e.g., the same serving cell or wireless network). In such cases, the servers can negotiate to agree on the timing of generating (e.g., rendering at 606) or sending client data. For example, the server can determine the timing of generating or sending client data based on the time it takes to establish a session (e.g., a new session can be timed based on available gaps) or the round-trip latency between clients (e.g., sessions with lower latency can be shifted).
[0083] As an example, operation 600 may also include the server obtaining additional information associated with one or more wireless communication networks and additional clients. The server may select a group of clients among the client and additional clients based at least in part on this information and the additional information. For example, the server may identify clients connected to the same serving cell or wireless network (e.g., PLMN). The server may send a schedule to another server indicating one or more transmission times or one or more processing times for the group of clients. The other server may use the schedule to generate or transmit data at one or more transmission times or one or more processing times for clients in the group served by the other server. In various aspects, the schedule may be determined based on the session establishment time of the group of clients or the round-trip time of the group of clients. In some cases, the server and the other server may synchronize their time with each other, for example, via a time server (e.g., a Precision Time Protocol (PTP) server or a Network Time Protocol (NTP) server).
[0084] In some cases, generating data at 606 or sending data at 608 can be interleaved or shifted based on information received at 602. For example, the server can initiate the generation of client data at one or more processing points, the timing of which is at least partially based on that information. For example, suppose a first client and a second client are connected to the same serving cell. The server can initiate the generation of client data for the first client at a first processing point and initiate the generation of client data for the second client at a second processing point. For example, the second processing point can be offset from the first processing point by a specific duration (e.g., 5 or 10 ms).
[0085] In some aspects, sending client data at 608 may include the server initiating the transmission of client data at one or more transmission points, the timing of which is at least partially based on that information. For example, the server may initiate the generation of client data for a first client at a first transmission point and initiate the generation of client data for a second client at a second transmission point. The second transmission point may be offset from the first transmission point by a specific duration (e.g., 5 or 10 ms).
[0086] In some respects, this information may include various attributes of the client regarding the wireless network. For example, the information may include at least one of the following: one or more cell identifiers of the client's serving cell (e.g., BS 110a), one or more beam identifiers of the serving cell, QCL information associated with one or more reference signals of the serving cell, one or more MAC addresses of the access point serving the client, or one or more network identifiers of the network serving the client.
[0087] In some respects, the message received at 602 can be included in SDP signaling for various RTPs (such as SIP), for example, as described herein with respect to operation 500. As an example, the message received at 602 can be an SDP message for SIP.
[0088] In some aspects, for example, when a client performs a handover to a target cell, the server can receive updated information from the client. When the server receives the updated information, it can adjust the timing of generating or sending client data. For example, operation 600 may also include the server receiving updated information from one of the clients. In various aspects, the updated information may include the cell identifier of the target cell, the beam identifier of the target cell, the QCL information of the target cell, or the network identifier of the network serving the client. In some aspects, the updated information may include the MAC address of the access point to which the client has switched. The server may initiate the transmission or generation of client data at one or more processing times or one or more transmission times, the timing of which is at least partially based on the updated information (e.g., the cell identifier). For example, suppose the client moves to a cell where no other client is served by the server. In such a case, the server may generate or transmit data for that client concurrently with other clients. In some cases, when the server receives updated information, it may request or command another server to process client data for the client. For example, the server may switch processing of client data to another server in response to receiving updated information.
[0089] In some cases, the server can receive from the client the time between the time a frame is ready (e.g., received and decoded at the client) and the time the frame is consumed by the display or other display processing (such as asynchronous reprojection or ATW). The server can adjust the transmission and / or generation time of client data based on this wait time, across some or all of the clients. That is, the server can adjust the order in which client data is generated or sent based on the wait time reported by the client. For example, the wait time can allow the server to shift clients to a later processing or transmission timing in sequence. In some cases, the server can receive downlink time extensions for the arrival of packets (e.g., IP packets) for video frames. In such cases, the server can adjust the transmission and / or generation time for the client based on this time offset.
[0090] As an example, operation 600 may also include the server receiving multiple additional messages from the client, the additional messages including a wait time for processing the generated data at the client or a downlink time extension for packets arriving at the client carrying the generated data. The server may initiate the generation or transmission of additional client data at one or more processing times or at one or more transmission times, the timing of which is at least partially based on the wait time or downlink time extension.
[0091] In some respects, the server can provide clients with various cloud-based services, such as split XR, split rendering, split computing, cloud gaming, live streaming, etc. That is, operation 600 can be implemented for split XR sessions or cloud gaming sessions. For example, client information received at 604 may include headphone orientation information, prediction coefficients for headphone orientation, controller input, or other appropriate processing input for generating data. Data generated at 608 may include one or more rendered video frames, where the server performs rendering based on client information. In various respects, data generated at 606 and sent at 608 may include one or more rendered video frames (e.g., video frames for the right eye and video frames for the left eye), audio streams, and / or instructions for haptic feedback, and the client may display one or more rendered video frames, play audio streams, and / or provide haptic feedback. As an example, video frames may be displayed on an HMD in a split XR setup or on a TV screen in a cloud gaming setup, audio streams may be played through headphone speakers, and haptic feedback may cause the controller to vibrate. The server can generate the data received at 606 based on various inputs provided by the client.
[0092] In some respects, operation 600 can be implemented for split computing applications. For example, the data generated at 606 and transmitted at 608 can be instructions or data for IoT devices, where the server provides low-latency split computing based on sensor data measured by the IoT devices. That is, the client information at 604 can include various sensor measurements, and the server can generate output based on these sensor measurements at 606. The server can interleave or adjust the generation and / or transmission of data for each client based on the information received at 602.
[0093] In some respects, operation 600 can be implemented for live streaming sessions of various content, such as live video streams. For example, the data sent at 608 could be video frames from a live video stream. The server can interleave or adjust the transmission of live streaming content to various clients based on the wireless received at 602.
[0094] Figure 7 This is a signaling flowchart illustrating example operation 700 for interleaving with a client based on wireless network information, according to certain aspects of this disclosure. In this example, UEs 120a and 120b can obtain wireless network information at 702a and 702b, respectively. As described herein, wireless network information can be information associated with the wireless communication to which the UE is connected. For example, wireless network information may include the cell identifier of the serving cell, the beam identifier of the serving cell, the QCL information of the serving cell, the MAC address of the access point, or the network identifier of the network serving the client. At 704a and 704b, UEs 120a and 120b can send wireless network information to server 134 through access network 740. UEs 120a and 120b can send wireless network information when establishing a session with server 134. In various aspects, access network 740 may include various network entities in the wireless communication network, such as base stations, access points, network controllers, or core networks. Optionally, at 706a and 706b, UEs 120a and 120b may send client information (such as headset orientation or controller input) to server 134, for example, in a split XR session or cloud gaming session. Optionally, at 708, server 134 may generate client data based on the client information received at 706a or 706b.
[0095] In some cases, server 134 can interleave or adjust the generation of client data for each of UEs 120a and 120b based on wireless network information. For example, suppose UEs 120a and 120b are connected to the same serving cell. Server 134 can identify that UEs 120a and 120b are connected to the same serving cell based on the cell identifier included in the wireless network information and mapped to the sessions of UEs 120a and 120b. Based on this identification, server 134 can generate client data for UE 120a at a first processing time and client data for UE 120b at a second processing time, wherein the first processing time and the second processing time are offset by a specific duration. In some cases, such as when UEs 120a and 120b are connected to separate cells or separate wireless networks, server 134 can generate client data for UEs 120a and 120b concurrently.
[0096] At 710a and 710b, server 134 can send client data to UEs 120a and 120b via access network 740. In some cases, server 134 can interleave or adjust the transmission of client data for each of UEs 120a and 120b based on wireless network information. For example, suppose UEs 120a and 120b are connected to the same serving cell. At 710a, server 134 can send client data for UE 120a at a first transmission timing, and at 710b, send client data for UE 120b at a second transmission timing, wherein the first transmission timing and the second transmission timing are offset by a specific duration. In some cases, such as when UEs 120a and 120b are connected to separate cells or separate wireless networks, server 134 can concurrently send client data for UEs 120a and 120b at 710a and 710b.
[0097] Optionally, at 712a and 712b, UEs 120a and 120b can display client data as video frames. For example, at 712a, UE 120a can utilize an HMD to display video frames from the generated client data. In some cases, at 712b, UE 120b utilizes the display of a smartphone or tablet device to display the video frames.
[0098] In some respects, the server described in this article can be part of a server cluster that provides various cloud-based services to clients. For example, Figure 8 This is a diagram illustrating an example server cluster 800 communicating with UEs 120a-d via base stations 110a and 110b according to certain aspects of this disclosure. In this example, server cluster 800 may include a first server 802 and a second server 804. Servers 802 and 804 may distribute network information (e.g., network information 806 and 808) received from UEs (e.g., UEs 120a and 120b) and other attributes of the client session. In some cases, servers 802 and 804 may store various attributes of the client session (including network information) in a common data structure, such as a common database 810 accessible by servers 802 and 804. The common data structure may provide a mapping to various attributes of the client session. As an example, attributes of the client session may include one or more of the following: user identifier, session identifier, cell identifier (or other wireless network information), and frame rendering time offset (relative to a pre-configured reference time). In some cases, servers 802 and 804 may exchange mappings of client attributes with each other. As an example, servers 802 and 804 can coordinate to route all users with the same cell identifier to the same server, which can mitigate any inaccuracies in synchronizing client interleaving between servers. In some cases, the central server in server cluster 800 can manage the mapping of client attributes, and servers 802 and 804 can query the central server for attributes. In some cases, servers 802 and 804 can receive instructions from the central server (such as scheduling for processing or transmission timing) based on the mapping of client attributes. Servers 802 and 804 can use network information to determine which UEs can be interleaved for generating and / or transmitting client data, or which UEs can be processed concurrently for generating and / or sending client data.
[0099] In some respects, server cluster 800 can be time-synchronized via time server 812. In various respects, time server 812 can be a Precision Time Protocol (PTP) server or a Network Time Protocol (NTP) server. PTP can provide accuracy in the range of microseconds or nanoseconds (e.g., 100 ns). NTP can provide accuracy in the range of milliseconds or seconds (e.g., 1 ms). Time server 812 can provide a common clock source for server cluster 800 in scheduling the processing of client data and / or the transmission of client data to clients.
[0100] For example, suppose a first server 802 is servicing a session for a first UE 120a, and a second server 804 is servicing a session for a second UE 120b. Because the first UE 120a and the second UE 120b are connected to the same serving cell, servers 802 and 804 can coordinate to interleave the generation of client data and / or the transmission of client data to these UEs. As an example, the first server 802 can generate or send client data for the first UE 120a before the second server 804 generates or sends client data for the second UE 120b. Interleaving the generation and / or transmission of client data for UEs 120a and 120b can reduce the traffic load at base station 110a and enable base station 110a to serve more users. Interleaving the generation and / or transmission of client data for UEs 120a and 120b can provide the desired latency and / or downlink throughput for cloud-based services at UEs 120a and 120b.
[0101] Figure 9A This is a diagram illustrating an example architecture of a communication network 900 according to certain aspects of this disclosure, in which a client application 901 provides network information to a server 134. As shown, UEs 120a and 120b can be connected to base station 110a, and UEs 120c and 120d can be connected to base station 110b. Base stations 110a and 110b can communicate with a RAN centralized unit (RAN-CU) 930 (such as a network controller 130). The RAN-CU 930 can communicate with a core network 132, which in turn communicates with a server 134 (e.g., an edge server). In this example, the client application 901 can obtain network information from the modem of a UE (e.g., UE 120d) and transmit the network information to the server 134 via base station 110b, RAN-CU 930, and core network 132. Server 134 can use network information to determine whether to interleave or adjust the generation of client data and / or the transmission of client data to UE 120d.
[0102] Figure 9B A timing diagram depicting the interleaved transmission of client data by a server according to certain aspects of this disclosure is shown. In this example, the server can transmit data to four UEs (such as...). Figure 9A The UE 120a-120d in the example provides services. Figure 9A As shown, UEs 120a and 120b can connect to base station 110a (cell 1), and UEs 120c and 120d can connect to base station 110b (cell 2). The server can interleave the transmission of client data to UEs 120a-120d based on the serving cell serving the UE. As depicted in timing diagram 902, the server can send client data for UEs 120a and 120c at a first transmission time 906, client data for UE 120b at a second transmission time 908, and client data for UE 120d at a third transmission time 910. The server can repeat this scheduling of interleaving transmissions.
[0103] In various aspects, the server can distribute the transmission of client data across different transmission opportunities 906, 908, and 910. In this example, transmission opportunities for clients from the same serving cell can be interleaved so that they do not overlap; for example, the first transmission opportunity 906 and the second transmission opportunity 908 for UEs 120a and 120b do not overlap. In some cases, transmission opportunities for clients from the same serving cell may partially overlap depending on the network or channel capacity of the RAN serving the client. In some aspects, when generating client data for a specific client at the server, the server can adjust or shift to provide interleaved transmission opportunities. For example, the server can initiate the generation of client data for UE 120a before initiating the generation of client data for UE 120b to provide interleaved transmission opportunities 906 and 908. In some cases, when client data is sent to a specific client, the server can adjust or shift to provide interleaved transmission opportunities. For example, in a live streaming application, the server can send a live streaming content burst to UE 120a at the first transmission time 906 before sending a separate live streaming content burst to UE 120b at the second transmission time 908.
[0104] As depicted in timing diagram 904, client data can reach the UE via corresponding base stations in an interleaved or distributed manner. For example, at a first timing 912 corresponding to a first transmission timing 906, UE 120a can receive client data via base station 110a, and at a second timing 914 corresponding to a second transmission timing 908, UE 120b can receive client data via base station 110a. For base station 110b, UE 120c can receive client data at a third timing 916 corresponding to the first transmission timing 906, and UE 120d can receive client data at a fourth timing 918 corresponding to the third transmission timing 910.
[0105] Although for ease of understanding, this article describes the interleaving of transmission timing in Figure 9B The examples depicted herein are merely examples; however, various aspects of this disclosure can also be applied to stagger or adjust the timing of processing.
[0106] Figure 10 This is a timing diagram illustrating the delivery of client data from a server to a client according to certain aspects of this disclosure. As shown, a client (e.g., UE 120a) may send client / network information 1002 (or network information) to the RAN. Client / network information 1002 may take a certain duration to propagate to the RAN, and the RAN may take a certain time to forward client / network information 1002 to the server. Optionally, the server may generate client data 1004 (e.g., video frames) based on client information (such as headset orientation, controller input, or other processing input). In such a case, the server may initiate the generation of client data at processing time 1006. That is, processing time 1006 may be when the server initiates the generation of client data (such as video frames). The server may send client data 1004 to the client via the RAN at transmission time 1008. That is, transmission time 1008 may be when the server initiates the transmission of client data. In some aspects, the server may send a live stream to the client. In this case, due to the negligible processing involved in the content recorded in the streaming, the server can adjust or interleave only the transmission timing 1008.
[0107] The RAN can forward client data 1004 to the client, and this process may take a certain amount of time. The client can receive client data 1004. In some cases, the client can perform processing on the client data, such as decoding video frames or audio streams. In some cases, the client can display the client data via a display, for example, at display timing 1010. In this example, the timeline shows that the server can shift processing timing 1006 or transmission timing 1008 to interleave, adjust, or distribute the arrival of client data at the RAN / UE, for example, as described herein. Figure 9B As described.
[0108] Figure 11 This is a timing diagram illustrating an example of the time-distribution of clients according to certain aspects of this disclosure. As shown in the first timing diagram 1102, the server can concurrently serve multiple clients 1106, 1108, 1110 (e.g., sending or generating client data within the same time period or in overlapping time periods). As depicted in timing diagram 1104, the server can distribute the timing of generating or sending client data for clients 1106, 1108, 1110.
[0109] While various examples of split XR applications are described in this document for ease of understanding, aspects of this disclosure can also be applied to a variety of other cloud-based or edge-based services, such as cloud gaming, split rendering, split compute, and / or live streaming services.
[0110] Figure 12 A communication device 1200 (e.g., UE 120) is illustrated. The communication device 1200 may include operations configured to perform the techniques disclosed herein (such as in...). Figure 5 The communication device 1200 includes various components (e.g., corresponding to functional module components) of the operation shown herein. The communication device 1200 includes a processing system 1202 coupled to a transceiver 1208 (e.g., a transmitter and / or receiver). The transceiver 1208 is configured to transmit and receive signals for the communication device 1200 via an antenna 1210, such as the various signals described herein. The processing system 1202 may be configured to perform processing functions for the communication device 1200, including processing signals received and / or to be transmitted by the communication device 1200.
[0111] Processing system 1202 includes processor 1204 coupled to computer-readable medium / memory 1212 via bus 1206. In some aspects, computer-readable medium / memory 1212 is configured to store instructions (e.g., computer-executable code) that, when executed by processor 1204, cause processor 1204 to perform... Figure 5 The operations shown may be other operations used to perform the various techniques discussed herein for interleaving clients. In some aspects, the computer-readable medium / memory 1212 stores: code 1214 for receiving; code 1216 for transmitting; code 1218 for acquiring; code 1220 for switching; and / or code 1222 for display. In some aspects, the processor 1204 has circuitry configured to implement the code stored in the computer-readable medium / memory 1212. The processor 1204 includes: circuitry 1224 for receiving; circuitry 1226 for transmitting; circuitry 1228 for acquiring; circuitry 1230 for switching; and / or circuitry 1232 for display.
[0112] Figure 13 A communication device 1300 (e.g., server 134) is shown. The communication device 1300 may include operations configured to perform the techniques disclosed herein (such as in...). Figure 6 The communication device 1300 includes various components (e.g., corresponding to functional module components) of the operation shown herein. The communication device 1300 includes a processing system 1302 coupled to a network interface 1308. The network interface 1308 is configured to transmit and receive signals for the communication device 1300, such as the various signals described herein, via a wired or optical interface. As an example, the network interface 1308 may communicate with one or more base stations (such as base station 110). The processing system 1302 may be configured to perform processing functions for the communication device 1300, including processing signals received and / or to be transmitted by the communication device 1300. The network interface 1308 may be coupled to the processing system via a bus 1306.
[0113] Processing system 1302 includes processor 1304 coupled to computer-readable medium / memory 1312 via bus 1306. In some aspects, computer-readable medium / memory 1312 is configured to store instructions (e.g., computer-executable code) that, when executed by processor 1304, cause processor 1304 to perform... Figure 6 The operations shown may be other operations used to perform the various techniques discussed herein for interleaving clients. In some aspects, the computer-readable medium / memory 1312 stores: code 1314 for receiving; code 1316 for transmitting; code 1318 for generating; code 1320 for obtaining; code 1322 for selecting; and / or code 1324 for initiating. In some aspects, the processor 1304 has circuitry configured to implement the code stored in the computer-readable medium / memory 1312. The processor 1304 includes: circuitry 1326 for receiving; circuitry 1328 for transmitting; circuitry 1330 for generating; circuitry 1332 for obtaining; circuitry 1334 for selecting; and / or circuitry 1336 for initiating.
[0114] Example
[0115] In addition to the aspects mentioned above, specific combinations of these aspects are also within the scope of this disclosure, and some of these combinations are described in detail below:
[0116] Aspect 1: A client for transmitting information associated with a wireless communication network to a server, comprising: a modem; a memory; and a processor coupled to the memory and the modem, the processor and the memory being configured to: obtain the information associated with the wireless communication network from the modem, send a first message including the information to the server at an application level, and receive data from the server at a time determined based on the information.
[0117] Aspect 2: The client according to Aspect 1, wherein the information includes at least one of the following: a cell identifier of the serving cell of the client; a beam identifier of the serving cell; quasi-co-address (QCL) information associated with a reference signal of the serving cell; a media access control (MAC) address of the access point serving the client; or a network identifier of the network serving the client.
[0118] Aspect 3: The client according to either aspect 1 or 2, wherein the first message is a Session Description Protocol (SDP) message for Session Initiation Protocol (SIP).
[0119] Aspect 4: A client according to any one of Aspects 1-3, wherein the processor and the memory are further configured to: send a second message to the server, the second message including a waiting time for processing the data at the client or a downlink time extension for a packet arriving at the client carrying the data, wherein the time is also determined based on the second message; and, in response to the second message, receive additional data from the server at another time determined based on the information and the second message.
[0120] Aspect 5: The client according to any one of Aspects 1-4, wherein the processor and the memory are further configured to: switch from the serving cell to the target cell, and based on the switch, send updated information to the server for indicating the cell identifier of the target cell.
[0121] Aspect 6: The client according to any one of Aspects 1-5, wherein: the processor and the memory are further configured to: send a second message including client information to the server; and the apparatus further includes a display configured to display the data as one or more rendered video frames, wherein the data includes the one or more rendered video frames, and the data is generated based on the client information included in the second message.
[0122] Aspect 7: A server for sending client data, comprising: a memory; and a processor coupled to the memory, the processor and the memory being configured to: receive a plurality of messages from a plurality of clients, wherein at least two of the messages include information associated with one or more wireless communication networks; and, based on the information, send client data to at least one of the clients at one or more transmission times.
[0123] Aspect 8: The server according to Aspect 7, wherein the processor and the memory are further configured to: obtain additional information associated with the one or more wireless communication networks and additional clients, select a set of clients among the clients and the additional clients based at least in part on the information and the additional information, and send the client data to the set of clients.
[0124] Aspect 9: The server according to aspect 8, wherein the processor and the memory are configured to select the group of clients having at least one of the following: the same cell identifier of the serving cell, the same beam identifier of the serving cell, the same quasi-co-address (QCL) information associated with the reference signal of the serving cell, the same medium access control (MAC) address of the access point, or the same network identifier of the network.
[0125] Aspect 10: The server according to either aspect 8 or 9, wherein the processor and the memory are configured to obtain the additional information from a database or another server.
[0126] Aspect 11: A server according to any one of Aspects 7-10, wherein the processor and the memory are further configured to: obtain additional information associated with the one or more wireless communication networks and additional clients; select a set of clients among the clients and the additional clients based at least in part on the information and the additional information; and send a schedule to another server indicating the timing of the one or more transmissions for the set of clients, wherein the server and the other server are time-synchronized with each other.
[0127] Aspect 12: The server according to aspect 11, wherein the scheduling is determined based on the session establishment time of the group of clients or the round-trip latency of the group of clients.
[0128] Aspect 13: A server according to any one of aspects 7-12, wherein the processor and the memory are further configured to: initiate the generation of client data at one or more processing times, the timing of the one or more processing times being at least partially based on the information.
[0129] Aspect 14: A server according to any one of aspects 7-13, wherein the processor and the memory are further configured to: initiate the transmission of client data at one or more transmission opportunities, the timing of the one or more transmission opportunities being at least partially based on the information.
[0130] Aspect 15: A server according to any one of Aspects 7-14, wherein the information includes at least one of the following: one or more cell identifiers of the serving cell of the client; one or more beam identifiers of the serving cell; quasi-co-address (QCL) information associated with one or more reference signals of the serving cell; one or more media access control (MAC) addresses of the access point serving the client; or one or more network identifiers of the network serving the client.
[0131] Aspect 16: A server according to any one of Aspects 7-15, wherein the message is a Session Description Protocol (SDP) message for Session Initiation Protocol (SIP).
[0132] Aspect 17: A server according to any one of aspects 7-16, wherein the processor and the memory are further configured to: receive updated information from one of the clients for indicating a cell identifier of a serving cell, and initiate the generation of client data at one or more processing times, the timing of the one or more processing times being at least partially based on the cell identifier.
[0133] Aspect 18: According to any one of Aspects 7-17, the processor and the memory are further configured to: receive, via the server, a plurality of additional messages from the client, the plurality of additional messages including a waiting time for processing the data at the client or a downlink time extension for packets arriving at the client and carrying the data, and to initiate the generation or transmission of additional client data at one or more processing times or at one or more transmission times, the timing of the one or more processing times or the one or more transmission times being at least partially based on the waiting time or the downlink time extension.
[0134] Aspect 19: A server according to any one of aspects 7-18, wherein the processor and the memory are further configured to: receive a plurality of additional messages including client information from the client, and in response to the additional messages, render one or more video frames for at least one of the clients based on the information and the client information, wherein the client data includes the rendered one or more video frames.
[0135] Aspect 20: A method for transmitting information associated with a wireless communication network from a client to a server, comprising: obtaining the information associated with the wireless communication network from a modem by the client; sending a first message including the information from the client to the server at an application level; and receiving data from the server by the client at a time determined based on the information.
[0136] Aspect 21: According to the method of aspect 20, wherein the information includes at least one of the following: a cell identifier of the serving cell of the client; a beam identifier of the serving cell; quasi-co-address (QCL) information associated with a reference signal of the serving cell; a media access control (MAC) address of the access point serving the client; or a network identifier of the network serving the client.
[0137] Aspect 22: The method according to any one of aspects 20 or 21 further includes: the client switching from the serving cell to the target cell; and sending updated information from the client to the server based on the switch, indicating the cell identifier of the target cell.
[0138] Aspect 23: A method for sending client data, comprising: receiving by a server a plurality of messages from a plurality of clients, wherein at least two of the messages include information associated with one or more wireless communication networks; and sending client data from the server to at least one of the clients at one or more transmission times based on the information.
[0139] Aspect 24: The method according to aspect 23 further includes: obtaining additional information associated with the one or more wireless communication networks and additional clients; selecting a set of clients among the clients and the additional clients based at least in part on the information and the additional information; wherein sending the client data includes sending the client data from the server to the set of clients.
[0140] Aspect 25: The method according to any one of aspects 23 or 24 further includes: obtaining additional information associated with the one or more wireless communication networks and additional clients; selecting a set of clients among the clients and the additional clients based at least in part on the information and the additional information; and sending a schedule to another server indicating the timing of the one or more transmissions for the set of clients, wherein the server and the other server are time-synchronized with each other.
[0141] Aspect 26: The method according to any one of aspects 23-25 further includes: initiating the generation of the client data at one or more processing times, the timing of the one or more processing times being at least partially based on the information.
[0142] Aspect 27: The method according to any one of Aspects 23-26, wherein the information includes at least one of the following: one or more cell identifiers of the serving cell of the client; one or more beam identifiers of the serving cell; quasi-co-address (QCL) information associated with one or more reference signals of the serving cell; one or more media access control (MAC) addresses of the access point serving the client; or one or more network identifiers of the network serving the client.
[0143] Aspect 28: The method according to any one of aspects 23-27 further includes: receiving, by the server, updated information from one of the clients indicating a cell identifier of a serving cell; and initiating the generation of client data at one or more processing times, the timing of the one or more processing times being at least partially based on the cell identifier.
[0144] Aspect 29: The method according to any one of aspects 23-28 further comprises: receiving by the server a plurality of additional messages from the client, the plurality of additional messages including a waiting time for processing the data at the client or a downlink time extension for packets arriving at the client and carrying the data; and initiating the generation or transmission of additional client data at one or more processing times or at one or more transmission times, the timing of the one or more processing times or the one or more transmission times being at least partially based on the waiting time or the downlink time extension.
[0145] Aspect 30: The method according to any one of aspects 23-29 further includes: receiving from the client by the server a plurality of additional messages including client information; and in response to the additional messages, rendering by the server one or more video frames for at least one of the clients based on the information and the client information, wherein the client data includes the rendered one or more video frames.
[0146] Aspect 31: A method for transmitting information associated with a wireless communication network from a client to a server, comprising: obtaining, by the client, information associated with the wireless communication network from a modem; sending, at an application level, a first message including the information from the client to the server; and receiving, by the client, data from the server at a time determined based on the information.
[0147] Aspect 32: According to the method of aspect 31, wherein the information includes at least one of the following: a cell identifier of the serving cell of the client; a beam identifier of the serving cell; quasi-co-address (QCL) information associated with a reference signal of the serving cell; a media access control (MAC) address of the access point serving the client; or a network identifier of the network serving the client.
[0148] Aspect 33: The method according to either aspect 31 or 32, wherein the first message is a Session Description Protocol (SDP) message for Session Initiation Protocol (SIP).
[0149] Aspect 34: The method according to any one of aspects 31-33 further includes: sending a second message from the client to the server, the second message including a waiting time for processing the data at the client or a downlink time extension for a packet arriving at the client carrying the data, wherein the time is also determined based on the second message; and in response to the second message, receiving additional data from the server at another time determined based on the information and the second message.
[0150] Aspect 35: The method according to any one of aspects 31-34 further includes: the client switching from the serving cell to the target cell; and sending updated information from the client to the server based on the switch, indicating the cell identifier of the target cell.
[0151] Aspect 36: The method according to any one of aspects 31-35 further includes: sending a second message including client information from the client to the server; and having the client display the data as one or more rendered video frames, wherein the data includes the one or more rendered video frames, and the data is generated based on the client information included in the second message.
[0152] Aspect 37: A method of sending client data, comprising: receiving by a server a plurality of messages from a plurality of clients, wherein at least two of the messages include information associated with one or more wireless communication networks; and sending client data from the server to at least one of the clients at one or more transmission times based on the information.
[0153] Aspect 38: The method according to aspect 37 further includes: obtaining additional information associated with the one or more wireless communication networks and additional clients; selecting a set of clients among the clients and the additional clients based at least in part on the information and the additional information; wherein sending the client data includes: sending the client data from the server to the set of clients.
[0154] Aspect 39: According to the method of aspect 38, selecting the set of clients includes: selecting the set of clients having at least one of the following: the same cell identifier of the serving cell, the same beam identifier of the serving cell, the same quasi-co-address (QCL) information associated with the reference signal of the serving cell, the same medium access control (MAC) address of the access point, or the same network identifier of the network.
[0155] Aspect 40: The method according to any one of aspects 38 or 39, wherein obtaining the additional information includes obtaining the additional information from a database or another server.
[0156] Aspect 41: The method according to any one of aspects 37-40 further includes: obtaining additional information associated with the one or more wireless communication networks and additional clients; selecting a set of clients among the clients and the additional clients based at least in part on the information and the additional information; and sending a schedule to another server indicating the timing of the one or more transmissions for the set of clients, wherein the server and the other server are time-synchronized with each other.
[0157] Aspect 42: According to the method of aspect 41, wherein the scheduling is determined based on the session establishment time of the group of clients or the round-trip latency of the group of clients.
[0158] Aspect 43: The method according to any one of aspects 37-42 further includes: initiating the generation of the client data at one or more processing times, the timing of the one or more processing times being at least partially based on the information.
[0159] Aspect 44: According to the method of any one of aspects 37-43, sending the client data includes: initiating the transmission of the client data at one or more transmission times, the timing of the one or more transmission times being at least partially based on the information.
[0160] Aspect 45: The method according to any one of aspects 37-44, wherein the information includes at least one of the following: one or more cell identifiers of the serving cell of the client; one or more beam identifiers of the serving cell; quasi-co-address (QCL) information associated with one or more reference signals of the serving cell; one or more media access control (MAC) addresses of the access point serving the client; or one or more network identifiers of the network serving the client.
[0161] Aspect 46: The method according to any one of aspects 37-45, wherein the message is a Session Description Protocol (SDP) message for Session Initiation Protocol (SIP).
[0162] Aspect 47: The method according to any one of aspects 37-46 further includes: receiving, by the server, updated information from one of the clients indicating a cell identifier of a serving cell; and initiating the generation of client data at one or more processing times, the timing of the one or more processing times being at least partially based on the cell identifier.
[0163] Aspect 48: The method according to any one of aspects 37-47 further comprises: receiving by the server from the client a plurality of additional messages, the plurality of additional messages including a waiting time for processing the data at the client or a downlink time extension for packets arriving at the client and carrying the data; and initiating the generation or transmission of additional client data at one or more processing times or at one or more transmission times, the timing of the one or more processing times or the one or more transmission times being at least partially based on the waiting time or the downlink time extension.
[0164] Aspect 49: An apparatus comprising: a memory including computer-executable instructions; one or more processors configured to execute the computer-executable instructions and cause the processing system to perform the method according to any one of aspects 20-48.
[0165] Aspect 50: An apparatus comprising: a unit for performing the method according to any one of aspects 20-48.
[0166] Aspect 51: A computer-readable medium including computer-executable instructions that, when executed by one or more processors of a processing system, cause the processing system to perform the method according to any one of aspects 20-48.
[0167] Aspect 52: A computer program product embodied on a computer-readable storage medium, comprising: code for performing the method described in any one of aspects 20-48.
[0168] The techniques described in this article can be used in various wireless communication technologies, such as NR (e.g., 5G NR), 3GPP Long Term Evolution (LTE), Improved LTE (LTE-A), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal Frequency Division Multiple Access (OFDMA), Single Carrier Frequency Division Multiple Access (SC-FDMA), Time Division Synchronous Code Division Multiple Access (TD-SCDMA), and other networks. The terms "network" and "system" are often used interchangeably. CDMA networks can implement radio technologies such as Universal Terrestrial Radio Access (UTRA), cdma2000, etc. UTRA includes Wideband CDMA (WCDMA) and other variations of CDMA. cdma2000 covers the IS-2000, IS-95, and IS-856 standards. TDMA networks can implement radio technologies such as Global System for Mobile Communications (GSM). OFDMA networks can implement radio technologies such as NR (e.g., 5G RA), evolved UTRA (E-UTRA), Ultra Mobile Broadband (UMB), IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, and Flash-OFDMA. UTRA and E-UTRA are part of the Universal Mobile Telecommunications System (UMTS). LTE and LTE-A are versions of UMTS using E-UTRA. UTRA, E-UTRA, UMTS, LTE, LTE-A, and GSM are described in documents from an organization called the 3rd Generation Partnership Project (3GPP). CDMA2000 and UMB are described in documents from an organization called the 3rd Generation Partnership Project 2 (3GPP2). NR is an emerging wireless communication technology under development.
[0169] In 3GPP, the term "cell" can refer to the coverage area of a Node B (NB) and / or the NB subsystem serving that coverage area, depending on the context in which the term is used. In NR systems, the term "cell" and BS, Next Generation Node B (gNB or gNodeB), Access Point (AP), Distributed Unit (DU), Carrier or Transmitter / Receiver Point (TRP) are used interchangeably. A BS can provide communication coverage for macrocells, picocells, femtocells, and / or other types of cells. A macrocell can cover a relatively large geographic area (e.g., a radius of several kilometers) and can allow unrestricted access by UEs with service subscriptions. A picocell can cover a relatively small geographic area and can allow unrestricted access by UEs with service subscriptions. A femtocell can cover a relatively small geographic area (e.g., a residential area) and can allow restricted access by UEs associated with that femtocell (e.g., UEs in a Closed Subscriber Group (CSG), UEs for users in a residential area, etc.). A BS used for a macrocell can be called a macro BS. A BS used for a picocell can be called a pico BS. A BS used for a femtocell can be called a femtocell BS or a home BS.
[0170] A UE can also be referred to as a mobile station, terminal, access terminal, subscriber unit, station, customer premises equipment (CPE), cellular phone, smartphone, personal digital assistant (PDA), wireless modem, wireless communication device, handheld device, laptop computer, cordless phone, wireless local loop (WLL) station, tablet computer, camera, gaming device, netbook, smartbook, ultrabook, appliance, medical device or medical equipment, biometric sensor / device, wearable device (such as smartwatch, smart clothing, smart glasses, smart wristband, smart jewelry (e.g., smart ring, smart bracelet, etc.)), entertainment device (e.g., music device, video device, satellite radio unit, etc.), vehicle component or sensor, smart meter / sensor, industrial manufacturing equipment, GPS device, or any other suitable device configured to communicate via wireless or wired media. Some UEs can be considered machine-type communication (MTC) devices or evolved MTC (eMTC) devices. MTC and eMTC UEs include, for example, robots, drones, remote devices, sensors, instruments, monitors, location tags, etc., which can communicate with a BS, 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 UEs can be considered Internet of Things (IoT) devices, which may be narrowband IoT (NB-IoT) devices.
[0171] In some examples, access to the air interface can be scheduled. A scheduling entity (e.g., a BS) allocates resources for communication among some or all of the devices and apparatuses within its service area or cell. The scheduling entity can be responsible for scheduling, assigning, reconfiguring, and releasing resources for one or more subordinate entities. That is, for scheduled communication, the subordinate entity utilizes the resources allocated by the scheduling entity. A base station is not the only entity that can be used as a scheduling entity. In some examples, a UE can be used as a scheduling entity, and can schedule resources for one or more subordinate entities (e.g., one or more other UEs), and other UEs can utilize the resources scheduled by that UE for wireless communication. In some examples, a UE can be used as a scheduling entity in peer-to-peer (P2P) networks and / or mesh networks. In mesh network examples, in addition to communicating with a scheduling entity, UEs can also communicate directly with each other.
[0172] The methods disclosed herein include one or more steps or actions for implementing the methods. The method steps and / or actions may be interchanged without departing from the scope of the claims. In other words, unless a specific order of steps or actions is specified, the order and / or use of a particular step and / or action may be modified without departing from the scope of the claims.
[0173] As used herein, the phrase "at least one of the items" in a list of items refers to any combination of those items, including a single member. For example, "at least one of a, b, or c" is intended to cover a, b, c, ab, ac, bc, and abc, as well as any combination of multiples of the same element (e.g., aa, aaa, aab, aac, abb, acc, bb, bbb, bbc, cc, and ccc, or any other ordering of a, b, and c).
[0174] As used herein, the term "determine" encompasses a wide variety of actions. For example, "determine" can include calculation, operation, processing, deduction, investigation, lookup (e.g., searching in a table, database, or other data structure), inference, and so on. Furthermore, "determine" can include receiving (e.g., receiving information), accessing (e.g., accessing data in memory), and so on. Additionally, "determine" can include parsing, selecting, picking, building, and so on.
[0175] The foregoing description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be apparent to those skilled in the art, and the general principles defined herein can be applied to other aspects. Therefore, the claims are not intended to be limited to the aspects shown herein, but are given the full scope consistent with the text of the claims, wherein, unless specifically stated otherwise, references to elements in the singular form are not intended to mean "one and only one," but rather "one or more." Unless otherwise expressly stated, the term "some" refers to one or more. All structural and functional equivalents of elements throughout the various aspects described in this disclosure that are known or to be known by those skilled in the art are expressly incorporated herein by reference and are intended to be included by the claims. Furthermore, nothing disclosed herein is intended to be offered to the public, whether or not such disclosure is expressly stated in the claims. No claim element is to be interpreted pursuant to 35 U.SC §112(f) unless the element is expressly stated using the phrase "for a unit of," or, in the case of a method claim, using the phrase "for a step of."
[0176] The various operations of the methods described above can be performed by any suitable unit capable of performing the corresponding function. Units may include various hardware and / or software components and / or modules, including but not limited to: circuits, application-specific integrated circuits (ASICs), or processors. Typically, in the presence of operations as shown in the figures, those operations may have corresponding paired functional module components with similar numbering.
[0177] The various illustrative logic blocks, modules, and circuits described in connection with this disclosure can be implemented or executed using a general-purpose processor, digital signal processor (DSP), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA) or other programmable logic device (PLD), discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. The general-purpose processor may be a microprocessor, but alternatively, the processor may be any commercially available processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors combined with a DSP core, or any other such configuration.
[0178] If implemented in hardware, an example hardware configuration could include a processing system in a wireless node. The processing system could utilize a bus architecture. Depending on the specific application and overall design constraints of the processing system, the bus could include any number of interconnect buses and bridges. The bus could link together various circuits, including a processor, machine-readable media, and a bus interface. The bus interface could be used to connect network adapters, etc., to the processing system via the bus. The network adapter could be used to implement signal processing functions at the PHY layer. In user terminal 120 (see...) Figure 1 In this case, the user interface (e.g., keypad, display, mouse, joystick, etc.) can also be connected to a bus. The bus can also link various other circuits such as timing sources, peripherals, voltage regulators, power management circuits, etc., which are well known in the art and therefore will not be described further. The processor can be implemented using one or more general-purpose and / or special-purpose processors. Examples include microprocessors, microcontrollers, DSP processors, and other circuits capable of executing software. Those skilled in the art will recognize that how best to implement the functions described for the processing system depends on the specific application and the overall design constraints imposed on the system as a whole.
[0179] If implemented in software, the functionality can be stored as one or more instructions or code on or transmitted via a computer-readable medium. Whether referred to as software, firmware, middleware, microcode, hardware description language, or other terms, software should be broadly interpreted as instructions, data, or any combination thereof. Computer-readable media includes both computer storage media and communication media, with communication media encompassing any medium that facilitates the transfer of a computer program from one place to another. The processor may be responsible for managing the bus and general-purpose processing, including executing software modules stored on the machine-readable storage medium. The computer-readable storage medium may be coupled to the processor so that the processor can read information from and write information to the storage medium. Alternatively, the storage medium may be integrated into the processor. For example, the machine-readable medium may include a transmission line, a carrier wave modulated by data, and / or a separate computer-readable storage medium containing instructions stored thereon, all of which may be accessible to the processor via a bus interface. Alternatively or additionally, the machine-readable medium or any portion thereof may be integrated into the processor; for example, this could be a cache and / or a general-purpose register file. For example, examples of machine-readable storage media may include RAM (random access memory), flash memory, ROM (read-only memory), PROM (programmable read-only memory), EPROM (erasable programmable read-only memory), EEPROM (electrically erasable programmable read-only memory), registers, disks, optical disks, hard drives, or any other suitable storage media, or any combination thereof. Machine-readable media may be embodied in a computer program product.
[0180] Software modules may include a single instruction or a number of instructions, and may be distributed across several different code segments, within different programs, and across multiple storage media. Computer-readable media may include multiple software modules. A software module includes instructions that, when executed by a device such as a processor, cause a processing system to perform various functions. A software module may include sending modules and receiving modules. Each software module may reside in a single storage device or be distributed across multiple storage devices. For example, when a triggering event occurs, a software module may be loaded from a hard drive into RAM. During the execution of a software module, the processor may load some of the instructions into a cache to increase access speed. One or more cache lines may then be loaded into a general-purpose register file for execution by the processor. It will be understood that when the functionality of a software module is referred to below, such functionality is implemented by the processor when executing the instructions from that software module.
[0181] Furthermore, any connection is appropriately referred to as computer-readable medium. For example, if software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technology (such as infrared (IR), radio, and microwave), then coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technology (such as infrared, radio, and microwave) is included in the definition of medium. As used herein, disk and disc include compressed optical disc (CD), laser disc, optical disc, digital versatile optical disc (DVD), floppy disk, and... Optical discs, where magnetic disks typically copy data magnetically, use lasers to optically copy data. Therefore, in some aspects, computer-readable media can include non-transitory computer-readable media (e.g., tangible media). Furthermore, in other aspects, computer-readable media can include transient computer-readable media (e.g., signals). Combinations of the above should also be included within the scope of computer-readable media.
[0182] Therefore, certain aspects may include computer program products for performing the operations given herein. For example, such computer program products may include computer-readable media having instructions stored (and / or encoded thereon) thereon, which can be executed by one or more processors to perform the operations described herein. For example, for performing the operations described herein and in… Figure 5-7 The instructions for the operation are shown in the image.
[0183] Furthermore, it should be recognized that modules and / or other suitable units for performing the methods and techniques described herein can be downloaded and / or otherwise obtained by the user terminal and / or base station where applicable. For example, such a device can be coupled to a server to facilitate the transmission of units for performing the methods described herein. Alternatively, the various methods described herein can be provided via storage units (e.g., RAM, ROM, physical storage media such as compressed optical discs (CDs) or floppy disks, etc.) so that the user terminal and / or base station can obtain the various methods when the storage units are coupled to or provided to the device. Furthermore, any other suitable techniques for providing the methods and techniques described herein to the device can be utilized.
[0184] It should be understood that the claims are not limited to the precise configurations and components shown above. Various modifications, alterations, and variations may be made to the arrangement, operation, and details of the methods and apparatus described above without departing from the scope of the claims.< / cid> < / mcc> < / mnc>
Claims
1. A client for transmitting information associated with a wireless communication network from a client to a server, comprising: modem; Memory; as well as A processor coupled to the memory and the modem, the processor and the memory being configured as follows: Information associated with the wireless communication network is obtained from the modem, wherein the information includes the cell identifier of the serving cell of the client; At the application level, a first message including the information is sent to the server, wherein the first message is a Session Description Protocol (SDP) message for Session Initiation Protocol (SIP); At the application level, a second message is sent to the server, the second message including client information for generating data; Send a third message to the server, the third message including a wait time for processing the data at the client or a downlink time extension for packets arriving at the client; and The data is received from the server based on the second message, wherein the data is received at a time determined based on the information associated with the wireless communication network and based on the waiting time or the downlink time extension of the packet arriving at the client.
2. The client of claim 1, wherein, The information also includes at least one of the following: The beam identifier of the serving cell; Quasi-co-address (QCL) information associated with the reference signal of the serving cell; The media access control (MAC) address of the access point serving the client; or The network identifier of the network that serves the client.
3. The client according to claim 1, wherein, The time is still determined based on the third message; and The processor and the memory are further configured to receive additional data from the server at another time determined based on the information and the third message, in response to the third message.
4. The client of claim 1, wherein, The processor and the memory are further configured to: Switching from the serving cell to the target cell, and Based on the handover, the server is sent updated information indicating the cell identifier of the target cell.
5. The client according to claim 1, wherein: The client information includes client gesture information or client controller information; and The client also includes a display configured to display the data as one or more rendered video frames, wherein the data includes the one or more rendered video frames and the data is generated based on the client information included in the second message.
6. A server for sending client data, comprising: Memory; as well as A processor coupled to the memory, the processor and the memory being configured as follows: Multiple messages are received from multiple clients, wherein at least two of the messages include information associated with one or more wireless communication networks, wherein each message is a Session Description Protocol (SDP) message for Session Initiation Protocol (SIP), wherein the multiple messages include a first message containing information including a cell identifier of the serving cell of one of the multiple clients, and wherein the multiple messages further include a second message and a third message, wherein the second message includes client information for generating client data, and the third message includes a waiting time for processing the client data at each client or a downlink time extension for packets arriving at each client; and Based on the information, client data is sent to at least one of the clients at one or more transmission times, wherein the client data is sent at a time determined based on the first message including information of the cell identifier of the serving cell containing one of the plurality of clients and based on the waiting time or the downlink time extension of the packet arriving at the client.
7. The server of claim 6, wherein, The processor and the memory are further configured to: To obtain additional information associated with the one or more wireless communication networks and additional clients. Based at least in part on the information and the additional information, a set of clients is selected from the client and the additional clients. The client data is sent to the group of clients, wherein the processor and the memory are further configured to select the group of clients that have the same beam identifier of the serving cell.
8. The server of claim 7, wherein, The processor and the memory are also configured to select the set of clients having at least one of the following: The same cell identifier serving the cell. The same beam identifier for the serving cell. The same quasi-co-location (QCL) information associated with the reference signal of the serving cell. The same Media Access Control (MAC) address for the access point, or The same network identifier for the network.
9. The server of claim 7, wherein, The processor and the memory are configured to obtain the additional information from a database or another server.
10. The server of claim 6, wherein, The processor and the memory are further configured to: To obtain additional information associated with the one or more wireless communication networks and additional clients. Based at least in part on the information and the additional information, a set of clients is selected from the client and the additional clients. Sending a scheduling instruction for one or more transmission times for the group of clients to another server, wherein the server and the other server are time-synchronized with each other.
11. The server of claim 10, wherein, The scheduling is determined based on the session establishment time of the group of clients or the round-trip latency of the group of clients.
12. The server of claim 6, wherein, The processor and the memory are further configured to initiate the generation of client data at one or more processing times, the timing of which is at least partially based on the information.
13. The server of claim 6, wherein, The processor and the memory are further configured to initiate the transmission of client data at one or more transmission points, the timing of which is at least partially based on the information.
14. The server of claim 6, wherein, The information includes at least one of the following: One or more cell identifiers of the serving cell of the client; One or more beam identifiers of the serving cell; Quasi-co-location (QCL) information associated with one or more reference signals of the serving cell; One or more Media Access Control (MAC) addresses for the access point serving the client; or One or more network identifiers of the network that serves the client.
15. The server of claim 6, wherein, The processor and the memory are further configured to: Receive updated information from one of the clients, indicating the cell identifier of the serving cell, and The generation of client data is initiated at one or more processing points, the timing of which is at least partially based on the cell identifier.
16. The server of claim 6, wherein the processor and the memory are further configured to: Receives multiple additional messages from the client, including a wait time for processing the data at the client or a downlink time extension for packets arriving at the client carrying the data. The generation or transmission of additional client data is initiated at one or more processing times or at one or more transmission times, the timing of which one or more processing times or the one or more transmission times is at least partially based on the wait time or the downlink time extension.
17. The server of claim 6, wherein, The processor and the memory are further configured to: Receive multiple additional messages from the client, including client information, and In response to the additional message, the server renders one or more video frames for at least one of the clients based on the information and the client information, wherein the client data includes the rendered one or more video frames.
18. A method for transmitting information associated with a wireless communication network from a client to a server, comprising: The client obtains information associated with the wireless communication network from the modem, wherein the information includes the cell identifier of the client's serving cell; At the application level, a first message including the information is sent from the client to the server, wherein the first message is a Session Description Protocol (SDP) message for Session Initiation Protocol (SIP); At the application level, a second message is sent to the server, the second message including client information for generating data; Send a third message to the server, the third message including a wait time for processing the data at the client or a downlink time extension for packets arriving at the client; and The client receives the data from the server based on the second message, wherein the data is received at a time determined based on the information associated with the wireless communication network and based on the waiting time or the downlink time extension of the packet arriving at the client.
19. The method of claim 18, wherein, The information also includes at least one of the following: The beam identifier of the serving cell; Quasi-co-address (QCL) information associated with the reference signal of the serving cell; The media access control (MAC) address of the access point serving the client; or The network identifier of the network that serves the client.
20. The method of claim 18, further comprising: The client switches from the serving cell to the target cell. as well as Based on the handover, the client sends updated information to the server indicating the cell identifier of the target cell.
21. A method for sending client data, comprising: A server receives multiple messages from multiple clients, wherein at least two of the messages include information associated with one or more wireless communication networks, wherein each message is a Session Description Protocol (SDP) message for Session Initiation Protocol (SIP), wherein the multiple messages include a first message containing information including a cell identifier of the serving cell of one of the multiple clients, and wherein the multiple messages further include a second message and a third message, wherein the second message includes client information for generating client data, and the third message includes a waiting time for processing the client data at each client or a downlink time extension for packets arriving at each client; and Based on the information, client data is sent from the server to at least one of the clients at one or more transmission times, wherein the client data is sent at a time determined based on the first message including information of the cell identifier of the serving cell containing one of the plurality of clients and based on the waiting time or the downlink time extension of the packet arriving at the client.
22. The method of claim 21, further comprising: To obtain additional information associated with the one or more wireless communication networks and additional clients; Based at least in part on the information and the additional information, a set of clients is selected from the client and the additional clients; Sending the client data includes sending the client data from the server to the group of clients.
23. The method of claim 21, further comprising: To obtain additional information associated with the one or more wireless communication networks and additional clients; Based at least in part on the information and the additional information, a set of clients is selected from the client and the additional clients; as well as Sending a scheduling instruction for one or more transmission times for the group of clients to another server, wherein the server and the other server are time-synchronized with each other.
24. The method of claim 21, further comprising: The generation of client data is initiated at one or more processing points, the timing of which is at least partially based on the information.
25. The method of claim 21, wherein, The information also includes at least one of the following: One or more beam identifiers of the serving cell; Quasi-co-location (QCL) information associated with one or more reference signals of the serving cell; One or more Media Access Control (MAC) addresses for the access point serving the client; or One or more network identifiers of the network that serves the client.
26. The method of claim 21, further comprising: The server receives updated information from one of the clients, indicating the cell identifier of the serving cell; as well as The generation of client data is initiated at one or more processing points, the timing of which is at least partially based on the cell identifier.
27. The method of claim 21, further comprising: The server receives multiple additional messages from the client, the multiple additional messages including a wait time for processing the data at the client or a downlink time extension for packets arriving at the client carrying the data; as well as The generation or transmission of additional client data is initiated at one or more processing times or at one or more transmission times, the timing of which one or more processing times or the one or more transmission times is at least partially based on the waiting time or the downlink time extension.
28. The method of claim 21, further comprising: The server receives multiple additional messages, including client information, from the client. as well as In response to the additional message, the server renders one or more video frames for at least one of the clients based on the information and the client information, wherein the client data includes the rendered one or more video frames.
Citation Information
Patent Citations
Policy control method and apparatus
EP2866406A1