Allocation of transmission power to client devices in a communication network

By using satisfaction metrics to allocate transmission power based on quality of service parameters, the method addresses inefficiencies in existing power allocation methods, ensuring fair distribution and meeting client device needs.

JP7846783B2Active Publication Date: 2026-04-15VIASAT INC
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-03-04
Publication Date
2026-04-15

AI Technical Summary

Technical Problem

Existing methods for allocating transmission power in wireless communication networks, such as water-filling algorithms, often lead to inefficient distribution, where some client devices receive excessive power while others remain underutilized, due to a focus on maximizing throughput without considering individual client device needs and fairness.

Method used

A method and system for allocating transmission power based on satisfaction metrics that take into account quality of service parameters like maximum and minimum transmit rates, weights, and priorities, iteratively determining power allocation to ensure fairness among client devices.

Benefits of technology

The solution enhances fairness and meets individual client device requirements by optimizing power allocation, ensuring that all devices receive adequate resources, even if it means varying throughput levels.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007846783000001
    Figure 0007846783000001
  • Figure 0007846783000002
    Figure 0007846783000002
  • Figure 0007846783000003
    Figure 0007846783000003
Patent Text Reader

Abstract

Described herein are systems and methods for allocating transmit power in a communications network based at least in part on fairness considerations. The disclosed technology takes into account the needs and requirements of individual client devices (e.g., subscribers or users) in the process of allocating transmit power using a satisfaction metric. The disclosed technology does not necessarily optimize the throughput or power of a transmitter, as in typical water-filling algorithms, but rather aims to meet the individual requirements of client devices. To do this, the disclosed technology calculates a satisfaction metric based on quality of service (QoS) parameters of the individual client devices.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0003]

[0001] The present disclosure generally relates to the allocation of transmission power from a transmitter to a plurality of client devices in a communication network.

Background Art

[0002] In a wireless communication network, a transmitter transmits information to a plurality of client devices. The transmission of information to a client device can be divided into frames, each frame is composed of a plurality of time slots, and the transmitter can transmit information in each time slot using a plurality of frequency sub-carriers. Individual transmitters have physical limitations on the amount of power that can be output during a given time slot. Therefore, there are many ways to determine the allocation of transmission power for time slots, including methods that are broadly classified as water-filling algorithms.

Summary of the Invention

[0003] Depending on several implementations, this disclosure relates to a method for allocating transmit power from a transmitter to a plurality of client devices in a communication network. The method includes determining an expected throughput for each of the plurality of client devices, the expected throughput being at least partially based on the transmit power allocation to each client device. The method also includes calculating a satisfaction metric for each of the plurality of client devices, based at least partially on one or more quality of service parameters and the expected throughput of the client device. The method further includes selecting a client device with a satisfaction metric indicating that the client device should receive the next transmit power allocation; allocating the next transmit power allocation to the selected client device, resulting in a total transmit power amount for the selected client device; updating the expected throughput of the selected client device, at least partially based on the total transmit power amount for the selected client device; and iteratively allocating transmit power by updating the satisfaction metric for the selected client device.

[0004] In some embodiments, the transmitter comprises a satellite. In some embodiments, the transmitter comprises a base station of a wireless network. In further embodiments, the wireless network comprises a cellular network.

[0005] In some embodiments, the allocation further includes determining the critical efficiency of a selected client device, and, if it is determined that the critical efficiency of the selected device is greater than a minimum critical efficiency value, the selected client device is allocated the next allocation of transmit power. In further embodiments, the iterative allocation of transmit power further includes updating the critical efficiency of the selected client device. In further embodiments, the iterative allocation of transmit power further includes increasing the minimum critical efficiency value of the selected client device.

[0006] In some embodiments, the method further includes ordering a plurality of client devices based on a satisfaction metric for each client device, the order of the plurality of client devices corresponding to a priority for assigning transmit power, and configured such that the first client device in the order is assigned the next assignment of transmit power. In some embodiments, the satisfaction metric for an individual client device is assigned a value such that the individual client device will not receive further assignments of transmit power, depending on whether the expected throughput of the individual client device is greater than or equal to the maximum transmit rate assigned to the individual client device. In some embodiments, one or more quality of service parameters include weights assigned to individual client devices among the plurality of client devices. In some embodiments, one or more quality of service parameters include the maximum transmit rate assigned to individual client devices among the plurality of client devices.

[0007] In some embodiments, one or more quality-of-service parameters include the minimum transmit rate assigned to an individual client device among a group of client devices. In further embodiments, the satisfaction metric for an individual client device is assigned to the expected throughput divided by the minimum transmit rate, depending on whether the expected throughput is less than the minimum transmit rate. In yet another embodiment, the satisfaction ratio for an individual client device is assigned to the difference between the expected throughput and the minimum transmit rate plus 1, depending on whether the expected throughput is greater than or equal to the minimum transmit rate and less than the maximum transmit rate assigned to the individual client device.

[0008] In some embodiments, one or more quality-of-service parameters include priorities assigned to individual client devices of multiple client devices. In further embodiments, the satisfaction metric for individual client devices is assigned to the priority plus the ratio of the expected throughput to the maximum transmit speed for each individual client device, depending on whether the expected throughput is less than the maximum transmit speed.

[0009] In some embodiments, the selected client device is the one with the lowest satisfaction metric. In some embodiments, transmission from the transmitter to multiple client devices is divided into time slots, and transmit power is allocated to each time slot. In further embodiments, each time slot includes multiple frequency subcarriers, and the transmit power is divided among the individual frequency subcarriers of the multiple frequency subcarriers.

[0010] In some implementations, this disclosure relates to a method for allocating transmit power from a transmitter to multiple client devices in a communication network, wherein the transmitter is configured to transmit information using frames comprising multiple time slots and multiple frequency subcarriers. The method includes allocating multiple time-frequency blocks to each of the multiple client devices, each time-frequency block comprising multiple time slots and multiple frequency subcarriers. The method also includes determining the corresponding limiting efficiency for each of the multiple time-frequency blocks allocated to each of the multiple client devices. The method also includes determining the expected throughput for each of the multiple client devices, the expected throughput being at least partially based on the transmit power allocation to the individual client devices and the time-frequency block quality for each of the multiple time-frequency blocks allocated to the individual client devices. The method also includes calculating a satisfaction metric for each of the multiple client devices, based at least partially on one or more quality-of-service parameters and the expected throughput of the client device.The method also includes iteratively allocating transmit power for a given time slot by selecting a client device with a satisfaction metric indicating which client device will next be allocated transmit power; selecting a time-frequency block to be allocated to the selected client device, wherein the selected time-frequency block has the highest limiting efficiency of any of the multiple time-frequency blocks allocated to the selected client device; allocating the next transmit power allocation to the selected time-frequency block of the selected client device, which results in the total transmit power for the selected time-frequency block; updating the expected throughput of the selected client device based at least in part on the total transmit power for the selected time-frequency block; updating the limiting efficiency of the selected time-frequency block; and updating the satisfaction metric of the selected client device.

[0011] In some embodiments, the transmitter comprises a satellite. In further embodiments, the satellite is configured to form multiple beams. In further embodiments, each time-frequency block further includes spatial components associated with individual beams of the multiple beams.

[0012] In some embodiments, the time-frequency block quality is at least partially based on the allocation of transmit power to the time-frequency blocks and the signal-to-noise ratio of the time-frequency blocks. In some embodiments, the method further includes initializing the transmit power allocated to each time-frequency block to an initial power value before iteratively allocating transmit power.

[0013] In some embodiments, the method further includes determining the amount of transmit power available for a given time slot. In further embodiments, the method further includes reducing the amount of transmit power available for a given time slot based on the allocation of transmit power to selected client devices for selected time-frequency blocks.

[0014] In some embodiments, assigning a transmit power allocation to a selected client device for a selected time-frequency block is in response to a determination that the selected time slot has sufficient transmit power available for the transmit power allocation. In some embodiments, the selected client device is allocated the next transmit power allocation in response to a determination that the limiting efficiency of the selected device is greater than the minimum limiting efficiency value. In further embodiments, iteratively allocating transmit power further includes increasing the minimum limiting efficiency value of the selected client device.

[0015] In some embodiments, the method further includes ordering a plurality of client devices based on a satisfaction metric for each client device, the order of the plurality of client devices corresponding to a priority for assigning transmit power such that the first client device in the order is the client device assigned to the next assignment of transmit power. In some embodiments, the satisfaction metric for an individual client device is assigned a value such that the individual client device will not receive further assignments of transmit power, depending on whether the expected throughput of the individual client device is greater than or equal to the maximum transmit rate assigned to the individual client device. In some embodiments, one or more quality of service parameters include weights assigned to individual client devices among the plurality of client devices. In some embodiments, one or more quality of service parameters include the maximum transmit rate assigned to individual client devices among the plurality of client devices.

[0016] In some embodiments, one or more quality-of-service parameters include the minimum transmit rate assigned to an individual client device among a group of client devices. In further embodiments, the satisfaction metric for an individual client device is assigned to the expected throughput divided by the minimum transmit rate, depending on whether the expected throughput is less than the minimum transmit rate. In yet another embodiment, the satisfaction ratio for an individual client device is assigned to the difference between the expected throughput and the minimum transmit rate plus 1, depending on whether the expected throughput is greater than or equal to the minimum transmit rate and less than the maximum transmit rate assigned to the individual client device.

[0017] In some embodiments, one or more quality-of-service parameters include priorities assigned to individual client devices of multiple client devices. In further embodiments, the satisfaction metric for individual client devices is assigned to a priority based on the ratio of the expected throughput to the maximum transmit speed of each client device, depending on whether the expected throughput is less than the maximum transmit speed. In some embodiments, the selected client device is the one with the lowest satisfaction metric.

[0018] In some implementations, this disclosure relates to a power allocation system for a communications network. The power allocation system includes a transmitter configured to transmit information to multiple client devices through multiple client satellite transceivers, the transmitter being configured to transmit information using frames that are each divided into multiple time slots, each time slot containing multiple frequency subcarriers. The power allocation system also includes a non-temporary computer-readable medium for storing processor-executable instructions. The power allocation system also includes a processor communicatively coupled to the transmitter and the non-temporary computer-readable medium. The processor-executable instructions are configured to cause the processor to iteratively allocate transmitter power by causing it to determine the expected throughput for each of a plurality of client devices, the expected throughput being at least partially based on the allocation of transmit power to each client device, calculate a satisfaction metric for each of the plurality of client devices based at least partially on one or more quality of service parameters and the expected throughput of the client device, select a client device with a satisfaction metric indicating that the client device will receive the next transmit power allocation, allocate the next transmit power allocation to the selected client device, resulting in the total transmit power for the selected client device, update the expected throughput of the selected client device based at least partially on the total transmit power, and update the satisfaction metric for the selected client device.

[0019] In some embodiments, the transmitter comprises a satellite. In some embodiments, the transmitter comprises a base station of a wireless network. In further embodiments, the wireless network comprises a cellular network.

[0020] In some embodiments, the allocation further includes determining the critical efficiency of a selected client device, and, depending on whether the processor has determined that the critical efficiency of the selected device is greater than a minimum critical efficiency value, the selected client device is allocated the next allocation of transmit power. In further embodiments, the processor is further configured to update the critical efficiency of the selected client device as part of iteratively allocating transmit power. In further embodiments, the processor is further configured to increase the minimum critical efficiency value of the selected client device as part of iteratively allocating transmit power.

