Patent Description:
Wireless communication systems are widely deployed to provide various telecommunication services such as telephony, video, data, messaging, broadcasts, etc. These wireless communication systems may employ multiple-access technologies capable of supporting communication with multiple users by sharing available system resources (for example, bandwidth, transmit power, etc.).

New radio (for example, <NUM> NR) is an example of an emerging telecommunication standard.

A control resource set (CORESET) for systems, such as an NR and LTE systems, may comprise one or more control resource (e.g., time and frequency resources) sets, configured for conveying PDCCH, within the system bandwidth. Within each CORESET, one or more search spaces (e.g., common search space (CSS), UE-specific search space (USS), etc.) may be defined for a given UE.

<CIT> discloses a method for playing a game in a networked environment. <CIT> discloses a method for facilitating fairness in a multiplayer game. See also,<NPL>. This document discusses lag compensation whereby up and downlink delays are equalized within reason in real-time for players. See also, <NPL>. This document discusses estimating an error measure for estimating an inaccuracy in rendering objects at the receiver due to network delay between the sender and the receiver. An algorithm for scheduling the sending of dead-reckoning vectors at sender strives to make the error equal at different receivers over time.

The methods and devices of the disclosure each have several innovative aspects, no single one of which is solely responsible for the desirable attributes.

Aspects of the present disclosure provide means for, apparatus, processors, and computer-readable mediums for performing the methods described herein.

The following description and the appended drawings set forth in detail some illustrative features of the one or more aspects. These features are indicative, however, of but a few of the various ways in which the invention may be employed.

However, the accompanying drawings illustrate only some typical aspects of this disclosure and are therefore not to be considered limiting of its scope.

Aspects of the present disclosure relate to wireless communications, and more particularly, to techniques that allow for enforcement of network latency fairness in transmission, reception, and playback of content in multi-user gaming platforms. As will be described in greater detail below, network latency fairness may result in the transmission, reception, and playback of uplink and/or downlink data packets in such a manner that playback may be achieved at similar times for each of a plurality of devices (e.g., UEs) participating in a multi-user environment (e.g., a multi-user gaming environment) across one or more wide area networks (WANs).

The following description provides examples and is not limiting of the scope, applicability, or examples set forth in the claims. Changes may be made in the function and arrangement of elements discussed without departing from the scope of the invention, which is defined by the appended claims.

For example, as shown in <FIG>, UE 120a may include fairness module <NUM> that may be configured to perform (or cause UE 120a to perform) operations <NUM> of <FIG>. Similarly, a BS 120a may include fairness module <NUM> that may be configured to perform (or cause BS 110a to perform) operations <NUM> of <FIG>.

NR access (for example, <NUM> NR) may support various wireless communication services, such as enhanced mobile broadband (eMBB) targeting wide bandwidth (for example, <NUM> or beyond), millimeter wave (mmWave) targeting high carrier frequency (for example, <NUM> or beyond), massive machine type communications MTC (mMTC) targeting non-backward compatible MTC techniques, or mission critical services targeting ultra-reliable low-latency communications (URLLC). In addition, these services may co-exist in the same time-domain resource (for example, a slot or subframe) or frequency-domain resource (for example, component carrier).

In some examples, the BSs <NUM> may be interconnected to one another or to one or more other BSs or network nodes (not shown) in wireless communication network <NUM> through various types of backhaul interfaces (for example, a direct physical connection, a wireless connection, a virtual network, or the like) using any suitable transport network. The UEs <NUM> (for example, 120x, 120y, etc.) may be dispersed throughout the wireless communication network <NUM>, and each UE <NUM> may be stationary or mobile.

The term "cell" may refer to a logical communication entity used for communication with a base station <NUM> (e.g., over a carrier) and may be associated with an identifier for distinguishing neighboring cells (e.g., a physical cell identifier (PCID), a virtual cell identifier (VCID), or others). In some examples, a cell may also refer to a geographic coverage area or a portion of a geographic coverage area (e.g., a sector) over which the logical communication entity operates. Such cells may range from smaller areas (e.g., a structure, a subset of structure) to larger areas depending on various factors such as the capabilities of the base station <NUM>. For example, a cell may be or include a building, a subset of a building, or exterior spaces between or overlapping with geographic coverage areas, among other examples.

Wireless communication network <NUM> may also include relay stations (for example, relay station 110r), also referred to as relays or the like, that receive a transmission of data or other information from an upstream station (for example, a BS 110a or a UE 120r) and sends a transmission of the data or other information to a downstream station (for example, a UE <NUM> or a BS <NUM>), or that relays transmissions between UEs <NUM>, to facilitate communication between devices.

