Allocation of transmit power to client devices in a communications network - Patents.com
By calculating the expected throughput and satisfaction indicators of customer equipment, dynamically allocating transmission power, solving the problem of uneven power distribution in the prior art, and achieving more efficient and fair network performance.
Patent Information
- Application Number
- JP2024552225
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-03-04
- Publication Date
- 2025-04-11
- Estimated Expiration
- 2042-03-04
AI Technical Summary
When allocating transmission power in the prior art, it is difficult to effectively balance the data transmission needs of multiple customer equipment, resulting in insufficient power of some equipment and excessive power of other equipment, affecting the overall network efficiency.
By calculating the expected throughput of each client device and the satisfaction metric that meets the quality service parameters, the transmission power is dynamically allocated, and the power is given priority to the equipment with lower satisfaction until the maximum transmission rate of each device is reached.
A fairer and more efficient transmission power distribution is achieved, ensuring that each customer device can achieve its expected performance, and improving the overall network data transmission efficiency and user satisfaction.
Smart Images

Figure 2025509167000001_ABST
Abstract
Description
[Technical field]
[0001] TECHNICAL FIELD This disclosure relates generally to allocating transmit power from a transmitter to multiple client devices in a communication network. [Background technology]
[0002] In a wireless communication network, a transmitter transmits information to multiple client devices. The transmission of information to the client devices can be divided into frames, with each frame consisting of multiple time slots, and the transmitter can transmit information in each time slot using multiple frequency subcarriers. Individual transmitters have physical limitations on the amount of power they can output during a given time slot. Thus, there are many methods for determining the allocation of transmit power for a time slot, including methods broadly classified as water-filling algorithms. Summary of the Invention
[0003] According to some implementations, the present 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 based at least in part on an allocation of transmit power to each client device. The method also includes calculating, for each client device of the plurality of client devices, a satisfaction metric based at least in part 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 a next allocation of transmit power, allocating the next allocation of transmit power to the selected client device, resulting in a total amount of transmit power for the selected client device, updating, for the selected client device, the expected throughput of the selected client device based at least in part on the total amount of transmit power, 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 allocating further includes determining a marginal efficiency of the selected client device, and in response to determining that the marginal efficiency of the selected device is greater than the minimum marginal efficiency value, the selected client device is allocated a next allocation of transmit power. In a further embodiment, the iteratively allocating transmit power further includes updating the marginal efficiency of the selected client device. In a further embodiment, the iteratively allocating transmit power further includes increasing the minimum marginal efficiency value of the selected client device.
[0006] In some embodiments, the method further includes ordering the 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 allocating transmit power, and configured such that a first client device in the order is assigned the next allocation of transmit power. In some embodiments, the satisfaction metric of an individual client device is assigned to be a value indicating that the individual client device will not receive a further allocation of transmit power in response to an expected throughput of the individual client device being equal to or greater than a maximum transmit rate assigned to the individual client device. In some embodiments, the one or more quality of service parameters include a weight assigned to an individual client device of the plurality of client devices. In some embodiments, the one or more quality of service parameters include a maximum transmit rate assigned to an individual client device of the plurality of client devices.
[0007] In some embodiments, the one or more quality of service parameters include a minimum transmission rate assigned to an individual client device of the plurality of client devices. In further embodiments, a satisfaction metric for an individual client device is assigned to an expected throughput divided by the minimum transmission rate in response to the expected throughput being less than the minimum transmission rate. In still further embodiments, a satisfaction ratio for an individual client device is assigned to a difference between the expected throughput and the minimum transmission rate plus one in response to the expected throughput being greater than or equal to the minimum transmission rate and less than a maximum transmission rate assigned to the individual client device.
[0008] In some embodiments, the one or more quality of service parameters include a priority assigned to each client device of the plurality of client devices. In further embodiments, the satisfaction metric of each client device is assigned a priority plus a ratio of the expected throughput and a maximum transmission rate of the each client device in response to the expected throughput being less than the maximum transmission rate.
[0009] In some embodiments, the selected client device is the client device with the lowest satisfaction metric. In some embodiments, transmissions from the transmitter to the multiple client devices are divided into time slots, and each time slot is assigned a transmit power. In further embodiments, each time slot includes multiple frequency subcarriers, and the transmit power is divided among individual frequency subcarriers of the multiple frequency subcarriers.
[0010] According to some implementations, the present disclosure relates to a method for allocating transmission power from a transmitter to a plurality of client devices in a communication network, the transmitter being configured to transmit information using a frame comprising a plurality of time slots and a plurality of frequency subcarriers. The method includes allocating a plurality of time frequency blocks to each client device of the plurality of client devices, each time frequency block comprising a time slot of the plurality of time slots and a frequency subcarrier of the plurality of frequency subcarriers. The method also includes determining a corresponding marginal efficiency for each time frequency block of the respective plurality of time frequency blocks allocated to each of the plurality of client devices. The method also includes determining an expected throughput for each of the plurality of client devices, the expected throughput being based at least in part on the allocation of transmission power to the respective client device and on a time frequency block quality for each of the respective plurality of time frequency blocks allocated to the respective client device. The method also includes calculating, for each client device of the plurality of client devices, a satisfaction metric based at least in part 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 the client device will be assigned an allocation of transmit power next, selecting a time frequency block to be assigned to the selected client device, the selected time frequency block having a highest marginal efficiency of the multiple time frequency blocks assigned to the selected client device, assigning a next allocation of transmit power to the selected time frequency block of the selected client device, resulting in a total amount of transmit power for the selected time frequency block, updating an expected throughput for the selected client device based at least in part on the total amount of transmit power for the selected time frequency block, updating the marginal efficiency for the selected time frequency block, and updating the satisfaction metric for the selected client device.
[0011] In some embodiments the transmitter comprises a satellite, hi further embodiments the satellite is configured to form a plurality of beams, hi further embodiments each time frequency block further includes a spatial component associated with an individual beam of the plurality of beams.
[0012] In some embodiments, the time frequency block quality is based at least in part on an allocation of transmit power assigned to the time frequency block and a signal-to-noise ratio of the time frequency block. In some embodiments, the method further includes initializing the transmit power assigned to each time frequency block to an initial power value prior to iteratively allocating the transmit power.
[0013] In some embodiments, the method further includes determining an available amount of transmit power for the given timeslot. In further embodiments, the method further includes reducing the available amount of transmit power for the given timeslot based on an allocation of transmit power to the selected client device for the selected time frequency block.
[0014] In some embodiments, allocating an allocation of transmit power to the selected client device for the selected time frequency block is responsive to determining that the selected time slot has sufficient transmit power available for the allocation of transmit power. In some embodiments, in response to determining that the marginal efficiency of the selected device is greater than a minimum marginal efficiency value, the selected client device is assigned a next allocation of transmit power. In a further embodiment, iteratively allocating transmit power further includes increasing the minimum marginal efficiency value of the selected client device.
[0015] In some embodiments, the method further includes ordering the 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 allocating transmit power such that a first client device in the order is the client device that is assigned the next allocation of transmit power. In some embodiments, the satisfaction metric of an individual client device is assigned to be a value indicating that the individual client device will not receive a further allocation of transmit power in response to an expected throughput of the individual client device being equal to or greater than a maximum transmission rate assigned to the individual client device. In some embodiments, the one or more quality of service parameters include a weight assigned to an individual client device of the plurality of client devices. In some embodiments, the one or more quality of service parameters include a maximum transmission rate assigned to an individual client device of the plurality of client devices.
[0016] In some embodiments, the one or more quality of service parameters include a minimum transmission rate assigned to an individual client device of the plurality of client devices. In further embodiments, a satisfaction metric for an individual client device is assigned to an expected throughput divided by the minimum transmission rate in response to the expected throughput being less than the minimum transmission rate. In still further embodiments, a satisfaction ratio for an individual client device is assigned to a difference between the expected throughput and the minimum transmission rate plus one in response to the expected throughput being greater than or equal to the minimum transmission rate and less than a maximum transmission rate assigned to the individual client device.
[0017] In some embodiments, the one or more quality of service parameters include a priority assigned to each client device of the plurality of client devices. In further embodiments, a satisfaction metric for each client device is assigned a priority plus a ratio of the expected throughput and a maximum transmission rate for the each client device in response to the expected throughput being less than the maximum transmission rate. In some embodiments, the selected client device is the client device with the lowest satisfaction metric.
[0018] According to some implementations, the present disclosure relates to a power allocation system for a communications network. The power allocation system includes a transmitter configured to transmit information to a plurality of client devices through a plurality of client satellite transceivers, the transmitter configured to transmit the information using frames each divided into a plurality of time slots, each time slot including a plurality of frequency subcarriers. The power allocation system also includes a non-transitory computer-readable medium storing processor-executable instructions. The power allocation system also includes a processor communicatively coupled to the transmitter and the non-transitory computer-readable medium. The processor-executable instructions are configured to cause the processor to determine, for each of a plurality of client devices, an expected throughput based at least in part on an allocation of transmit power to each client device, calculate, for each client device of the plurality of client devices, a satisfaction metric based at least in part on the one or more quality of service parameters and the expected throughput of the client device, and iteratively allocate transmit power of the transmitter by selecting a client device with a satisfaction metric indicating the client device will receive a next allocation of transmit power, assigning the next allocation of transmit power to the selected client device, resulting in a total amount of transmit power for the selected client device, updating the expected throughput of the selected client device based at least in part on the total amount of transmit power, and updating 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 allocating further includes determining a marginal efficiency of the selected client device, and in response to the processor determining that the marginal efficiency of the selected device is greater than the minimum marginal efficiency value, the selected client device is allocated a next allocation of transmit power. In a further embodiment, the processor is further configured to update the marginal efficiency of the selected client device as part of the iteratively allocating transmit power. In a further embodiment, the processor is further configured to increase the minimum marginal efficiency value of the selected client device as part of the iteratively allocating transmit power.
[0021] In some embodiments, the processor is further configured to order the 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 allocating transmit power, with a first client device in the order being allocated the next allocation of transmit power. 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 will not receive a further allocation of transmit power in response to an expected throughput of the individual client device being equal to or greater than a maximum transmit rate assigned to the individual client device. In some embodiments, the one or more quality of service parameters include a weight assigned to an individual client device of the plurality of client devices. In some embodiments, the one or more quality of service parameters include a maximum transmit rate assigned to an individual client device of the plurality of client devices.
[0022] In some embodiments, the one or more quality of service parameters include a minimum transmission rate assigned to an individual client device of the plurality of client devices. In a further embodiment, the processor is further configured to assign a satisfaction metric of the individual client device to an expected throughput divided by the minimum transmission rate in response to the expected throughput being less than the minimum transmission rate. In yet a further embodiment, the processor is further configured to assign a satisfaction ratio of the individual client device to a difference between the expected throughput and the minimum transmission rate plus one in response to the expected throughput being greater than or equal to the minimum transmission rate and less than a maximum transmission rate assigned to the individual client device.
[0023] In some embodiments, the one or more quality of service parameters include a priority assigned to each client device of the plurality of client devices. In some embodiments, the processor is further configured to assign a satisfaction metric for each client device to a priority plus a ratio of an expected throughput and a maximum transmission rate for the each client device in response to the expected throughput being less than the maximum transmission rate. In some embodiments, the selected client device is the client device with the lowest satisfaction metric.
[0024] In some embodiments, the transmitter is configured to form a plurality of beams. In further embodiments, two or more of the plurality of beams may overlap, such that the beams interfere with one another. In further embodiments, 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 that overlaps with the first beam receives a transmission during a second time slot that is different from the first time slot.
[0025] According to some implementations, the present disclosure relates to a power allocation system for a communications network. The power allocation system includes a transmitter configured to transmit information to a plurality of client devices through a plurality of client satellite transceivers, the transmitter configured to transmit the information using frames each divided into a plurality of time slots, each time slot including a plurality of frequency subcarriers. The power allocation system also includes a non-transitory computer-readable medium storing processor-executable instructions. The power allocation system also includes a processor communicatively coupled to the transmitter and the non-transitory computer-readable medium.The processor executable instructions include a processor for assigning a respective plurality of time frequency blocks to each client device of the plurality of client devices, each time frequency block comprising a time slot of the plurality of time slots and a frequency subcarrier of the plurality of frequency subcarriers; determining a corresponding marginal efficiency for each of the respective plurality of time frequency blocks assigned to each of the plurality of client devices; determining an expected throughput for each of the plurality of client devices, the expected throughput being based at least in part on an allocation of transmit power to the respective client device and a time frequency block quality for each of the respective plurality of time frequency blocks assigned to the respective client device; calculating, for each client device of the plurality of client devices, a satisfaction metric based at least in part on the one or more quality of service parameters and the expected throughput of the client device; and the selected client device is configured to iteratively allocate transmit power for a given time slot by selecting a client device with a satisfaction metric indicating that the client device will be next assigned an allocation of transmit power, selecting a time frequency block to be assigned to the selected client device, the selected time frequency block having a highest marginal efficiency of the plurality of time frequency blocks assigned to the selected client device, assigning a next allocation of transmit power to the selected time frequency block of the selected client device, resulting in a total amount of transmit power for the selected time frequency block, updating an expected throughput for the selected client device based at least in part on the total amount of transmit power for the selected time frequency block, updating the marginal 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, hi further embodiments the satellite is configured to form a plurality of beams, hi still further embodiments each time frequency block further includes a spatial component associated with an individual beam of the plurality of beams.
[0027] In some embodiments, the time frequency block quality is based at least in part on an allocation of transmit power assigned to the time frequency block and a 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 prior to 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 timeslot. In further embodiments, the processor is further configured to reduce the available amount of transmit power for a given timeslot based on an allocation of transmit power to the selected client device for the selected time frequency block.
[0029] In some embodiments, the processor is configured to allocate an allocation of transmit power to the selected client device for the selected time frequency block in response to determining that the selected time slot has sufficient transmit power available for the allocation of transmit power. In some embodiments, the processor is configured to allocate a next allocation of transmit power to the selected client device in response to determining that the marginal efficiency of the selected device is greater than a minimum marginal efficiency value. In further embodiments, the processor is further configured to increase the minimum marginal efficiency value of the selected client device as part of iteratively allocating transmit power.
[0030] In some embodiments, the processor is further configured to order the 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 allocating transmit power, with the first client device in the order being the client device that is assigned the next allocation of transmit power. In some embodiments, the processor is further configured to assign a satisfaction metric of the individual client device to a value indicating that the individual client device will not receive a further allocation of transmit power in response to an expected throughput of the individual client device being equal to or greater than a maximum transmit rate assigned to the individual client device. In some embodiments, the one or more quality of service parameters include a weight assigned to the individual client device of the plurality of client devices. In some embodiments, the one or more quality of service parameters include a maximum transmit rate assigned to the individual client device of the plurality of client devices.
[0031] In some embodiments, the one or more quality of service parameters include a minimum transmission rate assigned to an individual client device of the plurality of client devices. In a further embodiment, the processor is further configured to assign a satisfaction metric of the individual client device to an expected throughput divided by the minimum transmission rate in response to the expected throughput being less than the minimum transmission rate. In yet a further embodiment, the processor is further configured to assign a satisfaction ratio of the individual client device to a difference between the expected throughput and the minimum transmission rate plus one in response to the expected throughput being greater than or equal to the minimum transmission rate and less than a maximum transmission rate assigned to the individual client device.
[0032] In some embodiments, the one or more quality of service parameters include a priority assigned to each client device of the plurality of client devices. In a further embodiment, the processor is further configured to assign a satisfaction metric of the each client device to a priority plus a ratio of the expected throughput and a maximum transmission rate of the each client device in response to the expected throughput being less than the maximum transmission rate. In some embodiments, the selected client device is the client device with the lowest satisfaction metric.
[0033] For purposes of summarizing the disclosure, certain aspects, advantages, and novel features have been described herein. It is to be understood that not necessarily all advantages may be achieved by any particular embodiment. Thus, the disclosed embodiments may be practiced in a manner that achieves or optimizes one advantage or group of advantages taught herein without necessarily achieving other advantages that may be taught or suggested herein. [Brief description of the drawings]
[0034] [Figure 1A] FIG. 1A illustrates an example of a communications network. [Figure 1B] FIG. 1B illustrates an example of a communication network. [Diagram 2] FIG. 2 is a diagram showing an example of dividing a transmission resource into time slots and frequency subcarriers. [Diagram 3] FIG. 3 is a diagram illustrating the allocation of transmission resources to multiple users based on a satisfaction metric. [Figure 4] FIG. 4 illustrates a communication network with spatial reuse of time and frequency resources and shared power constraints, as typically implemented in a multi-user multiple-input, multiple-output (MIMO) system. [Diagram 5]FIG. 5 illustrates an example of the division of transmission resources into time slots and frequency subcarriers in a communications network providing multiple beams, such as the communications network of FIG. [Figure 6] FIG. 6 illustrates another example communication network with beamforming in which the beams may interfere with each other. [Figure 7] FIG. 7 is a diagram illustrating allocation of transmission resources to multiple client devices on different beams based on a satisfaction metric. [Figure 8] FIG. 8 illustrates a flowchart of an exemplary method for allocating transmission resources among multiple client devices in a communication network. [Figure 9] FIG. 9 illustrates a flowchart of another example method for allocating transmission resources among multiple client devices in a communication network. [Figure 10] FIG. 10 illustrates a flowchart of another exemplary method for allocating transmission resources among multiple client devices in a communication network. [Figure 11] FIG. 11 illustrates a flowchart of another exemplary method for allocating transmission resources among multiple client devices in a communication network. [Figure 12] FIG. 12 is a block diagram of an example power allocation system in a communication network. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0035] The headings provided herein are for convenience only and do not necessarily affect the scope or meaning of the claimed invention.
[0036] overview To transmit data to client devices in a wireless communication network, transmission resources must be divided into time-frequency blocks, which correspond to one or more time slots and one or more frequency subcarriers of a frame. Some wireless communication networks use multiple frequency time division multiple access with spatial reuse technology (MF-TDMA). 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 geographic regions and / or specific groups of client devices. Transmitters in these wireless communication networks include amplification components that are subject to physical power constraints. The 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 used in a network that utilizes beamforming technology). It may therefore be desirable to allocate transmission power among various time-frequency blocks to improve or optimize efficiency, data throughput, client device requirements, and / or user satisfaction.
[0037] There are many methods for determining the allocation of transmit power for a given time slot, including methods broadly classified as water-filling algorithms. These algorithms typically allocate transmit power in small 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 transmit power after the computation loop is finished. Such algorithms suffer from diminishing returns due to the logarithmic relationship between throughput and transmit power. In addition, such algorithms may allocate large amounts of capacity to client devices that may not need it, leaving other client devices starved for capacity.
[0038] Therefore, to address these and other issues, systems and methods are described herein for allocating transmit power based at least in part on fairness considerations or satisfaction metrics of individual client devices. The disclosed systems and methods 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 (e.g., subscribers or users) in the process for allocating transmit power. The disclosed technology does not necessarily optimize the throughput or output of a transmitter (e.g., satellite), 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. Examples of these QoS parameters include, but are not limited to, maximum transmit rate, minimum transmit rate, proportional weight, priority, etc.
[0039] 1A illustrates an example communication network 100a that can be configured to implement the disclosed transmit power allocation techniques. The communication network 100a can be a satellite network, a cellular network, a wireless network implementing a wireless broadband communication standard (e.g., Wi-Fi), etc.
[0040] The communications network 100a implements a wireless network system 140a that communicatively couples the client 110 to an 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 the receiver 105b may include various components necessary for wireless communication, including antennas, amplifiers, control circuits, etc.
[0041] The wireless network system 140a includes a gateway 130a for interfacing between the external network 160 and the wireless network system 140a. The gateway 130a can be configured to receive information from the external network 160 that is intended for the client device 110 and transmit the information to the client 110. Similarly, the gateway 130a can be configured to receive information from the client device 110 that is intended for a site on the external network 160 and transmit the 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 in communication with the gateway 130a, the transmitter 105a, and the receiver 105b. The power allocation module 150 includes computing components such as a processor and non-transitory memory for implementing the power allocation techniques described herein. The power allocation module 150 is configured to allocate transmission power among the clients 110. In some embodiments, data transmissions are divided into frames lasting 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 the client devices are configured to utilize one or more of these frequency subcarriers. As a result, transmissions in a given time slot can be divided into multiple different frequency subcarriers to enable 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 based at least in part on fairness considerations represented by a satisfaction metric, as described herein. These fairness considerations take into account the requirements and capabilities of the client, which may be represented by various QoS parameters. These QoS parameters include, but are not limited to, a maximum transmission rate of the client device, a minimum transmission rate of the client device, a weight assigned to the client device, a priority assigned to the client device, etc. The maximum transmission rate of the client device may be a value assigned to the client device rather than a physical limitation of the client device. This may be based, for example, on a subscriber contract that places an upper limit on the amount of bandwidth available to the subscriber. Similarly, the minimum transmission rate of the client device may be a value assigned to the client device. This may be based, for example, on a subscriber contract that guarantees a minimum amount of bandwidth to the subscriber.
[0044] FIG. 1B illustrates an exemplary communications network 100b that utilizes a satellite 105 as part of a wireless network 140b. The communications network 100b is also configured to use a power allocation technology based at least in part on individual client satisfaction metrics, as described herein. The satellite 105 includes both a transmitter and a receiver, similar to the communications network 100a of FIG. 1A. Additionally, although not shown, the communications network 100b includes a power allocation system similar to the power allocation module 150 of FIG. 1A. The power allocation system of the communications network 100b can be part of the satellite 105, the gateway 130b, the satellite transceiver 131, the customer client transceivers 120a, 120b, or can be distributed across these and various other components of the communications network 100b.
[0045] The satellite communications network 100b includes a satellite network 140b that communicatively couples a plurality of client devices 110a, 110b and a gateway routing device 130b to each other and to an external network 160 (such as the Internet). The satellite communications network 100b implements a power allocation module configured to allocate transmit power of the satellites 105. The satellite communications network 100b includes a satellite transceiver 131 configured to transmit and receive signals through the satellites 105.
[0046] The satellite communications network 100b may utilize a variety of 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 shown. The satellite network 140b may include geostationary orbit (GEO) satellites, medium earth orbit (MEO) satellites, and / or low earth orbit (LEO) satellites.
[0047] The client devices 110a, 110b may include routers and be configured to receive data routed through the satellite communications network 100b, including any type of consumer premises equipment (telephones, modems, routers, computers, set-top boxes, etc.).
[0048] The client devices 110a, 110b are configured to route data (through their respective customer satellite transceivers 120a, 120b) to the satellite network 140b. The satellite network 140b includes a forward link for transmitting information from the gateway routing device 130b to the client devices 110a, 110b, and a return link for transmitting information from the client devices 110a, 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 the satellite 105 via a satellite uplink channel, to the customer satellite transceiver 120a, 120b via a satellite downlink channel, and to the client devices 110a, 110b. The return link includes a transmission path from the customer satellite transceiver 120a, 120b to the satellite 105 via a satellite uplink channel, to the gateway satellite transceiver 131 via a satellite downlink channel, and to the gateway routing device 130b. Each transmission channel may utilize multiple satellites and transceivers.
[0049] FIG. 2 illustrates an example of dividing transmission resources into time slots and frequency subcarriers. The transmission resources can be grouped into frames 202, which are further divided into time slots and frequency subcarriers. A time frequency block 204 can be an individual unit of the frame 202, where the time frequency block 204 is a particular frequency subcarrier in a particular time slot. As described herein, these time frequency blocks comprising the time slots and frequency subcarriers can be used to allocate transmission power to the frames. It should be noted that the time slots do not have to be identical to each other in terms of which subcarriers are used or available in a particular time slot.
[0050] The transmission resources can be distributed (dynamically or statically) among the various client devices. For example, a client device can utilize a particular frequency subcarrier or subcarriers, and as a result, the transmission resources to that client device are assigned or distributed using the particular frequency subcarrier or subcarriers. In addition, time slots of a frame can be assigned (dynamically or statically) to the various client devices. For example, a particular client device can be assigned one or more time slots of a frame. This can be done, for example, to reduce or eliminate interference between client devices utilizing the same frequency subcarriers. The time frequency blocks assigned to the client devices can be static, such that in a particular frame, the time frequency blocks are the same for the client devices. The time frequency blocks assigned to the client devices can be dynamic, such that in a particular frame, the time frequency blocks assigned to the client devices can change. In some embodiments, certain time frequency blocks may not be used.
[0051] The transmit power is shared among the frequency subcarriers of a timeslot. Because amplifiers and transmitters (e.g., satellites) have power constraints, transmit power is allocated among the frequency subcarriers of a given timeslot, placing an upper limit on the total amount of transmit power available for use. Typically, each timeslot has the same or similar power constraints. In some embodiments, individual timeslots can have independent power constraints.
[0052] Examples of Transmit Power Allocation Technologies To more easily explain the improved transmission allocation technology described herein, a conventional water-filling algorithm is described herein. In a conventional water-filling algorithm, transmission power is allocated across frequency subchannels to maximize the total capacity (e.g., throughput). The allocation of transmission power is limited by a total power constraint for each time slot, as described herein. Transmission power is allocated in small increments, and each time the time-frequency block that provides the largest benefit (e.g., the largest increase in capacity) is selected. The marginal benefit (or marginal efficiency, marginal capacity) quantifies the increase in benefit (e.g., total capacity) as a result of an increase in the allocated transmission power. Even when power is not allocated, not all time-frequency blocks have the same marginal benefit. For example, time-frequency blocks with a higher signal-to-noise ratio (SNR) usually have a higher marginal benefit. In addition, even with the same amount of allocated power, the size of the change in marginal benefit is not all the same. This is also affected by the properties of the time-frequency blocks and the client devices. This process is generally subject to diminishing returns, and the more power a time-frequency block already has, the smaller the marginal benefit. If power is allocated to the time-frequency block with the largest marginal benefit (or, in the usual case, the smallest negative marginal benefit, as shown), the marginal benefit will eventually be equal across all time-frequency blocks. For 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 benefits. The satisfaction metric quantifies the fairness consideration. As a result, rather than optimizing marginal benefits, as is the case with conventional water-filling algorithms, the disclosed power allocation technology improves or optimizes fairness to clients or subscribers.
[0054] FIG. 3 illustrates the allocation of transmission resources to multiple users based at least in part on a satisfaction metric (SM). In the figure, the allocation of transmit power is illustrated using throughput blocks. It should be understood that this is merely exemplary and that the allocation of transmit power need not be designed to achieve equal amounts of throughput per allocation. For example, because the allocation of transmit power is based on equal blocks of transmit power, the resulting throughput may vary based on the time-frequency block being allocated.
[0055] The graph 300 shows the allocation of transmit power to five different client devices, with the throughput shown along the vertical axis. The next throughput block to be allocated, block 306, is shown to be allocated to the 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 satisfaction among all client devices. Thus, the satisfaction metric is configured as a fairness indicator and can be used to identify which client device should be assigned the next allocation of transmit power. As can be seen in the graph 300, a fair distribution of transmit power does not necessarily achieve equal throughput for the client devices. In the example of FIG. 3, the first three client devices have the same satisfaction metric but different throughput.
[0056] As described herein, the satisfaction metric is based at least in part on one or more quality of service (QoS) parameters associated with the client device. The QoS parameters may be assigned to the client device based on an agreement with an entity that provides the client device with a connection to an external network. Examples of QoS parameters include a maximum transmission rate, a minimum transmission rate, a proportional weight, a priority, etc. The maximum transmission rate may be referred to as an allowed capacity and may correspond to an upper limit of the throughput of the client device. The minimum transmission rate may be referred to as a committed capacity and may correspond to a minimum rate committed to the client device or a minimum throughput that a service provider has committed to provide to the client device. The weight or proportional weight is used as a proportionality factor for scaling the throughput or transmission power if the client device has not yet achieved the allowed capacity or maximum transmission rate.
[0057] The following provides specific, non-limiting examples of calculating a satisfaction metric for a particular client device: If the throughput of a client device is less than the minimum transmission rate, the satisfaction metric may be assigned to the current throughput divided by the minimum transmission rate. If the throughput of a client device is greater than the minimum transmission rate and less than the maximum transmission rate, the satisfaction metric may be assigned to the difference between the throughput and the minimum transmission rate plus one. In some embodiments, the difference between the throughput and the minimum transmission rate may be divided by a weight assigned to the client device. If the throughput of a client device is greater than or equal to the maximum transmission rate, the satisfaction metric may be assigned a value indicating that the client device is satisfied (e.g., infinity).
[0058] In the example of Figure 3, the first, second, and third client devices have a satisfaction metric of 11, the fourth client device has a satisfaction metric of infinity (indicating satisfied), and the fifth client device has a satisfaction metric of 1. The fifth client device has the lowest satisfaction metric and is therefore expected to receive the next allocation of transmit power with the lowest satisfaction. After allocating throughput to the fifth client device, the satisfaction metric of the fifth client device will be 11, the same as the first three client devices.
[0059] The transmit power allocation described herein can also be extended to include priorities associated with client devices. Priorities can be used to override or modify satisfaction metrics. For example, higher priority client devices receive transmit power allocations until their minimum transmit rates are met before lower priority client devices receive transmit power allocations. Then, once all client devices achieve 100% of their minimum transmit rates, higher priority client devices receive transmit power allocations until their maximum transmit rates are met. Once the maximum transmit rates of the client devices are met, transmit power can be allocated to lower priority client devices.
[0060] As another example of a satisfaction metric, each client device is assigned a priority (PRI) and a permitted capacity (PC) or maximum transmission rate. Client devices of higher importance (e.g., higher ranked priority) receive an allocation of transmit power until the client device is fully satisfied (e.g., current throughput is equal to or greater than permitted capacity). In this example, the priority is 0, which is the most important priority, and higher values indicate less importance.
[0061] If the client device's current throughput is greater than or equal to the PC, the satisfaction metric is assigned to infinity (or a value indicating fullness). If the client device's current throughput is less than the PC, the satisfaction metric is assigned to the priority and throughput divided by the PC. For example, client device A has a priority of 1, a PC of 50, and a current throughput of 50. Client device A's satisfaction metric is assigned to infinity. Client device B has a priority of 2, a PC of 100, and a current throughput of 50. Client device B's satisfaction metric is 2+50 / 100=2.5. Client device C has a priority of 2, a PC of 50, and a current throughput of 25. Client device C's satisfaction metric is 2+25 / 50=2.5. Client device D has a priority of 3, a PC of 100, and a current throughput of 0. Client device D's satisfaction metric is 3+0 / 100=3.
[0062] In this example, client device A has the highest importance (lowest priority value) and has achieved its permitted capacity (PC), so its satisfaction metric is set to infinity, indicating that client device A will not receive any more bandwidth. Client devices B and C have the lowest satisfaction metrics, which are identical, so both client devices will get the next allocation of transmit power (or increased bandwidth). Client device D has a lower importance priority than client devices B and C, so its satisfaction metric is higher. This means that client device D will not be allocated any transmit power until both client devices B and C have reached their permitted capacity.
[0063] Thus, the disclosed transmission power allocation technology focuses on fairness considerations quantified by a satisfaction metric. This is in contrast to typical water-filling algorithms that focus on total capacity or throughput. By allocating transmission power based on a satisfaction metric, the system maintains fairness regardless of the quality (e.g., SNR) of the time-frequency blocks or the system of the client devices. It should be noted that the disclosed method for determining the satisfaction metric is not exhaustive but merely exemplary, and other methods may be employed to determine the satisfaction metric. For example, a ranked priority may be used, a weighted-based priority may be used, or other factors (e.g., SNR, marginal efficiency, expected throughput) may be used in the calculation of the satisfaction metric. The focus 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 transmission power. This may also occur when a client device already has a higher throughput than other client devices and has a lower marginal benefit than other client devices.
[0064] Transmit power allocation in beamforming systems FIG. 4 illustrates a communication network 400 with spatial reuse of time and frequency resources and shared power constraints, as typically implemented in multi-user multiple-input, multiple-output (MIMO) systems. The communication network 400 includes multiple antennas 405 configured to provide beam A 408a and beam B 408b. Each beam 408a, 408b represents a geographical area covered by the antennas 405. Each beam 408a, 408b provides network capabilities to multiple client devices within the beams 408a, 408b. The communication network 400 is configured to implement spatial reuse of time-frequency elements, as shown in FIG. 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 the antennas 405 are power constrained in their individual time slots, power is shared across subcarriers and beams 408a, 408b. For example, if the antenna 405 is implemented on a satellite, the beams 408a, 408b have spatial components to the antennas. Overlapping beams can result in interference between client devices if they use the same frequency subcarriers in the same time slots. Client devices in non-overlapping beams do not have the same interference constraints. Thus, subcarriers can be reused in non-overlapping beams 408a, 408b.
[0065] Figure 5 shows an example of the division of transmission resources into time slots and frequency subcarriers in a communication network providing multiple beams 408a, 408b, such as the communication network 400 of Figure 4. Similar to the division of transmission resources described herein with reference to Figure 2, the transmission resources are divided into time-frequency blocks 504 of different beams 408a, 408b. There is spatial reuse of the time-frequency elements, since the same subcarriers used in beam A 408a can be used in beam B 408b in the same time slots. The communication network 400 can be configured to simultaneously light up client devices in beams A and B, resulting in power sharing across subcarriers as well as across beams. As a result, transmission power is allocated across multiple beams simultaneously.
[0066] 6 illustrates another example communication network 600 with beamforming in which beams may interfere with each other. The communication network 600 is similar to the communication network 400 of FIG. 4, except that the communication network 600 forms beam A 608a, beam B 608b, and beam C 608c, where beam A 608a and beam C 608c at least partially overlap (e.g., beam A 608a and beam C 608c cover overlapping geographical areas). The communication network 600 includes antennas 605 from beams 608a-608c.
[0067] Beam B 608b can utilize the same transmission resources as beam A 608a and beam C 608c without encountering interference. However, the overlapping beams 608a, 608c use separate (e.g., orthogonal) transmission resources to avoid potential interference. For example, client devices in beams A and C may experience interference if the same frequency subcarriers are used for these client devices during the same time slot.
[0068] In some embodiments, to avoid interference, the client devices of beam A 608a are assigned a time frequency block of different timeslots than the client devices of beam C 608c. For example, a first time slot can be assigned to the client devices of beam A 608a and a second time slot can be assigned to the client devices of beam C 608c. As another example, a first plurality of consecutive time slots can be assigned to the client devices of beam A 608a and a second plurality of consecutive time slots can be assigned to the client devices of beam C 608c. In a particular embodiment, the client devices of beam A 608a can be assigned subcarriers that are different from the subcarriers assigned to the client devices of beam C 608c. In various embodiments, the client devices of beam A 608a can be assigned a combination of timeslots and frequency subcarriers that are different from the combination of timeslots and frequency subcarriers assigned to the client devices of beam C 608c.
[0069] In the communication network 600, power constraints exist for the set of beams A, B, C 608a-608c, rather than for each individual beam. In a given time slot, power is shared across all beams 608a-608c. Thus, the disclosed power allocation techniques determine fairness to client devices across multiple beams 608a-608c. In these types of scenarios, the allocation of transmit power can be complicated because client devices in beam A 608a and beam C 608c split the transmit resources, while client devices in beam B 608b can be assigned any transmit resources. For example, client devices in beam A 608a can be assigned transmit power in a first time slot, client devices in beam C 608c can be assigned transmit power in a second time slot, and client devices in beam B 608b can be assigned transmit power in both the first and second time slots. Thus, when allocating transmit power, client devices in beam B 608b may be allocated transmit power in either time slot to satisfy fairness considerations. Thus, the disclosed transmit power allocation techniques may be configured to achieve fairness across multiple time slots (e.g., fairness may be determined for a subset of time slots of a frame, all time slots of a frame, or multiple frames). In this manner, the disclosed power allocation techniques are configured to be able to allocate transmit power across multiple time slots while still respecting the power constraints of individual time slots. Moreover, rather than achieving fairness for each time slot, fairness may be achieved by considering multiple time slots.
[0070] The disclosed power allocation technology is configured to allocate power fairly among the 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 time slot. Thus, the power allocation technology allocates power over several, say n, slots, and a power allocation solution is calculated for each n time slot. This is repeated for every n time slots. By way of example, a frame may include 10 time slots, 64 time slots, or other number of time slots. Additionally, once a power allocation solution is determined, that same solution can be used for a time period T. The time period T may be about 1 second, about 2 seconds, at least 1 second and / or less than or equal to 2 seconds, more than 2 seconds, or less than or equal to 1 second.
[0071] 7 illustrates allocation of transmission resources to multiple client devices on different beams based on a satisfaction metric. The different beams are provided in a communication network 600 as described herein with respect to FIG. 6. Thus, beams A and B are spatially separated, while beams A and C are at least partially overlapping. In the top graph 700a, the satisfaction metric is measured along the y-axis. In the bottom graph 700b, the negative marginal efficiency is plotted along the y-axis and time is plotted along the x-axis.
[0072] A new power block 709 (ΔP) is ready to be allocated. Client device B is selected to receive the new power block 709 because it is the least satisfied (e.g., the smallest satisfaction metric). Client device A and client device C are similarly satisfied, even though they are not allocated the same amount of transmit power (as indicated by the block number). Client device B is spatially separated from beams A and C, so power can be allocated to timeslot 1 or timeslot 2. In contrast, client device A on beam A in timeslot 1 can be allocated power but not timeslot 2, and client device C on beam C can be allocated power in timeslot 2 but not timeslot 1. This follows the example shown in FIG. 6, although 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 timeslot 2 because it has a higher marginal efficiency than timeslot 1.
[0073] Thus, the satisfaction metric can be used to determine which client device will receive the next allocation of transmit power, and the marginal benefit (or negative marginal efficiency) can be used to determine which client's timeslot to allocate a block of transmit power to. This part of the process can be similar to traditional water-filling algorithms that use total capacity or throughput to determine which timeslots should receive transmit power allocations. In such embodiments, the disclosed power allocation techniques can function as nested loops, with an outer loop selecting client devices based on fairness considerations (e.g., the satisfaction metric) and an inner loop allocating power based on marginal benefit.
[0074] Transmit power allocation method 8 illustrates a flow chart of an example method 800 for allocating transmission resources among multiple client devices in a communication network. For ease of explanation, the method 800 is described as being performed by a power allocation system similar to the power allocation system described herein with respect to FIG. 12. However, it should be understood that the method 800 may be performed by any device, module, or system described herein, or any combination of devices, modules, systems described herein. Similarly, portions of the method 800 may be performed by a particular device, module, or system described herein, and other portions of the method 800 may be performed by a different device, module, or system described herein.
[0075] The method 800 is configured to allocate transmission power to a plurality of client devices. The client devices may be assigned one or more time frequency blocks. The time frequency blocks assigned to a client device do not interfere with time frequency blocks assigned to other client devices. The time frequency blocks may share a timeslot, but may or may not use the same frequency. The time frequency blocks of a timeslot are subject to a total or aggregate power constraint. In other words, the sum of the allocated power is configured to be less than or equal to a total power constraint associated with the physical capacity of the transmitter. The method 800 is configured to allocate power to the time frequency blocks such that the throughput of the client devices is fair according to one or more quality of service (QoS) parameters.
[0076] At block 805, the power allocation system initializes the power, expected throughput, and satisfaction metric of each client device to initial values, such as zero. In method 800, the power allocation system is configured to determine and / or update the expected throughput of each client device of the plurality of client devices. Similarly, in method 800, the power allocation system is configured to calculate and / or update the satisfaction metric of each client device.
[0077] To allocate transmit power or transmission resources, the power allocation system repeatedly performs the steps of blocks 810 through 830. This portion of method 800 may end when all available transmit power has been allocated or when each client device has achieved its maximum transmit rate (or allowed capacity).
[0078] At block 810, the power allocation system selects a client device from the plurality of client devices, the selection being based on the calculated satisfaction metric. If the plurality of client devices have the same satisfaction metric, the client device may be selected randomly. The selected device has a satisfaction metric indicative of being the least satisfied client device. In some embodiments, the selected device has the lowest satisfaction metric.
[0079] At block 815, the power allocation system allocates the next allocation of transmit power to the selected client device. At 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 of a particular client device. In such an embodiment, the expected throughput is the total expected throughput taking into account the allocated transmit power on all time frequency blocks assigned to the selected client device. In some embodiments, the client device is assigned to a single time frequency block rather than being assigned to multiple time frequency blocks.
[0080] The expected throughput can be determined based on various factors such as client device characteristics, signal-to-noise ratio (SNR), channel quality, etc. In some embodiments, the channel quality (Q) can be SNR divided by power (P), or SNR per unit of power. In some embodiments, the expected throughput (ET) can be the bandwidth (BW) of the channel x log(1+P*Q) (e.g., from Shannon's theory). In some embodiments, ET is BW*Fun(P*Q) and can be found in a transmitter lookup table as a function of the modulation / coding order.
[0081] At block 825, the power allocation system updates the satisfaction metric of the selected client device. The updated satisfaction metric is based at least in part on the updated expected throughput determined at block 820. The satisfaction metric may be based at least in part on QoS parameters. Each client device may be assigned QoS parameters such as, for example and without limitation, a committed capacity or minimum transmission rate, a permitted capacity or maximum transmission rate, a weight, a priority, etc. The satisfaction metric may be based at least in part on the expected throughput determined during method 800.
[0082] At block 830, the power allocation system determines whether there is additional transmit power available for allocation. If there is available transmit power, the power allocation system returns to block 810 and selects a client device to allocate transmit power to. If there is no more available transmit power, the power allocation system ends method 800. In some embodiments, the power allocation system ends method 800 when the expected throughput of each client device exceeds the maximum transmit rate (or permitted capacity) associated with the client device.
[0083] FIG. 9 illustrates a flowchart of another exemplary method 900 for allocating transmission resources among multiple client devices of a communication network. Method 900 is similar to method 800, with certain differences related to considering marginal efficiency of client devices. For ease 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 FIG. 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, systems described herein. Similarly, parts of method 900 can be performed by a particular device, module, or system described herein, and other parts of method 900 can be performed by a different device, module, or system described herein.
[0084] Method 900, like method 800, is configured to allocate transmission power to multiple client devices. Marginal efficiency is also considered in method 900, which may be advantageous to avoid allocating transmission resources to bad or low quality time frequency blocks. This represents a compromise to the fairness approach to allocating power described in method 800.
[0085] At block 905, the power allocation system determines an expected throughput, a marginal efficiency, and a satisfaction metric for each client device of the plurality of client devices. The expected throughput may be determined as described herein with respect to method 800 of FIG. 8. Similarly, the satisfaction metric may be determined as described herein with respect to method 800 of FIG. 8. In some embodiments, the marginal efficiency (ME) may be the marginal capacity (MG) divided by the bandwidth (BW) of the client device, and the marginal capacity (MC) is the derivative of the expected throughput (ET) of the client device with respect to power. At block 910, the power allocation system creates an ordered list of the client devices, the order being based on the value of the satisfaction metric.
[0086] To allocate transmit power or transmission resources, the power allocation system repeatedly performs the steps of blocks 915 through 935. This portion of method 900 can end when all available transmit power has been allocated, when each client device has achieved its maximum transmission rate (or permitted capacity), or when each client device has exceeded its associated marginal efficiency threshold.
[0087] At block 915, the power allocation system selects a client device from the ordered list of client devices. The selected client device has a satisfaction metric indicating it is the least satisfied client device. In some embodiments, the selected device is the first client device on the ordered list of client devices created at block 910.
[0088] In block 920, the power allocation system determines whether the expected throughput (ET) and marginal efficiency (ME) are within an acceptable range. In some embodiments, if the ET exceeds the allowed capacity or maximum transmission rate, then the ET is outside the acceptable range and the power allocation system removes the client device from the ordered list in block 922.
[0089] Each client device may be associated with one or more marginal efficiency thresholds. In some embodiments, a first marginal efficiency threshold may be an authorized capacity marginal efficiency threshold (MET_PC) and a second marginal efficiency threshold may be a committed capacity marginal efficiency threshold (MET_CC). If the marginal efficiency of the client device is higher than MET_PC and the ET of the client device is lower than the authorized capacity (PC), the client device may receive more power. If the marginal efficiency of the client device is higher than MET_CC and the ET of the client device is lower than the committed capacity (CC), the client device may 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 marginal efficiency is within an acceptable range is to ensure that the selected client device is not experiencing 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 device.
[0090] In response to determining that the expected throughput and marginal efficiency are within acceptable ranges, the power allocation system allocates the next power block to the selected client device at block 925. At block 930, the power allocation system updates the expected throughput, marginal efficiency, and satisfaction metric of the selected client device. The block power allocation system updates the expected throughput of the selected client device based on the total transmit power allocated to the selected client device. The updated satisfaction metric is based at least in part on the updated expected throughput. Similarly, the updated marginal efficiency is based at least in part on the updated expected throughput. In some embodiments, the power allocation system is configured to increase the marginal efficiency value of the selected device.
[0091] At block 935, the power allocation system determines whether there is 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 there are client devices in the ordered list, the power allocation system updates the ordered list based on the updated satisfaction metric at block 937 and returns to block 915 to select a client device to allocate transmit power to. If there is no more available transmit power or if there are no more client devices in the list, the power allocation system ends method 900. In some embodiments, the power allocation system ends method 900 if the expected throughput of each client device exceeds the maximum transmit rate (or allowed capacity) associated with the client device.
[0092] FIG. 10 shows a flow chart of another exemplary method 1000 for allocating transmission resources among multiple client devices of a communication network. Method 1000 is similar to method 800, with certain differences related to allocating transmission power in a communication network that may encounter interference between time frequency blocks. This may occur in a communication network that provides multiple beams, such as communication network 400 or 600 described herein with reference to FIG. 4 and FIG. 6. For ease 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 FIG. 12. However, it should be understood that method 1000 may be performed by any device, module, or system described herein, or any combination of devices, modules, systems described herein. Similarly, parts of method 1000 may be performed by a particular device, module, or system described herein, and other parts of method 1000 may be performed by a different device, module, or system described herein.
[0093] Method 1000, like method 800, is configured to allocate transmission power to a plurality of client devices. Marginal efficiency is also considered in method 1000. After selecting a client device based on a satisfaction metric, marginal efficiency is considered and used to determine which time-frequency block to allocate transmission power to. Method 1000 proves particularly useful in situations where information can be transmitted to a client device using a plurality of different time-frequency blocks in different time slots. In such situations, after selecting the least satisfied client device, marginal efficiency can be used to select a time-frequency block for efficient allocation of power.
[0094] In some embodiments, method 1000 begins by determining a time frequency block quality for each client device for each time frequency block, which 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 an expected throughput for each client device. The expected throughput is calculated as described herein and may take into account selected devices that have been assigned multiple time frequency blocks. In some embodiments, each client device has one or more time frequency blocks, and the time frequency blocks do not interfere with each other. The expected throughput is the sum of the throughputs of each time frequency block of the client device.
[0096] In block 1010, the power allocation system determines a marginal efficiency (ME) for each client device and each time frequency block. The marginal efficiency may be calculated as described herein. A client device may have more than one time frequency block available, which may be particularly useful when interference between time frequency blocks may be an issue. A marginal efficiency is determined for each time frequency block for each client device to evaluate the effectiveness of allocating power to the time frequency blocks of selected client devices.
[0097] At block 1015, the power allocation system calculates a satisfaction metric for each client device. The satisfaction metric may be calculated as described herein.
[0098] To allocate transmit power or transmission resources, the power allocation system repeatedly performs the steps of blocks 1020 through 1040. This portion of method 1000 may end when all available transmit power has been allocated or when each client device has achieved its maximum transmit rate (or allowed capacity).
[0099] At block 1020, the power allocation system selects a client device based on a satisfaction metric, the satisfaction metric indicating that the selected client device is the least satisfied client device. In some embodiments, the selected device has the lowest satisfaction metric.
[0100] At block 1025, the power allocation system selects a time frequency block available to the selected client device, the selected time frequency block having the highest marginal efficiency. The time frequency blocks available for selection may be distributed across multiple time slots, each time slot having an associated power constraint.
[0101] This step is similar to a conventional water-filling algorithm, but is performed after selecting client devices based at least in part on fairness considerations. By combining fairness with a conventional water-filling algorithm, method 1000 is configured to ensure fairness and increase, maximize, or optimize aggregate throughput across all client devices.
[0102] At block 1030, the power allocation system allocates the next block of transmit power to the selected client device on the selected time-frequency block. At block 1035, the power allocation system updates the marginal efficiency of the selected time-frequency block and updates the expected throughput and satisfaction metrics for the selected client device.
[0103] At block 1040, the power allocation system determines whether there is 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 a client device to allocate transmit power to. If there is no more available transmit power, the power allocation system ends method 1000. In some embodiments, the power allocation system ends method 1000 if the expected throughput of each client device exceeds a maximum transmit rate (or permitted capacity) associated with the client device.
[0104] FIG. 11 illustrates a flow chart of another exemplary method for allocating transmission resources among multiple client devices of a communication network. Method 1100 is similar to method 900, with certain differences related to allocating transmission power in a communication network that may encounter interference between time frequency blocks. This may occur in a communication network that provides multiple beams, such as communication network 400 or 600 described herein with reference to FIG. 4 and FIG. 6. For ease 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 FIG. 12. However, it should be understood that method 1100 may be performed by any device, module, or system described herein, or any combination of devices, modules, systems described herein. Similarly, parts of method 1100 may be performed by a particular device, module, or system described herein, and other parts of method 1100 may be performed by a different device, module, or system described herein.
[0105] Method 1100, like method 900, is configured to allocate transmission power to a plurality of client devices. Method 1100 considers marginal efficiency in selecting time frequency blocks to be allocated to client devices after selecting the client devices based on satisfaction metrics. The marginal efficiency is used to determine which time frequency blocks to allocate transmission power to. Method 1100 proves particularly useful in situations where information can be transmitted to client devices using a plurality of different time frequency blocks in different time slots. In such situations, after selecting the least satisfied client device, the marginal efficiency can be used to select time frequency blocks for efficient allocation of power.
[0106] In some embodiments, method 1100 begins by determining a time frequency block quality for each client device for each time frequency block, which may also include initializing the power allocated to the time frequency block to zero or some other default value.
[0107] At block 1105, the power allocation system determines an expected throughput and satisfaction metric for each client device, and determines a marginal efficiency for each time-frequency block. The expected throughput may be determined as described herein. Similarly, the satisfaction metric may be determined as described herein. Similarly, the marginal efficiency (ME) may be determined as described herein. At block 1110, the power allocation system creates an ordered list of client devices, the order being based on the value of the satisfaction metric.
[0108] To allocate transmit power or transmit resources, the power allocation system repeatedly performs the steps of blocks 1115 through 1145. This portion of method 1100 may end when all available transmit power has been allocated, when each client device has achieved its maximum transmit rate (or allowed capacity), or when there are no more client devices remaining in the ordered list created in block 1110.
[0109] At block 1115, the power allocation system selects a client device from the ordered list of client devices. The selected client device has a satisfaction metric indicating it is the least satisfied client device. In some embodiments, the selected device is the first client device on the ordered list of client devices created at block 1110.
[0110] In block 1120, the power allocation system determines whether the selected client device has a time-frequency block with power available to be allocated to it. If not, the client device is removed from the ordered list in block 1122 and the method returns to block 1115. If there is an available time-frequency block, the power allocation system selects the time-frequency block with the highest marginal efficiency in block 1125.
[0111] In block 1130, the power allocation system determines whether the expected throughput (ET) of the selected device and the marginal efficiency (ME) of the selected time-frequency block are within an acceptable range. In some embodiments, if the ET exceeds the allowed capacity or maximum transmission rate, then the ET is outside the acceptable range and the power allocation system removes the client device from the ordered list in block 1122.
[0112] As described herein, the marginal efficiency thresholds can be used to ensure that power is allocated to time-frequency blocks that are not experiencing excessive diminishing returns. In other words, the marginal efficiency thresholds can be used to ensure efficient allocation of transmit power. Each client device may be associated with one or more marginal efficiency thresholds. In some embodiments, a first marginal efficiency threshold can be a permitted capacity marginal efficiency threshold (MET_PC) and a second marginal efficiency threshold can be a committed capacity marginal efficiency threshold (MET_CC). If the marginal efficiency of the client device is higher than MET_PC and the ET of the client device is lower than the permitted capacity (PC), the client device may receive more power. If the marginal efficiency of the client device is higher than MET_CC and the ET of the client device is lower than the committed capacity (CC), the client device may receive more power. If any of these thresholds are violated, the client device is removed from the ordered list of block 1122.
[0113] In response to determining that the expected throughput and marginal efficiency are within acceptable ranges, the power allocation system allocates the next power block to the selected client device at block 1135. At block 1140, the power allocation system updates the marginal 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 of the selected client device based on the total transmit power allocated to the selected client device across the multiple time-frequency blocks assigned to the selected client device. The updated satisfaction metric is based at least in part on the updated expected throughput. Similarly, the updated marginal efficiency is based at least in part on the updated expected throughput. In some embodiments, the power allocation system is configured to reduce the marginal efficiency value of the selected device.
[0114] At block 1145, the power allocation system determines whether there is 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 there are client devices in the ordered list, the power allocation system updates the ordered list based on the updated satisfaction metric at block 1147 and returns to block 1115 to select a client device to allocate transmit power to. If there is no more available transmit power or if there are no more client devices in the list, the power allocation system ends method 1100. In some embodiments, the power allocation system ends method 1100 if the expected throughput of each client device exceeds the maximum transmit rate (or allowed capacity) associated with the client device.
[0115] Transmission Power Allocation System FIG. 12 illustrates a block diagram of an exemplary power allocation system 1250 in a communication network, such as the communication networks described herein with reference to FIGS. 1A, 1B, 4, and 6. The power allocation system 1250 is configured to allocate transmission 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 FIG. 1A and may be implemented in the communication network described therein. The power allocation system 1250 may employ any of the methods described herein, such as the exemplary methods 800, 900, 1000, 1100 described herein with reference to FIGS. 8-11, respectively, for allocating transmission power in the communication network.
[0116] The power allocation system 1250 may include hardware, software, and / or firmware components for allocating transmission 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 may communicate with each other, with external systems, and with other components of the network, such as transmitters, using a communication bus 1255. The power allocation system 1250 may be implemented using one or more computing devices. For example, the power allocation system 1250 may be implemented using a single computing device, multiple computing devices, a distributed computing environment, or may be located in a virtual device in a public or private computing cloud. In a distributed computing environment, one or more computing devices may 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 indication of the satisfaction or fairness of the power allocation based on quality of service parameters such as priority, weight, maximum transmission rate, allowed capacity, minimum transmission rate, committed capacity, etc. The satisfaction metric can be responsive to a change in the amount of transmit power allocated to a client device.
[0118] The power allocation system 1250 includes a marginal efficiency module 1254. The marginal efficiency module 1254 is configured to determine a marginal efficiency for each time-frequency block. The marginal efficiency can be used in conjunction with a satisfaction metric to fairly and efficiently allocate transmit power to client devices. The marginal efficiency can also be used to determine which time-frequency blocks to allocate transmit power to after selecting client devices based on the satisfaction metric. The marginal efficiency can be calculated or determined using any suitable algorithm, calculation, or method.
[0119] The power allocation system 1250 includes an expected throughput module 1256. The expected throughput module 1256 is configured to determine an expected throughput for a client device based on a total power allocated to the client device, which may include summing the expected throughput of each time frequency block assigned to the client device. The expected throughput may be based on the time frequency block quality, the SNR, the allocated power, etc. The expected 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 transmission 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 allocate.
[0121] The power allocation system 1250 includes one or more processors 1253 configured to control the operation of the modules 1252, 1254, 1256, 1258 and the 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 a suitable computer processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), or other suitable microprocessor. The one or more processors 1253 may include other computing components configured to interface with the various modules and data store 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), and the like. The data store 1253 can be a non-transitory computer-readable medium that stores processor-executable instructions or instructions configured to cause the one or more processors 1253 to perform one or more functions (e.g., functions performed by modules 1252, 1254, 1256, 1258, and / or methods described herein with reference to Figures 8-11). The data store 1251 can be any suitable data storage device or combination of devices including, for example and without limitation, random access memory, read-only memory, solid state disk, hard drive, flash drive, bubble memory, and the like.
[0123] Additional Embodiments The present disclosure describes various features, no single feature being solely responsible for the advantages described herein. It will be understood that various features described herein may be combined, modified, or omitted, as will be apparent to one of ordinary skill in the art. Combinations and subcombinations other than those specifically described herein will be apparent to one of ordinary skill in the art and are intended to form part of the present disclosure. Various methods are described herein in terms of steps and / or phases of various flowcharts. It will be understood that in many cases certain steps and / or phases may be combined together and multiple steps and / or phases shown in the flowcharts may be performed as a single step and / or phase. Certain steps and / or phases may also be divided into additional subcomponents and performed separately. In some cases, the order of steps and / or phases may be changed, and certain steps and / or phases may be omitted entirely. It should also be understood that the methods described herein are open-ended, and additional steps and / or phases may be performed to those shown and described herein.
[0124] Some aspects of the systems and methods described herein can be advantageously implemented using, for example, computer software, hardware, firmware, or any combination of computer software, hardware, and firmware. Computer software can include computer executable code stored on a computer readable medium (e.g., a non-transitory 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. In light of this disclosure, a skilled artisan will appreciate that any feature or function that can be implemented using software running on a general-purpose computer can also be implemented using a different combination of hardware, software, or firmware. For example, such modules can be implemented completely in hardware using a combination of integrated circuits. Alternatively or additionally, such features or functions can be implemented, in whole or in part, using a dedicated computer designed to perform the specific functions described herein, rather than a general-purpose computer.
[0125] Any single computing device described herein may be replaced by a number of distributed computing devices, in which the functionality of a single computing device is distributed (e.g., over a network) and some functions are performed on each of the distributed computing devices.
[0126] Some embodiments may be described with reference to equations, algorithms, and / or flowchart diagrams. These methods may be implemented using computer program instructions executable on one or more computers. These methods may be implemented individually as a computer program product or as a component of a device or system. In this regard, each equation, algorithm, block, or step of the flowcharts, and combinations thereof, may be implemented by hardware, firmware, and / or software including one or more computer program instructions embodied in computer readable program code logic. As will be understood, such computer program instructions may be loaded into one or more computers, including but not limited to general purpose or special purpose computers, or other programmable processing devices that produce 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 flowchart diagrams. It will also be understood that each equation, algorithm, and / or block of the flowchart diagrams, and combinations thereof, may be implemented by a dedicated hardware-based computer system that performs the specified functions or steps, or a combination of dedicated hardware and computer readable program code logic means.
[0127] Moreover, computer program instructions, such as those embodied in computer-readable program code logic, may also be stored in a computer-readable memory (e.g., a non-transitory computer-readable medium) that can direct one or more computers or other programmable processing devices to function in a particular manner, where the instructions stored in the computer-readable memory implement the function(s) specified in the block(s) of the flowchart(s). The computer program instructions may also be loaded into one or more computers or other programmable computing devices and a series of operational steps executed on the one or more computers or other programmable computing devices to generate a computer-implemented process, where the instructions executing on the computers or other programmable processing devices provide steps for implementing the function(s) specified in the equation(s), algorithm(s), and / or block(s) of the flowchart(s).
[0128] Some or all of the methods and tasks described herein may be performed by a computer system and may be fully automated. A computer system may include multiple individual computers or computing devices (e.g., physical servers, workstations, storage arrays) that in some cases communicate and interoperate over a network to perform the described functions. Each such computing device typically includes a processor (or multiple processors) that executes program instructions or modules stored in memory or other non-transitory computer-readable storage media or devices. Although 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) of the computer system. When a computer system includes multiple computing devices, these devices may, but need not, be co-located. The results of the disclosed methods and tasks may be persistently stored by converting physical storage devices, such as solid-state memory chips and / or magnetic disks, to another state.
[0129] Unless the context clearly dictates otherwise, throughout the description and claims, the terms "comprise," "comprising," and the like shall be construed in an inclusive sense, i.e., "including, but not limited to," as opposed to an exclusive or exhaustive sense. The term "coupled," as used generally herein, refers to two or more elements that may be directly connected or connected by one or more intermediate elements. Additionally, as used in this application, the terms "herein," "above," "below," and similar phrases refer to this application as a whole and not to any particular portions of this application. Where the context permits, terms in the above detailed description using the singular or plural may also include the plural or singular, respectively. The term "or" in connection with a list of two or more items covers all of the following interpretations of that term, i.e., 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, instance, or illustration." Any implementation described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other implementations.
[0130] The present disclosure is not intended to be limited to the implementations shown herein. Various modifications to the implementations described in this disclosure 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 the present disclosure. The teachings of the present invention provided herein may also be applied to other methods and systems, and are not limited to the methods and systems described above, and elements and acts of the various embodiments described above may be combined to provide further embodiments. Thus, the novel methods and systems described herein may be embodied in a variety of other forms, and furthermore, various omissions, substitutions, and changes in the forms of the methods and systems described herein may be made without departing from the spirit of the present disclosure. The appended claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the present disclosure.
Claims
1. 1. A method for allocating transmission power from a transmitter to a plurality of client devices in a communications network, the method comprising: determining an expected throughput for each of the plurality of client devices, the expected throughput being based at least in part on an allocation of transmit power to each client device; calculating, for each client device of the plurality of client devices, a satisfaction metric based at least in part on one or more quality of service parameters and the expected throughput of the client device; selecting a client device with a satisfaction metric indicating that the client device will receive a next allocation of transmit power; allocating the next allocation of transmit power to the selected client device, resulting in a total amount of transmit power for the selected client device; updating the expected throughput of the selected client device based at least in part on the total amount of transmit power; and iteratively allocating transmit power by updating the satisfaction metric of the selected client device.
2. The method of claim 1 , wherein the transmitter comprises a satellite.
3. The method of claim 1 , wherein the transmitter comprises a base station of a wireless network.
4. The method of claim 3 , wherein the transmitter comprises a cellular network.
5. the allocating further comprises determining a marginal efficiency of the selected client device; 2. The method of claim 1, wherein in response to determining that the marginal efficiency of the selected device is greater than a minimum marginal efficiency value, the selected client device is assigned the next allocation of transmit power.
6. The method of claim 5 , wherein iteratively allocating transmit power further comprises updating the marginal efficiency of the selected client device.
7. The method of claim 5 , wherein iteratively allocating transmit power further comprises increasing the minimum marginal efficiency value of the selected client device.
8. 2. The method of claim 1, further comprising: ordering the plurality of client devices based on the satisfaction metric for each client device, the ordering of the plurality of client devices being configured to correspond to a priority for allocating transmit power, with a first client device in the ordering being assigned the next allocation of transmit power.
9. 2. The method of claim 1, wherein the satisfaction metric of an individual client device is assigned to be a value indicating that the individual client device will not receive a further allocation of transmit power in response to the expected throughput of the individual client device being greater than or equal to a maximum transmit rate assigned to the individual client device.
10. The method of claim 1 , wherein the one or more quality of service parameters include a weight assigned to each individual client device of the plurality of client devices.
11. The method of claim 1 , wherein the one or more quality of service parameters comprises a maximum transmission rate assigned to each individual client device of the plurality of client devices.
12. The method of claim 1 , wherein the one or more quality of service parameters comprises a minimum transmission rate assigned to each individual client device of the plurality of client devices.
13. The method of claim 12 , wherein the satisfaction metric of an individual client device is assigned the expected throughput divided by the minimum transmission rate in response to the expected throughput being less than the minimum transmission rate.
14. 14. The method of claim 13, wherein the satisfaction ratio of an individual client device is assigned the difference between the expected throughput and the minimum transmission rate plus one in response to the expected throughput being greater than or equal to the minimum transmission rate and less than a maximum transmission rate assigned to the individual client device.
15. The method of claim 1 , wherein the one or more quality of service parameters include a priority assigned to each of the plurality of client devices.
16. 16. The method of claim 15, wherein the satisfaction metric of an individual client device is assigned, in response to the expected throughput being less than the maximum transmission rate, to the priority level plus a ratio of the expected throughput and a maximum transmission rate of the individual client device.
17. The method of claim 1 , wherein the selected client device is the client device with the lowest satisfaction metric.
18. The method of claim 1 , wherein transmissions from the transmitter to the multiple client devices are divided into time slots, and each time slot is assigned a transmit power.
19. 20. The method of claim 18, wherein each time slot includes a plurality of frequency subcarriers, and wherein transmission power is divided among individual frequency subcarriers of said plurality of frequency subcarriers.
20. 1. A method for allocating transmission power from a transmitter to a plurality of client devices in a communications network, the transmitter being configured to transmit information using a frame comprising a plurality of time slots and a plurality of frequency subcarriers, the method comprising: assigning a plurality of time frequency blocks to each client device of a plurality of client devices, each time frequency block comprising a time slot of the plurality of time slots and a frequency subcarrier of the plurality of frequency subcarriers; determining, for each time frequency block of the respective plurality of time frequency blocks assigned to each of the plurality of client devices, a corresponding marginal efficiency; determining an expected throughput for each of the plurality of client devices, the expected throughput being based at least in part on an allocation of transmit power to the individual client device and a time frequency block quality for each of the respective plurality of time frequency blocks assigned to the individual client device; calculating, for each client device of the plurality of client devices, a satisfaction metric based at least in part on one or more quality of service parameters and the expected throughput of the client device; selecting a client device with a satisfaction metric indicating that said client device should be next assigned an allocation of transmit power; selecting a time frequency block to be assigned to the selected client device, the selected time frequency block having the highest marginal efficiency of the plurality of time frequency blocks assigned to the selected client device; allocating the next allocation of transmit power to the selected time frequency blocks of the selected client devices, resulting in a total amount of transmit power for the selected time frequency blocks; updating the expected throughput for the selected client device based at least in part on the total amount of transmit power for the selected time frequency block; updating the marginal efficiency of the selected time-frequency block; and iteratively allocating transmit power for a given timeslot by updating the satisfaction metric for the selected client device.
21. The method of claim 20 , wherein the transmitter comprises a satellite.
22. 22. The method of claim 21, wherein the satellite is configured to form multiple beams.
23. The method of claim 22 , wherein each time frequency block further includes a spatial component associated with an individual beam of the plurality of beams.
24. 21. The method of claim 20, wherein the time frequency block quality is based at least in part on an allocation of transmit power allocated to the time frequency block and a signal-to-noise ratio of the time frequency block.
25. 21. The method of claim 20, further comprising: prior to iteratively allocating transmit powers, initializing a transmit power allocated to each time frequency block to an initial power value.
26. 21. The method of claim 20, further comprising determining an available amount of transmit power for the given timeslot.
27. 27. The method of claim 26, further comprising: reducing the available amount of transmit power for the given time slot based on the allocation of transmit power to the selected client device for the selected time frequency block.
28. 21. The method of claim 20, wherein allocating the allocation of transmit power to the selected client device for the selected time frequency block is responsive to determining that the selected time slot has sufficient transmit power available for the allocation of transmit power.
29. 21. The method of claim 20, wherein in response to determining that the marginal efficiency of the selected device is greater than a minimum marginal efficiency value, the selected client device is assigned the next allocation of transmit power.
30. 30. The method of claim 29, wherein iteratively allocating transmit power further comprises increasing the minimum marginal efficiency value of the selected client device.
31. 21. The method of claim 20, further comprising ordering the plurality of client devices based on the satisfaction metric for each client device, wherein an order of the plurality of client devices corresponds to a priority for allocating transmit power, with a first client device in the order being the device that is allocated the next allocation of transmit power.
32. 21. The method of claim 20, wherein the satisfaction metric of an individual client device is assigned to be a value indicating that the individual client device will not receive a further allocation of transmit power in response to the expected throughput of the individual client device being greater than or equal to a maximum transmission rate assigned to the individual client device.
33. 21. The method of claim 20, wherein the one or more quality of service parameters include a weight assigned to an individual client device of the plurality of client devices.
34. 21. The method of claim 20, wherein the one or more quality of service parameters comprises a maximum transmission rate assigned to an individual client device of the plurality of client devices.
35. 21. The method of claim 20, wherein the one or more quality of service parameters comprises a minimum transmission rate assigned to each client device of the plurality of client devices.
36. 36. The method of claim 35, wherein the satisfaction metric of an individual client device is assigned the expected throughput divided by the minimum transmission rate in response to the expected throughput being less than the minimum transmission rate.
37. 37. The method of claim 36, wherein the satisfaction ratio of an individual client device is assigned the difference between the expected throughput and the minimum transmission rate plus one in response to the expected throughput being greater than or equal to the minimum transmission rate and less than a maximum transmission rate assigned to the individual client device.
38. 21. The method of claim 20, wherein the one or more quality of service parameters include a priority assigned to each of the plurality of client devices.
39. 40. The method of claim 38, wherein the satisfaction metric of an individual client device is assigned, in response to the expected throughput being less than the maximum transmission rate, to the priority level plus a ratio of the expected throughput and a maximum transmission rate of the individual client device.
40. The method of claim 20 , wherein the selected client device is the client device with the lowest satisfaction metric.
41. 1. A power allocation system for a communications network, comprising: a transmitter configured to transmit information to a plurality of client devices through a plurality of client satellite transceivers, the transmitter configured to transmit the information using frames each divided into a plurality of time slots, each time slot including a plurality of frequency subcarriers; a non-transitory computer readable medium storing processor executable instructions; a processor communicatively coupled to the transmitter and the non-transitory computer readable medium, the processor-executable instructions configuring the processor to: determining an expected throughput for each of the plurality of client devices, the expected throughput being determined at least in part based on an allocation of transmit power to each client device; calculating, for each client device of the plurality of client devices, a satisfaction metric based at least in part on one or more quality of service parameters and the expected throughput of the client device; selecting a client device with a satisfaction metric indicating that the client device will receive a next allocation of transmit power; allocating the next allocation of transmit power to the selected client device, resulting in a total amount of transmit power for the selected client device; updating the expected throughput of the selected client device based at least in part on the total amount of transmit power; and a processor configured to cause iteratively allocating transmit power of the transmitter by updating the satisfaction metric of the selected client device.
42. 42. The power allocation system of claim 41, wherein the transmitter comprises a satellite.
43. 42. The power allocation system of claim 41, wherein the transmitter comprises a base station of a wireless network.
44. 44. The power allocation system of claim 43, wherein the transmitter comprises a cellular network.
45. the allocating further comprises determining a marginal efficiency of the selected client device; 42. The power allocation system of claim 41, wherein in response to the processor determining that the marginal efficiency of the selected device is greater than a minimum marginal efficiency value, the selected client device is allocated the next allocation of transmit power.
46. 46. The power allocation system of claim 45, wherein the processor is further configured to update the marginal efficiency of the selected client device as part of iteratively allocating transmit power.
47. 46. The power allocation system of claim 45, wherein the processor is further configured to increase the minimum marginal efficiency value of the selected client device as part of iteratively allocating transmit power.
48. 42. The power allocation system of claim 41, wherein the processor is further configured to order the plurality of client devices based on the satisfaction metric for each client device, the order of the plurality of client devices corresponding to a priority for allocating transmit power, with a first client device in the order being allocated the next allocation of transmit power.
49. 42. The power allocation system of claim 41, wherein 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 a further allocation of transmit power in response to the expected throughput of the individual client device being greater than or equal to a maximum transmission rate allocated to the individual client device.
50. 42. The power allocation system of claim 41, wherein the one or more quality of service parameters include a weight assigned to an individual client device of the plurality of client devices.
51. 42. The power allocation system of claim 41, wherein the one or more quality of service parameters comprises a maximum transmission rate assigned to an individual client device of the plurality of client devices.
52. 42. The power allocation system of claim 41, wherein the one or more quality of service parameters comprises a minimum transmission rate assigned to each individual client device of the plurality of client devices.
53. 53. The power allocation system of claim 52, wherein the processor is further configured to assign the satisfaction metric of an individual client device to the expected throughput divided by a minimum transmission rate in response to the expected throughput being less than the minimum transmission rate.
54. 54. The power allocation system of claim 53, wherein 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 transmission rate plus one in response to the expected throughput being greater than or equal to the minimum transmission rate and less than a maximum transmission rate assigned to the individual client device.
55. 42. The power allocation system of claim 41, wherein the one or more quality of service parameters include a priority assigned to an individual client device of the plurality of client devices.
56. 56. The power allocation system of claim 55, wherein the processor is further configured to assign the satisfaction metric of an individual client device to the priority plus a ratio of the expected throughput and a maximum transmission rate of the individual client device in response to the expected throughput being less than the maximum transmission rate.
57. 42. The power allocation system of claim 41, wherein the selected client device is the client device with the lowest satisfaction metric.
58. 42. The power allocation system of claim 41, wherein the transmitter is configured to form multiple beams.
59. 60. The power allocation system of claim 58, wherein two or more of said plurality of beams overlap and said beams may interfere with one another.
60. 60. The power allocation system of 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 that overlaps with the first beam receives a transmission during a second time slot that is different from the first time slot.
61. 1. A power allocation system for a communications network, comprising: a transmitter configured to transmit information to a plurality of client devices through a plurality of client satellite transceivers, the transmitter configured to transmit the information using frames each divided into a plurality of time slots, each time slot including a plurality of frequency subcarriers; a non-transitory computer readable medium storing processor executable instructions; a processor communicatively coupled to the transmitter and the non-transitory computer readable medium, the processor-executable instructions configuring the processor to: assigning a plurality of time frequency blocks to each of a plurality of client devices, each time frequency block comprising a time slot of the plurality of time slots and a frequency subcarrier of the plurality of frequency subcarriers; determining, for each time frequency block of the respective plurality of time frequency blocks assigned to each of the plurality of client devices, a corresponding marginal efficiency; determining an expected throughput for each of the plurality of client devices, the expected throughput being determined at least in part based on an allocation of transmit power to the individual client device and a time frequency block quality for each of the respective plurality of time frequency blocks assigned to the individual client device; calculating, for each client device of the plurality of client devices, a satisfaction metric based at least in part on one or more quality of service parameters and the expected throughput of the client device; selecting a client device with a satisfaction metric indicating that said client device should be next assigned an allocation of transmit power; selecting a time frequency block to be assigned to the selected client device, the selected time frequency block having the highest marginal efficiency of the plurality of time frequency blocks assigned to the selected client device; allocating the next allocation of transmit power to the selected time frequency blocks of the selected client devices, resulting in a total amount of transmit power for the selected time frequency blocks; updating the expected throughput for the selected client device based at least in part on the total amount of transmit power for the selected time frequency block; updating the marginal efficiency of the selected time-frequency block; and a processor configured to cause iteratively allocating transmit power for a given timeslot by updating the satisfaction metric of the selected client device.
62. 62. The power allocation system of claim 61 , wherein the transmitter comprises a satellite.
63. 63. The power allocation system of claim 62, wherein the satellite is configured to form multiple beams.
64. 64. The power allocation system of claim 63, wherein each time frequency block further includes a spatial component associated with an individual beam of the plurality of beams.
65. 62. The power allocation system of claim 61, wherein the time frequency block quality is based at least in part on an allocation of transmit power allocated to the time frequency block and a signal-to-noise ratio of the time frequency block.
66. 62. The power allocation system of claim 61, wherein the processor is further configured to initialize a transmit power allocated to each time frequency block to an initial power value prior to iteratively allocating the transmit power.
67. 62. The power allocation system of claim 61, wherein the processor is further configured to determine an available amount of transmit power for the given timeslot.
68. 68. The power allocation system of claim 67, wherein the processor is further configured to reduce the available amount of transmit power for the given time slot based on the allocation of transmit power to the selected client device for the selected time frequency block.
69. 62. The power allocation system of claim 61 , wherein the processor is configured to allocate the allocation of transmit power to the selected client device for the selected time frequency block in response to determining that the selected time slot has sufficient transmit power available for the allocation of transmit power.
70. 62. The power allocation system of claim 61, wherein the processor is configured to allocate the next allocation of transmit power to the selected client device in response to determining that the marginal efficiency of the selected device is greater than a minimum marginal efficiency value.
71. 71. The power allocation system of claim 70, wherein the processor is further configured to increase the minimum marginal efficiency value of the selected client device as part of iteratively allocating transmit power.
72. 62. The power allocation system of claim 61 , wherein the processor is further configured to order the plurality of client devices based on the satisfaction metric for each client device, the order of the plurality of client devices corresponding to a priority for allocating transmit power, the first client device in the order being the client device to be next allocated transmit power.
73. 62. The power allocation system of claim 61, wherein 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 a further allocation of transmit power in response to the expected throughput of the individual client device being greater than or equal to a maximum transmission rate assigned to the individual client device.
74. 62. The power allocation system of claim 61, wherein the one or more quality of service parameters include a weight assigned to an individual client device of the plurality of client devices.
75. 62. The power allocation system of claim 61, wherein the one or more quality of service parameters comprises a maximum transmission rate assigned to an individual client device of the plurality of client devices.
76. 62. The power allocation system of claim 61, wherein the one or more quality of service parameters comprises a minimum transmission rate assigned to each individual client device of the plurality of client devices.
77. 77. The power allocation system of claim 76, wherein the processor is further configured to assign the satisfaction metric of an individual client device to the expected throughput divided by a minimum transmission rate in response to the expected throughput being less than the minimum transmission rate.
78. 78. The power allocation system of claim 77, wherein 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 transmission rate plus one in response to the expected throughput being greater than or equal to the minimum transmission rate and less than a maximum transmission rate assigned to the individual client device.
79. 62. The power allocation system of claim 61, wherein the one or more quality of service parameters include a priority assigned to an individual client device of the plurality of client devices.
80. 80. The power allocation system of claim 79, wherein the processor is further configured to assign the satisfaction metric of an individual client device to the priority plus a ratio of the expected throughput and a maximum transmission rate of the individual client device in response to the expected throughput being less than the maximum transmission rate.
81. 62. The power allocation system of claim 61, wherein the selected client device is the client device with the lowest satisfaction metric.
Citation Information
Patent Citations
Throughput Optimization Methods Based on User Fairness and QoS in Multi-User MIMO-OFDM
CN106658733B