[0021] In some embodiments, the processor is further configured to order a plurality of client devices based on each client device's satisfaction metric, the order of the plurality of client devices corresponding to a priority for assigning transmit power, such that the first client device in the order is assigned the next assignment of transmit power. In some embodiments, the processor is further configured to assign the satisfaction metric of an individual client device to a value indicating that the individual client device will not receive further assignments of transmit power, depending on whether the individual client device's expected throughput is greater than or equal to the maximum transmit rate assigned to the individual client device. In some embodiments, one or more quality of service parameters include weights assigned to individual client devices among a plurality of client devices. In some embodiments, one or more quality of service parameters include the maximum transmit rate assigned to individual client devices among a plurality of client devices.

[0022] In some embodiments, one or more quality-of-service parameters include the minimum transmit rate assigned to an individual client device among a group of client devices. In further embodiments, the processor is further configured to assign the satisfaction metric of an individual client device to the expected throughput divided by the minimum transmit rate, depending on whether the expected throughput is less than the minimum transmit rate. In yet another embodiment, the processor is further configured to assign the satisfaction ratio of an individual client device to the difference between the expected throughput and the minimum transmit rate plus 1, depending on whether the expected throughput is greater than or equal to the minimum transmit rate and less than the maximum transmit rate assigned to the individual client device.

[0023] In some embodiments, one or more quality-of-service parameters include priorities assigned to individual client devices of multiple client devices. In some embodiments, the processor is further configured to assign the satisfaction metric of individual client devices to a priority plus the ratio of the expected throughput to the maximum transmit speed of each client device, depending on whether the expected throughput is less than the maximum transmit speed. In some embodiments, the selected client device is the one with the lowest satisfaction metric.

[0024] In some embodiments, the transmitter is configured to form multiple beams. In further embodiments, two or more of the multiple beams may overlap and interfere with each other. In further embodiments, a first client device covered by a first beam of the multiple beams receives a transmission during a first time slot, and a second client device covered by a second beam overlapping with the first beam receives a transmission during a second time slot different from the first time slot.

[0025] In some implementations, this disclosure relates to a power allocation system for a communications network. The power allocation system includes a transmitter configured to transmit information to multiple client devices through multiple client satellite transceivers, the transmitter being configured to transmit information using frames that are each divided into multiple time slots, each time slot containing multiple frequency subcarriers. The power allocation system also includes a non-temporary computer-readable medium for storing processor-executable instructions. The power allocation system also includes a processor communicatively coupled to the transmitter and the non-temporary computer-readable medium.The processor executable instructions involve the processor assigning multiple time-frequency blocks to each of a plurality of client devices, each time-frequency block comprising multiple time slots and multiple frequency subcarriers, determining the corresponding limiting efficiency for each of the multiple time-frequency blocks assigned to each of the plurality of client devices, determining the expected throughput for each of the plurality of client devices, the expected throughput being at least partially based on the assignment of transmit power to each individual client device and the time-frequency block quality for each of the multiple time-frequency blocks assigned to each individual client device, and calculating a satisfaction metric for each of the plurality of client devices, at least partially based on one or more quality-of-service parameters and the expected throughput of the client device, and so on. The system is configured to iteratively allocate transmit power for a given time slot by selecting a client device with a satisfaction metric indicating which client device will be next allocated transmit power; selecting a time-frequency block to be allocated to the selected client device; ensuring the selected time-frequency block has the highest limiting efficiency of any of the multiple time-frequency blocks allocated to the selected client device; allocating the next transmit power allocation to the selected time-frequency block of the selected client device, resulting in the total transmit power for the selected time-frequency block; updating the expected throughput of the selected client device based at least partially on the total transmit power for the selected time-frequency block; updating the limiting efficiency of the selected time-frequency block; and updating the satisfaction metric of the selected client device.

[0026] In some embodiments, the transmitter comprises a satellite. In further embodiments, the satellite is configured to form a plurality of beams. In still further embodiments, each time-frequency block further includes a spatial component associated with an individual beam of the plurality of beams.

[0027] [[ID=*4]]In some embodiments, the time-frequency block quality is at least partially based on the allocation of transmit power assigned to the time-frequency block and the signal-to-noise ratio of the time-frequency block. In some embodiments, the processor is further configured to initialize the transmit power assigned to each time-frequency block to an initial power value before iteratively allocating the transmit power.

[0028] In some embodiments, the processor is further configured to determine an available amount of transmit power for a given time slot. In further embodiments, the processor is further configured to reduce the available amount of transmit power for a given time slot based on the allocation of transmit power to a selected client device for a selected time-frequency block.

[0029] In some embodiments, the processor is configured to allocate an allocation of transmit power to a selected client device for a selected time-frequency block in response to a determination that the selected time slot has sufficient transmit power available for the allocation of transmit power. In some embodiments, the processor is configured to be allocated the next allocation of transmit power to the selected client device in response to a determination that the limiting efficiency of the selected device is greater than a minimum limiting efficiency value. In further embodiments, the processor is further configured to increase the minimum limiting efficiency value of the selected client device as part of iteratively allocating the transmit power.

[0030] In some embodiments, the processor is further configured to order a plurality of client devices based on a satisfaction metric of each client device, and the order of the plurality of client devices corresponds to a priority for allocating transmit power, and the first client device in the order is the client device to which the next allocation of transmit power is allocated. In some embodiments, the processor is further configured to assign a satisfaction metric of an individual client device to a value indicating that the individual client device does not receive a further allocation of transmit power in response to the predicted throughput of the individual client device being greater than or equal to the maximum transmission speed allocated to the individual client device. In some embodiments, one or more quality of service parameters include a weight assigned to an individual client device among a plurality of client devices. In some embodiments, one or more quality of service parameters include a maximum transmission speed assigned to an individual client device among a plurality of client devices.

[0031] In some embodiments, one or more quality of service parameters include a minimum transmission speed assigned to an individual client device among a plurality of client devices. In a further embodiment, the processor is further configured to assign a satisfaction metric of an individual client device to the predicted throughput divided by the minimum transmission speed in response to the predicted throughput being less than the minimum transmission speed. In yet a further embodiment, the processor is further configured to assign a satisfaction ratio of an individual client device to the predicted throughput divided by the difference between the predicted throughput and the minimum transmission speed plus 1 in response to the predicted throughput being greater than or equal to the minimum transmission speed and less than the maximum transmission speed assigned to the individual client device.

[0032] In some embodiments, one or more quality-of-service parameters include priorities assigned to individual client devices of multiple client devices. In further embodiments, the processor is further configured to assign the satisfaction metric of individual client devices to a priority plus the ratio of the expected throughput to the maximum transmit speed of each client device, depending on whether the expected throughput is less than the maximum transmit speed. In some embodiments, the selected client device is the one with the lowest satisfaction metric.

[0033] For the purpose of summarizing the disclosure, specific aspects, advantages, and novel features are described herein. It should be understood that not all advantages may necessarily be achieved by any particular embodiment. Therefore, the disclosed embodiments may be implemented in a manner that achieves or optimizes one or more advantages or groups of advantages taught herein, without necessarily achieving other advantages that may be taught or suggested herein. [Brief explanation of the drawing]

[0034] [Figure 1A] Figure 1A shows an example of a communication network. [Figure 1B] Figure 1B shows an example of a communication network. [Figure 2] Figure 2 shows an example of dividing transmission resources into time slots and frequency subcarriers. [Figure 3] Figure 3 shows the allocation of resources to multiple users based on satisfaction metrics. [Figure 4] Figure 4 illustrates a communication network with spatial reuse of time and frequency resources, as well as shared power constraints, as is typically implemented in multi-user, multi-input, multi-output (MIMO) systems. [Figure 5]Figure 5 shows an example of dividing transmission resources into time slots and frequency subcarriers in a communication network that provides multiple beams, such as the communication network in Figure 4. [Figure 6] Figure 6 shows another exemplary communications network with beamforming, where beams may interfere with each other. [Figure 7] Figure 7 shows the allocation of transmission resources to multiple client devices on different beams based on satisfaction metrics. [Figure 8] Figure 8 is a flowchart illustrating an exemplary method for allocating transmission resources among multiple client devices in a communication network. [Figure 9] Figure 9 is a flowchart illustrating another exemplary method for allocating transmission resources among multiple client devices in a communication network. [Figure 10] Figure 10 is a flowchart illustrating another exemplary method for allocating transmission resources among multiple client devices in a communication network. [Figure 11] Figure 11 is a flowchart illustrating another exemplary method for allocating transmission resources among multiple client devices in a communication network. [Figure 12] Figure 12 is a block diagram of an exemplary power allocation system in a communication network. [Modes for carrying out the invention]

[0035] The headings provided herein are for convenience only and do not necessarily affect the scope or meaning of the claimed inventions.

[0036] overview To transmit data to client devices in a wireless communication network, transmission resources must be divided into time-frequency blocks, each corresponding to one or more time slots and one or more frequency subcarriers of a frame. Some wireless communication networks use multi-frequency time-division multiplexing (MF-TDMA) with spatial reuse technologies. These technologies dynamically share bandwidth among client devices. Other technologies achieve the same or similar results by transmitting information using multiple orthogonal subcarriers (e.g., orthogonal frequency division multiplexing, or OFDM). These wireless communication networks may also create beams that serve specific geographical areas and / or specific groups of client devices. Transmitters in these wireless communication networks include amplification components that are subject to physical power constraints. Power constraints limit the amount of power available to transmit information in a given time slot, and the power is divided among the frequency subcarriers of the time slot (e.g., regardless of which of one or more beams is being used in a network utilizing beamforming technology). Therefore, it is desirable to allocate transmit power across various time-frequency blocks to improve or optimize efficiency, data throughput, client device requirements, and / or user satisfaction.

[0037] Numerous methods exist for determining the allocation of transmit power for a given time slot, including methods broadly classified as waterfilling algorithms. These algorithms typically allocate transmit power in increments, with each allocation of transmit power being assigned to the time-frequency block (and client device) that provides the most efficient use of that transmit power. This allocation of transmit power in small increments may be performed, for example, within a computation loop that applies the transmit power after the computation loop has finished. Such algorithms suffer from diminishing returns because there is a logarithmic relationship between throughput and transmit power. In addition, such algorithms may allocate large amounts of capacity to client devices that do not need it, while other client devices remain undercapacitated.

[0038] Accordingly, to address these and other issues, this specification describes a system and method for allocating transmit power based at least in part on fairness considerations or satisfaction metrics for individual client devices. The disclosed system and method are similar to previous water-filling techniques in that they may still consider factors such as marginal efficiency and total capacity, but the disclosed technology also takes into account the needs and requirements of individual client devices (such as subscribers or users) in the process of allocating transmit power. The disclosed technology does not necessarily optimize the throughput or output of the transmitter (such as a satellite) like a typical water-filling algorithm, but rather aims to meet the individual requirements of client devices. To do this, the disclosed technology calculates satisfaction metrics based on quality of service (QoS) parameters of individual client devices. Examples of these QoS parameters include, but are not limited to, maximum transmit speed, minimum transmit speed, proportional weights, and priority.