The BSs <NUM> may also communicate with one another (for example, directly or indirectly) via wireless or wireline backhaul.

<FIG> shows a block diagram illustrating an example base station (BS) and an example user equipment (UE) in accordance with some aspects of the present disclosure.

The control information may be 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. The data may be for the physical downlink shared channel (PDSCH), etc. The processor <NUM> may process (for example, encode and symbol map) the data and control information to obtain data symbols and control symbols, respectively. The transmit processor <NUM> may also generate reference symbols, such as for the primary synchronization signal (PSS), secondary synchronization signal (SSS), and cell-specific reference signal (CRS). A transmit (TX) multiple-input multiple-output (MIMO) processor <NUM> may perform spatial processing (for example, precoding) on the data symbols, the control symbols, or the reference symbols, if applicable, and may provide output symbol streams to the modulators (MODs) 232a-232t. Each modulator <NUM> may process a respective output symbol stream (for example, for OFDM, etc.) to obtain an output sample stream. Each modulator may further process (for example, convert to analog, amplify, filter, and upconvert) the output sample stream to obtain a downlink signal. Downlink signals from modulators 232a-232t may be transmitted via the antennas 234a-234t, respectively.

At the UE <NUM>, the antennas 252a-252r may receive the downlink signals from the BS <NUM> and may provide received signals to the demodulators (DEMODs) in transceivers 254a-254r, respectively. Each demodulator <NUM> may condition (for example, filter, amplify, downconvert, and digitize) a respective received signal to obtain input samples. Each demodulator may further process the input samples (for example, for OFDM, etc.) to obtain received symbols. A MIMO detector <NUM> may obtain received symbols from all the demodulators 254a-254r, perform MIMO detection on the received symbols if applicable, and provide detected symbols. A receive processor <NUM> may process (for example, demodulate, deinterleave, and decode) the detected symbols, provide decoded data for the UE <NUM> to a data sink <NUM>, and provide decoded control information to a controller/processor <NUM>.

