Method and apparatus for scheduling terminals in a satellite communication system
Patent Information
- Application Number
- JP2025512029
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-08-30
- Filing Date
- 2023-08-28
- Publication Date
- 2026-09-03
AI Technical Summary
Existing satellite communication systems face challenges in efficiently scheduling multiple terminals assigned to user beams, balancing beam capacity and fairness of service, as terminals experience varying signal quality due to beam oscillation without foresight.
A technique that dynamically adjusts beam center targets for user beams over successive scheduling intervals based on signal quality metrics, allowing terminals to experience good signal quality during at least a portion of the intervals, thereby optimizing capacity and fairness.
This approach enhances overall user beam capacity while maintaining fairness of service by scheduling terminals according to varying signal quality, maximizing throughput without compromising quality of service.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical Field]
[0001] The methods and apparatus disclosed herein embody techniques for scheduling terminals assigned to user beams in a satellite communications system. [Background technology]
[0002] "User scheduling" refers to the handling of user traffic for multiple users of a communication system, and in particular, the scheduling of transmission resources for carrying traffic for each user in a manner that meets one or more scheduling goals. Example goals include maximizing beam capacity, ensuring proportional fairness among users, etc. User scheduling applies to one or both of the forward link direction, in which the associated communication system carries traffic toward a user, and the return link direction, in which the communication system carries traffic from a user (e.g., for forwarding to another system or device). In this context, each "user" is, for example, a communication device (terminal) that uses the communication system to send and receive traffic.
[0003] User scheduling plays a prominent role in various types of communication systems, of which satellite communication systems are one example. Satellite communication systems provide service over a potentially large geographic region (referred to as the satellite coverage area). A potentially large population of terminals to be served by the satellite communication system may be distributed within the satellite coverage area. One approach to serving a population of terminals involves logically subdividing the satellite coverage area and serving the subdivisions with respective user beams.
[0004] "User beam," in this context, refers to a spatially focused transmission and reception signal, meaning that the signal strength has a corresponding directionality. User beams may be formed in a variety of ways, including through the use of spot beam antenna systems, terrestrial beamforming (GBBF), and phased array antennas onboard the satellite(s). User beams illuminating adjacent subdivisions within a satellite coverage area may be differentiated in terms of frequency, polarization, etc. Terminals located within a given subdivision are assigned to the user beam associated with that subdivision. Of course, any given subdivision or region within a larger satellite coverage area may be associated with two or more forward user beams and / or two or more return user beams, for example, based on the use of different signal frequencies, polarizations, or other diversity techniques.
[0005] Scheduling multiple terminals assigned to a given user beam involves determining which terminals to serve on the user beam at what time. In the context of scheduling, multiple challenges arise. Scheduling decisions are necessarily based on many concerns or goals, including maximizing beam capacity while meeting service objectives for the individual terminals being scheduled. Summary of the Invention
[0006] A technique for scheduling multiple terminals assigned to user beams in a satellite communications system includes selecting different beam center targets for the user beams over successive scheduling intervals and scheduling each one of the terminals over the successive scheduling intervals according to a signal quality metric for each terminal that varies with respect to the different beam center targets. Changing the beam center target over successive scheduling intervals means that each terminal can experience good or at least relatively good signal quality during at least a portion of the scheduling intervals. As a result, the scheduler can schedule each one of the terminals in one or more scheduling intervals where it experiences primarily good or relatively good signal quality. Benefits derived from this approach include increasing the overall capacity for the user beams while maintaining fairness of service to the assigned terminals.
[0007] An exemplary embodiment includes a method for scheduling terminals in a satellite communications system, the method including: (a) obtaining assignment information indicating assignment of a plurality of terminals to user beams of the satellite communications system, the user beams being associated with nominal user beam coverage areas and the plurality of terminals being located within the nominal user beam coverage areas; (b) selecting, over successive scheduling intervals, different beam center targets for the user beams according to a beam oscillation period, the various beam center targets being different locations within the nominal user beam coverage areas; and (c) scheduling respective ones of the plurality of terminals over successive scheduling intervals in response to signal quality indicators for each terminal that vary relative to the various beam center targets.
[0008] Related embodiments include a satellite communications system (SCS). The SCS includes a satellite equipped with a plurality of cooperating antenna elements configured for use in forming a user beam associated with a nominal user beam coverage area, the user beam being used to serve terminals located within the nominal user beam coverage area. A beam oscillation controller of the SCS is configured to select different beam center targets for the user beam over successive scheduling intervals in accordance with a beam oscillation period, the various beam center targets being different locations within the nominal user beam coverage area. A beamformer of the SCS is configured to oscillate the user beam during the beam oscillation period by changing beam weights used to form the user beam in response to the selected beam center target, and a scheduling controller of the SCS is configured to schedule respective ones of a plurality of terminals over successive scheduling intervals in response to signal quality indicators for each terminal that vary in association with the various beam center targets.
[0009] Of course, the present invention is not limited to the above features and advantages, and those skilled in the art will recognize additional features and advantages upon reading the following detailed description, and upon viewing the accompanying drawings. [Brief explanation of the drawings]
[0010] [Figure 1] FIG. 1 is a block diagram of a satellite communications system (SCS) in accordance with an exemplary embodiment. [Figure 2] Figure 2 shows a cross-section of the SCS user beam. [Figure 3] FIG. 3 is an illustration of a beam oscillation period in accordance with an exemplary embodiment. [Figure 4] FIG. 4 is an illustration of a beam oscillation period in accordance with an exemplary embodiment. [Figure 5] FIG. 5 is a diagram of a nominal user beam coverage area including various beam center targets, according to an example embodiment. [Figure 6] FIG. 6 is a diagram of a suitability table used to schedule terminals in an SCS, in accordance with an example embodiment. [Figure 7] 7a-7g are diagrams illustrating beam oscillation periods according to an example embodiment. [Figure 8] FIG. 8 is a logic flow diagram illustrating a method for scheduling terminals in an SCS according to an example embodiment. [Figure 9] FIG. 9 is a plot illustrating a byte distribution function used in allocating terminal bytes to scheduling intervals, according to an example embodiment. [Figure 10] FIG. 10 is a diagram of an efficiency table as an example type of suitability table. [Figure 11] FIG. 11 is a diagram of a pseudo efficiency (PE) table used in scheduling terminals in accordance with an exemplary embodiment. [Figure 12] FIG. 12 is a diagram of a frequency reuse plan across multiple nominal user beam coverage areas with a common beam oscillation period applied, according to an exemplary embodiment. [Figure 13] FIG. 13 shows the common beam vibration period of interest in FIG. [Figure 14] FIG. 14 is a block diagram illustrating functional logic used for scheduling and servicing terminals in an SCS, according to an example embodiment. [Figure 15] FIG. 15 is a block diagram of an SCS in the context of forward beamforming, in accordance with an example embodiment. [Figure 16] FIG. 16 is a block diagram of an SCS in the context of return beamforming, in accordance with an example embodiment. [Figure 17] FIG. 17 is a block diagram of an SCS in the context of forward beamforming, according to another example embodiment. [Figure 18] FIG. 18 is a block diagram of an SCS in the context of return beamforming, according to another example embodiment. [Figure 19] FIG. 19 is a logic flow diagram of a method of operation by an SCS, according to an exemplary embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0011] 1 illustrates a satellite communications system (SCS) 10. The satellite communications system 10 includes a space segment 12 that includes one or more satellites 14 and a ground segment 16 that includes one or more satellite access nodes (SANs) 18. The ground segment 16, also referred to as a terrestrial network, includes a communications processing system (CPS) 20. The CPS 20 interfaces the SCS 10 with one or more external networks 22 (e.g., the Internet). The CPS 20 provides routing and processing for delivering user traffic arriving at the SCS 10 as forward user traffic to each terminal 24 served by the SCS 10, and for forwarding return user traffic transmitted by each one of the terminals 24 to external devices or systems reachable through the external network(s) 22.
[0012] From a system design perspective, one approach to providing satellite-based communication services involves logically subdividing a potentially large geographic region into a fixed set of uniformly contiguous polygonal areas. Each polygonal area represents a nominal user beam coverage area 26. The nominal user beam coverage area 26 is intended to be served by an associated one of multiple user beams 28 (spot beams) used by the SCS 10 to serve a population of terminals 24 distributed within the region. For ease of illustration, FIG. 1 shows one exemplary nominal user beam coverage area and associated user beam 28.
[0013] Each user beam 28 is logically associated with a particular nominal user beam coverage area 26 in a fixed one-to-one mapping, and the SCS assigns any given terminal 24 to the user beam 28 associated with the nominal user beam coverage area 26 in which the terminal 24 is located. Because of the one-to-one mapping between nominal user beam coverage areas 26 and user beams 28, a terminal 24 being assigned to a user beam 28 can be understood to mean that the terminal 24 is served by the user beam 28 that is used to serve terminals 24 located within that nominal user beam coverage area 26. The terminal 24 can be on the ground or in the air. In the latter case, the nominal user beam coverage area 26 in which the terminal 24 is located can depend on the altitude of the terminal 24.
[0014] For each user beam 28, there is a nominal pointing direction that aligns the beam center of the user beam 28 with a nominal beam center target associated with the corresponding nominal user beam coverage area 26. For example, the nominal beam center target for each user beam 28 corresponds to the geometric center of the corresponding nominal user beam coverage area 26. Here, "beam" refers to directional transmission and reception, and "beam center" refers to the highest point of signal strength within the cross-section or footprint of the user beam 28. The beamwidth (e.g., 3 dB beamwidth) of each user beam 28 is configured according to the size of the nominal user beam coverage area 26.
[0015] Each user beam 28 is defined or otherwise formed using a respective set of beam weights. Thus, at least in theory, there exists a nominal value for the set of beam weights for each user beam 28 that will point the user beam 28 in its nominal pointing direction. As understood in the context of signal beamforming, a beam weight value is an amplitude and / or phase value corresponding to a respective one of multiple antenna elements used to transmit and receive beamformed signals. A user beam 28 may be a forward user beam formed by transmit beamforming or a return user beam formed by receive beamforming.
[0016] Although the SCS 10 assigns terminals 24 to user beams 28 based on the terminal's position relative to the nominal user beam coverage area 26, the SCS 10 does not maintain the user beam 28 in its nominal pointing direction, but instead uses "beam oscillation." Beam oscillation refers to the use of different pointing directions at different times during a beam oscillation period. Each pointing direction used for a given user beam 28 may be defined by a corresponding beam center target, and for any given user beam 28 and its associated nominal user beam coverage area 26, the various beam center targets correspond to different locations within the nominal user beam coverage area 26. In this manner, the beam center moves around within the nominal user beam coverage area 26 over the beam oscillation period.
[0017] Because the set of terminals assigned to any given user beam 28 does not change as a function of oscillation, the different pointing directions used to dynamically reorient the user beam 28 over a beam oscillation period are not thought of as transmitting different beams at different times, but as the same beam pointed in different directions at different times. More specifically, for any given nominal user beam coverage area 26, there are beam signals carrying multiplexed user traffic for those terminals 24, and it is these beam signals that are beamformed to achieve the corresponding user beam 28; the logical association between the beam's identity, assigned terminals 24, and associated nominal user beam coverage area 26 does not change with oscillation of the user beam 28, but the oscillation does cause the beam's ground footprint to move around during each beam oscillation period.
[0018] Due to oscillation of a given user beam 28, different terminals 24, or different subsets of terminals 24 among the assigned terminals 24, will be closer to or farther from the beam center at different times during the beam oscillation period. The scheduling techniques disclosed herein advantageously take advantage of the resulting characteristic variations in signal quality per terminal, and do so without requiring foresight of the beam oscillation because the characteristic signal quality variations can be learned by the associated scheduler. Since the set of terminals 24 assigned to a given user beam 28 logically share the user beam 28 in the sense that traffic to and from each one of the terminals 24 is conveyed via the beam in a multiplexed manner, "scheduling" refers to the ongoing process of determining which particular terminals among the assigned terminals 24 will be served via the user beam at any particular time.
[0019] For multiple user beams 28, scheduling may be performed on a beam-by-beam basis in the forward and return directions, but as described herein, beam oscillation may be performed jointly for a contiguous set of nominal user beam coverage areas 26.
[0020] 1, there are multiple different beam center targets 30 distributed within the nominal user beam coverage area 26. A satellite 14 or CPS 20 of the SCS 10 includes or is associated with a beamforming controller 32, a beamformer 34, a scheduling controller 36, and a channel estimator. In another embodiment, any one or more of these entities are implemented via circuitry onboard the satellite 14.
[0021] In at least one embodiment, the beamforming controller 32 is configured to select different ones of the beam center targets 30 at different times, which means controlling or otherwise overseeing the beam oscillation operation. In at least one embodiment, the beamforming controller 32 is configured to calculate or select the beam weights used to form the user beam(s) 28. This means storing or calculating the different beam weight values needed to center any given user beam 28 on each one of the various beam center targets 30 used to oscillate that given user beam 28.
[0022] The beamformer 34 includes digital domain circuitry, analog domain circuitry, or a mixture thereof, depending on the type of beamforming used and whether the beamformer is implemented in the ground segment 12 or onboard the satellite 14 in the space segment 16. In either case, the beamformer 34 is the entity that applies beam weights to the signal(s) involved and includes the division, weighting, and summation circuitry necessary to weight the signals involved. In one or more embodiments, the beamforming controller 32 includes or otherwise encompasses the beamformer 34; that is, integrated circuitry controls beam oscillation and applies dynamically changing beam weights used to manifest beam oscillation. Both oscillation control and weight application may be performed in the ground segment 16 or the space segment 12, or oscillation control may be performed in the ground segment 16 and weight application in the space segment 12.
[0023] The scheduling controller 36 is configured to schedule each one of the terminals 24 in response to characteristic changes in signal quality for each terminal resulting from the beam oscillation. As noted, the scheduling controller 36 need not be aware of the particular beam center target 30, or more broadly, the use of beam oscillation, because the impact of beam observations is observable by the scheduling controller in one or more signal-quality-related metrics that the scheduling controller uses in making scheduling decisions. In other words, a given terminal 24 assigned to a user beam 28 associated with the nominal user beam coverage area 26 in which the terminal 24 is located will be characteristically more or less attractive for scheduling at different times during each beam oscillation period, depending on which user beam 28 is pointed at various beam center targets 30 during the beam oscillation period.
[0024] The beam oscillation controller 32 and the scheduling controller 36 may be implemented at least in part programmatically, such as when the implementation circuitry includes one or more memories that store computer program instructions that, when executed by one or more microprocessors or other digital processors, configure the processor(s) to perform the beam oscillation control and terminal scheduling operations described herein.
[0025] The specific configuration of the beamforming controller 32 depends on the particular technology used by the SCS 10 to form and control the user beams 28. The beamforming controller 32 may or may not include a beamformer 34. The beamformer 34 actually applies the beam weights in the associated transmit or receive signal paths to form the user beams 28. However, in one or more embodiments, the beamforming controller 32 provides the beam weight calculations, or at least coordinates the application of beam weights by the beamformer 34 to perform the beam oscillation cycles. This means that the associated user beams 28 are dynamically redirected to respective ones of the various beam center targets 30 during each beam oscillation cycle. For example, the beamforming controller 32 in one or more embodiments calculates beam weights that are transferred to the satellite 14 for application by the beamformer 34 resident onboard the satellite 14.
[0026] The circuitry comprising the beamformer 34 applies the associated beam weights in the digital or analog signal domain. For example, a forward beamformer splits a signal to be transmitted into respective copies (each copy transmitted from one of multiple cooperating antennas or antenna elements) and weights each copy with a respective beam weight from a set of beam weights, each such weight corresponding to a respective one of multiple cooperating antennas or antenna elements. Here, "cooperating" refers to the overlap of antenna patterns between or among the multiple antennas / antenna elements used in beamforming.
[0027] Simultaneous transmission of these weighted copies from multiple cooperating antennas or antenna elements results in a superposition of far-field signals that result in the desired beam. The return beamformer provides directional receive sensitivity for signals received on multiple cooperating antennas or antenna elements based on applying respective beam weights from a set of beam weights to per-antenna versions of the received signal. Such weighting may be performed in the analog or digital domain, whereby the return user beam exists only in the signal processing domain.
[0028] The calculation of the beam weights may be based on channel estimates, such as those provided by a channel estimator 38. The channel estimator 38 determines the channel estimates, for example, based on channel state information (CSI) determined for the relevant propagation channel or provided to the channel estimator 38. In one or more embodiments, these various controllers may be implemented as a collective collection of processing circuitry 39, which may in turn be realized at least in part through the execution of stored computer program instructions by, for example, one or more networked computer servers.
[0029] FIG. 2 shows an exemplary user beam 28 having a beam center 40. The user beam 28 is shown in cross section. The "beam center" corresponds to the direction of highest transmit power in the context of a forward user beam, and corresponds to the direction of highest receive sensitivity in the context of a return user beam. The extent of the user beam 28 may be defined, for example, in terms of its 3 dB beamwidth. The 3 dB beamwidth is defined by the point(s) where the power or gain drops by half relative to the peak at the beam center 40. As a general proposition, beamforming is configured so that the size of the terrestrial footprint of the user beam 28 matches the size of the nominal user beam coverage area 26.
[0030] Returning to FIG. 1 , the beam oscillation controller 32's selection of a particular beam center target 30 within the nominal user beam coverage area 26 corresponds to the SCS 10 pointing (centering) the associated user beam 28 on the selected beam center target 30. For example, the beam oscillation controller 32 instructs the beamformer 34 on the selection of beam center targets or corresponding beam weight values, either one at a time or as a selection schedule. In response to the selection of any given beam center target 30 within the nominal user beam coverage area 26, the beamforming controller 32 calculates, selects, or otherwise initiates the application of corresponding values of beam weights that will result in the user beam 28 being focused on the selected beam center target 30. The beam center target 30 may be expressed in geographic coordinates and converted to beam angles (azimuth and elevation) relative to the satellite 14, or may be expressed in beam angles.
[0031] As a detailed example, consider the case where multiple beam center targets 30 are used for a nominal user beam coverage area 26. The geometric center of the nominal user beam coverage area 26 may be designated as the nominal beam center target for the user beam 28 serving the nominal user beam coverage area 26. This means that the nominal beam center target corresponds to the nominal pointing direction of the associated user beam 28. Notably, the nominal beam center target may or may not be used in beam oscillation, but if it is used, there is a nominal value corresponding to the beam weights used to form the associated user beam 28. Thus, oscillating any given user beam 28 relative to various beam center targets 30 within the associated nominal user beam coverage area can be understood as applying different sets of beam weights (each set corresponding to a respective one of the various beam center targets 30). Alternatively, oscillating a user beam 28 can be understood as dynamically “changing” the set of beam weights used to form the user beam 28.
[0032] Nevertheless, the use of different beam center targets 30 over the beam oscillation period means that the signal quality of each involved terminal 24 with respect to the user beam 28 changes characteristically as different beam center targets 30 are selected. Here, "interested" terminals 24 should be understood to be limited to terminals 24 located within the nominal user beam coverage area 26 associated with the user beam 28 in question. In other words, terminals 24 are assigned to user beams 28 based on their location with respect to the fixed nominal user beam coverage area 26, and the serving beam assignment does not change as a function of beam oscillation. The scheduling optimization in question exploits the characteristic changes in signal quality that individual terminals among the assigned terminals 24 experience as their assigned user beam 28 is oscillated.
[0033] 1 as a generic label (e.g., beam center target 30), but for purposes of explanation, subscripts are used to call out the particular beam center target 30 of interest. For example, beam center target 30a is at the geometric center of the illustrated nominal user beam coverage area 26 and therefore corresponds to the nominal beam orientation (nominal pointing direction) for the associated user beam 28.
[0034] 1, identified as terminals 24a, 24b, and 24c. The signal quality for terminal 24a will, as a general proposition, be better or best if beam center target 30a is selected compared to the others among the exemplary beam center targets 30. Similarly, the signal quality associated with terminal 24b will, as a general proposition, be better or best if beam center target 30b is selected, and the same is true for terminal 24c with respect to beam center target 30c.
[0035] Here, the terms "better" and "best" may be understood in a relative sense. This means that the selection of different beam center targets 30 over a given beam oscillation period may characteristically improve or worsen the signal quality associated with any given one of the terminals 24. Because other factors may affect signal quality, the absolute signal quality experienced by any given terminal 24 at any given time or over any given duration does not depend solely on beam oscillation. However, beam oscillation does impose characteristic, observable variations in signal quality among multiple terminals 24 assigned to a user beam 28.
[0036] Because the signal quality associated with each terminal 24 assigned to a user beam 28 varies characteristically with respect to various beam center targets 30, the scheduling controller 36 is configured to advantageously schedule traffic such that capacity is maximized while still respecting fairness requirements for each terminal 24. With respect to "fairness," the allocation of beam capacity across the set of terminals 24 served by a user beam 28 is fair if each terminal 24 gets its exact and appropriate share of that capacity (measured in bytes rather than symbols). In the simplest sense, an allocation is fair if all terminals 24 get the same number of bytes. A more nuanced definition of fairness may call for allocating different amounts to terminals 24 based on concepts such as relative weighting, strict priority, guaranteed minimum rate, maximum rate, and / or other concepts.
[0037] Typically, but not always, scheduling in the presence of beam oscillation means that each terminal 24 receives its traffic at the time when its signal quality is best, or at least better than average. Of course, the scheduling controller 36 in one or more embodiments is configured to respect quality of service (QoS) considerations (e.g., terminal priorities, weights, etc.) and to handle degenerate cases (e.g., when a given user beam 28 serves a single terminal 24 and traffic for that single terminal 24 can be scheduled in each interval).
[0038] In one or more embodiments, the particular forward link user traffic conveyed from the ground segment 16 to the space segment 12 at any given time via the feeder uplink 42 depends on the scheduling of the forward link traffic by the scheduling controller 36. Additionally or alternatively, the particular return link user traffic conveyed from the space segment 12 to the ground segment 16 at any given time via the feeder downlink 44 depends on the scheduling of the return link traffic by the scheduling controller 36. Whether applied in the forward link direction or the return link direction, the scheduling controller 36 may be configured to advantageously schedule traffic such that capacity is maximized while respecting fairness requirements for each terminal 24.
[0039] In the particular case of return link traffic, this approach means that each terminal 24 in the constellation of interest is scheduled to transmit its return link traffic at a time within the beam oscillation period when the received signal quality at the satellite for the terminal 24 is best, or at least better than average. In the return link scheduling example, a centrally located scheduling controller 36 determines the return link scheduling and transmits scheduling information for distribution to scheduled terminals 24 so that the terminals 24 know when to transmit on the reverse link.
[0040] FIG. 3 illustrates an exemplary beam oscillation period within successive similar beam oscillation periods. The beam oscillation period includes a set of six different beam center targets 30 (labeled beam center targets 30a, 30b, 30c, 30d, 30e, and 30f for distinction). Keeping in mind that each beam center target 30 is at a different location within the nominal user beam coverage area 26, the beam oscillation period in this example includes successive selection windows, during which a particular one of the various beam center targets 30 becomes the selected target. While the beam selection windows in one or more embodiments or during one or more operating scenarios are of uniform duration, they are non-uniform in one or more other embodiments or during one or more other operating scenarios. Here, "operating scenario" refers, for example, to different densities and spatial distributions of terminals 24 within the nominal user beam coverage area 26 or different traffic needs among some or all of the terminals 24.
[0041] In at least one embodiment, as shown in FIG. 4 , each beam oscillation period spans or encompasses consecutive scheduling intervals 50, with each such consecutive scheduling interval 50 comprising a “scheduling frame” 52. The beam oscillation period may be frame-aligned such that the beam oscillation period is repeated for each scheduling frame 52 in running consecutive frames 52. Here, a “scheduling interval” represents the smallest interval over which scheduling decisions are made. That is, for each scheduling interval 50, the scheduling controller 36 determines which terminal(s) 24 to serve via the associated user beam 28.
[0042] The duration for which a given beam center target 30 is selected may be referred to as the "selection dwell." The selection dwell may be specified in terms of a number of scheduling intervals 50, meaning that the minimum selection dwell is one scheduling interval 50. Depending on whether there is an even number of scheduling intervals 50 in a scheduling frame 52, the selection dwell of beam center targets 30 used in a beam oscillation period may or may not be uniform. Furthermore, while in one or more embodiments the selection dwell is predetermined, in one or more other embodiments the selection dwell is determined dynamically (i.e., during live operation), such as based on the distribution of terminals 24 within the nominal user beam coverage area 26.
[0043] FIG. 5 shows a simplified exemplary set of seven different beam center targets 30 distributed within a nominal user beam coverage area 26. The distribution may be based on a predetermined pattern, i.e., the pattern is predetermined or determined. Here, "pattern" refers to the relative positions of the beam center targets 30 within a nominal user beam coverage area 26. When a pattern is common or the same across multiple nominal user beam coverage areas 26, it means that the relative placement or placement of the beam center targets 30 is the same for all such nominal user beam coverage areas 26. The pattern may be, for example, symmetrical or based on some kind of equidistant distribution of the beam center targets 30 within each nominal user beam coverage area 26.
[0044] As can be appreciated, the signal quality indicator for each terminal 24 varies with respect to the various beam center targets 30. The signal quality indicator in this context may be an actual signal quality measurement or another value reflecting signal quality (e.g., an error rate indicator or an efficiency indicator). If the user beam 28 is a forward user beam for transmitting user traffic to the terminal 24, the signal quality indicator reflects the received signal quality at the respective terminal 24. If the user beam 28 is a return user beam for transmitting user traffic from the terminal 24, the signal quality indicator reflects the received signal quality at the SCS 10 for the respective terminal 24.
[0045] In one or more embodiments, the per-terminal signal quality indicator for each terminal 24 scheduled on a user beam 28 comprises a suitability indicator value in a suitability table (e.g., suitability table 60 shown in FIG. 6). In FIG. 6, consider an example of N terminals 24 assigned to a given user beam 28, where N is an integer greater than or equal to 1.
[0046] The beam oscillation period in the illustrated example includes seven beam center targets 30, e.g., beam center targets 30a, 30b, ..., 30g. Each column of the suitability table 60 corresponds to one scheduling interval 50 (e.g., one scheduling frame 52) in the contiguous scheduling intervals 50 spanned by the beam oscillation period. Each row of the suitability table 60 corresponds to a respective one of the terminals 24 scheduled on the associated user beam 28. More generally, since other arrangements may be used, it should be understood that the suitability table 60 includes a respective plurality of suitability index values for each terminal 24 assigned to the user beam 28 in question, with each suitability index value in the respective plurality corresponding to a respective one of the scheduling intervals 50 within the scheduling frame 52. With regard to performing such operation for multiple user beams 28, there is a suitability table 60 for groups of terminals 24 assigned to each such beam.
[0047] At the intersection of each row / column in exemplary suitability table 60 is a cell 62, and the data value held in each cell 62 is a particular value of the suitability index for the corresponding terminal 24 in the corresponding scheduling interval 50. For example, if the suitability index is SINR, then each cell 62 holds a corresponding SINR value, e.g., a numeric value within a corresponding numeric space or range.
[0048] For a given terminal 24 assigned to a given user beam 28, the suitability index value for the given terminal 24 in any given scheduling interval 50 depends on which beam center target 30 is selected for the given user beam 28 in that given scheduling interval 50. In one or more embodiments, the suitability index value may also depend on other factors unrelated to beam oscillation (e.g., time-varying interference or time-varying gain due to satellite and / or SAN fluctuations). Also, as suggested in the figure, the selection dwell used for each beam center target 30 may be defined by the number of scheduling intervals 50.
[0049] In one or more embodiments, each beam center target 30 is selected only once during each beam oscillation period. That is, there is one selection window for each beam center target 30, and each selection window has a duration (selection dwell) of at least one scheduling interval 50. In such embodiments, if the selection window is longer than one scheduling interval 50, it spans consecutive scheduling intervals 50. However, in other embodiments, one or more of the beam center targets 30 may be selected more than once during a beam oscillation period, and the selection may be non-consecutive (e.g., separated by one or more scheduling intervals 50). This approach may be understood as interleaving or alternating selection of beam center targets 30 over consecutive scheduling intervals 50 spanned by the beam oscillation period. In such an approach, as long as any given beam center target 30 is selected more frequently or for a longer total duration than another given beam center target 30 within one beam oscillation period, that beam center target 30 may be considered to have a higher duty cycle than the other beam center targets 30. In at least one such embodiment, the duty cycles of various beam center targets 30 within a given nominal user beam coverage area 26 are dynamically determined based, for example, on the distribution of terminals 24 within the nominal user beam coverage area 26 and / or the respective traffic needs or service types of those terminals 24.
[0050] In any event, at any given time, one or more terminals 24 within a nominal user beam coverage area 26 will have a better suitability index value compared to one or more other terminals 24 within that area, depending on which beam center target 30 is in use during that selection window. In particular, the signal-to-noise-plus-interference (SINR) or other signal quality index of each terminal 24 will vary characteristically with respect to various beam center targets 30, depending on the location of the terminal 24 relative to each such target.
[0051] Through operation of the scheduling controller 36, data packets (traffic) are advantageously scheduled to each terminal 24 so that, when a favorable SINR exists for the terminal 24, they are transmitted generally in repeating scheduling intervals 50, but possibly in any or all of the scheduling intervals 50, thereby maintaining a peak burst rate. Here, any scheduling interval 50 may be understood to be "repeating" in the sense that each scheduling frame 52 in successive frames 52 includes a uniform set of scheduling intervals 50, such that each particular scheduling interval 50 may be considered to be repeated from frame to frame.
[0052] 7a-7g illustrate exemplary beam oscillation cycles for a nominal user beam coverage area 26 based on beam oscillation cycles using seven different beam center targets 30. To "use" the various beam center targets 30, the SCS 10 adjusts its beamforming over the beam oscillation cycle so that the beam centers 40 of the user beams 28 used to illuminate the nominal user beam coverage 26 shift from one beam center target 30 to the next, dwelling on each such target, either sequentially or collectively, for a defined portion of the beam oscillation cycle. The concentric circles 46 shown in the figures represent beam gradient lines. For forward link beams, the gradient lines represent beam intensity, which decreases with distance from the beam center 40. For return link user beams, the gradient lines represent receive sensitivity, which decreases with distance from the beam center 40. Note that the locations of the beam center targets 30 and the proposed sequence or order of target selection are merely exemplary, and other configurations for the beam oscillation cycles may be used.
[0053] While Figures 7b-7g do not show portions of a user beam 28 that extend beyond the fixed boundaries of the nominal user beam coverage area 26, it should be understood that omitted portions of the user beam 28 may exist and irradiate one or more adjacent nominal user beam coverage areas 26. In other words, the shape and size of the beam footprint of a user beam 28 may remain constant or substantially constant even as the user beam 28 oscillates. In this manner, a user beam 28 may partially irradiate one or more adjacent nominal user beam coverage areas 26 if the selected beam center target 30 is not at the geographic center of the nominal user beam coverage area 26 with which the user beam 28 is associated. However, consider the case where there are multiple contiguous nominal user beam coverage areas 26, each with an associated user beam 28, each with the same shape and size, and each with a similar pattern of beam center target 30 therein. In this case, vibration-related inter-beam interference may be minimized by commonly applying a beam oscillation period to multiple contiguous nominal user beam coverage areas 26. Doing so means that the same beam center targets 30 are selected at the same time and in the same order across multiple consecutive nominal user beam coverage areas 26. Correspondingly, multiple associated user beams 28 all shift by the same amount and in the same direction with each new target selection. Of course, because the selection of various beam center targets 30 for a given user beam 28 may be based on using different beamforming solutions (different beam weight values), some variation in beam shape or beam footprint may occur during a beam oscillation period.
[0054] With regard to determining terminal scheduling over multiple scheduling intervals 50 spanned by a beam oscillation period, many mathematical or algorithmic approaches exist for determining a scheduling solution. Broadly speaking, the scheduling problem for a given plurality of terminals 24 assigned to a given user beam 28 can be understood as scheduling each one of the given plurality of terminals 24 over any given consecutive scheduling interval 50 (e.g., scheduling frame 52). The scheduling objective for a scheduling frame 52 may be, for example, maximizing the total capacity of the given user beam 28. Maximizing the total capacity of the given user beam 28 may involve, for example, solving a constrained optimization problem for the consecutive scheduling intervals 50. For example, solving the constrained optimization problem maximizes the capacity of the user beam 28 under the constraint that service fairness among the multiple terminals 24 is maintained. Of course, the scheduling problem may be extended jointly to multiple terminals 24 within adjacent nominal user beam coverage areas 26.
[0055] When it comes to solving scheduling problems, linear programming yields optimal solutions, while greedy algorithms offer suboptimal solutions with the benefit of reduced complexity. Another set of approaches can be understood as one or more types of "bias adjustment algorithms" that yield near-optimal solutions while having superior time complexity compared to linear programming. The reduced computational time has clear advantages in situations where scheduling solutions must be generated in the order of milliseconds or less.
[0056] To understand various approaches to bias adjustment, first consider making scheduling decisions for multiple terminals 24 assigned to a given user beam 28 for a scheduling frame 52 that includes consecutive scheduling intervals 50. Making scheduling decisions means determining which terminals 24 to serve in which scheduling intervals 50 of the scheduling frame 52, and these decisions depend on the relative scheduling attractiveness of each terminal 24 for each scheduling interval 50. For any given scheduling interval 50, terminals 24 with better suitability index values are more attractive for scheduling in that interval than terminals 24 with poorer suitability index values. Here, "better" and "poorer" have a relative meaning, such as when the suitability index is signal quality and one terminal 24 has a higher signal quality estimate for an interval than another terminal for that same interval.
[0057] In this manner, scheduling decisions may be made directly based on the suitability index values, by comparison, ranking, etc. However, in one or more embodiments, scheduling decisions are made according to biased suitability index values rather than "raw" suitability index values, where the biases are calculated iteratively or via other means. In this approach, the suitability index values of terminals 24 are biased according to their respective scheduling bias values to obtain biased suitability index values that are used to make scheduling decisions.
[0058] According to a first version of the exemplary bias algorithm, the scheduling bias values are per-terminal scheduling bias values. For any given scheduling frame 52 being scheduled, each terminal 24 is assigned a corresponding scheduling bias value that is used to bias the terminal's 24's corresponding per-interval suitability index value. The per-terminal scheduling bias values may be updated iteratively, such as for and / or within each scheduling frame 52. According to a second version, the scheduling bias values are per-interval scheduling bias values. For any given scheduling frame 52 being scheduled, each scheduling interval 50 within the scheduling frame 52 is assigned a corresponding scheduling bias value. In at least one such embodiment, the per-interval bias may be updated iteratively for the frame being scheduled, e.g., to balance utilization of each scheduling interval 50 across the scheduling frame 52.
[0059] Thus, according to the second version, the suitability index values in each scheduling interval 50 are biased according to a scheduling bias value assigned to that scheduling interval 50. The scheduling bias value per interval may be updated repeatedly, such as for each scheduling frame 52. In both versions, the scheduling bias value is determined based on, for example, quality of service (QoS) needs and relative differences in current radio conditions.
[0060] As a simple bias example, consider the case where a nominal user beam coverage area 26 is assumed to have two beam center targets: A on the left and B on the right. Each target is selected for one scheduling interval, and then the scheduling frame is repeated. Also assume there are two terminals, X and Y, assigned to a user beam 28 associated with the nominal user beam coverage area 26. Both such terminals are to the left of A, but X is further to the left. An example fairness goal is for each terminal to get one scheduling interval within a two-interval scheduling frame.
[0061] We first consider the terminal-biased version. The unbiased preference index F is as follows: Fya=6, Fxa=5, Fyb=4, Fxb=1. According to the raw preference index (unbiased), A prefers Y over X, as does B. If the scheduling controller logic stopped here, Y would be scheduled in both intervals, leaving X starved. Instead, in the context of this simplified example, the scheduling controller 36 increases the bias for X by 1 and decreases the bias for Y by 1. The new biased preference indexes are Fya=5, Fxa=6, Fyb=3, Fxb=2. Here, A prefers X, but B still prefers Y. Thus, each terminal gets one complete scheduling interval.
[0062] Now consider the interval-by-interval biased version. Assume the unbiased preference index F is as follows: Fya=6, Fxa=4, Fyb=5, Fxb=1. According to the raw preference index (unbiased), Y prefers A over B, and likewise for X. Again, if the scheduling logic stopped here, A would be used by both terminals and B would be unused. Instead, the scheduling controller 36 increases the bias for B by 1 and decreases the bias for A by 1. The new biased preference indexes are Fya=5, Fxa=3, Fyb=6, Fxb=2. Now, Y prefers B, but X still prefers A. Thus, both intervals get one user.
[0063] Naturally, these preceding examples are simplified by the use of rank order rather than efficiency. Efficiency-based scheduling allows for more nuance. Biasing per terminal may appear to yield the same results as biasing per interval. In fact, there is at least one reason why a biasing per interval approach may be more useful. For any given scheduling frame N+1, the SCS 10 can significantly speed up computation time by using the bias values calculated for frame N to set the seed values for the scheduling optimizer. This works on the basis of working with the same set of bias values each time and the same number of scheduling intervals per frame. However, the number of terminals 24 scheduled for the associated user beam 28 may vary.
[0064] 8 illustrates an example method 800 implemented by the scheduling controller 36 with respect to a scheduling frame 52 that includes consecutive scheduling intervals 50. The scheduling frame 52, sometimes referred to as a scheduling epoch, represents one beam oscillation period. The operation of this method can be understood as an example implementation of the second version of the biasing algorithm described above. The scheduling attractiveness of each terminal 24 in each scheduling interval 50 within a scheduling epoch depends on the suitability index value of each terminal 24 in the scheduling interval 50 and the respective bias value assigned to each scheduling interval 50.
[0065] The scheduling operation begins at step 1, which involves populating an "efficiency table" (block 802). Each terminal 24 assigned to a user beam 28 has an efficiency in bits per symbol for each scheduling interval 50. This value is stored in the efficiency table, whereby the efficiency value can be understood as an example of the suitability index value described herein. In other words, the scheduling controller 36 may maintain the efficiency table as a specific implementation of the aforementioned suitability table 60, with each efficiency value in the efficiency table representing the efficiency of a particular terminal 24 in a particular scheduling interval 50. In the example deployment, each column in the efficiency table represents a respective scheduling interval 50 within the scheduling frame 52, and each row in the efficiency table represents a particular terminal 24 among the terminals 24 assigned to the associated user beam 28.
[0066] The efficiency of each terminal 24 in each scheduling interval 50 depends on the beam center target 30 associated with that scheduling interval 50. In one or more embodiments, the efficiency values kept in the efficiency table are maintained based on feedback from each one of the terminals 24 back to the SCS 10. For example, the terminals 24 may be configured to measure the SINR on the forward link and periodically return such measurements or associated channel state information (CSI) to the SCS 10, with the channel estimator 38 using such information to populate the efficiency table. Thus, when scheduling a given scheduling frame 52, the efficiency of each terminal 24 for each scheduling interval 50 may be based on its most recent associated CSI, where “associated” refers to the terminal 24 in question and the beam center target 30 associated with the scheduling interval 50. The efficiency of the terminals 24 may be measured or estimated.
[0067] Processing continues with step 2, which includes assigning a respective scheduling bias value to each scheduling interval 24 (block 804). The scheduling bias values may be initialized to zero or may be based on values from a previous scheduling iteration. In this exemplary context, the term "scheduling bias value" serves as an adjustment to the tendency for bytes for any terminal 24 to be allocated to the corresponding scheduling interval 50 associated with that scheduling bias value. Increasing the scheduling bias value for a given scheduling interval 50 increases this tendency relative to other scheduling intervals 50, while decreasing the scheduling bias value decreases this tendency relative to other scheduling intervals 50.
[0068] In step 3, the scheduling controller 36 generates a pseudo-efficiency (PE) table. Here, the scheduling controller 36 maintains the PE table based on the efficiency table and the respective scheduling bias values. For example, with the understanding that each value in the efficiency table corresponds to a particular terminal 24 in a particular scheduling interval 50, the corresponding PE value in the PE table may be obtained by modifying the efficiency value from the efficiency table based on the scheduling bias value assigned to that particular scheduling interval 50. In one example, the scheduling bias value is added. In another example, the scheduling bias value is a scalar value used as a multiplier, such as a value between zero and one. Broadly speaking, it should be understood that the scheduling bias value modifies or adjusts the efficiency value as a mechanism to relax or otherwise bias the efficiency-based scheduling driven by the efficiency table.
[0069] According to the QoS-based per-terminal allocation, each terminal 24 has a fixed number of bytes that it needs to transmit. Thus, in step 4 (block 808), for each terminal 24, the scheduling controller 36 compares the PEs of all scheduling intervals 50 and tentatively distributes the bytes to be transmitted to the terminal 24 over the scheduling intervals 50 based on their respective PEs. The tentative allocations can be finalized by further iterative processing. Overall, this approach means that the bytes required for each terminal 24 are distributed over the scheduling intervals 50 with the highest PE for that terminal 24. A scheduling interval 50 with a low PE for a terminal 24 does not get bytes for that terminal 24, but instead gets bytes associated with one or more other terminals 24 with relatively better PEs for those scheduling intervals 50.
[0070] In step 5 (block 810), for each scheduling interval 50, the number of symbols required is based on the bytes associated with each terminal from step 4 and the terminal's 24 efficiency for that interval (rather than the terminal's 24 PE for that interval). That is, the scheduling interval(s) 50 selected to serve each terminal 24 are based on their respective PEs within the scheduling interval 50, but the symbol requirements per scheduling interval are based on the corresponding actual efficiency of the scheduled terminals 24. In this approach, the allocation of bytes to terminals 24 is calculated by fairly dividing the total estimated capacity among the assigned terminals 24. The efficiency of each terminal is characteristically related to the distance between the terminal and each beam center target 30, as well as other factors such as beam pointing accuracy, weather, etc. The number of symbols S required to transmit B bytes is given by: S = B * 8 / E, where E is the bit efficiency per symbol.
[0071] Step 6 (block 812) involves calculating an average utilization rate per scheduling interval. This provides the basis for scheduling controller 36 to evaluate whether each scheduling interval 50 is being evenly utilized. Here, the utilization rate is calculated for each scheduling interval as the number of required symbols for that scheduling interval divided by the number of available symbols for that scheduling interval. If this is not the case ("NO" from block 814), scheduling controller 36 adjusts the scheduling bias value per interval (block 816), repeats steps 3 through 6, and re-evaluates the utilization rates. Once equal utilization rates are reached ("YES" from block 814), the current execution of the scheduling algorithm ends. Adjusting the scheduling bias value may include, for example, decreasing the scheduling bias value of one or more scheduling intervals 50 that are over-utilized relative to the scheduling frame 52 relative to the calculated average utilization rate of all scheduling intervals, and increasing the scheduling bias value of one or more scheduling intervals that are under-utilized relative to the scheduling frame 52 relative to the average. That is, scheduling controller 36 decreases the bias value for an over-utilized scheduling interval 50 so that in the next iteration fewer terminals 24 will favor it, resulting in a decrease in its utilization.
[0072] Even utilization may be defined within some tolerance range so that underutilization or overutilization relative to average utilization can be tolerated, at least to some extent. Increasing this tolerance range may cause the algorithm to terminate sooner and require fewer iterations. As an example of a preferred tolerance range in one or more implementations, SCS10 uses a plus / minus five percent tolerance range (±5%). Of course, larger or smaller tolerances may be used depending on performance goals.
[0073] The following is an example approach to adjusting the scheduling bias value in a scenario where the scheduling bias value is assigned to a scheduling interval 50 within a scheduling frame 52 (i.e., a per-interval bias is used). Example adjustment steps include: Step 1: B[t,s] is the byte allocation for terminal t in scheduling interval s for the current iteration of the scheduling algorithm applied to the scheduling frame 52 being scheduled. Step 2: Calculate the total number of symbols required for each scheduling interval: A[s] = sum(B[t,s] * 8 / Eff[t,s] for all t), where Eff[t,s] is the efficiency in bits per symbol for terminal t in scheduling interval s. Step 3: Calculate the utilization of each scheduling interval: U[s]=A[s] / C[s], where C[s] is the capacity of scheduling interval s in symbols. Step 4: Calculate the average utilization: M = sum(U[s] for all s) / N, where N is the number of scheduling intervals. Step 5: Calculate the utilization fairness ratio for each scheduling interval: F[s] = U[s] / M. Step 6: Calculate the new scheduling bias value for each scheduling interval: NewBias[s] = PreviousBias[s] + Loop_Gain * (1-F[s]). Note that the maximum increment / decrement size in step 5 immediately above can be used. Also, variable loop gain aids convergence. For example, if after an iteration the scheduling intervals are more evenly utilized, increase the loop gain by a few percent. If the scheduling intervals are less evenly utilized, halve the loop gain.
[0074] With or without the aforementioned possible variations or modifications of method 800, in an exemplary embodiment, the processing operations referred to as method 800 output a byte table corresponding to a scheduling frame 52. In the context of the forward link example, the byte table indicates the number of bytes that the SCS 10 should transmit in each scheduling interval 50 to each terminal 24. The byte table has the same dimensions as the efficiency table.
[0075] FIG. 9 illustrates one approach to allocating the required bytes to each terminal 24 within any given scheduling frame 52 being scheduled. A sharing weight is assigned independently to each terminal 24 for each scheduling interval 50 among the consecutive scheduling intervals 50 belonging to the scheduling frame 52. Correspondingly, bytes for the terminals 24 are allocated to the scheduling intervals 50 in proportion to their respective sharing weights. The sharing weight for each scheduling interval 50 is calculated independently for each terminal 24 by comparing the PE of the terminal 24 for that scheduling interval 50 with the PE of the best scheduling interval 50 for that terminal 24. FIG. 9 illustrates the calculation of the sharing weight "x" for a given scheduling interval 50 based on this. Note that the sharing weight is unrelated to any QoS weighting assigned to traffic associated with any terminal 24. It is also worth noting that making the illustrated function curve steeper and further to the right will result in a solution closer to the optimum, but will make convergence more difficult.
[0076] 10 shows an exemplary efficiency table 70 used in method 800, simplifying by assuming only three different beam center targets 30a, 30b, and 30c instead of seven. An assigned terminal 24 is a terminal assigned to a given user beam 28 and being scheduled with respect to a scheduling frame 52. The number of terminals 24, the number of scheduling intervals 50, and the number of beam center targets 30 proposed for efficiency table 70 are all non-limiting examples and may be set as needed in practice.
[0077] Each cell 72 of the efficiency table 70 holds a value representing the efficiency of the corresponding terminal 24 for the corresponding scheduling interval 50, where the efficiency value is a numeric value, e.g., expressing efficiency as bits per symbol. Nevertheless, the table 70 reflects variations in signal quality associated with each terminal 24 with respect to the various beam center targets 30 used over successive scheduling intervals 50. For example, a given terminal 24 closest to beam center target 30a may be expected to have characteristically higher efficiency in a scheduling interval 50 in which its associated user beam 28 focuses on beam center target 30a compared to a scheduling interval 50 in which its associated user beam 28 focuses on beam center target 30b or 30c. Of course, it should be understood that more than one beam center target 30 may be associated with at least a threshold level of signal quality for a given terminal 24, and thus the scheduling controller 36 may be able to schedule a given terminal in a scheduling interval 50 associated with more than one beam center target 30. Furthermore, if there are more beam center targets 30 for a nominal user beam coverage area 26 than terminals 24 served by user beams 28 associated with the nominal user beam coverage area 26, the terminals 24 may be scheduled with respect to more than one beam center target 30.
[0078] In the context of method 800, each scheduling interval 50 has an associated scheduling bias value, which may be expressed in the same numerical domain as the efficiency values. With efficiency table 70 maintaining a row of efficiency values for each terminal 24, generating the PE table used in method 800 is based on adding the scheduling bias value assigned to each scheduling interval 50 to the corresponding column of the per-terminal efficiency value for the scheduling interval. FIG. 11 shows a PE table 80 corresponding to efficiency table 70 of FIG. 10. As in FIG. 10, each column of the table corresponds to a respective scheduling interval 50 within the scheduling frame 52 being scheduled. However, each cell 82 of PE table 80 represents the corresponding efficiency value from efficiency table 70 adjusted by the scheduling bias value for the corresponding scheduling interval 50. That is, each cell 82 maintains a biased efficiency value, PE. One or more embodiments of the scheduling technique use PE table 80 to determine which terminal 24 is served in which scheduling interval 50 within the scheduling frame 52. Of course, the disclosed technique is not limited to using PE table 80. Furthermore, efficiency table 70 serves as an implementation of suitability table 60. In one or more other embodiments, suitability table 60 includes a per-terminal SINR estimate or another metric value related to signal quality and reflecting characteristic signal quality changes resulting from beam oscillation.
[0079] Additional scheduling considerations include broadcast and multicast traffic. Generally, bytes carrying broadcast traffic intended for all terminals 24 assigned to a user beam 28 should ultimately be transmitted in a scheduling interval 50 where signal quality is sufficient for all such terminals 24. For example, a particular beam center target 30 among various beam center targets 30 used in a beam oscillation period may be at or near the center / centroid of the nominal user beam coverage area 26, and selecting that beam center target 30 provides sufficient signal quality for all terminals 24.
[0080] In this manner, the scheduling controller 36 may adjust its scheduling so that broadcast traffic is transmitted during the selection window corresponding to that particular beam center target 30. More generally, two or more of the beam center targets 30 used in a beam oscillation period may provide sufficient (threshold level) signal quality to all terminals 24 assigned to the user beam 28. This means that broadcast traffic may be transmitted during the selection window corresponding to one or more such beam center targets 30. Similar logic may be employed by the scheduling controller 36 with respect to multicast or group traffic. That is, such traffic is scheduled, or at least biased toward being scheduled, during the scheduling intervals 50 that fall within the selection window(s) of one or more beam center targets 30 that provide at least a threshold level of signal quality to the target group of terminals 24.
[0081] The scheduling controller 36 may be informed which scheduling intervals 50 correspond to the selection of a preferred or designated beam center target 30 for a particular type of traffic, and then the scheduling controller 36 prioritizes scheduling of such traffic in such scheduling intervals 50. In an alternative approach, to schedule a multicast or broadcast flow within a scheduling frame 52, the scheduling controller 36 finds, for each scheduling interval 50 within the scheduling frame 52, the lowest efficiency (bits per symbol) of all terminals 24 belonging to the flow. The scheduling controller 36 treats the worst efficiency for each of these intervals as the efficiency for that flow and finds the best scheduling interval 50 for the flow. Such scheduling intervals 50 will generally be the intervals associated with beam center targets 30 located closer to the center of the nominal user beam coverage area 26, assuming the nominal user beam coverage area 26 is symmetric.
[0082] The SCS 10 may provide service over a larger satellite service area that is subdivided into multiple nominal user beam coverage areas 26, as shown in FIG. 12. For any particular user beam coverage area 26, associated user beams 28 serve adjacent nominal user beam coverage areas 26 using user beams 28 at different radio frequencies, which can be thought of as different "colors" in a frequency reuse map. FIG. 12 assumes four different frequencies: F1, F2, F3, and F4. The SCS 10 uses a set of seven different beam center targets 30 per nominal user beam coverage area 26, and the spatial arrangement of these targets may all be common across the area. For example, the same pattern of beam center targets 1-7 is reused in all nominal user beam coverage areas 26. In this manner, the SCS 10 may apply a common beam oscillation period across all nominal user beam coverage areas 26 such that at each step or phase of the beam oscillation period, the same relative beam center targets 30 are selected in each nominal user beam coverage area 26. Again, for this commonality of beam oscillation to work, all nominal user beam coverage areas 26 involved in the common oscillation must have the same number and relative spatial distribution of beam center targets 30, and the selection of the various beam center targets 30 must be synchronized across the multiple nominal user beam coverage areas 26 according to the same selection order and selection dwell within all nominal user beam coverage areas 26.
[0083] For example, a beam oscillation period commonly applied across multiple nominal user beam coverage areas 26 may select the beam center target 30 labeled "1" in the figure for a defined selection dwell, then select the beam center target 30 labeled "2" in the figure, and so on. At least, user beams 28 on the same frequency channel use the same or similar sets of beam center targets 30 in corresponding nominal user beam coverage areas 26 and follow the same or similar spatial beam center target selection sequence to minimize interference between the beams.
[0084] FIG. 13 similarly uses the four colors introduced in FIG. 12, but shows 44 scheduling intervals 50 contained within a scheduled scheduling frame 52, grouped into six 6-interval selection windows and one 8-interval selection window. Each selection window corresponds to the SCS 10 using the same relative beam center target 30 across all nominal user beam coverage areas 26. Thus, proceeding from left to right in the figure, there is a first selection window spanning scheduling intervals 1 through 8, during which target 1 is selected across all nominal user beam coverage areas 26. During the second selection window (spanning time slots 9 through 14), target 2 is selected across all nominal user beam coverage areas 26, and so on. This coordinated approach across multiple nominal user beam coverage areas 26 maintains maximum spacing between user beams 28 of the same frequency. This is maintained despite the SCS 10 substantially shifting such beams relative to a fixed nominal user beam coverage area 26 based on changing the beam center target 30 at which the user beams are aimed.
[0085] Effectively, with this technique, the SCS 10 employs a reuse factor of 4 × 7 = 28 (four beam frequencies, seven beam center targets 30 for each user beam 28). In other words, the SCS 10, in this example, has seven different sets of user beams 28, each set corresponding to a particular beam center target selection, and the different sets can be thought of as providing different signal qualities for individual terminals 24 within the corresponding nominal user beam coverage area 26. Correspondingly, the scheduling logic of the SCS 10 exploits these differences to advantageously schedule individual ones of the terminals 24 at times of better signal quality, which times deterministically reoccur over successive repetitions of the beam oscillation period. By operating in this manner, the SCS 10 in this exemplary context approaches the capacity of a system with a reuse factor of 28 while maintaining the peak user burst rate of a system with a reuse factor of four.
[0086] 14 illustrates exemplary functional blocks and associated operations in the SCS 10 for terminal scheduling relying on the beam oscillation period technique disclosed herein, assuming the forward link (FL) direction in the example. In an exemplary embodiment, all such functional blocks are implemented via processing circuitry in the terrestrial CPS 20 (e.g., via a portion of the processing circuitry 39 introduced in FIG. 1).
[0087] Classification function 1400 classifies packets received from the Internet for various terminals 24, thus representing FL user traffic. A plurality of transmit queues 1402 buffers each packet flow for a respective one of the population of terminals 24 served by SCS 10. QoS function 1404 provides fair per-terminal byte allocations based on QoS-related scheduling requirements, or in another embodiment, QoS parameters associated with the received packets, in response to the QoS parameters. Scheduling function 1406 represents operations of scheduling controller 36, such as the exemplary set of operations described in method 800. With further reference to method 800, the QoS-related output from QoS function 1404 can be understood as an example of the QoS allocation information input to block 808 shown in FIG. 8 . Essentially, the QoS function 1404 determines how many bytes each terminal 24 gets in a given scheduling frame 52 so that a) the allocation is fair based on QoS, and b) the sum of bytes across all terminals 24 exactly equals the estimated capacity of the associated user beam 28 for one scheduling frame.
[0088] The scheduling function 1406 makes scheduling decisions on a frame-by-frame basis, for example, where each scheduling frame 52 has a predetermined duration (e.g., 20 milliseconds). In this approach, for any given scheduling frame 52, the scheduling function 1406 makes scheduling decisions for the next occurring frame.
[0089] For any particular plurality of terminals 24 assigned to a particular user beam 28, the scheduling decisions are output in the form of a byte table. The byte table indicates the interval-by-interval byte allocations made to the plurality of terminals 24 for the next frame, and the media access control (MAC) function 1408 performs a MAC layer frame packing operation for the next frame in accordance with the byte table. Here, "frame packing" generally refers to the mechanism of removing internet packets from a scheduling queue and packing them into MAC layer frames, which are then subsequently processed (encoded, modulated, etc.) by the PHY layer. Such operations may be performed in parallel or jointly for each of the plurality of terminals 24 assigned to a respective user beam 28 corresponding to a respective one of a plurality of nominal user beam coverage areas 26 that subdivide a larger satellite service area.
[0090] Inputs to the scheduling decisions include the aforementioned QoS-related scheduling requirements or weightings, as well as per-terminal signal quality metrics that vary with respect to the various beam center targets 30 used over the beam oscillation period. For example, the forward link (FL) adaptive coding and modulation (ACM) function 1410 receives per-scheduling-interval SINRs from a population of terminals 24 and uses those per-slot SINRs to determine per-terminal efficiency with respect to the applicable beam center target. That is, within a population of terminals 24, different groups or subsets of terminals 24 are associated with different user beam coverage areas 26, and each such user beam coverage area 26 has an associated set of beam center targets 30.
[0091] FIG. 15 illustrates an SCS 10 according to an exemplary embodiment that assumes beamforming in the forward direction and the corresponding use of a beam oscillation period to oscillate multiple forward user beams 100 in unison. For simplicity, only three forward user beams 100a, 100b, and 100c are shown, although many forward user beams 100 may exist, each associated with a respective nominal user beam coverage area 102 within a larger satellite service area 104. Each forward user beam 100 carries forward user traffic 106 for an individual terminal 24 assigned to the forward user beam 100. Beamforming in the context of FIG. 15 is based on a technique referred to as "end-to-end beamforming," which is an approach to ground-based beamforming (GBBF). For exemplary details regarding end-to-end beamforming, see U.S. Patent No. 10,128,939 B2. See U.S. Patent Nos. 10,454,570 B2 and 10,735,089 B2 for other examples of GBBFs that use optical feeder links between the ground segment 16 and the space segment 12. The techniques disclosed herein apply to all such contexts.
[0092] In addition to the details of the ground segment carried over from FIG. 1, FIG. 15 provides an explicit description of beamforming circuitry 110 as an example of the beamformer 34 introduced in FIG. 1. Here, beamforming controller 32 calculates a respective set of forward beam weights 112 used to form each forward user beam 100, and beamforming circuitry 110 applies those weights. The weights may be calculated based on channel estimates of the end-to-end propagation channel traveling from each SAN 18 to each terminal 24 via satellite 14. More specifically, one or more respective terminals 24 located at or in close proximity to each beam center target 30 provide CSI that enables beamforming circuitry 110 to calculate a set of forward beam weights 112, and application of that CSI forms a corresponding user beam 100 substantially centered on that beam center target 30.
[0093] 15 does not show the various beam center targets 30 within each nominal forward user beam coverage area 102, it is understood that a similar set of various beam center targets 30 is used within each nominal forward user beam coverage area 102, and that the SCS 10 uses a common beam oscillation period to sequentially select such targets across multiple forward user beams 100. For example, assume that there is a similar arrangement of seven beam center targets 30 within each nominal forward user beam coverage area 102. Then, for each forward user beam 100, there are seven sets of forward beam weights 112 associated with each forward user beam 100, and each such set corresponds to one of the seven beam center targets 30 within the associated nominal forward user beam coverage area 102.
[0094] Each SAN 18 includes interface circuitry 120 for communicating with CPS 20 in the forward and return directions. Interface circuitry 120 includes circuitry configured to send and receive physical layer signals over wired or wireless media and may include higher layer circuitry for protocol processing, synchronization, etc. Additionally, each SAN 18 includes transmitter / receiver circuitry 122. In at least one embodiment, transmitter / receiver circuitry 122 comprises a radio frequency (RF) transmitter and receiver for providing RF-based feeder uplinks and downlinks between each SAN 18 and satellite 14.
[0095] In the context of end-to-end beamforming, the satellite 14 includes multiple transponders 130, each providing a respective signal path (unprocessed or "bent-pipe" path) through the satellite 14. A transponder 130 may be dedicated to the forward link direction to provide a forward link signal path for relaying forward user traffic from the ground segment 16 to the terminals 24, with multiple similar transponders being used for end-to-end beamforming in the return direction. In other embodiments, the same multiple transponders 130 provide forward and return link signal paths on a time-division multiplexed switching basis. In other arrangements, the multiple transponders 130 include at least some with switchable connections, allowing their individual use in either the forward or return direction.
[0096] For forward operation, each transponder 130 has an input (receive) end associated with a respective one of a plurality of cooperating receive antenna elements 132 and an output (transmit) end associated with a respective one of a plurality of cooperating transmit antenna elements 134. The plurality of receive antenna elements 132 are "cooperative" in the sense that one or more of them have antenna patterns that overlap with one or more adjacent receive antenna elements 132. The plurality of transmit antenna elements 134 are similarly cooperative. This arrangement provides signal superposition that results in the desired beamforming.
[0097] There may be corresponding antenna subsystems dedicated to forward and / or return receive onboard the satellite 14, and additional antenna subsystems dedicated to forward and / or return transmit. In the return direction, at least in the context of end-to-end beamforming, the "input" end of the transponder receives a superposition of return uplink signals from user terminals 24 operating within one or more return user beam coverage areas. The return user beam coverage areas may or may not coincide with the nominal forward user beam coverage area 102. Correspondingly, the "output" end of each return link transponder transmits the received superposition of return uplink signals as corresponding return downlink signals received at two or more of the SANs 18.
[0098] For end-to-end beamforming in the forward direction, assuming for the moment only one fixed beam center target 30 in each nominal forward user beam coverage area 102, the CPS 20 forms respective forward traffic streams corresponding to different nominal forward user beam coverage areas 102 according to scheduling decisions made by the scheduling controller 36. The beamforming controller 32 uses the end-to-end channel estimates for the forward direction to calculate forward beam weights 112 for forward beamforming as an M x K matrix of beam weights, where M equals the number of SANs 18 participating in the end-to-end beamforming and K equals the number of forward user beams 100. Each forward traffic stream is used to form a forward beam signal. This means that there are K forward beam signals, each one carrying forward user traffic for transmission in a respective one of the K forward user beams.
[0099] Each column of the M×K beam weight matrix corresponds to one forward user beam 100 and includes a weight vector with M elements, each element being a respective SAN-specific weight. The beamforming circuitry 110 splits each one of the K forward beam signals into M copies (one copy for each SAN 18 participating in the forward end-to-end beamforming) and applies the corresponding weight vector from the M×K beam weight matrix to obtain M weighted copies. Thus, for each one of the K forward beam signals, there are M weighted copies, each such weighted copy corresponding to a specific one of the participating SANs 18. The weighted copies for the same SAN 18 are combined across all K forward beam signals to form a SAN-specific forward signal 136, which is transmitted from the CPS 20 to each SAN 18.
[0100] Thus, the beamforming circuitry 110 in one or more embodiments includes a splitting module and M forward weighting and summing modules. The splitting module splits (e.g., replicates) each of the K forward beam signals into M groups of K forward beam signals, one group for each of the M forward weighting and summing modules. Thus, each forward weighting and summing module receives all K forward beam signals. Here, "module" refers to the configured circuitry.
[0101] Circuitry within the beamforming controller 32 operates as a forward beam weight generator module that generates an M×K forward beam weight matrix. In one or more embodiments, the forward beam weight matrix is generated based on a channel matrix whose elements are estimates of the end-to-end forward gain for each of the K×M end-to-end forward multipath channels, forming the forward channel matrix. The end-to-end forward gain estimation is performed in the channel estimator module.
[0102] Thus, in the forward link direction, each SAN 18 receives one of the M SAN-specific forward signals 136 for transmission by the SAN 18 as a forward uplink signal 140. Each receive antenna element 132 on the satellite 14 receives a unique superposition of forward uplink signals 140, with each such superposition including forward uplink signals 140 from two or more of the M SANs 18. The superposition is unique because, due to the geographic distribution of the SANs 18, the uplink channel between each SAN 18 and each receive antenna element 132 on the satellite 14 is different.
[0103] The unique superposition of forward uplink signals 140 received at each receive antenna element 132 may be referred to as a forward composite uplink signal 142, meaning that the input of each transponder 130 receives a unique forward composite uplink signal 142. Each transponder 130 is an unprocessed bent-pipe transponder that operates as a transponder that combines its corresponding received forward composite uplink signal 142 with the user downlink side of the satellite 14 for transmission as a forward user downlink signal 144 from a corresponding one of the transmit antenna elements 134. The forward user downlink signal 144 (i.e., the respective antenna element signal transmitted from each transmit antenna element 134) is the corresponding forward composite uplink signal 142 that is subjected to filtering and amplification. In one or more embodiments, the transponder 130 also applies frequency translation from the uplink signal frequency to the downlink signal frequency.
[0104] The multiple transmit antenna elements 134 are configured such that respective forward user downlink signals 144 transmitted from different transmit antenna elements 134 overlap in the far field (i.e., the distance from the transmit antenna element 134 governed by the radiation behavior of the electromagnetic signal). These overlaps form the desired multiple forward user beams 100. The multiple forward user beams 100 illuminate the entire forward user service area 104.
[0105] Each forward user beam 100 illuminates a respective one of a plurality of nominal forward user beam coverage areas 102. Through the use of beam oscillation, the beamforming operation described above is performed with respect to each beam center target 30 by sequentially selecting each such target within a beam oscillation period. For example, assume that each nominal forward user beam coverage area 102 has a similar set of seven beam center targets 30 therein. "Similar" refers to the same relative distribution / position of the beam center targets 30 within each nominal forward user beam coverage area 102. The seven beam center targets 30 within each forward user beam coverage area may be referred to as Target 1, Target 2, Target 3, etc.
[0106] For end-to-end beamforming with beam oscillation, the particular forward beam weights 112 applied by the beamforming circuitry 110 depend on which beam center target is selected within each nominal forward user beam coverage area 102 at any given time. The beam oscillation period is assumed to follow a common selection sequence across all nominal forward user beam coverage areas 102. That is, during the first selection window, target 1 within each nominal forward user beam coverage area 102 is selected, during the second selection window, target 2 within each nominal forward user beam coverage area 102 is selected, and so on. Thus, there is a separate M×K forward beam weight matrix for the selection window of target 1, a separate M×K forward beam weight matrix for the selection window of target 2, and so on. In each such selection window, each column vector from the M×K forward beam weight matrix is a set of SAN-specific weights calculated for forming a corresponding forward user beam 100 centered on the particular beam center target 30 used within the selection window.
[0107] The beamforming controller 32, the beamforming circuitry 110, and the CPS 20 as a whole may comprise fixed circuitry, programmably configured circuitry, or a mixture of both. In one example, at least a portion of the beamforming circuitry 110 comprises digital signal processing (DSP) hardware configured to perform beamforming calculations. Additionally or alternatively, at least some portions of the CPS 20 and / or the beamforming circuitry 110 comprise one or more microprocessors or DSPs or other programmably configured digital processing circuitry specially adapted to perform the described functions based on the execution of computer program instructions stored in a computer-readable medium. For example, the CPS 20 may include or be associated with one or more types of storage (e.g., RAM for executing operating programs and FLASH for non-volatile storage of program instructions). Such storage may also be used to store beam weights 112 and channel estimates, along with the aforementioned per-terminal signal quality indicators and other data used during scheduling.
[0108] FIG. 16 illustrates an example of end-to-end beamforming for the return direction. Terminals 24 operating within respective nominal return direction user beam coverage areas 150 transmit return direction user traffic 152 based on scheduling by the SCS 10. The SCS 10 uses return direction user beams 154 for each nominal return direction user beam coverage area 150, where the return direction user beams 154 represent directional reception and may be formed in the digital processing domain by the SCS 10. In this sense, return direction beamforming by the SCS 10 can be understood as recovering return direction beam signals in the signal processing domain, with each return direction beam signal "covering" a corresponding one of the nominal return direction user beam coverage areas 150. Recovering a given return direction beam signal means improving the SINR for return direction uplink signals received from terminals 24 located within the corresponding nominal return direction user beam coverage area 150.
[0109] Using the non-limiting example of three nominal return user beam coverage areas 150a, 150b, and 150c, there are three corresponding return user beams 154a, 154b, and 154c. The SCS 10 then forms a return user beam signal in the processing region corresponding to each such return user beam 154. Such beamforming works based on a satellite 14 having multiple return transponders 160 (which may or may not be transponders 130 shown in FIG. 15), where each return transponder 160 is a non-processing signal path through the satellite 14.
[0110] Each return transponder 160 is associated with a receive antenna element 162 coupled to its input and a transmit antenna element 164 coupled to its output. The multiple receive antenna elements 162 function as cooperating elements, each receiving a unique superposition of return uplink signals transmitted by a population of terminals 24 throughout the entire satellite service area 156 subdivided through its respective nominal return user beam coverage area 150. The unique superposition received at each receive antenna element 162 may be referred to as a return composite uplink signal 166, and the corresponding return transponder 160 transmits a corresponding return downlink signal 168. The return downlink signal 168 (i.e., the antenna element signal transmitted by each return transponder 160 via its associated transmit antenna element 164) is the corresponding composite uplink signal 166 received by the transponder 160, subject to filtering and amplification. Here, the multiple transmit antenna elements 164 are also cooperating elements. In one or more embodiments, transponder 160 also performs frequency translation, shifting from one or more return uplink frequencies to one or more return downlink frequencies.
[0111] Each SAN 18 receives a return composite downlink signal 170 that is a unique superposition of the return downlink signals 168 transmitted by the satellites 14. The superposition is unique at each SAN 18 because the SANs 18 are geographically distributed, which means that there is a different propagation path from each transmit antenna element 168 onboard the satellite to each SAN 18 in the constellation of SANs 18 that participate in the return end-to-end beamforming.
[0112] Each SAN 18 provides the CPS 20 with a SAN-specific return signal 172 containing signal samples corresponding to the return composite downlink signal 170 received by the SAN 18. The CPS 20 applies return beam weights 174 to form a corresponding return beam signal for each of the nominal return user beam coverage areas 150. In particular, for each return user beam coverage area 150, there is a corresponding beam weight for each beam center 30 in the set of beam center targets 30 located within the nominal return user beam coverage area 150. In this manner, the beamforming circuitry 110 can be understood to use a respective beam weight vector for each beam center target 130 within each nominal return user beam coverage area 150. As before, the beamforming controller 32 can be configured to calculate specific values for these beam weights based on the CSI determined for each terminal 24 at or in the immediate vicinity of each beam center target 30.
[0113] As an example, assume that each nominal return user beam coverage area 150 includes a set of seven beam center targets 30 (Target 1-7), and that the same pattern of such targets is used across all nominal return user beam coverage areas 150. That is, "Target 1" is in the same relative position in all nominal return user beam coverage areas 150, "Target 2" is in the same relative position in all nominal return user beam coverage areas 150, and so on. Correspondingly, for each nominal return user beam coverage area 150, there is a unique beam weight corresponding to Target 1 within that area, another unique beam weight corresponding to Target 2 within that area, and so on. Thus, with respect to the selection of Target 1, the return beam signal for any given nominal return user beam coverage area 150 will have improved SINR relative to the return uplink signal from the terminal 24 within the nominal return user beam coverage area 150 closest to Target 1. The same is true for successively selecting targets 2, 3, 4, 5, 6, and 7. Scheduling by the scheduling controller 36 advantageously schedules terminals 24 within each such nominal return user beam coverage area 150 based on these SINR variations caused by the beam oscillation period.
[0114] 17 illustrates another exemplary embodiment of the SCS 10, where the satellite 14 includes a phased array antenna 200 with a plurality of antenna elements 202, which represent another exemplary embodiment of cooperating antenna elements used in beamforming.
[0115] A desired forward user beam 100 is formed by transmitting a respective one of a plurality of antenna element signals 204 from a respective one of a plurality of antenna elements 202. That is, each antenna element signal 204 is mapped to a specific antenna element 202. To form a given forward user beam 100, the antenna element signals 204 are weighted versions of the corresponding forward beam signals, and the weights to form these versions are calculated such that simultaneous transmission of the antenna element signals 204 from the phased array antenna 200 results in a superposition of far-field signals that result in the given forward user beam 100. The same principles apply to forming multiple forward user beams 100, where the antenna element signals 204 are composites or combinations of the respective weighted forward beam signals.
[0116] In at least one embodiment, the CPS 20 transmits multiple forward beam signals 206 to one or more SANs 18, which in turn transmit the forward beam signals 206 to the satellite 14 via feeder uplink signals 208. The satellite 14 receives the feeder uplink signals 208 via an antenna 210 and provides them to a forward transmit circuit 212 of the satellite 14. The forward transmit circuit 212 includes a beamforming circuit 214, which is another implementation of the beamformer 34 introduced in FIG. 1 . The beamforming circuit 214 is configured to generate antenna element signals 204 from the multiple forward beam signals 206, as described above, based on a respective set of forward beam weights 216. Here, a respective set of beam weights 216 exists for each beam center target 30 within each nominal forward user beam coverage area 102. A scheduling controller 36 within CPS 20 advantageously schedules terminals 24 within each nominal forward user beam coverage area 102 for each beam oscillation period, as previously described herein.
[0117] Note that the beamforming controller 32 calculates the forward beam weights 216 and, in one embodiment, resides in the CPS 20. In another embodiment, the beamforming controller 32 resides onboard the satellite 14. Thus, in one embodiment relating to the arrangement shown in FIG. 17, circuitry onboard the satellite 14 performs the channel estimation and beam weight calculations, meaning that the forward beam weights 216 are calculated in the space segment 12. In another embodiment, the CPS 20 repeatedly calculates the forward beam weights 216 and transmits them to the satellite 14, e.g., based on the channel estimation and beam weight calculations performed by the CPS 20. For example, the beamforming controller 32 may be configured to calculate the forward beam weights 216, and the ground segment 16 then forwards such information to the satellite 14 for use by the beamforming circuitry 214.
[0118] In yet another embodiment, the CPS 20 forms beam element signals that are weighted to form the desired forward user beam 100, with each beam element signal intended for transmission from a respective one of the cooperating antenna elements 202. Thus, the feeder uplink signal(s) 208 transmitted by the SAN(s) 18 convey these beam element signals rather than the forward beam signals from which they were formed, and the forward transmit circuitry 212 in such an embodiment is modified, e.g., via filtering, power amplification, and possibly frequency conversion, to form antenna element signals 204 directly from the received beam element signals.
[0119] Figure 18 illustrates an embodiment related to Figure 17, but focusing on return beamforming. Each terminal 24 within each nominal return user beam coverage area 150 transmits return traffic as scheduled by scheduling controller 36, with such scheduling being performed in accordance with the beam oscillation techniques disclosed herein. Return uplink signals from terminals 24 are received by the satellite via antenna array 220 comprising a plurality of cooperating antenna elements 222. Each antenna element 222 provides a corresponding antenna element signal 224, which is fed to return transmit circuitry 226.
[0120] In one or more embodiments, the return transmit circuitry 226 includes return beamforming circuitry 228, which applies return beam weights 230 to the antenna element signals 224 to obtain corresponding return beam signals 232. Each return beam signal 232 has an improved SINR relative to a return uplink signal from a terminal 24 located within a corresponding one of the nominal return user beam coverage areas 150.
[0121] Similar to the forward beam weights 216, there are different sets of return beam weights 230, each set corresponding to a particular nominal return user beam coverage area 150 and a particular beam center target 30 within that particular nominal user beam coverage area 150. Furthermore, although the same reference numeral "30" is used in reference to the beam center target in both the forward and return contexts, the beam center target 30 used for forward beamforming need not be the same as that used for return beamforming. In fact, the beam center target 30 used for forward beamforming may be in a different location than the location of the beam center target used for return beamforming, so long as the nominal forward user beam coverage area 102 is not coextensive with the nominal return user beam coverage area 150.
[0122] The satellite 14 transmits one or more feeder downlink signals 236, including return beam signals 232, and such transmission is effected via one or more antennas 234 on board the satellite 14. As will be appreciated, the return feeder link may be RF or optical, and thus, the satellite 14 in one or more embodiments may include an optical transmitter for transmitting the return beam signals 232. Indeed, the satellite 14 and one or more SANs 18 may each include an optical transmitter and an optical receiver, such that the forward and return feeder link signals are optical.
[0123] Nevertheless, CPS 20 receives SAN-specific return signals 238 from each of one or more SANs 18, and these one or more SAN-specific return signals 238 convey return beam signals 232 for processing by CPS 20. Such processing includes recovery of return traffic conveyed over each return user beam 154.
[0124] In a variation of the arrangement shown in FIG. 18 , the satellite 14 omits the return beamforming circuitry 228 and returns beam element signals to the SAN(s) 18. These return beam element signals are the antenna element signals 224 that have been filtered, amplified, and possibly frequency converted. Thus, the SAN-specific return signal(s) 238 include the return beam element signals, and the CPS 20 includes return beamforming circuitry (e.g., digital domain circuitry) for combining the beam element signals according to a respective set of return beam weights. That is, for each nominal return user beam coverage area 150, for each beam center target 30 therein, the CPS 20 recovers a corresponding return beam signal based on combining the beam element signals with a set of return beam weights calculated according to the beam center target. Each return beam signal can be understood as improving the SINR for return uplink signals transmitted by terminals 24 within the nominal return user beam coverage area 150 to which the return beam signal corresponds. When a different beam center target 30 is selected for that particular nominal return user beam coverage area 150, the return beam signal specifically improves the SINR for the return uplink signal transmitted from the terminal 24 closest to the selected beam center target.
[0125] 17 and 18 show beamforming circuitry onboard the satellite 14, it should be understood that the beam weights applied by such beamforming circuitry may be calculated onboard the satellite 14 or may be calculated in the ground segment 16 and transmitted to the satellite 14. Of course, as previously mentioned, in still other embodiments, end-to-end beamforming is used and the beam weights are calculated and applied in the ground segment 16.
[0126] 19 illustrates an example method 1900 for scheduling terminals 24 in an SCS 10. The method 1900 includes obtaining assignment information indicating assignment of multiple terminals 24 to user beams 28 of the SCS 10 (block 1902), where the user beam 28 is associated with a nominal user beam coverage area 26 and the multiple terminals 24 are located within the nominal user beam coverage area 26; selecting various beam center targets 30 for the user beam 28 over successive scheduling intervals 50 according to a beam oscillation period (block 1904), where the various beam center targets 30 are at different locations within the nominal user beam coverage area 26; and scheduling respective ones of the multiple terminals 24 over the successive scheduling intervals 50 in response to varying per-terminal signal quality indicators associated with the various beam center targets 30 (block 1906).
[0127] In one or more embodiments, the various beam center targets 30 comprise respective sets of distributed locations within the nominal user beam coverage area 26. Each set of distributed locations may be based, for example, on a predetermined pattern.
[0128] A beam oscillation period, according to one or more embodiments, defines a selection sequence of various beam center targets 30, where the selection sequence includes a selection dwell time for each beam center target 30 among the various beam center targets 30. The selection dwell time is defined, for example, as an integer number of scheduling intervals 50. The selection dwell times are non-uniform in one or more embodiments depending on the distribution of the multiple terminals 24 within the nominal user beam coverage area 26. That is, the dwell time used for one beam center target 30 may be longer or shorter than the dwell time used for another beam center target 30. However, in one or more other embodiments, the selection dwell times are uniform. The dwell time may also be understood as a “duty cycle.” For example, if target selection uses non-contiguous scheduling intervals 50 (i.e., if a given beam center target 30 is selected at two or more non-contiguous intervals during a beam oscillation period), the duty cycle of that given beam center target 30 for the beam oscillation period may be defined by dividing the number of scheduling intervals 50 in which it is selected by the total number of scheduling intervals 50 spanned by the beam oscillation period. In one or more embodiments, a selection sequence for sequentially selecting the various beam center targets 30 is predetermined.
[0129] A consecutive scheduling interval 50 may include, for example, one scheduling frame 52 among a plurality of consecutive scheduling frames 52. Correspondingly, in one or more embodiments, the method 1900 may include performing beam oscillation periodicity and scheduling for each scheduling frame 52, and a signal quality indicator for each terminal may be updated for each scheduling frame 52.
[0130] The signal quality index for each terminal includes a suitability table 60, e.g., the table includes a respective index value for each terminal 24 at each scheduling interval 50 among successive scheduling intervals 50. The respective index value for each terminal 24 at each scheduling interval 50 indicates the signal quality for the terminal 24 for a user beam 28 centered on a particular one of various beam center targets 30 applicable to the scheduling interval 50.
[0131] In at least one embodiment, method 1900 includes maintaining suitability table 60 as efficiency table 70, such that the suitability index value is the efficiency in bits per symbol for serving terminal 24 for each scheduling interval 50. Thus, for each terminal 24, for each scheduling interval 50 within scheduling frame 52, there is a corresponding efficiency in efficiency table 70. In one or more embodiments, scheduling decisions for scheduling frame 52 may be based directly on the efficiency, without bias.
[0132] However, as mentioned, one or more embodiments use bias values, such as per-terminal bias values or per-interval bias values. In the former case, each terminal 24 is assigned a bias value for a scheduling frame 52, and that assigned bias value is used to bias all of the per-interval efficiencies corresponding to the terminal 24. In the latter case, each scheduling interval 50 within a scheduling frame 52 is assigned a bias value that is applied to the per-terminal efficiencies for that scheduling interval 50. In either approach to biasing, the bias value is used to generate a biased efficiency, or more generally, a biased suitability index value for the terminal 24, and scheduling decisions are made according to the biased suitability index value rather than based directly on the unbiased suitability index value.
[0133] Each scheduling interval 50 may, for example, have a fixed number of symbols for allocation. In such a case, scheduling each one of the plurality of terminals 24 may include selecting which terminal 24 to schedule in which scheduling interval 50, for example, according to the PE of the terminal 24 over successive scheduling intervals 50, and determining the allocation of bytes to the scheduled terminal 24 in each scheduling interval 50 according to the efficiency of each of the scheduled terminals (i.e., the efficiency value in efficiency table 70). That is, the decision as to which terminal 24 to schedule in which scheduling interval 50 may be based on the PE, but the allocation of bytes made to the scheduled terminal 24 in each scheduling interval 50 may be based on the efficiency of the scheduling terminal 24 (rather than the PE). This allows the scheduling bias value to influence the scheduling decision while still determining the allocation of bytes according to the efficiency.
[0134] In one or more embodiments, for a given plurality of terminals 24 assigned to a given user beam 28, scheduling each one of the given plurality of terminals 24 over any given consecutive scheduling interval 50 includes maximizing the total capacity of the given user beam 28. Maximizing the total capacity of the given user beam 28 includes, for example, solving a constrained optimization problem for the consecutive scheduling intervals 50, where solving the constrained optimization problem maximizes the capacity of the user beam 28 under the constraint that service fairness among the plurality of terminals 24 is maintained.
[0135] As previously described, each given user beam 28 may be based on beamforming by the SCS 10, with each beam center target 30 for each given user beam 28 corresponding to a respective set of beam weights used in the beamforming. Selecting the various beam center targets 30 defined for any given user beam 28, in one or more embodiments, includes controlling the beamformer to apply the respective sets of beam weights over beam oscillation periods, with each respective set of beam weights being applied during a respective subset of one or more scheduling intervals within consecutive scheduling intervals. In one or more embodiments, the beamformer is onboard a satellite 14 of the SCS 10, and controlling the beamformer includes outputting control signaling for transmission to the satellite 14. The control signaling includes, for example, beam weights or index values or other information indicative of the beam weights. In one embodiment, the control signaling includes scheduling information indicating the selection order and selection duration for each set of beam weights used over one or more beam oscillation periods.
[0136] In the context of method 1900, the SCS 10 may use multiple user beams 28, each having a respective set of beam center targets 30 including the same number and the same relative geographical location of various beam center targets 30, where each user beam 28 further has a respective plurality of terminals 24 assigned thereto and is associated with a respective nominal user beam coverage area 26. Further, in this example, the beam oscillation period is common to the multiple user beams 28 and defines a common selection sequence applicable to all of the respective sets of user beam center targets 30. In this context, method 1900 includes jointly selecting various beam center targets 30 from the respective sets of beam center targets 30 for the multiple user beams over any given consecutive scheduling interval 50 in accordance with the common selection sequence, and correspondingly scheduling the respective plurality of terminals 24 over the given consecutive scheduling interval. Each nominal user beam coverage area 26 may have the same number and the same relative arrangement (pattern) of beam center targets 30, so that, relatively, the "same" beam center targets 30 can be selected simultaneously across all nominal user beam coverage areas 26 involved in the beam oscillation.
[0137] The plurality of user beams 28 may be a plurality of forward user beams 100 used to transmit forward link traffic to a respective one of the plurality of terminals 24. Alternatively, the plurality of user beams 28 may be a plurality of return user beams 154 used to receive return link traffic from a respective one of the plurality of terminals 24.
[0138] In one example where the multiple user beams 28 are multiple forward user beams 100, the SCS 10 further uses multiple return user beams 154, and the method 1900 performed by the SCS 10 includes using beam oscillation techniques with respect to the forward user beams 100 and with respect to the return user beams 154. Such operations may include the SCS 10 applying beam oscillation independently in the forward and return directions. Such operations may include, for example, the SCS 10 selecting beam center targets 30 and scheduling each terminal 24 with respect to the multiple forward user beams 100 independently of selecting various beam center targets 30 and scheduling each terminal 24 with respect to the multiple return user beams 154. Generally speaking, beam oscillation may be performed independently in the forward and return directions, and the nominal forward and return beam coverage areas 102 and 150 need not be the same. Similarly, the beam center targets 30 used for forward beam oscillation need not be the same as the beam center targets used for return beam oscillation.
[0139] The SCS 10 is configured to perform the method 1900, including some or all of the variations and extensions described above. Such configuration may be based, for example, on the execution of computer program instructions by one or more microprocessors, digital signal processors, or other types of digital processors, where the digital processor(s) are specially adapted to perform the beam oscillation and corresponding terminal scheduling described herein. See, for example, the processing circuitry 39 shown in FIG. 1. The processing circuitry 39 may be implemented in whole or in part via a specially adapted digital processor.
[0140] Regardless of the specific implementation details, the exemplary SCS 10 includes a satellite 14 equipped with a plurality of cooperating antenna elements configured for use in forming a user beam 28 associated with a nominal user beam coverage area 26, and uses the user beam 28 to serve terminals 24 located within the nominal user beam coverage area 26. The SCS 10 further includes a beam oscillation controller 32 configured to select various beam center targets 30 for the user beam 28 over successive scheduling intervals 50 in accordance with a beam oscillation period, the various beam center targets 30 being different locations within the nominal user beam coverage area 26. A beamformer 34 of the SCS 10 is configured to oscillate the user beam 28 during the beam oscillation period by modifying beam weights used to form the user beam 28 in accordance with the selected beam center target. The scheduling controller 36 is configured to schedule each one of the plurality of terminals 24 assigned to the user beam 28 over successive scheduling intervals 50 in accordance with a per-terminal signal quality metric that varies in association with the various beam center targets used during the oscillation of the user beam 28.
[0141] Again, the nominal user beam coverage area 26 associated with a user beam 28 remains fixed during beam oscillation, and the assignment of a beam to serve a terminal 24 does not change as a function of beam oscillation. In this way, although a user beam 28 has a different beam orientation / pointing direction during each beam oscillation period, it remains logically the "same" user beam 28 because the user beam 28 remains associated with the same fixed nominal user beam coverage area 26, and the individual terminals 24 logically associated with the user beam 28 for service do not change as a function of beam oscillation.
[0142] As a broad example, the SCS 10 in one or more embodiments includes a space segment 12 including one or more satellites 14 and a ground segment 16 including one or more SANs 18. The SCS 10 is configured to use beamforming to provide service to terminals 24 within a nominal user beam coverage area 26 via corresponding user beams 28. In at least one such embodiment, the SCS 10 uses a potentially large number of user beams 28 to provide service to each of the plurality of terminals 24, where each user beam 28 is associated with a corresponding one of the nominal user beam coverage areas 26 in a fixed one-to-one relationship, and where each of the plurality of terminals 24 is located in a respective one of the nominal user beam coverage areas 26.
[0143] The ground segment 16 includes processing circuitry 39 configured to (a) obtain assignment information indicating the assignment of multiple terminals 24 to any given user beam 28; (b) select various beam center targets 30 for the given user beam 28 over successive scheduling intervals 50 in accordance with a beam oscillation period, the various beam center targets 30 being at different locations within the associated nominal user beam coverage area 26; and (c) schedule each one of the multiple terminals 24 over the successive scheduling intervals 50 in response to a signal quality indicator for each terminal that varies in association with the various beam center targets 30.
[0144] Nominal user beam coverage areas 26 are predetermined, and each nominal user beam coverage area 26 is served via a corresponding user beam 28, whereby the SCS 10 assigns a given terminal 24 to a user beam 28 that is used to serve the nominal user beam coverage area 26 in which the terminal 24 is located. Each terminal 24 may be registered with the SCS 10 and may have an assigned or fixed identifier (ID), and processing circuitry 39 obtains associated assignment information based on receiving signaling from other processing circuitry within the SCS 10 or querying an assignment database. Each user beam 28 may have a beam ID or other identifying characteristic that remains unchanged across oscillations of the user beam 28, and similarly, the logical mapping within the SCS of beam signals to user beams 28 remains unchanged across beam oscillations.
[0145] Here, a "beam signal" is a composite information signal that carries traffic to or from a respective one of the terminals 24 located within a particular nominal user beam coverage area 26. In the case of multiple forward user beams, each forward user beam carries a corresponding beam signal that contains multiplexed traffic for the terminals 24 included in the nominal forward user beam coverage area associated with the forward user beam. Similar logic applies in the return direction.
[0146] The various beam center targets 30 may, for example, comprise respective sets of distributed locations within the nominal user beam coverage area 26. The respective sets of distributed locations, in one or more embodiments, are based on a predetermined pattern. However, in at least one embodiment, the pattern of beam center targets 30 within the nominal user beam coverage area 26 is based on the distribution of terminals 24 therein. In the same or at least one other embodiment, the dwell times used for the various beam center targets 30 are based on the distribution of terminals 24 within the nominal user beam coverage area 26.
[0147] The beam oscillation period defines a selection sequence of the various beam center targets 30. That is, the beam oscillation period defines the order and timing for selecting the various beam center targets 30. The selection sequence may be predetermined or may be determined dynamically, e.g., frame by frame, or semi-statically (slowly varying). The selection sequence includes a selection dwell time for each beam center target 30 among the various beam center targets 30, where the selection dwell time is defined by the number of scheduling intervals. As noted, the selection dwell time may be uniform or non-uniform. In one example, the selection dwell time is non-uniform depending on whether the number of scheduling intervals 50 included in the scheduling frame 52 is evenly divisible by the number of beam center targets 30.
[0148] Broadly speaking, the technique of implementing beam oscillation and correspondingly opportunistically scheduling terminals 24 in response to signal quality fluctuations resulting from the beam oscillation significantly increases the overall capacity of the SCS 10. This increase in capacity is achieved because the technique enables all terminals 24 to have SINRs at or near the beam center during at least some scheduling intervals 50. Advantageously, the technique does not sacrifice QoS fairness or peak burst rates, and does not require modifications to the satellite or terrestrial infrastructure. Furthermore, the technique does not require coordination between beamforming and scheduling operations, because scheduling is naturally driven by the characteristic changes in signal quality metrics seen by each one of the participating terminals 24 as a result of beam oscillation. As a further advantage, the technique can be applied to waveforms divided into time slots, frequency channels, codewords, or any combination of these domains.
[0149] It should be noted that modifications and other embodiments of the disclosed invention(s) will come to mind to one skilled in the art having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. It is therefore to be understood that the invention(s) is not limited to the particular embodiments disclosed, and that modifications and other embodiments are intended to be included within the scope of the present disclosure. Although specific terms may be employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
Claims
1. A method for scheduling terminals in a satellite communication system, wherein the method is: Obtaining allocation information indicating the allocation of multiple terminals to the user beam of the satellite communication system, wherein the user beam is associated with a nominal user beam coverage area and has a beam width configured according to the size of the nominal user beam coverage area, and the multiple terminals are located within the nominal user beam coverage area. The selection of various beam center targets for the beam center of the user beam over a series of scheduling intervals, according to a beam oscillation period that defines the order and timing for selecting the various beam center targets over the series of scheduling intervals, wherein the various beam center targets are different locations within the nominal user beam coverage area. A method comprising scheduling traffic to each of the plurality of terminals over a series of scheduling intervals so as to maximize capacity while respecting fairness requirements for each terminal, wherein the scheduling is performed according to the position of each terminal with respect to the various beam center targets and according to a terminal-specific signal quality index that changes characteristically with respect to the various beam center targets.
2. The method according to claim 1, wherein the various beam center targets include each set of positions distributed within the nominal user beam coverage area.
3. The method according to claim 2, wherein each set of the distributed positions is based on a predetermined pattern.
4. The method according to claim 3, wherein the beam oscillation period defines the selection sequence of the various beam center targets.
5. The method according to claim 4, wherein the selection sequence includes a selection residence time for each beam center target among the various beam center targets.
6. The method according to claim 5, wherein the selective dwell time is non-uniform depending on the distribution of the plurality of terminals within the nominal user beam coverage area.
7. The method according to claim 6, wherein the selection sequence is predetermined.
8. The method according to any one of claims 1 to 7, further comprising determining the beam center target in accordance with the distribution of the plurality of terminals within the nominal user beam coverage area.
9. The method according to any one of claims 1 to 7, wherein the consecutive scheduling interval includes one scheduling frame among a plurality of consecutive scheduling frames, the method includes performing the beam oscillation period and scheduling for each scheduling frame, and further, the signal quality index for each terminal is updated for each scheduling frame.
10. The method according to any one of claims 1 to 7, wherein the signal quality index for each terminal includes suitability index values in a suitability table, and the suitability table includes corresponding suitability index values for each terminal with respect to each scheduling interval.
11. The method according to claim 10, wherein the suitability index value is the efficiency in bits per symbol for providing service to each terminal with respect to each scheduling interval, and the suitability table includes an efficiency table, and the method further comprises forming a pseudo-efficiency table by applying a scheduling bias value to the efficiency to obtain a biased efficiency, and making a scheduling decision according to the biased efficiency.
12. The method according to claim 11, wherein each terminal has the required number of bytes that must be served with respect to the scheduling frame, and the scheduling decision includes selecting which scheduling interval to use for which terminal according to the biased efficiency of the terminal over the consecutive scheduling intervals.
13. The method according to claim 10, wherein the scheduling bias value is either a scheduling bias value for each interval or a scheduling bias value for each terminal.
14. The method according to any one of claims 1 to 7, wherein scheduling the traffic conveniently to each of the plurality of terminals over the consecutive scheduling intervals includes solving a constrained optimization problem with respect to the consecutive scheduling intervals, and solving the constrained optimization problem maximizes the capacity of the user beam under the constraint that fairness of service among the plurality of terminals is maintained.
15. The method according to any one of claims 1 to 7, wherein the user beam is based on beamforming by the satellite communication system, and each beam center target corresponds to each set of beam weights used in the beamforming.
16. The method according to claim 15, wherein selecting the various beam center targets includes controlling the beamformer to apply each set of beam weights over the beam oscillation period, each set of beam weights being applied during each subset of one or more scheduling intervals within the consecutive scheduling intervals.
17. The method according to claim 16, wherein the beamformer is mounted on a satellite of the satellite communication system, and controlling the beamformer includes outputting control signaling for transmission to the satellite.
18. The user beam is one of several user beams used by the satellite communication system. Each user beam has its own set of beam center targets, which include the same number and the same relative geographical arrangement of various beam center targets, and each user beam further has its own assigned multiple terminals and its own user beam coverage area. The beam oscillation period is common to the multiple user beams and defines a common selection sequence applicable to all sets of beam center targets. The method according to any one of claims 1 to 7, comprising: jointly selecting various beam center targets from each set of beam center targets for the plurality of user beams over the consecutive scheduling intervals according to the common selection sequence; and correspondingly scheduling each of the plurality of terminals over the consecutive scheduling intervals.
19. The method according to claim 18, wherein the plurality of user beams include a plurality of forward user beams used to transmit forward link traffic to individual terminals in each of the plurality of terminals.
20. The method according to claim 18, wherein the plurality of user beams are a plurality of return user beams used to receive return link traffic from individual terminals in each of the plurality of terminals.
21. The method according to claim 18, wherein the plurality of user beams are a plurality of forward user beams, the satellite communication system further uses a plurality of return user beams, and the method includes selecting beam center targets and scheduling each terminal conveniently with respect to the plurality of forward user beams, independently of selecting various beam center targets and scheduling each terminal conveniently with respect to the plurality of return user beams.
22. It is a satellite communication system, A satellite comprising a plurality of collaborative antenna elements associated with a nominal user beam coverage area and configured for use in forming a user beam having a beam width configured according to the size of the nominal user beam coverage area, wherein the user beam is used to provide services to a plurality of terminals located within the nominal user beam coverage area, A beam vibration control device configured to select various beam center targets for the beam center of the user beam over a series of scheduling intervals, according to a beam vibration period that defines the order and timing for selecting the various beam center targets over the series of scheduling intervals, wherein the various beam center targets are different locations within the nominal user beam coverage area. A beamformer configured to oscillate the user beam during the beam oscillation period by changing the beam weight used to form the user beam according to the selected beam center target, A satellite communication system comprising: a scheduling control device configured to conveniently schedule traffic to each of the plurality of terminals over a series of scheduling intervals so as to maximize capacity while respecting fairness requirements for each terminal, wherein the scheduling is performed according to a terminal-specific signal quality index that changes characteristically with respect to the various beam center targets, depending on the position of each terminal with respect to the various beam center targets.
23. The satellite communication system according to claim 22, wherein the various beam center targets include each set of locations distributed within the nominal user beam coverage area.
24. The satellite communication system according to claim 23, wherein each set of the distributed positions is based on a predetermined pattern.
25. The satellite communication system according to claim 24, wherein the beam oscillation period defines the selection sequence of the various beam center targets.
26. The satellite communication system according to claim 25, wherein the selection sequence includes a selection dwell time for each beam center target among the various beam center targets.
27. The satellite communication system according to claim 26, wherein the selected dwell time is non-uniform depending on the distribution of the plurality of terminals within the nominal user beam coverage area.
28. The satellite communication system according to claim 27, wherein the selection sequence is predetermined.
29. The satellite communication system according to any one of claims 22 to 28, wherein the consecutive scheduling interval includes one scheduling frame among a plurality of consecutive scheduling frames, and the satellite communication system is configured to perform the beam oscillation period and scheduling for each scheduling frame, and to update the signal quality index for each terminal for each scheduling frame.
30. The satellite communication system according to any one of claims 22 to 28, wherein the signal quality index for each terminal includes suitability index values in a suitability table maintained by the scheduling control device, and the suitability table includes corresponding suitability index values for each terminal with respect to each scheduling interval.
31. The satellite communication system according to claim 30, wherein the suitability index value is the efficiency in bits per symbol for providing service to each terminal with respect to each scheduling interval, and the suitability table includes an efficiency table, and the scheduling control device is configured to form a pseudo-efficiency table by applying a scheduling bias value to the efficiency to obtain a biased efficiency, and to make scheduling decisions according to the biased efficiency.
32. The satellite communication system according to claim 31, wherein each scheduling interval has a fixed number of symbols for allocation, and in order to make the scheduling decision, the scheduling control device is configured to select which scheduling interval to use for which terminal according to the biased efficiency, and to determine the byte allocation to the scheduled terminal in each scheduling interval according to the corresponding efficiency.
33. The satellite communication system according to any one of claims 22 to 28, wherein the scheduling control device is configured to solve a constrained optimization problem with respect to the consecutive scheduling intervals in order to conveniently schedule the traffic to each of the plurality of terminals over the consecutive scheduling intervals, and solving the constrained optimization problem maximizes the capacity of the user beam under the constraint that fairness of service among the plurality of terminals is maintained.
34. The satellite communication system according to any one of claims 22 to 28, wherein the user beam is based on beamforming by the satellite communication system, and each beam center target corresponds to each set of beam weights used in the beamforming.
35. The satellite communication system according to claim 34, wherein the beamforming control device is configured to calculate each set of beam weights for the beam oscillation period, each set corresponding to one of the various beam center targets, and the beamformer is configured to apply the corresponding set to each selected beam center target.
36. The satellite communication system according to claim 35, wherein the beamformer is mounted on the satellite, and the beamforming control device is located within the ground segment of the satellite communication system and is configured to control the beamformer by outputting control signaling for transmission to the satellite via one or more satellite access nodes in the ground segment of the satellite communication system.
37. The user beam is one of several user beams used by the satellite communication system. Each user beam has its own set of beam center targets, which include the same number and the same relative geographical arrangement of various beam center targets, and each user beam further has its own assigned multiple terminals and its own user beam coverage area. The beam oscillation period is common to the multiple user beams and defines a common selection sequence applicable to all sets of beam center targets. The satellite communication system according to any one of claims 22 to 28, wherein the beam oscillation control device is configured to jointly select various beam center targets from each set of beam center targets for the plurality of user beams over the successive scheduling intervals according to the common selection sequence, and to schedule each of the plurality of terminals accordingly over the successive scheduling intervals.
38. The satellite communication system according to claim 37, wherein the plurality of user beams include a plurality of forward user beams used to transmit forward link traffic to individual terminals among the plurality of terminals.
39. The satellite communication system according to claim 37, wherein the plurality of user beams are a plurality of return user beams used to receive return link traffic from individual terminals among the plurality of terminals.
40. The satellite communication system according to claim 37, wherein the plurality of user beams are a plurality of forward user beams, the satellite communication system further uses a plurality of return user beams, and the satellite communication system is configured to select beam center targets and schedule each terminal conveniently with respect to the plurality of forward user beams independently of selecting various beam center targets and scheduling each terminal conveniently with respect to the plurality of return user beams.
41. The satellite communication system according to claim 22, wherein the plurality of antenna elements comprises a plurality of cooperative transmitting elements coupled to the output terminals of a plurality of transponders, each of the plurality of transponders having an input terminal coupled to a plurality of cooperative receiving elements, each transponder defining a signal path from each receiving element to each transmitting element, the satellite communication system comprises a plurality of geographically distributed satellite access nodes (SANs), each SAN transmitting its respective uplink signal, thereby configured such that each receiving element on the satellite receives a unique superposition of the respective uplink signals, and correspondingly each transmitting element transmits a downlink signal corresponding to that unique superposition, the beamforming control device, the beamformer, and the scheduling control device are located within the ground segment of the satellite communication system, the beamforming control device maintains a set of beam weights, the set of beam weights resulting in a far-field superposition of the downlink signals forming the user beam when used to weight the respective uplink signals transmitted by the plurality of SANs.
42. The satellite communication system according to claim 41, wherein the beamforming control device cooperates with the beamformer to adjust the set of beam weights over the beam oscillation period, thereby configuring the user beam to be recentered one at a time onto the various beam center targets.
43. The satellite communication system according to claim 22, wherein the beamformer is mounted on the satellite, the beamforming control device is located within a ground segment of the satellite communication system, the ground segment includes one or more satellite access nodes (SANs), and the one or more satellite access nodes are configured to transmit beam oscillation information generated by the beamforming control device from the ground segment to the satellite in order to control the beamformer according to the beam oscillation period.
44. The satellite communication system according to claim 22, wherein the beamforming control device and the beamformer are mounted on the satellite.