[0039] Figure 1A shows an exemplary communications network 100a that can be configured to implement the disclosed transmit power allocation technology. Communications network 100a may be a satellite network, a cellular network, a wireless network implementing a wireless broadband communication standard (e.g., Wi-Fi), and the like.

[0040] The communication network 100a implements a wireless network system 140a that communicatively connects the client 110 to the external network 160. The wireless network system 140a includes a transmitter 105a for transmitting wireless signals to the client 110. The wireless network system 140a includes a receiver 105b for receiving signals from the client 110. The transmitter 105a and receiver 105b may include various components necessary for wireless communication, such as antennas, amplifiers, and control circuits.

[0041] The wireless network system 140a includes a gateway 130a for interface between the external network 160 and the wireless network system 140a. The gateway 130a can be configured to receive information destined for a client device 110 from the external network 160 and transmit that information to the client 110. Similarly, the gateway 130a can be configured to receive information destined for a site on the external network 160 from the client device 110 and transmit that information to the target site. In some embodiments, the wireless network system 140a also includes a client gateway that interfaces between the client 110 and the wireless network system 140a.

[0042] The wireless network system 140a implements a power allocation module 150 that communicates with a gateway 130a, a transmitter 105a, and a receiver 105b. The power allocation module 150 includes computing components such as a processor and non-temporary memory for implementing the power allocation technology described herein. The power allocation module 150 is configured to allocate transmit power among clients 110. In some embodiments, data transmissions are divided into frames that last for a certain period of time. These frames are further divided into time slots. In addition, the wireless network system 140a can be configured to communicate across various frequency ranges. These frequencies can be divided into frequency subcarriers, and client devices are configured to utilize one or more of these frequency subcarriers. As a result, a transmission in a given time slot can be divided into multiple different frequency subcarriers, enabling communication with multiple clients 110 in each time slot.

[0043] The power allocation module 150 determines the amount of power to allocate to each time slot, at least in part, based on fairness considerations represented by satisfaction metrics, as described herein. These fairness considerations take into account the client's requirements and capabilities, which may be represented by various QoS parameters. These QoS parameters include, but are not limited to, the maximum transmit speed of a client device, the minimum transmit speed of a client device, the weight assigned to a client device, and the priority assigned to a client device. The maximum transmit speed of a client device may be a value assigned to the client device, rather than a physical limit of the client device. This may be based, for example, on a subscriber agreement that sets an upper limit on the amount of bandwidth available to the subscriber. Similarly, the minimum transmit speed of a client device may be a value assigned to the client device. This may be based, for example, on a subscriber agreement that guarantees a minimum amount of bandwidth to the subscriber.

[0044] Figure 1B shows an exemplary communications network 100b that utilizes satellite 105 as part of a wireless network 140b. Communications network 100b is also configured to use power allocation technology that is at least partially based on individual client satisfaction metrics, as described herein. Satellite 105 includes both a transmitter and a receiver, similar to communications network 100a in Figure 1A. In addition, although not shown, communications network 100b includes a power allocation system similar to the power allocation module 150 in Figure 1A. The power allocation system of communications network 100b can be part of satellite 105, gateway 130b, satellite transceiver 131, customer client transceivers 120a, 120b, or it can be distributed among these and various other components of communications network 100b.

[0045] The satellite communication network 100b includes a satellite network 140b that connects multiple client devices 110a, 110b and a gateway routing device 130b in a communicable manner with respect to each other and to an external network 160 (such as the Internet). The satellite communication network 100b implements a power allocation module configured to allocate transmit power for satellite 105. The satellite communication network 100b includes a satellite transceiver 131 configured to transmit and receive signals through satellite 105.

[0046] Satellite communication network 100b can utilize various network architectures, including space and ground segments. For example, the space segment may include one or more satellites, and the ground segment may include one or more satellite user terminals, gateway terminals, network operations centers (NOCs), satellite and gateway terminal command centers, and / or the like. For clarity, some of these elements are not illustrated. Satellite network 140b may include geostationary (GEO) satellites, medium orbit (MEO) satellites, and / or low orbit (LEO) satellites.

[0047] Client devices 110a and 110b include routers that can be configured to receive data routed over the satellite communication network 100b, which include all types of consumer premises equipment (telephones, modems, routers, computers, set-top boxes, etc.).

[0048] Client devices 110a and 110b are configured to route data to the satellite network 140b (via their respective customer satellite transceivers 120a and 120b). The satellite network 140b includes a forward link for transmitting information from the gateway routing device 130b to the client devices 110a and 110b, and a return link for transmitting information from the client devices 110a and 110b to the gateway routing device 130b. The forward link includes a transmission path from the gateway routing device 130b through the gateway satellite transceiver 131, through satellite 105 via the satellite uplink channel, through the satellite downlink channel to the customer satellite transceivers 120a and 120b, and to the client devices 110a and 110b. The return link includes a transmission path from the customer satellite transceivers 120a and 120b through satellite 105 via the satellite uplink channel, through the satellite downlink channel to the gateway satellite transceiver 131, and to the gateway routing device 130b. Each transmission channel may utilize multiple satellites and transceivers.

[0049] Figure 2 shows an example of dividing a transmit resource into time slots and frequency subcarriers. The transmit resource can be grouped into frames 202, which are further divided into time slots and frequency subcarriers. A time-frequency block 204 can be a separate unit of a frame 202, and a time-frequency block 204 is a specific frequency subcarrier for a particular time slot. These time-frequency blocks, comprising time slots and frequency subcarriers, can be used to allocate transmit power to frames, as described herein. It should be noted that the time slots do not need to be identical to one another in terms of which subcarriers are used or available in a particular time slot.

[0050] Transmit resources can be distributed (dynamically or statically) among various client devices. For example, a client device may utilize a specific frequency subcarrier or multiple frequency subcarriers, and as a result, the transmit resources to that client device may be allocated or distributed using a specific frequency subcarrier or multiple specific frequency subcarriers. In addition, time slots of a frame can be allocated (dynamically or statically) to various client devices. For example, one or more time slots of a frame can be allocated to a specific client device. This can be done, for example, to reduce or eliminate interference between client devices utilizing the same frequency subcarrier. The time-frequency blocks allocated to client devices can be static, meaning that for a given frame, the time-frequency blocks are the same for all client devices. The time-frequency blocks allocated to client devices can be dynamic, meaning that for a given frame, the time-frequency blocks allocated to client devices may change. In some embodiments, a particular time-frequency block may not be used.

[0051] Transmit power is shared among the frequency subcarriers of a time slot. Because amplifiers and transmitters (e.g., satellites) have power constraints, the total amount of transmit power available for use is capped, and the transmit power is allocated among the frequency subcarriers of a given time slot. Typically, each time slot has the same or similar power constraints. In some embodiments, individual time slots may have independent power constraints.

[0052] Examples of transmit power allocation technologies To make the improved transmit allocation technology described herein easier to understand, this specification describes a conventional water-filling algorithm. In a conventional water-filling algorithm, transmit power is allocated across frequency subchannels to maximize total capacity (e.g., throughput). The allocation of transmit power is limited by the total power constraint of each time slot, as described herein. Transmit power is allocated in small increments, and each time the time-frequency block that provides the greatest benefit (e.g., the maximum increase in capacity) is selected. The marginal profit (or marginal efficiency, marginal capacity) quantifies the increase in profit (e.g., total capacity) resulting from the increase in allocated transmit power. Not all time-frequency blocks have the same marginal profit when no power is allocated. For example, time-frequency blocks with a high signal-to-noise ratio (SNR) usually have a higher marginal profit. In addition, even with the same amount of allocated power, the magnitude of the change in marginal profit is not always the same. This is also influenced by the properties of the time-frequency block and the client device. This process is generally affected by diminishing returns, and the larger the power already possessed by the time-frequency block, the smaller the marginal profit. When power is allocated to the time-frequency block with the greatest marginal profit (or, as is usually the case, the smallest negative marginal profit), the marginal profits eventually equalize across all time-frequency blocks. In such an algorithm, this represents the optimal solution.

[0053] To improve the process of allocating transmit power, the disclosed transmit power allocation technology utilizes a satisfaction metric in addition to considering marginal profit. The satisfaction metric quantifies the consideration of fairness. As a result, rather than optimizing marginal profit as in the case of a typical water-filling algorithm, the disclosed power allocation technology improves or optimizes fairness to clients or subscribers.

[0054] Figure 3 illustrates the allocation of transmit resources to multiple users based at least partially on the satisfaction metric (SM). The figure shows the allocation of transmit power using throughput blocks. It should be understood that this is merely an example, and the transmit power allocation does not need to be designed to achieve an equal amount of throughput per allocation. For example, because the transmit power allocation is based on equal transmit power blocks, the resulting throughput may vary based on the allocated time-frequency blocks.

[0055] Graph 300 shows the allocation of transmit power to five different client devices, with throughput shown along the vertical axis. The next throughput block to be allocated, block 306, is indicated as being allocated to a fifth client device, and the decision to allocate block 306 to this client device is based on the satisfaction metric indicating that the fifth client device has the lowest satisfaction metric or that the fifth user is the lowest-satisfied among all client devices. Thus, the satisfaction metric is configured as an indicator of fairness and can be used to identify which client device should receive the next transmit power allocation. As can be seen in Graph 300, even if transmit power is distributed fairly, equal throughput is not necessarily achieved for all client devices. In the example in Figure 3, the first three client devices have the same satisfaction metric but different throughputs.

[0056] As described herein, satisfaction metrics are based at least in part on one or more quality of service (QoS) parameters associated with a client device. QoS parameters may be assigned to a client device based on an agreement with the entity providing the client device with connectivity to an external network. Examples of QoS parameters include maximum transmit rate, minimum transmit rate, proportional weight, and priority (order). Maximum transmit rate, also known as allowable capacity, may correspond to an upper limit on the client device's throughput. Minimum transmit rate, also known as committed capacity, may correspond to the minimum rate committed to the client device, or the minimum throughput committed by the service provider to the client device. Weights or proportional weights are used as proportional factors to scale throughput or transmit power if the client device has not yet achieved its allowed capacity or maximum transmit rate.

[0057] The following provides a specific, non-restrictive example of calculating a satisfaction metric for a particular client device. If the client device's throughput is less than the minimum transmit speed, the satisfaction metric can be assigned to the current throughput divided by the minimum transmit speed. If the client device's throughput is greater than the minimum transmit speed but less than the maximum transmit speed, the satisfaction metric can be assigned to the difference between the throughput and the minimum transmit speed plus 1. In some embodiments, the difference between the throughput and the minimum transmit speed can be divided by the weight assigned to the client device. If the client device's throughput is greater than or equal to the maximum transmit speed, the satisfaction metric can be assigned a value (e.g., infinity) indicating that the client device is satisfied.

[0058] In the example in Figure 3, the first, second, and third client devices have a satisfaction metric of 11, the fourth client device has an infinite satisfaction metric (indicating satisfaction), and the fifth client device has a satisfaction metric of 1. Because the fifth client device has the lowest satisfaction metric, it is expected to receive the next allocation of transmit power with the lowest satisfaction level. After allocating throughput to the fifth client device, its satisfaction metric becomes 11, the same as the first three client devices.