On the uplink, at UE <NUM>, a transmit processor <NUM> may receive and process data (for example, for the physical uplink shared channel (PUSCH)) from a data source <NUM> and control information (for example, for the physical uplink control channel (PUCCH) from the controller/processor <NUM>. The transmit processor <NUM> may also generate reference symbols for a reference signal (for example, for the sounding reference signal (SRS)). The symbols from the transmit processor <NUM> may be precoded by a TX MIMO processor <NUM> if applicable, further processed by the demodulators in transceivers 254a-254r (for example, for SC-FDM, etc.), and transmitted to the BS <NUM>.

A scheduler <NUM> may schedule UEs for data transmission on the downlink or uplink.

The controller/processor <NUM> or other processors and modules at the UE <NUM> may perform or direct the execution of processes for the techniques described herein. As shown in <FIG>, the controller/processor <NUM> of the UE <NUM> has fairness module <NUM> that may be configured to perform (or cause UE <NUM> to perform) operations <NUM> of <FIG>. Similarly, the BS 120a may include fairness module <NUM> that may be configured to perform (or cause BS 110a to perform) operations <NUM> of <FIG>.

As shown in <FIG>, the SS blocks may be organized into SS burst sets to support beam sweeping. As shown, each SSB within a burst set may be transmitted using a different beam, which may help a UE quickly acquire both transmit (Tx) and receive (Rx) beams (particular for mmW applications). A physical cell identity (PCI) may still decoded from the PSS and SSS of the SSB.

A control resource set (CORESET) for systems, such as an NR and LTE systems, may comprise one or more control resource (e.g., time and frequency resources) sets, configured for conveying PDCCH, within the system bandwidth. Within each CORESET, one or more search spaces (e.g., common search space (CSS), UE-specific search space (USS), etc.) may be defined for a given UE. According to aspects of the present disclosure, a CORESET is a set of time and frequency domain resources, defined in units of resource element groups (REGs). Each REG may comprise a fixed number (e.g., twelve) tones in one symbol period (e.g., a symbol period of a slot), where one tone in one symbol period is referred to as a resource element (RE). A fixed number of REGs may be included in a control channel element (CCE). Sets of CCEs may be used to transmit new radio PDCCHs (NR-PDCCHs), with different numbers of CCEs in the sets used to transmit NR-PDCCHs using differing aggregation levels. Multiple sets of CCEs may be defined as search spaces for UEs, and thus a NodeB or other base station may transmit an NR-PDCCH to a UE by transmitting the NR-PDCCH in a set of CCEs that is defined as a decoding candidate within a search space for the UE, and the UE may receive the NR-PDCCH by searching in search spaces for the UE and decoding the NR-PDCCH transmitted by the NodeB.

Aspects of the present disclosure relate to wireless communications, and more particularly, to mobility techniques that allow for enforcement of network latency fairness in transmission, reception, and playback of content in multi-user gaming platforms. As will be described in greater detail below, network latency fairness may result in the transmission, reception, and playback of uplink and/or downlink data packets in such a manner that playback may be achieved at similar times for each of a plurality of devices (e.g., UEs) participating in a multi-user environment (e.g., a multi-user gaming environment) across one or more wide area networks (WANs).

Gaming systems may support competitive gameplay by multiple users on any number of devices. In many environments, competitive gameplay may occur in a single location in which the same hardware and software platform is provided to each participant and in which each user device is connected in a local area network (LAN) that may be overprovisioned to provide fairness of quality of service. That is, each user device in the LAN may receive data (e.g., information about where other users are in a multi-player game, state information for the other users (e.g., lives remaining, health remaining, etc.), and the like) at substantially similar times so that no user is advantaged or disadvantaged by having or not having data about other users in the multi-player gaming environment.

To allow for a wider field of players, remote participation, and reductions in the cost of producing tournaments, competitive multi-player gaming may be implemented using devices connected to one or more central servers via a WAN. However, in WANs, various types of user devices may be used to participate in the multi-player game, and these devices may have dissimilar network connections or operating conditions that may result in unfairness. Further, while some services allow for the broadcast of gaming or other multimedia events in real time, these services may not include features that enforce fairness or legitimacy of competitions (e.g., multi-player game competitions) in which users participate via a WAN.

Fairness may be defined in terms of quality of service (QoS). Various QoS parameters can be tuned to provide for fairness among devices participating in a multi-user gaming system. One QoS parameter may be a packet loss rate. Systems may generally achieve a loss rate low enough to maintain fairness across users (e.g., such that no single user in the multi-user gaming system do not receive a significantly smaller amount of game data than other users in the multi-user gaming system). Another QoS parameter may be a data rate. Generally, a data rate may need to be high enough to communicate critical or a minimum set of information (e.g., game state) in a timely manner. In some aspects, if video or other multimedia content is rendered by a central server rather than on user devices participating in the gaming system, guaranteed flow bit rate (GFBR) settings can be used to guarantee a minimum bit rate for each user in the multi-user gaming system. In some aspects, data rate QoS may also support marginal rate adaptation above a minimum rate. Still another QoS parameter may be latency, in which time-critical information is delivered to and from geographically distributed users in a fair manner.

<FIG> illustrates example operations <NUM> that may be performed by a network entity to enforce network latency fairness in a multi-user gaming platform, according to certain aspects described herein. As discussed in further detail below, operations <NUM> may be performed, for example, by a central game server, a base station (e.g., a gNodeB), or a user plane function (UPF) in a core network entity.

As illustrated, operations <NUM> may begin at block <NUM>, where the network entity identifies multiple user equipments (UEs) participating in a multi-user gaming platform across one or more wide area networks (WANs).

At block <NUM>, the network entity takes one or more actions to support latency fairness in delivery of information across the multiple users via the one or more WANs. As discussed in further detail below, the one or more actions to support latency fairness in delivery of information across the multiple users may include the application of various timing adjustments to ensure that packets are processed according to the transmission timestamps associated with these packets. Thus, UEs participating in the multi-user gaming platform having a more robust connection (e.g., a connection having lower latency between transmission and delivery of packets to a game server, a connection requiring fewer retransmission attempts due to failed delivery of packets, etc.) may not be unfairly advantaged over UEs with less robust connections in the multi-user gaming platform. Meanwhile, users of UEs in the multi-user gaming platform having less robust connections may not be disadvantaged due to delays in receiving and processing data in packets transmitted by these UEs to a game server or other network entity (e.g., by reducing the likelihood that the packets provided by these UEs are processed after packets with similar timestamps transmitted to a game server or other network entity are received from UEs with more robust connections). More generally, the techniques discussed herein may improve the likelihood that packets are processed fairly so that actions are not taken within the multi-user gaming platform based on outdated or otherwise temporally inaccurate data.

<FIG> illustrates example operations <NUM> that may be performed by a user equipment (UE) to enforce network latency fairness in a multi-user gaming platform, according to certain aspects described herein.

As illustrated, operations <NUM> may begin at block <NUM>, where the UE determines parameters of communications with a network entity. As discussed in further detail herein, the parameters of communications with the network entity may include various timing metrics or other data indicative of or otherwise associated with network latency, timing delay, or other metrics that can be used to adjust when data packets are processed in a multi-user gaming environment or other time-sensitive environment in which some degree of network fairness is to be implemented.

At block <NUM>, the UE takes one or more actions to support latency fairness with other UEs in delivery of information based on the determined parameters. These actions, as discussed in further detail below, may include various adjustments to compensate for end-to-end transmission and/or processing delays between different UEs. These adjustments generally may be set such that packets associated with a given timestamp from multiple UEs are processed at the same time (or substantially the same time) regardless of the latency of a network through which any given UE from the multiple UEs is connected to a network entity (e.g., game server) in the multi-user gaming environment.

In some aspects, control of traffic between a game server and user devices (e.g., clients) interacting with the game server may be performed without network assistance or with limited network assistance.

<FIG> illustrates an example of enforcing network latency fairness in an environment in which clients (e.g., UEs) and network entities are externally synchronized, in accordance with certain aspects of the present disclosure. The clients and network entities may be synchronized, for example, based on an external clock, such as a clock associated with a cellular telecommunications system (e.g., a clock maintained by a core network entity or a base station) or a clock associated with a satellite positioning system (e.g., NAVSTAR GPS, GLONASS, GALILEO, etc.).

To enforce network latency fairness for downlink communications, a client device can periodically measure end-to-end downlink latency. End-to-end downlink latency may be, for example, the difference between a timestamp included in a downlink packet identifying when the downlink packet was transmitted by the game server and a time at which the downlink packet was received by the client device (UE). The measured end-to-end downlink latency may be reported back to the game server, and the game server can adjust a downlink media playout timestamp based on the maximum end-to-end downlink latency reported by the clients connected with the game server. Subsequently, the game server can transmit downlink packets to the client devices connected with the game server with a timestamp indicating when the content included in the downlink packets is to be played out on each of the client devices. Generally, the timestamp may be set such that client devices that receive the downlink packet before the identified play out time delays rendering the content included in the downlink packets until the play out time.

To enforce network latency fairness for uplink communications, each client device may timestamp uplink packets with a timestamp identifying a time at which the uplink packets were transmitted to the game server. The game server can estimate a maximum uplink delay across all client devices based the timestamp included in uplink packets and a time at which the game server receives the uplink packets. Based on the maximum uplink delay, the game server can wait to process uplink packets before processing the data in the uplink packets, and the uplink packets may be ordered based on the transmission timestamps included in each uplink packet.

As illustrated in <FIG>, client device <NUM><NUM> may be located a greater distance away from the game server <NUM> than client device <NUM><NUM>, and thus, may have a larger latency for downlink and uplink packets. Client device <NUM><NUM> may receive downlink packets from the game server <NUM> later than client device <NUM><NUM>, and the game server <NUM> may receive uplink packets transmitted from client device <NUM><NUM> later than uplink packets transmitted from client device <NUM><NUM> at the same time.

Based on the playout times, client device <NUM><NUM> may play out a downlink packet on receipt, and client device <NUM><NUM> may delay playing out the downlink packet according to a delay <NUM>, which may be based on a time difference between arrival of a packet at client device <NUM><NUM> and the packet at client device <NUM><NUM> (and communicated to client device <NUM><NUM> from game server <NUM> or some other network entity). By delaying play out of the downlink packet at client device <NUM><NUM>, a user of client device <NUM><NUM> may not be unfairly advantaged over a user of client device <NUM><NUM> by, for example, being able to view and react to data in the multi-user gaming environment before the user of client device <NUM><NUM> can view and react to the same data. Similarly, the game server <NUM> can delay processing an uplink packet from client device <NUM><NUM> based on a measured uplink latency <NUM>, and the game server <NUM> can process an uplink packet from client device <NUM><NUM> upon receipt. As with delaying processing of received packets at a client device, delaying processing of uplink packets from a client device at game server <NUM> may prevent a user of client device <NUM><NUM> from being unfairly advantaged over a user of client device <NUM><NUM> by, for example, triggering various events in the multi-user gaming environment before similar events can be triggered by receipt and processing of packets from client device <NUM><NUM>.

Generally, low latency may be orthogonal to fairness. Existing network procedures may set a packet delay budget (PDB) that is needed to support game play. However, for client-server time synchronization, internet protocol (IP) layer protocols may not be able to guarantee accuracy, as uplink and downlink delays may be asymmetrical and may vary over time. Further, various techniques for clock synchronization may exist. UEs may be able to use information in system information blocks (SIBs) to synchronize with a base station; however, new features may be needed to synchronize a game server with the base station, as the game server may not be connected to the base station via a radio interface. Using external sources, such as a clock associated with a satellite positioning system, may allow for high accuracy; however, support may not be consistent as devices located indoors or in poor coverage may not be able to lock onto a satellite positioning system signal and thus may not be able to synchronize a device clock with a satellite positioning system clock.

<FIG> illustrate examples of enforcing network latency fairness in environments in which clients and network entities are unsynchronized, according to aspects described herein. In the examples illustrated in <FIG>, the game server <NUM> and/or client devices <NUM> and <NUM> may periodically measure round-trip time (RTT) for communications between each other. An end-to-end delay may be estimated based on an assumption that uplink and downlink delays are symmetric (e.g., that both uplink and downlink delays are ½ * RTT). Such an assumption may be warranted, for example, based on assumptions that transmissions on an uplink channel will experience similar radio characteristics to transmissions on a downlink channel, as one channel may be considered the converse of the other channel and transmissions may be performed according to similar radio propagation and interference characteristics.

<FIG> illustrates an example in which a game server <NUM> enforces network latency fairness in an environment in which clients devices <NUM> and <NUM> and network entities are unsynchronized. In this example, the game server <NUM> may impose a handicap on client devices that have an estimated end-to-end delay that is less than a maximum end-to-end delay. The handicap may be implemented as a transmission delay <NUM> for communications from game server <NUM> to a client device (e.g., client device <NUM> illustrated in <FIG>) and as a processing delay for communications from a client device to the game server <NUM>. Transmission of downlink packets may be delayed until a time such that recipients of such downlink packets may receive and process these packets at substantially the same time. Processing of uplink packets may be delayed at the game server until such a time that uplink packets transmitted by different client devices at the same transmission time are processed at the game server at the same time.

<FIG> illustrates an example in which a client device (e.g., client devices <NUM> and <NUM> illustrated in <FIG>) enforces network latency fairness in an environment in which client devices and network entities (e.g., a game server <NUM>) are unsynchronized. In this example, a handicap may be communicated from the game server <NUM> to each client device <NUM>, <NUM> served by the game server <NUM>. The client devices <NUM>, <NUM> may delay processing of received downlink packets and may delay transmission of uplink packets to the game server based on the handicap <NUM> communicated to the client devices <NUM>, <NUM> by the game server <NUM>. In this example, the handicap <NUM> may be symmetric and applicable to both uplink and downlink transmissions from a client device.

In some cases, end-to-end delay estimates may be inaccurate. For example, errors caused by uplink/downlink asymmetry and variances in delay caused by the radio conditions, a scheduler, and/or network congestion may result in an inaccurate measurement of end-to-end delay. In one example, an asymmetrical uplink/downlink delay where the downlink delay is less than the uplink delay may result in a user seeing a situation sooner but being delayed in performing actions within the gaming environment. Thus, to compensate for these inaccuracies, various techniques may be used to assist a game server in enforcing latency fairness in a multi-user gaming environment.

In some aspects, the network may assist in enforcing latency fairness in a multi-user gaming environment. A game server may be connected with a WAN via an IP network connection to a user plane function (UPF) or other core radio access network (RAN) entity. Latency between the game server and a client device (UE) may be a combination of IP network delays between the game server and UPF, N3 delays between the UPF and a base station, and RAN delays between the base station and the client device.

In some aspects, a similar delay may be applied to communications between the central game server and the one or more UPFs. Such a case may exist, for example, when a central game server is located near UPFs in a network or at a location in which delays between the central game server and each UPF is substantially similar.

<FIG> illustrates an example in which network latency fairness is enforced using edge servers or UPFs synchronized with a central server, according to certain aspects described herein. In this example, different amounts of delay may exist between the central game server <NUM>, UPF1 802a, UPF2 802b, and UPF3 802c. For example, UPF2 802b, which may be located at a largest distance from the central game server <NUM>, may have the largest delay d2. Meanwhile, UPF3 802c, located at a shortest distance from the central game server <NUM>, may have the shortest delay d3. The edge servers (which may be collocated with respective UPFs) or UPFs <NUM> may be synchronized with the central game server <NUM> via one or more timing protocols (e.g., network time protocol, synchronization with a satellite positioning system clock, etc.). The techniques discussed above with respect to <FIG>, <FIG>, and/or 7B may be used to measure delay between an edge server or UPF <NUM> and the central game server <NUM> to compensate for IP network delays between the game server and a radio access network.

In some aspects, a radio access network (RAN) packet delay budget may be used to compensate for server-to-UPF delays. A game server may set a packet delay budget for each UPF to account for IP network delays. For example, the central server may measure delays to each UPF based on a round trip time (e.g., ½ * RTT) to each UPF or based on clock synchronization with the UPFs to make measurements. The game server may then compensate for delay variations between the UPFs by setting PDB limits for each UE under a UPF such that UPFs with a shortest delay have a largest delay budget and UPFs with longer delays have smaller delay budgets.

In some aspects, a RAN may be used to manage delays and enforce latency among UEs or other client devices participating in a multi-user gaming environment.

<FIG> illustrates an example in which a RAN scheduler may be used to enforce network latency fairness, according to certain aspects described herein. In this example, grant times t1 for UE1 702a, t2 for UE2 902b, and t3 for UE3 902c may be configured such that downlink packets arrive at the UEs <NUM> at the same time and uplink packets are ready for transmission from the UEs <NUM> at the same time. A RAN scheduler at gNodeB <NUM> may, for example, set a RAN packet delay budget (PDB) to reduce variance among UEs connected with the base station. The PDB may be, for example, set based on a maximum packet delay with a set confidence level, which may reduce variance in when packets are received or transmitted by the UEs at some expense in respect of network capacity. The RAN scheduler at gNodeB <NUM> may deliver traffic based on a specified packet delay target, and no sooner than the packet delay target. A QoS identifier (5QI) may be defined with a scheduler algorithm that may impact capacity. In some aspects, the QoS requirements defined by a RAN scheduler may impact an ability to meet the packet delay target with retransmissions. Enforcing network latency fairness may also increase in complexity as the number of users or a data rate increases, as increases in the number of users or a data rate in a network may reduce a packet delay budget or an ability to enforce network latency fairness while balancing performance considerations at various client devices in a multi-user gaming platform.

<FIG> illustrates an example of enforcing network latency fairness in which a user plane function (UPF) <NUM> may be used to improve fairness across UEs <NUM> in a multi-user gaming environment. The UPF <NUM> may use, for example, QoS assist procedures (e.g., QoS procedures defined for ultra-reliable low latency communications (URLLC) systems) to measure an average uplink and downlink delay between the UPF <NUM> and each UE <NUM>. The UPF <NUM> may handicap or otherwise delay forwarding downlink packets to UEs <NUM> with shorter average downlink delays such that downlink packets are received by UE1 1002a, UE2 1002b, and UE3 1002c at the same time or substantially the same time. Similarly, the UPF <NUM> may handicap or otherwise delay forwarding of uplink packets from UEs <NUM> with shorter uplink delays to a game server <NUM> such that uplink packets transmitted by the UEs <NUM> at the same time are delivered to the game server at the same time or substantially the same time. In this example, fairness may be limited by how closely the average uplink/downlink delay estimates match actual packet transport delays.

In some aspects, the UPF <NUM> illustrated in <FIG> may not compensate for variations in uplink and downlink latencies. In such a case, the game server <NUM> may compensate for uplink and downlink delays based on UPF reports. The UPF <NUM> may, for example, use QoS assist procedures to measure average uplink and downlink delays and transmit a report to the game server <NUM> with uplink and downlink delay measurements for each UE <NUM>. in some aspects, where there is more than one UPF with variance in server-to-UPF delays, the server <NUM> and UPF <NUM> may measure these delays based, for example, on a measured round trip time or clock synchronization between the UPF <NUM> and game server <NUM> via a precision time protocol (PTP). Delays may be measured, and the game server <NUM> may compensate for server-to-UPF and uplink/downlink delays in forwarding downlink packets or processing uplink packets.

<FIG> illustrates an example network architecture in which timestamping can be used to enforce network latency fairness. As illustrated, a game server <NUM> may communicate with a corresponding application <NUM> executing on a UE <NUM> by transmitting downlink packets through a time sensitive network (TSN) working domain <NUM> to a UPF <NUM>. The UPF <NUM> generally forwards packets to a base station <NUM>, and the base station <NUM> then forwards those packets to UE <NUM> for delivery to the application <NUM>. Uplink communications may be transmitted from the application <NUM> executing on the UE <NUM> to a base station <NUM>, which may forward the packet to a UPF <NUM>. The UPF <NUM> may then then forward the packet to a game server <NUM> via the TSN working domain <NUM>. RAN clock information, which may be sourced from clocks at the UPF <NUM> and UE <NUM> synchronized via various precision time protocols (e.g., gPTP), may be used to compensate for delays within the RAN. Clock synchronization may be enabled between the TSN working domain <NUM> and a UE <NUM> and application <NUM> executing thereon. Clock synchronization may also be used in the techniques described above.

For media packets, RAN timestamps may not be enabled to compensate for RAN delays. For example, the RAN timestamps may not be used to delay playout of downlink media packets or to delay processing of uplink media packets. Gate schedules need not be designed for media packets to guarantee a delivery time.

For UEs and UPFs synchronized to a common clock (e.g., a RAN clock), uplink and downlink packets may be timestamped. The UPF may timestamp downlink media packets with playout times based on an expected playout time and a maximum downlink delay identified across the UEs participating in the multi-user gaming environment. Using the common clock, the UE may delay delivery of a downlink packet to the application executing on the UE for just-in-time delivery and playout in the application based on the timestamp in the downlink media packets. For uplink packets, the UE may timestamp packets based on the common clock with a transmission time from the UE. The UPF may use a maximum uplink delay across the UEs participating in the multi-user gaming environment to determine when to forward packets to the game server, and uplink packets may be ordered based on the timestamps included in these packets.

Various techniques may be used to determine a maximum uplink or downlink delay to all UEs participating in the multi-user gaming environment. For example, a UPF can use a guaranteed bit rate and determine a maximum packet delay budget (PDB) for all UEs admitted to the multi-user gaming environment. In some aspects, a policy may be defined to admit UEs with a same PDB value. In another example, QoS Assisted URLLC delay measurement procedures may be used to measure average uplink/downlink delays for each UE, as discussed above. In some aspects, a margin may be added to the maximum average uplink/downlink delay to compensate for variances above the average delay. In still another example, synchronized clocks at the UE and UPF may be used to directly measure a maximum delay. The uplink delay may be measured directly by the UPF for each uplink packet as the difference between the packet arrival time at the UPF and a packet timestamp included in the uplink packet. The downlink delay may be measured by transmitting packets with a non-playout-time timestamp (e.g., a transmission time from the UPF), and the UE may measure a downlink delay based on a difference between the time at which the UE received the downlink packet and the non-playout-time timestamp. The measured downlink delay may be reported back to the UPF.

The processing system <NUM> includes a processor <NUM> coupled to a computer-readable medium/memory <NUM> via a bus <NUM>. In certain aspects, the computer-readable medium/memory <NUM> is configured to store instructions (e.g., computer-executable code) that when executed by the processor <NUM>, cause the processor <NUM> to perform the operations illustrated in <FIG>, or other operations for enforcing network latency fairness in multi-user gaming platforms. In certain aspects, computer-readable medium/memory <NUM> stores code <NUM> for identifying multiple user equipments (UEs) participating in a multi-user gaming platform across one or more wide area networks (WANs); and code <NUM> for taking one or more actions to support latency fairness in delivery of information across the multiple users via the one or more WANs. In certain aspects, the processor <NUM> has circuitry configured to implement the code stored in the computer-readable medium/memory <NUM>. The processor <NUM> includes circuitry <NUM> for identifying multiple user equipments (UEs) participating in a multi-user gaming platform across one or more wide area networks (WANs); and circuitry <NUM> for taking one or more actions to support latency fairness in delivery of information across the multiple users via the one or more WANs.

The processing system <NUM> includes a processor <NUM> coupled to a computer-readable medium/memory <NUM> via a bus <NUM>. In certain aspects, the computer-readable medium/memory <NUM> is configured to store instructions (e.g., computer-executable code) that when executed by the processor <NUM>, cause the processor <NUM> to perform the operations illustrated in <FIG>, or other operations for enforcing network latency fairness in multi-user gaming platforms. In certain aspects, computer-readable medium/memory <NUM> stores code <NUM> for determining parameters of communications with a network entity; and code <NUM> for taking one or more actions to support latency fairness with other UEs in delivery of information based on the determined parameters. In certain aspects, the processor <NUM> has circuitry configured to implement the code stored in the computer-readable medium/memory <NUM>. The processor <NUM> includes circuitry <NUM> for determining parameters of communications with a network entity; and circuitry <NUM> for taking one or more actions to support latency fairness with other UEs in delivery of information based on the determined parameters.

The techniques described herein may be used for various wireless communication technologies, such as NR (for example, <NUM> NR), 3GPP Long Term Evolution (LTE), LTE-Advanced (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.

For clarity, while aspects may be described herein using terminology commonly associated with <NUM>, <NUM>, or <NUM> wireless technologies, aspects of the present disclosure can be applied in other generation-based communication systems.

In 3GPP, the term "cell" can refer to a coverage area of a Node B (NB) or a NB subsystem serving this coverage area, depending on the context in which the term is used. A BS may provide communication coverage for a macro cell, a pico cell, a femto cell, or other types of cells. A macro cell may cover a relatively large geographic area (for example, several kilometers in radius) and may allow unrestricted access by UEs with service subscription. A femto cell may cover a relatively small geographic area (for example, a home) and may allow restricted access by UEs having an association with the femto cell (for example, UEs in a Closed Subscriber Group (CSG), UEs for users in the home, etc.).

A UE may also be referred to as a mobile station, a terminal, an access terminal, a subscriber unit, a station, a Customer Premises Equipment (CPE), a cellular phone, a smart phone, a personal digital assistant (PDA), a wireless modem, a wireless communication device, a handheld device, a laptop computer, a cordless phone, a wireless local loop (WLL) station, a tablet computer, a camera, a gaming device, a netbook, a smartbook, an ultrabook, an appliance, a medical device or medical equipment, a biometric sensor/device, a wearable device such as a smart watch, smart clothing, smart glasses, a smart wrist band, smart jewelry (for example, a smart ring, a smart bracelet, etc.), an entertainment device (for example, a music device, a video device, a satellite radio, etc.), a vehicular component or sensor, a smart meter/sensor, industrial manufacturing equipment, a global positioning system device, or any other suitable device that is configured to communicate via a wireless or wired medium. MTC and eMTC UEs include, for example, robots, drones, remote devices, sensors, meters, monitors, location tags, etc., that may communicate with a BS, another device (for example, remote device), or some other entity. A wireless node may provide, for example, connectivity for or to a network (for example, a wide area network such as Internet or a cellular network) via a wired or wireless communication link.

Some wireless networks (for example, LTE) utilize orthogonal frequency division multiplexing (OFDM) on the downlink and single-carrier frequency division multiplexing (SC-FDM) on the uplink. For example, a subband may cover <NUM> (for example, <NUM> RBs), and there may be <NUM>, <NUM>, <NUM>, <NUM>, or <NUM> subbands for system bandwidth of <NUM>, <NUM>, <NUM>, <NUM> or <NUM>, respectively.

A subframe contains a variable number of slots (for example, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>,.

A scheduling entity (for example, a BS) allocates resources for communication among some or all devices and equipment within its service area or cell. In some examples, a UE may function as a scheduling entity and may schedule resources for one or more subordinate entities (for example, one or more other UEs), and the other UEs may utilize the resources scheduled by the UE for wireless communication. In some examples, a UE may function as a scheduling entity in a peer-to-peer (P2P) network, or in a mesh network.

As used herein, the term "determining" may encompass one or more of a wide variety of actions. For example, "determining" may include calculating, computing, processing, deriving, investigating, looking up (for example, looking up in a table, a database or another data structure), assuming and the like. Also, "determining" may include receiving (for example, receiving information), accessing (for example, accessing data in a memory) and the like.

As used herein, "or" is used intended to be interpreted in the inclusive sense, unless otherwise explicitly indicated. For example, "a or b" may include a only, b only, or a combination of a and b. As used herein, a phrase referring to "at least one of" or "one or more of" a list of items refers to any combination of those items, including single members. For example, "at least one of: a, b, or c" is intended to cover the possibilities of: a only, b only, c only, a combination of a and b, a combination of a and c, a combination of b and c, and a combination of a and b and c.

Various modifications to the implementations described in this disclosure may be readily apparent to persons having ordinary skill in the art, and the generic principles defined herein may be applied to other implementations as long as they fall within the scope of the invention as defined by the appended claims.

Additionally, insofar covered by the scope of the invention as defined by the appended claims, various features that are described in this specification in the context of separate implementations also can be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation also can be implemented in multiple implementations separately or in any suitable subcombination. As such, although features may be described above as acting in particular combinations, and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.

Claim 1:
A method for communications by a network system, comprising:
identifying (<NUM>) multiple user equipments, UEs, participating in a multi-user gaming platform across one or more wide area networks, WANs; and
taking (<NUM>) one or more actions to support latency fairness in delivery of information across the multiple users via the one or more WANs;
wherein the network system comprises a user plane function, UPF; and
wherein the UPF and the UEs are synchronized to a common clock and the one or more actions comprise at least one of:
including a timestamp, based on the common clock and a maximum downlink delay for all UEs, in downlink media packets with playout times; or
using a maximum uplink delay for all UEs, measured based on the common clock, to determine a waiting time for forwarding uplink packets.