[0059] The transmit power allocation described herein can also be extended to include the priority associated with client devices. Priority can be used to override or modify satisfaction metrics. For example, higher-priority client devices receive transmit power allocations until their minimum transmit rate is met, before lower-priority client devices receive transmit power allocations. Once all client devices have reached 100% of their minimum transmit rate, higher-priority client devices receive transmit power allocations until their maximum transmit rate is met. Once a client device's maximum transmit rate is met, transmit power can be allocated to lower-priority client devices.

[0060] Another example of a satisfaction metric is assigning each client device a priority (PRI) and an allowed capacity (PC) or maximum transmit speed. Client devices with higher importance (e.g., higher-ranked priority) receive transmit power allocations until the client device is fully satisfied (e.g., current throughput exceeds the allowed capacity). In this example, priority 0 is the most important priority, and higher values ​​indicate lower importance.

[0061] If a client device's current throughput is greater than or equal to that of a PC, the satisfaction metric is assigned to infinity (or a value indicating satisfaction). If a client device's current throughput is less than that of a PC, the satisfaction metric is assigned to the throughput divided by the priority and the PC. For example, client device A has a priority of 1, a PC of 50, and a current throughput of 50. The satisfaction metric for client device A is assigned to infinity. Client device B has a priority of 2, a PC of 100, and a current throughput of 50. The satisfaction metric for client device B is 2 + 50 / 100 = 2.5. Client device C has a priority of 2, a PC of 50, and a current throughput of 25. The satisfaction metric for client device C is 2 + 25 / 50 = 2.5. Client device D has a priority of 3, a PC of 100, and a current throughput of 0. The satisfaction metric for client device D is 3 + 0 / 100 = 3.

[0062] In this example, client device A has the highest importance (lowest priority) and has achieved its allowed capacity (PC), so its satisfaction metric is set to infinite, indicating that client device A will not receive any further bandwidth. Client devices B and C have the lowest satisfaction metrics, which are identical, so both client devices can receive the next allocation of transmit power (or bandwidth increase). Client device D has a lower importance priority than client devices B and C, so its satisfaction metric will be higher. This means that client device D will not be allocated transmit power until both client devices B and C have reached their allowed capacity.

[0063] Therefore, the disclosed transmit power allocation technology emphasizes consideration of fairness quantified by a satisfaction metric. This is in contrast to typical water-filling algorithms that focus on total capacity or throughput. By allocating transmit power based on the satisfaction metric, the system maintains fairness regardless of the client device's time-frequency block or system quality (e.g., SNR). It should be noted that the disclosed methods for determining the satisfaction metric are not exhaustive but merely illustrative, and other methods may be employed to determine the satisfaction metric. For example, ranked priorities may be used, weighted priorities may be used, or other factors (e.g., SNR, marginal efficiency, expected throughput) may be used in calculating the satisfaction metric. Focusing on fairness may result in different throughputs for different client devices because the client device with the lowest satisfaction (e.g., lowest satisfaction metric) is configured to receive the next allocation of transmit power. This can also occur if a client device already has a higher throughput than other client devices and a lower marginal benefit.

[0064] Assignment of transmit power in beamforming systems Figure 4 shows a communication network 400 with spatial reuse of time and frequency resources and shared power constraints, as is typically implemented in multi-user multi-input, multi-output (MIMO) systems. The communication network 400 includes multiple antennas 405 configured to provide beams A408a and B408b. Each beam 408a, 408b represents a geographical area covered by antenna 405. Each beam 408a, 408b provides network capabilities to multiple client devices within beams 408a, 408b. The communication network 400 is configured to implement spatial reuse of time and frequency elements, as shown in Figure 5. This means that the same time slots and frequency subcarriers can be reused for geographically separated client devices (e.g., covered by non-overlapping beams 408a, 408b). Since antenna 405 is power-constrained in its individual time slots, power is shared across the subcarriers and beams 408a, 408b. For example, if antenna 405 is mounted on a satellite, beams 408a and 408b have a spatial element to the antenna. When beams overlap, if client devices use the same frequency subcarrier in the same time slot, interference can occur between client devices. Client devices on non-overlapping beams do not have the same interference constraints. Therefore, subcarriers can be reused on non-overlapping beams 408a and 408b.

[0065] Figure 5 shows an example of dividing transmit resources into time slots and frequency subcarriers in a communication network providing multiple beams 408a, 408b, such as the communication network 400 in Figure 4. Similar to the division of transmit resources described herein with reference to Figure 2, the transmit resources are divided into time-frequency blocks 504 for different beams 408a, 408b. There is spatial reuse of time-frequency elements, as the same subcarriers used in beam A 408a can be used in beam B 408b in the same time slot. The communication network 400 can be configured to power client devices on beams A and B simultaneously, resulting in power being shared across the entire beam as well as the entire subcarrier. Consequently, transmit power is allocated simultaneously across multiple beams.

[0066] Figure 6 shows another exemplary communications network 600 with beamforming, in which beams may interfere with each other. Communications network 600 is similar to communications network 400 in Figure 4, except that communications network 600 forms beams A608a, B608b, and C608c, with beams A608a and C608c overlapping at least partially (for example, beams A608a and C608c cover overlapping geographical areas). Communications network 600 includes antennas 605 from beams 608a-608c.

[0067] Beam B608b can utilize the same transmission resources as beams A608a and C608c without encountering interference. However, overlapping beams 608a and 608c use separate (e.g., orthogonal) transmission resources to avoid potential interference. For example, client devices on beams A and C may encounter interference if the same frequency subcarrier is used by these client devices during the same time slot.

[0068] In some embodiments, to avoid interference, client devices on beam A608a are assigned different time slot time-frequency blocks than those on beam C608c. For example, a first time slot can be assigned to a client device on beam A608a, and a second time slot can be assigned to a client device on beam C608c. As another example, a first set of consecutive time slots can be assigned to a client device on beam A608a, and a second set of consecutive time slots can be assigned to a client device on beam C608c. In certain embodiments, a different subcarrier can be assigned to a client device on beam A608a than the subcarrier assigned to a client device on beam C608c. In various embodiments, a different combination of time slot and frequency subcarrier can be assigned to a client device on beam A608a than the combination of time slot and frequency subcarrier assigned to a client device on beam C608c.

[0069] In the communication network 600, power constraints exist for the set of beams A, B, and C608a-608c, rather than for individual beams. In a given time slot, power is shared across all beams 608a-608c. Therefore, the disclosed power allocation technology determines fairness for client devices across multiple beams 608a-608c. In these types of scenarios, the allocation of transmit power can be complex because client devices on beams A608a and C608c share transmit resources, while client devices on beam B608b can be allocated any transmit resources. For example, a client device on beam A608a may be allocated transmit power in the first time slot, a client device on beam C608c may be allocated transmit power in the second time slot, and a client device on beam B608b may be allocated transmit power in both the first and second time slots. Thus, when allocating transmit power, client devices of beam B608b can be allocated transmit power in either time slot to satisfy fairness considerations. In this way, the disclosed transmit power allocation technology can be configured to achieve fairness across multiple time slots (for example, fairness can be determined for a subset of time slots in a frame, all time slots in a frame, or multiple frames). In this manner, the disclosed power allocation technology is configured to allocate transmit power across multiple time slots while respecting the power constraints of individual time slots. Furthermore, fairness can be achieved by considering multiple time slots rather than achieving fairness for each time slot individually.

[0070] The disclosed power allocation technology is configured to fairly allocate power among various subcarriers and beams 608a-608c. The power allocation technology can be configured to ensure or achieve fairness over several time slots, rather than over each individual time slot. Thus, the power allocation technology allocates power over several, i.e., n slots, and a power allocation solution is calculated for each n time slot. This is repeated for each n time slot. As an example, a frame may contain 10 time slots, 64 time slots, or any other number of time slots. In addition, once a power allocation solution is determined, the same solution can be used for a time period T. The time period T can be about 1 second, about 2 seconds, at least 1 second and / or less than 2 seconds, more than 2 seconds, or less than 1 second.

[0071] Figure 7 shows the allocation of transmission resources to multiple client devices on different beams based on a satisfaction metric. The different beams are provided in the communication network 600 described herein with respect to Figure 6. Thus, beams A and B are spatially separated, while beams A and C overlap at least partially. In the upper graph 700a, the satisfaction metric is measured along the y-axis. In the lower graph 700b, negative limiting efficiency is plotted along the y-axis and time is plotted along the x-axis.

[0072] The new power block 709 (ΔP) is ready for allocation. Client device B is selected to receive the new power block 709 because it has the lowest satisfaction (e.g., the lowest satisfaction metric). Client devices A and C are similarly satisfied, even though they are not allocated the same amount of transmit power (as indicated by the number of blocks). Since client device B is spatially isolated from beams A and C, the power can be allocated to either time slot 1 or time slot 2. In contrast, power can be allocated to client device A on beam A in time slot 1 but not in time slot 2, and power can be allocated to client device C on beam C in time slot 2 but not in time slot 1. This follows the example shown in Figure 6, but it should be understood that other methods of providing orthogonal resources to overlapping beams can also be used, as described herein. The new power block 709 is allocated to time slot 2 because it has a higher marginal efficiency than time slot 1.

[0073] Therefore, a satisfaction metric can be used to determine which client device will receive the next allocation of transmit power, and marginal profit (or negative marginal efficiency) can be used to determine which client's time slot to allocate a block of transmit power to. This part of the process may resemble a conventional water-filling algorithm that uses total capacity or throughput to determine which time slot to allocate transmit power to. In such embodiments, the disclosed power allocation technology can function as a nested loop, where the outer loop selects client devices based on fairness considerations (e.g., satisfaction metrics) and the inner loop allocates power based on marginal profit.

[0074] Method of assigning transmit power Figure 8 shows a flowchart of an exemplary method 800 for allocating transmission resources among multiple client devices in a communication network. For simplicity of explanation, method 800 is described as being performed by a power allocation system similar to the power allocation system described herein with respect to Figure 12. However, it should be understood that method 800 can be performed by any device, module, or system described herein, or any combination of devices, modules, or systems described herein. Similarly, parts of method 800 can be performed by certain devices, modules, or systems described herein, and other parts of method 800 can be performed by different devices, modules, or systems described herein.

[0075] Method 800 is configured to allocate transmit power to multiple client devices. A client device may be assigned one or more time-frequency blocks. Time-frequency blocks assigned to a client device do not interfere with time-frequency blocks assigned to other client devices. Time-frequency blocks can share time slots, but may or may not use the same frequency. Time-frequency blocks in a time slot are subject to a total or aggregate power constraint. In other words, the total allocated power is configured to be less than or equal to the total power constraint associated with the physical capacity of the transmitter. Method 800 is configured to allocate power to time-frequency blocks in such a way that the throughput of client devices is fair, according to one or more quality of service (QoS) parameters.

[0076] In block 805, the power allocation system initializes the power, expected throughput, and satisfaction metric for each client device to an initial value such as zero. In method 800, the power allocation system is configured to determine and / or update the expected throughput for each of multiple client devices. Similarly, in method 800, the power allocation system is configured to calculate and / or update the satisfaction metric for each client device.

[0077] To allocate transmit power or transmit resources, the power allocation system repeatedly executes the steps in blocks 810-830. This part of method 800 can terminate when all available transmit power has been allocated or when each client device has achieved its maximum transmit speed (or permitted capacity).

[0078] In block 810, the power allocation system selects a client device from a plurality of client devices, and this selection is based on a calculated satisfaction metric. If multiple client devices have the same satisfaction metric, the client device may be selected randomly. The selected device has a satisfaction metric that indicates it is the client device with the lowest satisfaction. In some embodiments, the selected device has the lowest satisfaction metric.

[0079] In block 815, the power allocation system assigns the next allocation of transmit power to the selected client device. In block 820, the power allocation system updates the expected throughput of the selected client device based on the total transmit power allocated to the selected client device. In some embodiments, transmit power is allocated to multiple different time-frequency blocks for a particular client device. In such embodiments, the expected throughput is the total expected throughput considering the allocated transmit power on all time-frequency blocks allocated to the selected client device. In some embodiments, the client device is allocated to a single time-frequency block rather than to multiple time-frequency blocks.

[0080] The expected throughput can be determined based on various factors such as the characteristics of the client device, the signal-to-noise ratio (SNR), and the channel quality. In some embodiments, the channel quality (Q) can be the SNR divided by the power (P), or the SNR per unit of power. In some embodiments, the expected throughput (ET) can be the channel bandwidth (BW) × log(1 + P * Q) (e.g., from Shannon's theory). In some embodiments, ET is BW * Fun(P * Q) and can be found in the transmitter lookup table as a function of the modulation / coding order.

[0081] In block 825, the power allocation system updates the satisfaction metric for the selected client device. The updated satisfaction metric is at least partially based on the updated expected throughput determined in block 820. The satisfaction metric can be at least partially based on QoS parameters. Each client device can be assigned QoS parameters such as committed capacity or minimum transmit rate, allowed capacity or maximum transmit rate, weight, priority, etc., without limitation. The satisfaction metric can be at least partially based on the expected throughput determined during method 800.

[0082] In block 830, the power allocation system determines whether there is any additional transmit power available for allocation. If there is available transmit power, the power allocation system returns to block 810 and selects the client devices to which the transmit power will be allocated. If there is no more available transmit power, the power allocation system terminates method 800. In some embodiments, the power allocation system terminates method 800 if the expected throughput of each client device exceeds the maximum transmit rate (or permitted capacity) associated with the client device.

[0083] Figure 9 shows a flowchart of another exemplary method 900 for allocating transmission resources among multiple client devices in a communication network. Method 900 is similar to Method 800, but has certain differences related to considering the marginal efficiency of the client devices. For simplicity of explanation, Method 900 is described as being performed by a power allocation system similar to the power allocation system described herein with respect to Figure 12. However, it should be understood that Method 900 can be performed by any device, module, or system described herein, or any combination of devices, modules, or systems described herein. Similarly, parts of Method 900 can be performed by certain devices, modules, or systems described herein, and other parts of Method 900 can be performed by different devices, modules, or systems described herein.

[0084] Method 900, like Method 800, is configured to allocate transmit power to multiple client devices. Method 900 also considers marginal efficiency, which can be advantageous in avoiding the allocation of transmit resources to poor or low-quality time-frequency blocks. This represents a compromise to the fairness approach for power allocation described in Method 800.

[0085] In block 905, the power allocation system determines the expected throughput, critical efficiency, and satisfaction metric for each of a plurality of client devices. The expected throughput can be determined as described herein with respect to method 800 in Figure 8. Similarly, the satisfaction metric can be determined as described herein with respect to method 800 in Figure 8. In some embodiments, the critical efficiency (ME) may be the critical capacity (MG) divided by the bandwidth (BW) of the client device, and the critical capacity (MC) is the power derivative of the expected throughput (ET) of the client device. In block 910, the power allocation system creates an ordered list of client devices, the order of which is based on the value of the satisfaction metric.

[0086] To allocate transmit power or transmit resources, the power allocation system repeatedly executes the steps in blocks 915-935. This part of method 900 can terminate once all available transmit power has been allocated, when each client device has achieved its maximum transmit speed (or permitted capacity), or when each client device has exceeded its relevant limit efficiency threshold.

[0087] In block 915, the power allocation system selects a client device from an ordered list of client devices. The selected client device has a satisfaction metric indicating that it is the client device with the lowest satisfaction level. In some embodiments, the selected device is the first client device on the ordered list of client devices created in block 910.

[0088] In block 920, the power allocation system determines whether the expected throughput (ET) and limiting efficiency (ME) are within acceptable limits. In some embodiments, if the ET exceeds the permitted capacity or maximum transmission rate, the ET is deemed unacceptable, and the power allocation system removes the client device from the ordered list in block 922.

[0089] Each client device may have one or more limiting efficiency thresholds associated with it. In some embodiments, the first limiting efficiency threshold may be the permitted capacity limiting efficiency threshold (MET_PC), and the second limiting efficiency threshold may be the committed capacity limiting efficiency threshold (MET_CC). If the limiting efficiency of a client device is higher than MET_PC and the client device's ET is lower than the permitted capacity (PC), the client device can receive more power. If the limiting efficiency of a client device is higher than MET_CC and the client device's ET is lower than the committed capacity (CC), the client device can receive more power. If any of these thresholds are violated, the client device is removed from the ordered list in block 922. The purpose of checking that the limiting efficiency is within acceptable limits is to ensure that the selected client devices do not encounter undesirable diminishing returns. In other words, the power allocation system is configured to determine whether there is sufficient efficiency to convert the allocated transmit power into the throughput of the selected client devices.

[0090] Depending on whether the expected throughput and limiting efficiency are determined to be within acceptable limits, the power allocation system allocates the next power block to the client device selected in block 925. In block 930, the power allocation system updates the expected throughput, limiting efficiency, and satisfaction metric for the selected client device. The block power allocation system updates the expected throughput for the selected client device based on the total transmit power allocated to the selected client device. The updated satisfaction metric is at least partially based on the updated expected throughput. Similarly, the updated limiting efficiency is at least partially based on the updated expected throughput. In some embodiments, the power allocation system is configured to increase the limiting efficiency value for the selected device.

[0091] In block 935, the power allocation system determines whether there is any additional transmit power available for allocation and whether there are any client devices remaining in the ordered list. If there is available transmit power and client devices in the ordered list, the power allocation system updates the ordered list based on the satisfaction metric updated in block 937 and returns to block 915 to select the client devices to which transmit power should be allocated. If there is no more available transmit power or no more client devices in the list, the power allocation system terminates method 900. In some embodiments, the power allocation system terminates method 900 if the expected throughput of each client device exceeds the maximum transmit rate (or allowed capacity) associated with the client device.

[0092] Figure 10 shows a flowchart of another exemplary method 1000 for allocating transmit resources among multiple client devices in a communication network. Method 1000 is similar to Method 800, but has certain differences relating to the allocation of transmit power in a communication network where interference may be encountered between time-frequency blocks. This can occur in communication networks providing multiple beams, such as communication networks 400 or 600 described herein with reference to Figures 4 and 6. For simplicity of explanation, Method 1000 is described as being performed by a power allocation system similar to the power allocation system described herein with reference to Figure 12. However, it should be understood that Method 1000 can be performed by any device, module, or system described herein, or any combination of devices, modules, or systems described herein. Similarly, parts of Method 1000 can be performed by certain devices, modules, or systems described herein, and other parts of Method 1000 can be performed by different devices, modules, or systems described herein.

[0093] Method 1000, like Method 800, is configured to allocate transmit power to multiple client devices. Method 1000 also considers critical efficiency. After selecting client devices based on satisfaction metrics, critical efficiency is considered and used to determine which time-frequency block to allocate transmit power to. Method 1000 proves particularly useful in situations where information can be transmitted to client devices using multiple different time-frequency blocks in different time slots. In such situations, after selecting the client device with the lowest satisfaction, critical efficiency can be used to select the time-frequency block for efficient power allocation.

[0094] In some embodiments, Method 1000 is initiated by determining the time-frequency block quality for each client device per time-frequency block. Initiating Method 1000 may also include initializing the power allocated to the time-frequency block to zero or some other default value.

[0095] In block 1005, the power allocation system determines the expected throughput for each client device. The expected throughput is calculated as described herein and may take into account selected devices to which multiple time-frequency blocks have been allocated. In some embodiments, each client device has one or more time-frequency blocks, and these time-frequency blocks do not interfere with each other. The expected throughput is the sum of the throughput of each time-frequency block of the client device.

[0096] In block 1010, the power allocation system determines the limiting efficiency (ME) for each client device and each time-frequency block. The limiting efficiency can be calculated as described herein. The client device can then make one or more time-frequency blocks available, which can be particularly useful when interference between time-frequency blocks may be a problem. To evaluate the effectiveness of allocating power to the time-frequency blocks of selected client devices, the limiting efficiency is determined for each time-frequency block of each client device.

[0097] In block 1015, the power allocation system calculates a satisfaction metric for each client device. The satisfaction metric can be calculated as described herein.

[0098] To allocate transmit power or transmit resources, the power allocation system repeatedly executes the steps in blocks 1020-1040. This part of method 1000 can terminate when all available transmit power has been allocated or when each client device has achieved its maximum transmit speed (or permitted capacity).

[0099] In block 1020, the power allocation system selects a client device based on a satisfaction metric, where the selected client device is the one with the lowest satisfaction level. In some embodiments, the selected device has the lowest satisfaction metric.

[0100] In block 1025, the power allocation system selects a time-frequency block available for the selected client device, the selected time-frequency block having the highest limiting efficiency. The time-frequency blocks available for selection may be distributed across multiple time slots, each time slot having its own associated power constraints.

[0101] This step is similar to a standard water-filling algorithm but is performed after selecting client devices based at least partially on fairness considerations. By combining fairness with a standard water-filling algorithm, Method 1000 is configured to ensure fairness and increase, maximize, or optimize total throughput across all client devices.

[0102] In block 1030, the power allocation system allocates the next block of transmit power to the selected client device on the selected time-frequency block. In block 1035, the power allocation system updates the limiting efficiency of the selected time-frequency block and updates the expected throughput and satisfaction metrics for the selected client device.

[0103] In block 1040, the power allocation system determines whether there is any additional transmit power available for allocation. In some embodiments, the available transmit power is determined for each time slot available for power allocation. In such embodiments, transmit power is available if the time slot does not exceed the power constraint. If there is available transmit power, the power allocation system returns to block 1020 and selects the client devices to which the transmit power is allocated. If there is no more available transmit power, the power allocation system terminates method 1000. In some embodiments, the power allocation system terminates method 1000 if the expected throughput of each client device exceeds the maximum transmit rate (or allowed capacity) associated with the client device.

[0104] Figure 11 shows a flowchart of another exemplary method for allocating transmit resources among multiple client devices in a communication network. Method 1100 is similar to Method 900, but has certain differences relating to the allocation of transmit power in a communication network that may encounter interference between time-frequency blocks. This can occur in communication networks providing multiple beams, such as communication networks 400 or 600 described herein with reference to Figures 4 and 6. For simplicity of explanation, Method 1100 is described as being performed by a power allocation system similar to the power allocation system described herein with reference to Figure 12. However, it should be understood that Method 1100 can be performed by any device, module, or system described herein, or any combination of devices, modules, or systems described herein. Similarly, parts of Method 1100 can be performed by certain devices, modules, or systems described herein, and other parts of Method 1100 can be performed by different devices, modules, or systems described herein.

[0105] Method 1100 is configured to allocate transmit power to multiple client devices, similar to Method 900. After selecting client devices based on a satisfaction metric, Method 1100 considers the marginal efficiency in selecting the time-frequency blocks to be allocated to the client devices. The marginal efficiency is used to determine which time-frequency blocks to allocate transmit power to. Method 1100 proves particularly useful in situations where information can be transmitted to client devices using multiple different time-frequency blocks in different time slots. In such situations, after selecting the client devices with the lowest satisfaction, the marginal efficiency can be used to select time-frequency blocks for efficient power allocation.

[0106] In some embodiments, Method 1100 is initiated by determining the time-frequency block quality for each client device per time-frequency block. Initiating Method 1100 may also include initializing the power allocated to the time-frequency block to zero or some other default value.

[0107] In block 1105, the power allocation system determines the expected throughput and satisfaction metric for each client device, and the limiting efficiency for each time-frequency block. The expected throughput can be determined as described herein. Similarly, the satisfaction metric can be determined as described herein. Likewise, the limiting efficiency (ME) can be determined as described herein. In block 1110, the power allocation system creates an ordered list of client devices, the order of which is based on the satisfaction metric values.

[0108] To allocate transmit power or transmit resources, the power allocation system repeatedly executes the steps in blocks 1115-1145. This part of method 1100 can terminate once all available transmit power has been allocated, when each client device has achieved its maximum transmit speed (or permitted capacity), or when there are no more client devices remaining in the ordered list created in block 1110.

[0109] In block 1115, the power allocation system selects a client device from an ordered list of client devices. The selected client device has a satisfaction metric indicating that it is the client device with the lowest satisfaction level. In some embodiments, the selected device is the first client device on the ordered list of client devices created in block 1110.

[0110] In block 1120, the power allocation system determines whether the selected client device has a time-frequency block with available power to be allocated. If not, the client device is removed from the ordered list in block 1122, and the system returns to block 1115. If there is an available time-frequency block, the power allocation system selects the time-frequency block with the highest limiting efficiency in block 1125.

[0111] In block 1130, the power allocation system determines whether the expected throughput (ET) and the limiting efficiency (ME) of the selected time-frequency block for the selected device are within acceptable limits. In some embodiments, if the ET exceeds the permitted capacity or maximum transmit speed, the ET is deemed unacceptable, and the power allocation system removes the client device from the ordered list in block 1122.

[0112] As described herein, limiting efficiency thresholds can be used to ensure that power is allocated to time-frequency blocks that do not encounter excessive diminishing returns. In other words, limiting efficiency thresholds can be used to ensure efficient allocation of transmit power. Each client device may have one or more limiting efficiency thresholds associated with it. In some embodiments, the first limiting efficiency threshold may be the permitted capacity limiting efficiency threshold (MET_PC), and the second limiting efficiency threshold may be the committed capacity limiting efficiency threshold (MET_CC). If the limiting efficiency of a client device is higher than MET_PC and the client device's ET is lower than the permitted capacity (PC), the client device can receive more power. If the limiting efficiency of a client device is higher than MET_CC and the client device's ET is lower than the committed capacity (CC), the client device can receive more power. If any of these thresholds are violated, the client device is removed from the ordered list of block 1122.

[0113] Depending on whether the expected throughput and limiting efficiency are determined to be within acceptable limits, the power allocation system allocates the next power block to the client device selected in block 1135. In block 1140, the power allocation system updates the limiting efficiency of the selected time-frequency block, as well as the expected throughput and satisfaction metrics for the selected client device. The power allocation system updates the expected throughput for the selected client device based on the total transmit power allocated to the selected client device across multiple time-frequency blocks allocated to the selected client device. The updated satisfaction metric is at least partially based on the updated expected throughput. Similarly, the updated limiting efficiency is at least partially based on the updated expected throughput. In some embodiments, the power allocation system is configured to reduce the limiting efficiency value of the selected device.

[0114] In block 1145, the power allocation system determines whether there is any additional transmit power available for allocation and whether there are any client devices remaining in the ordered list. If there is available transmit power and client devices in the ordered list, the power allocation system updates the ordered list based on the satisfaction metric updated in block 1147 and returns to block 1115 to select the client devices to which transmit power should be allocated. If there is no more available transmit power or no more client devices in the list, the power allocation system terminates method 1100. In some embodiments, the power allocation system terminates method 1100 if the expected throughput of each client device exceeds the maximum transmit rate (or allowed capacity) associated with the client device.

[0115] Transmit power allocation system Figure 12 shows a block diagram of an exemplary power allocation system 1250 in a communication network, such as the communication network described herein with reference to Figures 1A, 1B, 4, and 6. The power allocation system 1250 is configured to allocate transmit power to client devices on the communication network. The power allocation system 1250 is similar to the power allocation module 150 described herein with reference to Figure 1A and can be implemented in the communication network described therein. The power allocation system 1250 can employ any of the methods described herein for allocating transmit power in the communication network, such as the exemplary methods 800, 900, 1000, and 1100 described herein with reference to Figures 8 to 11, respectively.

[0116] The power allocation system 1250 may include hardware, software, and / or firmware components for allocating transmit power to client devices based on fairness considerations. The power allocation system 1250 includes a data store 1251, one or more processors 1253, a satisfaction metric module 1252, a marginal efficiency module 1254, an expected throughput module 1256, and a power tracking module 1258. The components of the power allocation system 1250 can communicate with each other, with external systems, or with other network components such as transmitters using a communication bus 1255. The power allocation system 1250 can be implemented using one or more computing devices. For example, the power allocation system 1250 can be implemented using a single computing device, multiple computing devices, a distributed computing environment, or deployed on a virtual device in a public or private computing cloud. In a distributed computing environment, one or more computing devices can be configured to provide the modules described herein to provide the described functionality.

[0117] The power allocation system 1250 includes a satisfaction metric module 1252. The satisfaction metric module 1252 is configured to determine a satisfaction metric as described herein. The satisfaction metric can be an indicator of satisfaction or fairness in power allocation based on quality of service parameters such as priority, weight, maximum transmit rate, allowed capacity, minimum transmit rate, and committed capacity. The satisfaction metric can respond to changes in the amount of transmit power allocated to client devices.

[0118] The power allocation system 1250 includes a limiting efficiency module 1254. The limiting efficiency module 1254 is configured to determine the limiting efficiency for each time-frequency block. Using the limiting efficiency in conjunction with the satisfaction metric allows for the fair and efficient allocation of transmit power to client devices. The limiting efficiency can also be used to determine which time-frequency block to allocate transmit power to after selecting client devices based on the satisfaction metric. The limiting efficiency can be calculated or determined using any appropriate algorithm, calculation, or method.

[0119] The power allocation system 1250 includes a predicted throughput module 1256. The predicted throughput module 1256 is configured to determine the predicted throughput of a client device based on the total power allocated to the client device, which may include summing the predicted throughput of each time-frequency block allocated to the client device. The predicted throughput may be based on time-frequency block quality, SNR, allocated power, etc. The predicted throughput may be determined as described herein.

[0120] The power allocation system 1250 includes a power tracking module 1258. The power tracking module 1258 is configured to ensure that power constraints are respected when allocating transmit power to client devices. The power tracking module 1258 is further configured to determine whether there is power available for allocation. The power tracking module 1258 is further configured to determine or set the size of the block of power to be allocated.

[0121] The power allocation system 1250 includes one or more processors 1253 configured to control the operation of modules 1252, 1254, 1256, 1258 and data store 1251. The one or more processors 1253 implement and utilize software modules, hardware components, and / or firmware elements configured to allocate transmit power to multiple client devices on a communication network. The one or more processors 1253 may include appropriate computer processors, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other appropriate microprocessors. The one or more processors 1253 may also include other computing components configured to interface with the various modules and data stores of the power allocation system 1250.

[0122] The power allocation system 1250 includes a data store 1251 configured to store configuration data, calibration data, channel quality data, power data, device data, databases, data tables, algorithms, executable instructions (e.g., instructions for one or more processors 1253), etc. The data store 1253 can be a non-temporary computer-readable medium that stores processor executable instructions, or instructions configured to cause one or more processors 1253 to perform one or more functions (functions performed by modules 1252, 1254, 1256, 1258, and / or methods described herein with reference to Figures 8 to 11). The data store 1251 can be any suitable data storage device or combination of devices, including, but not limited to, random access memory, read-only memory, solid-state disks, hard drives, flash drives, bubble memory, etc.

[0123] Additional Embodiments This disclosure describes various features, but no single feature alone plays a role in the advantages described herein. As will be apparent to those skilled in the art, it will be understood that the various features described herein can be combined, modified, or omitted. Combinations and subcombinations other than those specifically described herein will be apparent to those skilled in the art and are intended to form part of this disclosure. In relation to various flowchart steps and / or phases, various methods are described herein. In many cases, certain steps and / or phases can be combined together, and it will be understood that multiple steps and / or phases shown in a flowchart can be executed as a single step and / or phase. Also, certain steps and / or phases can be divided into additional subcomponents and executed individually. In some cases, the order of steps and / or phases can be changed, and certain steps and / or phases can be omitted entirely. Furthermore, the methods described herein should be understood to be open-ended, and additional steps and / or phases can be executed in addition to those shown and described herein.

[0124] Some aspects of the systems and methods described herein can be advantageously implemented, for example, using computer software, hardware, firmware, or any combination of computer software, hardware, and firmware. The computer software may include computer executable code stored in a computer-readable medium (e.g., a non-temporary computer-readable medium) that, when executed, performs the functions described herein. In some embodiments, the computer executable code is executed by one or more general-purpose computer processors. A skilled technician will understand, in light of this disclosure, that any feature or function that can be implemented using software running on a general-purpose computer can also be implemented using different combinations of hardware, software, or firmware. For example, such a module can be fully implemented in hardware using a combination of integrated circuits. Alternatively or additionally, such features or functions can be fully or partially implemented using a dedicated computer designed to perform the specific functions described herein, rather than a general-purpose computer.

[0125] Instead of any one computing device described herein, multiple distributed computing devices can be used. In such a distributed embodiment, the functions of one computing device are distributed (for example, over a network), and several functions are performed on each of the distributed computing devices.

[0126] Some embodiments may be described with reference to equations, algorithms, and / or flowcharts. These methods may be implemented using computer program instructions executable on one or more computers. These methods may be implemented individually as computer program products or as components of a device or system. In this regard, each equation, algorithm, block, or step in a flowchart, and combinations thereof, may be implemented by hardware, firmware, and / or software, which include one or more computer program instructions incorporated into computer-readable program code logic. As will be understood, such computer program instructions may be loaded onto one or more computers, including but not limited to general-purpose computers or special-purpose computers, or other programmable processing devices that manufacture machines, and the computer program instructions executed on the computer(s) or other programmable processing device(s) implement the functions specified in the equations, algorithms, and / or flowcharts. It will also be understood that each equation, algorithm, and / or block in a flowchart, and combinations thereof, may be implemented by a dedicated hardware-based computer system, or a combination of dedicated hardware and computer-readable program code logic means, that performs the specified functions or steps.

[0127] Furthermore, computer program instructions, which are materialized into computer-readable program code logic, may also be stored in computer-readable memory (e.g., non-temporary computer-readable media) that can instruct one or more computers or other programmable processing devices to function in a particular way, and the instructions stored in computer-readable memory implement the functions specified in the blocks of a flowchart. Computer program instructions may also be loaded into one or more computers or other programmable computing devices, and a series of operational steps may be executed on one or more computers or other programmable computing devices to generate a computer implementation process, and the instructions executed on the computer or other programmable processing device provide steps for implementing the functions specified in the equations, algorithms, and / or blocks of a flowchart.

[0128] Some or all of the methods and tasks described herein can be performed by a computer system and may be fully automated. In some cases, the computer system may include multiple individual computers or computing devices (e.g., physical servers, workstations, storage arrays) that communicate and interoperate over a network to perform the functions described. Each such computing device typically includes a processor (or more processors) that executes program instructions or modules stored in memory or other non-temporary computer-readable storage media or devices. While the various functions disclosed herein may be embodied in such program instructions, some or all of the disclosed functions may, alternatively, be implemented in application-specific circuitry (e.g., ASICs or FPGAs) within the computer system. When the computer system includes multiple computing devices, these devices may, but do not necessarily, be located in the same place. The results of the disclosed methods and tasks may be permanently stored by converting physical storage devices, such as solid-state memory chips and / or magnetic disks, to another state.

[0129] Unless the context clearly indicates otherwise, throughout the description and claims, terms such as “comprise,” “comprising,” etc., shall be interpreted in a comprehensive sense, i.e., “including, but not limited to,” as opposed to an exclusive or exhaustive sense. The term “combine,” as commonly used herein, refers to two or more elements that can be joined directly or joined by one or more intermediate elements. Additionally, as used in this application, “as specified,” “above,” “below,” and similar phrases refer to the entire application and not to any particular part thereof. Where the context allows, terms used in the above detailed description, whether singular or plural, may also include singular or plural, respectively. The term “or,” relating to a list of two or more items, encompasses all of the following interpretations of the term: any of the items in the list, all of the items in the list, and any combination of the items in the list. The term “exemplary” is used herein to mean “serving as an example, case, or illustration.” Any implementation described herein as "exemplary" should not necessarily be interpreted as being preferable or advantageous to any other implementation.

[0130] This disclosure is not intended to be limited to the implementations shown herein. Various modifications to the implementations described herein may be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other implementations without departing from the spirit or scope of this disclosure. The teachings of the present invention provided herein may also be applied to other methods and systems, and further embodiments may be provided by combining elements and actions of the various embodiments described herein, without limiting them to the methods and systems described herein. Thus, the novel methods and systems described herein may be embodied in various other forms, and furthermore, various omissions, substitutions, and modifications in the forms of methods and systems described herein may be made without departing from the spirit of this disclosure. The appended claims and their equivalents are intended to cover such forms or modifications that would fall within the scope and spirit of this disclosure.

Claims

1. A method for allocating transmission power from a transmitter to multiple client devices in a communication network, wherein the method is Determining the expected throughput for each of the plurality of client devices, wherein the expected throughput is at least partially based on the allocation of transmit power to each client device and the channel quality for each client device. For each of the aforementioned client devices, calculate a satisfaction metric based at least partially on one or more quality of service parameters and the expected throughput of the client device. This involves iteratively allocating transmission power. Selecting a client device with a satisfaction metric indicating that the client device will receive the next allocation of transmit power, Allocate the following allocation of transmission power to the selected client devices, so that the total amount of transmission power of the selected client devices becomes equal to the total amount of transmission power of the selected client devices. Updating the expected throughput of the selected client device based at least in part on the total amount of transmitted power and the channel quality relating to the selected client device, and A method comprising iteratively allocating transmit power by updating the satisfaction metric of the selected client device with the updated expected throughput for the selected client device.

2. The method according to claim 1, wherein the communication network is a satellite communication network and the transmitter is mounted on a satellite of the communication network.

3. The method according to claim 1, wherein the communication network is a wireless network and the transmitter is included in the base station of the wireless network.

4. The method according to claim 3, wherein the wireless network is a cellular network.

5. When iteratively allocating the transmission power, the selection is Identifying a client device from among multiple client devices that has a satisfaction metric indicating that it should be selected as the next recipient of the transmission power allocation, Determining the limiting efficiency for the identified client device, wherein the limiting efficiency quantifies the increase in the expected throughput of the identified client device for each increase in the transmit power allocated to the identified client device; The method according to claim 1, further comprising: selecting the identified client device as the next client device to be allocated transmit power if the limiting efficiency determined for the identified client device is greater than the minimum limiting efficiency value for the identified client device; otherwise, selecting another client device from a plurality of client devices based on a further evaluation of the corresponding satisfaction metric and one or more corresponding limiting efficiency determinations.

6. The method according to claim 5, further comprising updating the limit efficiency of the selected client device and applying the next allocation of transmit power to the selected client device.

7. The method according to claim 5, further comprising increasing the minimum limiting efficiency value of the selected client device for use in the next iterative allocation in the iterative allocation of transmit power.

8. The method according to claim 1, further comprising ordering the plurality of client devices based on the satisfaction metric of each client device in each iterative allocation of transmit power, wherein the order of the plurality of client devices corresponds to a priority for allocating transmit power.

9. The method according to claim 1, wherein the satisfaction metric for each client device is assigned a value that indicates the individual client device will not receive any further allocation of transmit power, depending on whether the expected throughput of the individual client device is equal to or greater than the maximum transmit rate allocated to the individual client device.

10. The method according to claim 1, wherein the one or more service quality parameters include weights assigned to individual client devices among the plurality of client devices.

11. The method according to claim 1, wherein the one or more quality of service parameters include the maximum transmission rate assigned to each of the plurality of client devices.

12. The method according to claim 1, wherein the one or more quality of service parameters include a minimum transmission rate assigned to each of the plurality of client devices.

13. The method according to claim 12, wherein the satisfaction metric for individual client devices is assigned to the expected throughput divided by the minimum transmission rate, in accordance with whether the expected throughput is less than the minimum transmission rate.

14. The method according to claim 13, wherein the satisfaction ratio of each client device is assigned to the difference between the expected throughput and the minimum transmission speed plus 1, depending on whether the expected throughput is equal to or greater than the minimum transmission speed and less than the maximum transmission speed assigned to each client device.

15. The method according to claim 1, wherein the one or more service quality parameters include priority assigned to individual client devices among the plurality of client devices.

16. The method according to claim 15, wherein the satisfaction metric for each client device is assigned to the ratio of the expected throughput to the maximum transmission rate of each client device plus the priority, depending on whether the expected throughput is less than the maximum transmission rate.

17. The method according to claim 1, wherein the selected client device is the client device having the lowest satisfaction metric.

18. The method according to claim 1, wherein the transmission from the transmitter to the plurality of client devices is divided into time slots, and transmission power is allocated to each time slot.

19. The method according to claim 18, wherein each time slot includes a plurality of frequency subcarriers, and the transmitted power is divided among the individual frequency subcarriers of the plurality of frequency subcarriers.

20. A method for allocating transmit power from a transmitter to multiple client devices in a communication network, wherein the transmitter is configured to transmit information using frames comprising multiple time slots and multiple frequency subcarriers, and the method is Multiple time-frequency blocks are assigned to each of the multiple client devices, and each time-frequency block comprises the time slots of the multiple time slots and the frequency subcarriers of the multiple frequency subcarriers. Determining a corresponding limiting efficiency for each of the multiple time-frequency blocks assigned to each of the multiple client devices, wherein the corresponding limiting efficiency quantifies the increase in expected throughput for each increase in transmit power assigned to the time-frequency block. Determining the expected throughput for each of the plurality of client devices, wherein the expected throughput is at least partially based on the allocation of transmit power to each client device and the time-frequency block quality for each of the plurality of time-frequency blocks allocated to each client device. For each of the aforementioned client devices, calculate a satisfaction metric based at least partially on one or more quality of service parameters and the expected throughput of the client device. This involves iteratively allocating the transmission power for a given time slot. Selecting a client device with a satisfaction metric indicating which client device will next be assigned a transmit power allocation, Select a time-frequency block to be assigned to the selected client device, such that the selected time-frequency block has the highest limiting efficiency of the plurality of time-frequency blocks assigned to the selected client device. Allocate the following allocation of transmit power to the selected time-frequency block of the selected client device, so that the total amount of transmit power for the selected time-frequency block becomes equal to the total amount of transmit power for the selected time-frequency block. Updating the expected throughput of the selected client device based at least partially on the total amount of transmit power for the selected time-frequency block, To update the limiting efficiency of the selected time-frequency block, and A method comprising iteratively allocating transmit power for a given time slot by updating the satisfaction metric of the selected client device.

21. The method according to claim 20, wherein the transmitter includes a satellite-mounted transmitter used for multiple client devices.

22. The method according to claim 21, wherein the satellite is configured to form multiple beams for use by multiple client devices.

23. The method according to claim 22, wherein each time-frequency block further comprises a spatial component associated with an individual beam of the plurality of beams.

24. The method according to claim 20, wherein the time-frequency block quality is at least partially based on the allocation of transmit power assigned to the time-frequency block and the signal-to-noise ratio of the time-frequency block.

25. The method according to claim 20, further comprising initializing the transmit power allocated to each time-frequency block to an initial power value before iteratively allocating the transmit power.

26. The method according to claim 20, further comprising determining the amount of available transmit power for the given time slot.

27. The method according to claim 26, further comprising reducing the available amount of transmit power for a given time slot based on the allocation of transmit power to the selected client device for the selected time-frequency block.

28. The method according to claim 20, wherein assigning the allocation of transmit power to the selected client device for the selected time-frequency block is in response to a determination that the selected time slot has sufficient transmit power available for the allocation of transmit power.

29. The method according to claim 20, wherein the selected client device is assigned the next allocation of transmit power in accordance with the determination that the limiting efficiency of the selected device is greater than the minimum limiting efficiency value.

30. The method according to claim 29, further comprising iteratively allocating transmit power to increase the minimum limiting efficiency value of the selected client device.

31. The method according to claim 20, further comprising ordering the plurality of client devices based on the satisfaction metric of each client device, wherein the order of the plurality of client devices corresponds to a priority for allocating transmit power, and the first client device in the order is the device to be allocated the next allocation of transmit power.

32. The method according to claim 20, wherein the satisfaction metric for each client device is assigned a value that indicates the individual client device will not receive any further allocation of transmit power, depending on whether the expected throughput of the individual client device is equal to or greater than the maximum transmit rate allocated to the individual client device.

33. The method according to claim 20, wherein the one or more service quality parameters include weights assigned to individual client devices among the plurality of client devices.

34. The method according to claim 20, wherein one or more quality of service parameters include a maximum transmission rate assigned to each of the plurality of client devices.

35. The method according to claim 20, wherein one or more service quality parameters include a minimum transmission rate assigned to each of the plurality of client devices.

36. The method according to claim 35, wherein the satisfaction metric for individual client devices is assigned to the expected throughput divided by the minimum transmission rate, in accordance with whether the expected throughput is less than the minimum transmission rate.

37. The method according to claim 36, wherein the satisfaction ratio of each client device is assigned to the difference between the expected throughput and the minimum transmission speed plus 1, depending on whether the expected throughput is equal to or greater than the minimum transmission speed and less than the maximum transmission speed assigned to each client device.

38. The method according to claim 20, wherein the one or more service quality parameters include priority assigned to individual client devices among the plurality of client devices.

39. The method according to claim 38, wherein the satisfaction metric for each client device is assigned to the ratio of the expected throughput to the maximum transmission rate of each client device plus the priority, depending on whether the expected throughput is less than the maximum transmission rate.

40. The method according to claim 20, wherein the selected client device is the client device having the lowest satisfaction metric.

41. A power allocation system for a communication network, wherein the power allocation system is A transmitter configured to transmit information to multiple client devices through multiple client satellite transceivers, wherein the transmitter is configured to transmit information using a frame that is divided into multiple time slots, each time slot containing multiple frequency subcarriers, A non-temporary computer-readable medium for storing processor-executable instructions, A processor communicatively coupled to the transmitter and the non-temporary computer-readable medium, wherein the processor executable instructions are transmitted to the processor. Determining the expected throughput for each of the plurality of client devices, wherein the expected throughput is at least partially based on the allocation of transmit power to each client device and the channel quality for each client device; For each of the aforementioned client devices, calculate a satisfaction metric based at least partially on one or more quality of service parameters and the expected throughput of the client device. The method involves repeatedly allocating the transmission power of the aforementioned transmitter, Selecting a client device with a satisfaction metric indicating that the client device will receive the next allocation of transmit power, Allocate the following allocation of transmission power to the selected client devices, so that the total amount of transmission power of the selected client devices becomes equal to the total amount of transmission power of the selected client devices. Updating the expected throughput of the selected client device based at least in part on the total amount of transmitted power and the channel quality relating to the selected client device, and The transmitter's transmit power is iteratively allocated by updating the satisfaction metric of the selected client device with the updated expected throughput for the selected client device, A power allocation system comprising a processor configured to perform the following actions.

42. The power allocation system according to claim 41, wherein the communication network is a satellite communication network and the transmitter is mounted on a satellite of the communication network.

43. The power allocation system according to claim 41, wherein the communication network is a wireless network and the transmitter is included in the base station of the wireless network.

44. The power allocation system according to claim 43, wherein the wireless network is a cellular network.

45. When iteratively allocating the transmission power, the selection is Identifying a client device from among multiple client devices that has a satisfaction metric indicating that it should be selected as the next recipient of the transmission power allocation, Determining the limiting efficiency for the identified client device, wherein the limiting efficiency quantifies the increase in the expected throughput of the identified client device for each increase in the transmit power allocated to the identified client device; A power allocation system according to claim 41, comprising: selecting the identified client device as the next client device to be allocated transmit power if the limiting efficiency determined for the identified client device is greater than the minimum limiting efficiency value for the identified client device; otherwise, selecting another client device from among a plurality of client devices based on a further evaluation of the corresponding satisfaction metric and one or more corresponding limiting efficiency determinations.

46. The power allocation system according to claim 45, wherein the processor is further configured to update the limiting efficiency of the selected client device and to apply the next allocation of transmit power to the selected client device.

47. The power allocation system according to claim 45, wherein the processor is further configured to increase the minimum limiting efficiency value of the selected client device for use in the next iterative allocation in the iterative allocation of transmit power.

48. The power allocation system according to claim 41, wherein in each iterative allocation of transmit power, the processor is further configured to order the plurality of client devices based on the satisfaction metric of each client device, the order of the plurality of client devices corresponds to a priority for allocating transmit power.

49. The power allocation system according to claim 41, further configured to assign the satisfaction metric of each client device to a value indicating that the individual client device will not receive any further allocation of transmit power, depending on whether the expected throughput of the individual client device is equal to or greater than the maximum transmit rate allocated to the individual client device.

50. The power allocation system according to claim 41, wherein the one or more service quality parameters include weights assigned to individual client devices among the plurality of client devices.

51. The power allocation system according to claim 41, wherein one or more service quality parameters include the maximum transmission rate assigned to each of the plurality of client devices.

52. The power allocation system according to claim 41, wherein the one or more service quality parameters include a minimum transmission rate assigned to each of the plurality of client devices.

53. The power allocation system according to claim 52, wherein the processor is further configured to allocate the satisfaction metric of individual client devices to the expected throughput, which is calculated by dividing the expected throughput by the minimum transmission rate, in cases where the expected throughput is less than the minimum transmission rate.

54. The power allocation system according to claim 53, wherein the processor is further configured to allocate the satisfaction ratio of individual client devices to the difference between the expected throughput and the minimum transmission speed plus 1, depending on whether the expected throughput is greater than or equal to the minimum transmission speed and less than the maximum transmission speed assigned to the individual client device.

55. The power allocation system according to claim 41, wherein the one or more service quality parameters include priority assigned to individual client devices among the plurality of client devices.

56. The power allocation system according to claim 55, wherein the processor is further configured to allocate the satisfaction metric of individual client devices to the priority added to the ratio of the expected throughput to the maximum transmission rate of each individual client device, depending on whether the expected throughput is less than the maximum transmission rate.

57. The power allocation system according to claim 41, wherein the selected client device is the client device having the lowest satisfaction metric.

58. The power allocation system according to claim 41, wherein the transmitter is configured to form a plurality of beams.

59. The power allocation system according to claim 58, wherein two or more of the plurality of beams may overlap and the beams may interfere with each other.

60. The power allocation system according to claim 59, wherein a first client device covered by a first beam of the plurality of beams receives a transmission during a first time slot, and a second client device covered by a second beam overlapping with the first beam receives a transmission during a second time slot different from the first time slot.

61. A power allocation system for a communication network, wherein the power allocation system is A transmitter configured to transmit information to multiple client devices through multiple client satellite transceivers, wherein the transmitter is configured to transmit information using a frame that is divided into multiple time slots, each time slot containing multiple frequency subcarriers, A non-temporary computer-readable medium for storing processor-executable instructions, A processor communicatively coupled to the transmitter and the non-temporary computer-readable medium, wherein the processor executable instructions are transmitted to the processor. Assigning multiple time-frequency blocks to each of multiple client devices, wherein each time-frequency block has time slots of the multiple time slots and frequency subcarriers of the multiple frequency subcarriers; Determining a corresponding limiting efficiency for each of the multiple time-frequency blocks assigned to each of the multiple client devices, wherein the corresponding limiting efficiency quantifies the increase in expected throughput for each increase in transmit power assigned to the time-frequency block. Determining the expected throughput for each of the plurality of client devices, wherein the expected throughput is determined at least in part on the allocation of transmit power to each client device and the time-frequency block quality for each of the plurality of time-frequency blocks allocated to each client device. For each of the aforementioned client devices, calculate a satisfaction metric based at least partially on one or more quality of service parameters and the expected throughput of the client device. This involves iteratively allocating the transmission power for a given time slot. Selecting a client device with a satisfaction metric indicating which client device will next be assigned a transmit power allocation, Select a time-frequency block to be assigned to the selected client device, such that the selected time-frequency block has the highest limiting efficiency of the plurality of time-frequency blocks assigned to the selected client device. Allocate the following allocation of transmit power to the selected time-frequency block of the selected client device, so that the total amount of transmit power for the selected time-frequency block becomes equal to the total amount of transmit power for the selected time-frequency block. Updating the expected throughput of the selected client device based at least partially on the total amount of transmit power for the selected time-frequency block, To update the limiting efficiency of the selected time-frequency block, and A power allocation system comprising a processor configured to perform the following: iteratively allocating transmit power for a given time slot by updating the satisfaction metric of the selected client device.

62. The power allocation system according to claim 61, wherein the communication network is a satellite communication network and the transmitter is mounted on a satellite of the communication network.

63. The power allocation system according to claim 62, wherein the satellite is configured to form multiple beams.

64. The power allocation system according to claim 63, wherein each time-frequency block further comprises a spatial component associated with an individual beam of the plurality of beams.

65. The power allocation system according to claim 61, wherein the time-frequency block quality is at least partially based on the allocation of transmit power assigned to the time-frequency block and the signal-to-noise ratio of the time-frequency block.

66. The power allocation system according to claim 61, wherein the processor is further configured to initialize the transmit power allocated to each time-frequency block to an initial power value before iteratively allocating the transmit power.

67. The power allocation system according to claim 61, wherein the processor is further configured to determine the amount of available transmit power for a given time slot.

68. The power allocation system according to claim 67, wherein the processor is further configured to reduce the available amount of transmit power for a given time slot based on the allocation of transmit power to the selected client device for the selected time-frequency block.

69. The power allocation system according to claim 61, wherein the processor is configured to allocate the transmission power allocation to the selected client device for the selected time-frequency block in response to a determination that the selected time slot has sufficient transmission power available for the allocation of transmission power.

70. The power allocation system according to claim 61, wherein the processor is configured to allocate the next allocation of transmit power to the selected client device in response to the determination that the limiting efficiency of the selected device is greater than the minimum limiting efficiency value.

71. The power allocation system according to claim 70, wherein the processor is further configured to increase the minimum limiting efficiency value of the selected client device as part of iteratively allocating transmit power.

72. The power allocation system according to claim 61, wherein the processor is further configured to order the plurality of client devices based on the satisfaction metric of each client device, the order of the plurality of client devices corresponds to a priority for allocating transmit power, and the first client device in the order is the next client device to be allocated transmit power.

73. The power allocation system according to claim 61, further configured to assign the satisfaction metric of each client device to a value indicating that the individual client device will not receive any further allocation of transmit power, depending on whether the expected throughput of the individual client device is equal to or greater than the maximum transmit rate allocated to the individual client device.

74. The power allocation system according to claim 61, wherein the one or more service quality parameters include weights assigned to individual client devices among the plurality of client devices.

75. The power allocation system according to claim 61, wherein one or more service quality parameters include the maximum transmission rate assigned to each of the plurality of client devices.

76. The power allocation system according to claim 61, wherein one or more service quality parameters include a minimum transmission rate assigned to each of the plurality of client devices.

77. The power allocation system according to claim 76, wherein the processor is further configured to allocate the satisfaction metric of individual client devices to the expected throughput, which is calculated by dividing the expected throughput by the minimum transmission rate, in cases where the expected throughput is less than the minimum transmission rate.

78. The power allocation system according to claim 77, wherein the processor is further configured to allocate the satisfaction ratio of individual client devices to the difference between the expected throughput and the minimum transmission speed plus 1, depending on whether the expected throughput is greater than or equal to the minimum transmission speed and less than the maximum transmission speed assigned to the individual client device.

79. The power allocation system according to claim 61, wherein the one or more service quality parameters include priority assigned to individual client devices among the plurality of client devices.

80. The power allocation system according to claim 79, wherein the processor is further configured to allocate the satisfaction metric of individual client devices to the priority added to the ratio of the expected throughput to the maximum transmission speed of each client device, depending on whether the expected throughput is less than the maximum transmission speed.

81. The power allocation system according to claim 61, wherein the selected client device is the client device having the lowest satisfaction metric.

Citation Information

Patent Citations

  • Throughput Optimization Methods Based on User Fairness and QoS in Multi-User MIMO-OFDM

    CN106658733B