Method and apparatus for scheduling terminal in satellite communication system

By dynamically adjusting the beam center target of the user beam in the satellite communication system and scheduling according to the terminal signal quality, the problem of how to maximize beam capacity and maintain service fairness is solved, and more efficient user beam management is achieved.

CN120051946APending Publication Date: 2025-05-27VIASAT INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202380070497.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-08-30
Filing Date
2023-08-28
Publication Date
2025-05-27

AI Technical Summary

Technical Problem

In satellite communication systems, when scheduling and appointing terminals of user beams, they face the challenge of how to maximize beam capacity while maintaining service fairness.

Method used

By selecting different beam center targets for user beams over a series of scheduling intervals and scheduling according to terminal signal quality metrics relative to these targets, the beam center targets are dynamically adjusted to improve the signal quality of the terminal.

Benefits of technology

Achieve higher overall capacity of the user beam, while maintaining service fairness of the assigned terminals.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120051946A_ABST
    Figure CN120051946A_ABST
Patent Text Reader

Abstract

Techniques for scheduling a plurality of terminals assigned to user beams of a satellite communication system involve selecting different beam center targets for the user beams within a series of scheduling intervals; and scheduling respective ones of the terminals within the series of scheduling intervals according to per-terminal signal quality metrics that vary with respect to the different beam center targets. Changing the beam center target within the series of scheduling intervals means that each terminal may experience good or at least relatively better signal quality during at least some of the scheduling intervals, this in turn allows a scheduler to schedule a respective one of the terminals primarily over one or more scheduling intervals in which the respective terminal experiences the good or relatively better signal quality. The benefit brought by this approach includes a higher overall capacity of the user beam, while maintaining service fairness of the assigned terminals.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The methods and apparatuses disclosed herein embody techniques for scheduling terminals assigned to user beams of a satellite communication system. Background Art

[0002] "User scheduling" refers to the handling of user traffic of a variety of users of a communication system, and particularly refers to scheduling transmission resources in a manner that meets one or more scheduling objectives to carry the corresponding user traffic. Example objectives 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 communication system carries traffic towards the user and the return link direction in which the communication system carries traffic from the user (such as for forwarding to other systems or devices). In this context, each "user" is, for example, a communication device - a terminal - that uses the communication system to send and receive traffic.

[0003] User scheduling plays an important role in various types of communication systems, and satellite communication systems are an example. Satellite communication systems provide service over a potentially large geographical area (referred to as the satellite service area). A potentially large number of terminals to be served by the satellite communication system may be distributed within the satellite service area. One way to serve a large number of terminals involves logically subdividing the satellite service area and using corresponding user beams to serve the subdivisions.

[0004] A "user beam" in this context refers to a signal with spatially focused transmission or reception, which means that the signal strength has a corresponding directivity. User beams can be formed in various ways, including by using a spot beam antenna system, ground beamforming (GBBF), and using phased array antennas onboard the satellite. User beams illuminating adjacent subdivisions within the satellite service area may differ 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 area within the larger satellite service area may be associated with more than one forward user beam and / or more than one return user beam, for example, based on using different signal frequencies, polarizations, or other diversity techniques.

[0005] Scheduling multiple terminals assigned to a given user beam involves deciding which terminals to serve on the user beam at which times. A variety of challenges arise in the scheduling context, and scheduling decisions must be based on a variety of concerns or objectives, including maximizing beam capacity while meeting the service objectives of each of the scheduled terminals. Summary of the Invention

[0006] Techniques for scheduling multiple terminals assigned to a user beam of a satellite communication system involve: selecting different beam center targets for the user beam over a series of scheduling intervals; and scheduling corresponding ones of the terminals over the series of scheduling intervals based on a per-terminal signal quality metric that varies with respect to the different beam center targets. Changing the beam center target over the series of scheduling intervals means that each terminal can experience good or at least relatively better signal quality during at least some of the scheduling intervals in the series. This, in turn, allows the scheduler to schedule the corresponding terminal primarily over one or more scheduling intervals during which the corresponding terminal among the terminals experiences good or relatively better signal quality. Benefits of this approach include higher overall capacity of the user beam while maintaining service fairness for the assigned terminals.

[0007] Example embodiments include a method for scheduling terminals in a satellite communication system. The method includes: (a) obtaining assignment information indicating an assignment of multiple terminals to a user beam of the satellite communication system, the user beam being associated with a nominal user beam coverage area and the multiple terminals being located within the nominal user beam coverage area; (b) selecting different beam center targets for the user beam over a series of scheduling intervals according to a beam oscillation period, wherein the different beam center targets are different positions within the nominal user beam coverage area; and (c) scheduling corresponding ones of the multiple terminals over the series of scheduling intervals based on a per-terminal signal quality metric that varies with respect to the different beam center targets.

[0008] Related embodiments include a satellite communication system (SCS). The SCS includes a satellite that includes a plurality of cooperative antenna elements configured to be used in forming a user beam associated with a nominal user beam coverage area, wherein the user beam is for serving 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 a series of scheduling intervals according to a beam oscillation period, wherein the different beam center targets are different positions 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 according to the selected beam center target, and a scheduling controller of the SCS is configured to schedule corresponding ones of the multiple terminals over the series of scheduling intervals based on a per-terminal signal quality metric that varies with respect to the different beam center targets.

[0009] Of course, the present invention is not limited to the above features and advantages. Those skilled in the art will recognize additional features and advantages upon reading the following detailed description and viewing the drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] Figure 1It is a block diagram of a satellite communication system (SCS) according to an exemplary embodiment.

[0011] Figure 2 It is a view of a user beam of the SCS shown in cross-section.

[0012] Figure 3 and Figure 4 are respective views of a beam oscillation period according to an exemplary embodiment.

[0013] Figure 5 It is a view of a nominal user beam coverage area including different beam center targets according to an exemplary embodiment.

[0014] Figure 6 It is a view of a preference table for scheduling terminals in the SCS according to an exemplary embodiment.

[0015] Figures 7a to 7g It is a view showing a beam oscillation period according to an exemplary embodiment.

[0016] Figure 8 It is a logic flow chart showing a method for scheduling terminals in the SCS according to an exemplary embodiment.

[0017] Figure 9 It is a graph showing a byte distribution function used in assigning terminal bytes to scheduling intervals according to an exemplary embodiment.

[0018] Figure 10 It is a view of an efficiency table as an example type of a preference table.

[0019] Figure 11 It is a view of a pseudo-efficiency (PE) table used in scheduling terminals according to an exemplary embodiment.

[0020] Figure 12 It is a view of a frequency reuse plan of multiple nominal user beam coverage areas with a common beam oscillation period across applications according to an exemplary embodiment.

[0021] Figure 13 It is showing Figure 12 a view of the common beam oscillation period discussed in

[0022] Figure 14 It is a block diagram showing the functional logic for scheduling and serving terminals of the SCS according to an exemplary embodiment.

[0023] Figure 15 It is a block diagram of the SCS in a forward beamforming context according to an exemplary embodiment.

[0024] Figure 16 It is a block diagram of the SCS in a return beamforming context according to an exemplary embodiment.

[0025] Figure 17 is a block diagram of the SCS in a forward beamforming context according to another example embodiment.

[0026] Figure 18 is a block diagram of the SCS in a return beamforming context according to another example embodiment.

[0027] Figure 19 is a logic flow diagram of a method of operations performed by the SCS according to an example embodiment. DETAILED DESCRIPTION

[0028] Figure 1 Illustrates a satellite communication system (SCS) 10 that 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 the ground network, includes a communication processing system (CPS) 20. The CPS 20 interfaces the SCS 10 with one or more external networks 22, such as the Internet. The CPS 20 provides routing and processing of user traffic incoming to the SCS 10 for delivery as forward user traffic to corresponding terminals 24 served by the SCS 10, and provides routing and processing of return user traffic transmitted by the corresponding terminals in the terminals 24 for forwarding to external devices or systems reachable via the external network 22.

[0029] From a system design perspective, one way to provide satellite-based communication services involves logically subdividing a potentially large geographic area into a set of fixed, uniformly adjacent polygon regions. Each polygon region identifies a nominal user beam coverage area 26 that is intended to be served by an associated user beam 28 (spot beam) among a plurality of user beams 28, which the SCS 10 uses to serve a population of terminals 24 distributed within the geographic area. For purposes of illustration, Figure 1 depicts an example nominal user beam coverage area and associated user beam 28.

[0030] In a case where each user beam 28 is logically associated with a particular nominal user beam coverage area 26 in a fixed one-to-one mapping, 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. Due to the one-to-one mapping of the nominal user beam coverage area 26 to the user beam 28, saying that the terminal 24 is assigned to the user beam 28 can be understood as saying that the terminal 24 is served by the user beam 28 that is used to serve terminals 24 located within the nominal user beam coverage 26. The terminal 24 can be located 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.

[0031] For each user beam 28, there is a nominal pointing direction that aligns the beam center of the user beam 28 with the nominal beam center target associated with the corresponding nominal user beam coverage area 26. For example, the nominal beam center target of each user beam 28 corresponds to the geometric center of the corresponding nominal user beam coverage area 26. Here, a "beam" refers to directional transmission or reception, and the "beam center" refers to the point of highest signal strength within the cross-section or coverage area of the user beam 28. The beam width (e.g., 3 dB beam width) of each user beam 28 is configured according to the size of the nominal user beam coverage area 26.

[0032] Each user beam 28 is defined or otherwise formed using a corresponding set of beam weights. Thus, at least in theory, there is a nominal value of the set of beam weights for each user beam 28 that causes the user beam 28 to be directed in its nominal pointing direction. As understood in the context of signal beamforming, the beam weight values are amplitude and / or phase values corresponding to the respective antenna elements among a plurality of antenna elements used for beamforming signal transmission or reception. The user beam 28 can be a forward user beam formed via transmit beamforming or can be a return user beam formed via receive beamforming.

[0033] Although the SCS 10 assigns the terminal 24 to the user beam 28 based on the terminal 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 means using different pointing directions at different times within a beam oscillation period. Each pointing direction for a given user beam 28 can be defined by a corresponding beam center target, and for any given user beam 28 and its associated nominal user beam coverage area 26, different beam center targets correspond to different positions within the nominal user beam coverage area 26. Thus, the beam center moves around within the nominal user beam coverage area 26 during the beam oscillation period.

[0034] Since the set of terminals assigned to any given user beam 28 does not change with oscillation, the different pointing directions used to dynamically redirect the user beam 28 within a beam oscillation period are treated as the same beam pointing in different directions at different times, rather than as different beams transmitting at different times. In more detail, for any given nominal user beam coverage area 26, there is a beam signal that carries the multiplexed user traffic for those terminals 24, and that is the beam signal for which beamforming is performed to achieve the corresponding user beam 28, and the logical association between the beam identity, the assigned terminals 24, and the nominal user beam coverage area 26 involved does not change with the oscillation of the user beam 28, although the oscillation does cause the ground coverage area of ​​the beam to move around during each beam oscillation period.

[0035] Due to the oscillation of a given user beam 28, different terminals 24, or different subsets of terminals 24 among the assigned terminals 24, are closer to or farther from the beam center at different times during the beam oscillation period. The scheduling techniques disclosed herein opportunistically exploit the resulting characteristic variations in per-terminal signal quality, and do so without foreknowledge of the beam oscillations, since the characteristic signal quality variations are known by the schedulers involved. Because the set of terminals 24 assigned to a given user beam 28 logically share the user beam 28 in the sense that traffic to or from the various terminals 24 is transmitted in a multiplexed manner via the beam, "scheduling" refers to the ongoing process of deciding which specific among the assigned terminals 24 to serve via the user beam at those specific times.

[0036] Scheduling may be performed on a per-beam basis in both the forward and return directions with respect to the plurality of user beams 28. However, as explained herein, beam oscillation may be performed jointly with respect to a set of contiguous nominal user beam coverage areas 26.

[0037] Relative to Figure 1 In the example of the nominal user beam coverage area 26 depicted in FIG. 1 , there are multiple different beam center targets 30 distributed within the nominal user beam coverage area 26. The 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.

[0038] In at least one embodiment, the beamforming controller 32 is configured to select different beam center targets 30 at different times, which means that the beamforming controller controls or otherwise supervises the beam oscillation operation. In at least one embodiment, the beamforming controller 32 is configured to calculate or select beam weights for forming the user beam 28, which means that the beamforming controller stores or calculates different beam weight values required to center any given user beam 28 on each of the different beam center targets 30 for oscillating the given user beam 28.

[0039] The beamformer 34 includes digital domain or analog domain circuitry or a hybrid thereof, depending on the type of beamforming used and on whether the beamformer is implemented in the terrestrial segment 12 or on the satellite 14 airborne in the space segment 16. In any case, the beamformer 34 is an entity that applies beam weights to the signals involved and includes the divider circuitry, weighting circuitry, and summing circuitry required for weighting the signals involved. In one or more embodiments, the beamforming controller 32 includes or otherwise incorporates the beamformer 34 - that is, the combined circuitry controls beam oscillation and applies beam weights for manifesting the dynamic variations of the beam oscillation. Both the oscillation control and the weight application can be performed in the terrestrial segment 16 or the space segment 12, or the oscillation control can be performed in the terrestrial segment 16 while the weight application is performed in the space segment 12.

[0040] The scheduling controller 36 is configured to schedule the respective terminals 24 in the terminals 24 according to the characteristic variations of the per-terminal signal quality caused by the beam oscillation. As noted, the scheduling controller 36 does not need to know the specific beam center targets 30, or more generally, the use of beam oscillation, because the effects of the beam observations can be observed by the scheduling controller in one or more signal quality-related metrics that it 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 where the terminal 24 is located is more or less attractive for scheduling at different times within each beam oscillation period, depending on the user beam 28 pointing to different beam center targets 30 during the beam oscillation period

[0041] The beam oscillation controller 32 and the scheduling controller 36 can be implemented at least partially programmatically, such as in the case where the implementing circuitry includes one or more memories storing computer program instructions that, when executed by one or more microprocessors or other digital processors, configure the processors to perform the beam oscillation control operations and terminal scheduling operations described herein.

[0042] The specific configuration of beamforming controller 32 depends on the particular technique used by SCS 10 to form and control user beam 28. Beamforming controller 32 may or may not include beamformer 34, which actually applies beam weights in the transmit or receive signal path involved for forming user beam 28. However, in one or more embodiments, beamforming controller 32 provides beam weight calculation, or at least coordinates the application of beam weights by beamformer 34 to effect a beam oscillation period, which means that the user beam 28 involved is dynamically re-directed to a corresponding beam center target among different beam center targets during each beam oscillation period. For example, in one or more embodiments, beamforming controller 32 calculates the beam weights to be transmitted to satellite 14 for application by beamformer 34 resident on satellite 14 on board.

[0043] The circuitry including beamformer 34 applies the beam weights involved in the digital or analog signal domain. For example, a forward beamformer divides the signal to be transmitted into corresponding copies, each copy to be transmitted from one of a plurality of cooperating antennas or antenna elements, and weights each copy with a corresponding beam weight from a set of beam weights, where each such weight corresponds to a corresponding one of the plurality of cooperating antennas or antenna elements. "Cooperating" here refers to an overlapping antenna pattern between or among the plurality of antennas / antenna elements used in beamforming.

[0044] The simultaneous transmission of these weighted copies from the plurality of cooperating antennas or antenna elements results in the superposition of far-field signals of the desired beam. The return beamformer provides a directional reception sensitivity with respect to the signals on the incoming plurality of cooperating antennas or antenna elements based on applying the corresponding beam weights from the set of beam weights to each antenna version of the incoming signal. This weighting can be performed in the analog or digital domain such that the return user beam only exists in the signal processing domain.

[0045] The calculation of beam weights can be based on channel estimates such as those provided by channel estimator 38. Channel estimator 38 determines channel estimates, for example, based on channel state information (CSI) determined for or provided to it for the propagation channel involved. In one or more embodiments, these various controllers can be implemented as an overall collection of processing circuitry 39, which in turn can be implemented, for example, at least in part via the execution of stored computer program instructions by one or more networked computer servers.

[0046] Figure 2An example user beam 28 is shown having a beam center 40, where the user beam 28 is depicted in cross-section. The "beam center" corresponds to the direction of the highest transmit power in the context of the forward user beam and to the direction of the highest receive sensitivity in the context of the return user beam. The extent of the user beam 28 can be defined, for example, according to its 3dB beamwidth. The 3dB beamwidth is defined by the points at which the power or gain drops by half relative to the peak at the beam center 40. As a general recommendation, beamforming is configured such that the ground coverage area of the user beam 28 has a size that matches the size of the nominal user beam coverage area 26.

[0047] Returning to Figure 1 , the beam oscillation controller 32 selects a specific beam center target 30 within the nominal user beam coverage area 26 corresponding 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 indicates to the beamformer 34 the corresponding values of the beam center target selection or beam weights - one at a time or as a selection schedule. Corresponding 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 the corresponding values of the beam weights that cause the user beam 28 to be focused on the selected beam center target 30. The beam center target 30 can be expressed in geographical coordinates and converted into the beam angles (azimuth and elevation) referenced by the satellite 14, or can be expressed in beam angles.

[0048] Consider a detailed example where there are multiple beam center targets 30 for the nominal user beam coverage area 26. The geometric center of the nominal user beam coverage area 26 can be designated as the nominal beam center target for the user beam 28 serving the nominal user beam coverage area 26, which means that the nominal beam center target corresponds to the nominal pointing direction of the user beam 28 involved. It is noted that the nominal beam center target may or may not be used in beam oscillation, but if it is used, there are corresponding nominal values of the beam weights for forming the user beam 28 involved. Thus, oscillating any given user beam 28 with respect to different 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 different beam center targets 30. Another view is that oscillating the user beam 28 can be understood as dynamically "modifying" the set of beam weights used to form the user beam 28.

[0049] In any case, using different beam center targets 30 during the beam oscillation period means that the signal quality of each involved terminal 24 relative to the user beam 28 changes in character as different beam center targets 30 are selected. Here, the "involved" terminal 24 should be understood to be limited to the terminals 24 located within the nominal user beam coverage area 26 associated with the user beam 28 under discussion. In other words, based on the position of the terminal 24 relative to the fixed nominal user beam coverage area 26, the terminal 24 is assigned to the user beam 28, and the serving beam assignment does not change with beam oscillation. The scheduling optimization under discussion makes use of the characteristic changes in signal quality experienced by each of the assigned terminals 24 as their assigned user beam 28 oscillates.

[0050] Although the reference numeral "30" is used in Figure 1 as a general label for, e.g., the beam center target 30, a suffix is used to indicate the particular beam center target 30 of interest for discussion. For example, the beam center target 30a is at the geometric center of the shown nominal user beam coverage area 26 and thus corresponds to the nominal beam orientation (nominal pointing direction) of the associated user beam 28.

[0051] Now consider the terminals 24 in Figure 1 distinguished as terminals 24a, 24b, and 24c. As a general proposition, when the beam center target 30a is selected, the signal quality of the terminal 24a will be better or best compared to the other beam center targets in the example beam center targets 30. Similarly, as a general proposition, when the beam center target 30b is selected, the signal quality associated with the terminal 24b will be better or best, and the same applies to the terminal 24c relative to the beam center target 30c.

[0052] Here, the terms "better" and "best" can be understood in a relative sense, which means that the signal quality associated with any given one of the terminals 24 can improve or deteriorate in character as different beam center targets 30 are selected during a given beam oscillation period. Since other factors can affect signal quality, the absolute signal quality experienced by any given terminal 24 at any given moment or over any given duration depends not only on beam oscillation; however, beam oscillation imparts a characteristic observable variation in signal quality among the multiple terminals 24 assigned to the user beam 28.

[0053] In a case where the signal quality associated with each terminal 24 assigned to user beam 28 varies in character with respect to different beam center targets 30, the scheduling controller 36 is configured to opportunistically schedule traffic such that capacity is maximized while still respecting the fairness requirements of each terminal 24. With respect to "fairness", the allocation of that capacity across the set of terminals 24 served by user beam 28 is fair if each terminal 24 receives an accurate and appropriate share of the beam capacity measured in bytes rather than symbols. In the simplest sense, the allocation is fair if each terminal 24 receives the same number of bytes. A more nuanced definition of fairness may require different amounts to be allocated to terminals 24 based on concepts such as relative weights, strict priorities, guaranteed minimum rates, maximum rates, and / or other concepts.

[0054] Typically but not always, scheduling in the presence of beam oscillations means that each terminal 24 receives its traffic when its signal quality is best or at least better than average. Of course, in one or more embodiments, the scheduling controller 36 is configured to respect quality of service (QoS) considerations, including terminal priorities, weights, etc., and handle degradation situations, such as the case where a given user beam 28 serves a single terminal 24, and the case where traffic can be scheduled for that single terminal 24 in each interval.

[0055] In one or more embodiments, the particular forward link user traffic transmitted from the terrestrial segment 16 to the space segment 12 via the feeder uplink 42 at any given time depends on the scheduling of the forward link traffic by the scheduling controller 36. Additionally or alternatively, the particular return link user traffic transmitted from the space segment 12 to the terrestrial segment 16 via the feeder downlink 44 at any given time 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 can be configured to opportunistically schedule traffic such that capacity is maximized while still respecting the fairness requirements of each terminal 24.

[0056] In the specific case of return link traffic, the method means that each terminal 24 within the group involved will be scheduled to transmit its return link traffic at a time within the beam oscillation period when the received signal quality for the terminal 24 at the satellite is best or at least better than average. In an example of return link scheduling, the centrally located scheduling controller 36 determines the return link schedule and transmits scheduling information for distribution to the terminals 24 being scheduled so that they know when to transmit on the reverse link.

[0057] Figure 3illustrates an example beam oscillation period within a series of similar beam oscillation periods, where the beam oscillation period relates to a set of six different beam center targets 30 labeled as beam center targets 30a, 30b, 30c, 30d, 30e, and 30f for purposes of distinction. Note that each beam center target 30 is a different location within the nominal user beam coverage area 26, and the example beam oscillation period includes a series of selection windows, where a particular one of the different beam center targets 30 is the target selected during each beam selection window. In one or more embodiments or during one or more operating scenarios, the beam selection windows have a uniform duration, while in one or more other embodiments or during one or more other operating scenarios, the beam selection windows are non-uniform. Here, an "operating scenario" refers to, for example, different densities and spatial distributions of terminals 24 within the nominal user beam coverage area 26, or different traffic demands between some or all of the terminals 24 in the terminal 24.

[0058] In at least one embodiment, as Figure 4 shown, each beam oscillation period spans or encompasses a series of scheduling intervals 50, where each such series of scheduling intervals 50 includes a "scheduling frame" 52. The beam oscillation period can be frame-aligned, where the beam oscillation period repeats for each frame 52 within a continuous series of scheduling frames 52. Here, a "scheduling interval" represents the minimum interval at which scheduling decisions are made - that is, the scheduling controller 36 decides which terminals 24 to serve via the user beam 28 involved relative to each scheduling interval 50.

[0059] The duration for which a given beam center target 30 is selected can be referred to as a "selection dwell". The selection dwell time can be defined in terms of multiple scheduling intervals 50, which means that the minimum selection dwell is one scheduling interval 50. Depending on whether there is an even number of scheduling intervals 50 within the scheduling frame 52, the selection dwell of the beam center targets 30 used in the beam oscillation period can be uniform or non-uniform. Further, in one or more embodiments, the selection dwell is predefined, while in one or more other embodiments, the selection dwell is dynamically determined, i.e., during live operation, such as based on the distribution of terminals 24 within the nominal user beam coverage area 26.

[0060] Figure 5A simplified example set of seven different beam center targets 30 distributed within the nominal user beam coverage area 26 is shown. This distribution can be based on a predefined pattern, i.e., the pattern is determined or decided in advance. Here, "pattern" refers to the relative positions of the beam center targets 30 within the nominal user beam coverage area 26. Saying that the pattern is common or the same across multiple nominal user beam coverage areas 26 means that the relative arrangement or placement of the beam center targets 30 is the same for all such nominal user beam coverage areas 26. The pattern can be, for example, symmetric or otherwise based on some type of equidistant distribution of the beam center targets 30 within each nominal user beam coverage area 26.

[0061] It is understandable that the signal quality metric of each terminal 24 will vary with respect to different beam center targets 30. The signal quality metric in this context can be an actual signal quality measure or another value reflecting signal quality, such as an error rate metric or an efficiency metric. In the case where the user beam 28 is a forward user beam for transmitting user traffic to the terminal 24, the signal quality metric reflects the received signal quality at the corresponding terminal 24. In the case where the user beam 28 is a return user beam for transmitting user traffic from the terminal 24, the signal quality metric reflects the received signal quality for the corresponding terminal 24 in the SCS 10.

[0062] In one or more embodiments, the per-terminal signal quality metric of each terminal 24 scheduled on the user beam 28 includes a preference metric value in a preference table (such as Figure 6 the preference table 60 shown). Figure 6 Assume an example of N terminals 24 assigned to a given user beam 28. Here, N is an integer greater than or equal to one.

[0063] The beam oscillation period in the depicted example involves seven beam center targets 30, e.g., beam center targets 30a, 30b, …, 30g. Each column of the preference table 60 corresponds to one of the scheduling intervals 50 (e.g., one scheduling frame 52) in a sequence of scheduling intervals 50 spanned by the beam oscillation period. Each row of the preference table 60 corresponds to a respective one of the terminals 24 scheduled on the user beam 28 involved. More generally, since other arrangements can be used, the preference table 60 should be understood as containing a respective plurality of preference metric values for each terminal 24 assigned to the user beam 28 under discussion, where each preference metric value in the respective plurality of preference metric values corresponds to a respective one of the scheduling intervals among the scheduling intervals 50 within the scheduling frame 52. With respect to performing such operations on multiple user beams 28, there will be preference tables 60 for the groups of terminals 24 assigned to each such beam.

[0064] Each row / column intersection in the example preference table 60 is a cell 62, and the data value stored in each cell 62 is a specific value of the preference metric for the corresponding terminal 24 in the corresponding scheduling interval 50. For example, if the preference metric is SINR, each cell 62 stores the corresponding SINR value, e.g., a numerical value within an applicable numerical space or range.

[0065] For a given terminal 24 assigned to a given user beam 28, the preference metric value of 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 for that given scheduling interval 50. In one or more embodiments, the preference metric value may also depend on other factors unrelated to beam oscillation, such as time-varying interference or time-varying gain due to satellite and / or SAN fluctuations. Also, as suggested in the illustration, the selection dwell for each beam center target 30 can be defined by the number of scheduling intervals 50.

[0066] In one or more embodiments, each beam center target 30 is selected only once during each beam oscillation cycle - i.e., there is a selection window for each beam center target 30, and each selection window has a duration of at least one scheduling interval 50 - the selection dwell. 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 beam center targets 30 may be selected more than once during the beam oscillation cycle, and these selections may be non-consecutive - e.g., separated by one or more scheduling intervals 50. This method can be understood as an interleaved or alternating selection of beam center targets 30 over a sequence of scheduling intervals 50 spanned by the beam oscillation cycle. Using such a method, in terms of any given beam center target 30 being selected more frequently or having a longer total duration than another given beam center target 30 within one beam oscillation cycle, it can be considered to have a higher duty cycle than the other beam center target 30. In at least one such embodiment, the duty cycles of different beam center targets 30 within a given nominal user beam coverage area 26 are dynamically determined, for example, based on the distribution of terminals 24 within the nominal user beam coverage area 26 and / or the corresponding traffic demands or service types of those terminals 24.

[0067] In any case, at any given time, one or more terminals 24 within the nominal user beam coverage area 26 will have a better preference metric value compared to one or more other terminals 24 within that area, depending on which beam center target 30 is used during the selection window. Specifically, the signal-to-noise-plus-interference ratio (SINR) or other signal quality metric of each terminal 24 will vary in character with respect to different beam center targets 30 depending on the position of the terminal 24 relative to each such target.

[0068] Through the operation of the scheduling controller 36, data packets - traffic are opportunistically scheduled for each terminal 24 such that they are typically transmitted on recurring scheduling intervals 50 when there is good SINR for the terminal 24, but are occasionally transmitted on any or all of the scheduling intervals 50 such that a peak burst rate is maintained. Here, any scheduling interval 50 can be understood to be "recurring" in the sense that each frame 52 in a sequence of scheduling frames 52 includes a uniform set of scheduling intervals 50 such that each particular scheduling interval 50 can be considered to recur on a frame-by-frame basis.

[0069] Figures 7a to 7g An example beam oscillation period with respect to the nominal user beam coverage region 26 based on the beam oscillation period using seven different beam center targets 30 is shown. To "use" the different beam center targets 30, the SCS 10 adjusts its beamforming within the beam oscillation period such that the beam center 40 of the user beam 28 used to illuminate the nominal user beam coverage 26 is shifted from one beam center target 30 to the next, thereby staying at each such target continuously or in an aggregated sense within the defined portion of the beam oscillation period. The concentric circles 46 depicted in the figure represent beam gradient lines. For the forward link beam, the gradient lines represent beam intensity, where the beam intensity decreases with distance from the beam center 40. For the return link user beam, the gradient lines represent receive sensitivity, where the sensitivity decreases with distance from the beam center 40. Note that the positions of the beam center targets 30 and the proposed target selection order or sequence are merely an example - other configurations can be used for the beam oscillation period.

[0070] Although Figures 7b to 7gThe portion of the user beam 28 that extends beyond the fixed boundary of the nominal user beam coverage area 26 is not shown, but it should be understood that the omitted portion of the user beam 28 exists and can illuminate one or more adjacent nominal user beam coverage areas 26. In other words, when the user beam 28 is oscillated, the shape and size of the beam coverage area of the user beam 28 can remain constant or substantially constant. Thus, when the selected beam center target 30 is not the geographical center of the nominal user beam coverage area 26 associated with the user beam 28, the user beam 28 can partially illuminate one or more adjacent nominal user beam coverage areas 26. However, consider the case where there are multiple consecutive nominal user beam coverage areas 26, each nominal user beam coverage area having an associated user beam 28, and each nominal user beam coverage area having the same shape and size, and each nominal user beam coverage area having a similar pattern of beam center targets 30 within it. In this case, oscillation-related inter-beam interference can be minimized by commonly applying the beam oscillation period to the multiple consecutive nominal user beam coverage areas 26. Doing so means selecting the same beam center target 30 simultaneously and in the same order across the multiple consecutive nominal user beam coverage areas 26. Accordingly, the multiple associated user beams 28 are all shifted by the same amount and in the same direction with each new target selection. Of course, because different beam center targets 30 can be selected for a given user beam 28 based on using different beamforming solutions (different beam weight values), there may be some variation in the beam shape or beam coverage area during the beam oscillation period.

[0071] In terms of determining the terminal scheduling within the multiple scheduling intervals 50 spanned by the beam oscillation period, there are many mathematical or algorithmic methods for determining the scheduling solution. Broadly, the scheduling problem for a given plurality of terminals 24 assigned to a given user beam 28 can be understood as scheduling the corresponding terminals among the given plurality of terminals 24 within any given sequence of scheduling intervals 50 (e.g., scheduling frame 52). The scheduling objective of the scheduling frame 52 is, for example, to maximize 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 with respect to the sequence of scheduling intervals 50. For example, solving the constrained optimization problem maximizes the capacity of the user beam 28 subject to the constraint of maintaining service fairness among the multiple terminals 24. Of course, the scheduling problem can be extended in a joint manner to the multiple terminals 24 in adjacent nominal user beam coverage areas 26.

[0072] Relative to solving the scheduling problem, linear programming yields an optimal solution, while the greedy algorithm provides a sub-optimal solution with the advantage of reduced complexity. Another set of methods can be understood as one or more types of "biased algorithms" that have superior time complexity compared to linear programming but still produce near-optimal solutions. In situations where scheduling solutions must be generated on the order of milliseconds or less, the reduced computational time has a distinct advantage.

[0073] To understand the various biasing methods, first consider making scheduling decisions for a plurality of terminals 24 assigned to a given user beam 28 relative to a scheduling frame 52 that includes a sequence of scheduling intervals 50. Making scheduling decisions means deciding which terminals 24 to serve in which scheduling intervals 50 of the scheduling frame 52, and those decisions depend on the relative scheduling attractiveness of each terminal 24 relative to each scheduling interval 50. Relative to any given scheduling interval 50, a terminal 24 with a better preference metric value is more attractive for scheduling in that interval than a terminal 24 with a worse preference metric value. Here, "better" and "worse" have relative meanings, such as the case where the preference metric is signal quality and one terminal 24 has a higher signal quality estimate for an interval than another terminal for the same interval.

[0074] Thus, scheduling decisions can be made directly on the preference metric values, such as by comparison, ranking, etc. However, in one or more embodiments, scheduling decisions are made based on a biased preference metric value rather than the "raw" preference metric value, where the bias is calculated iteratively or via other means. Using this method, the preference metric values of the terminals 24 are biased according to the corresponding scheduling bias values to obtain a biased preference metric value, which is used to make scheduling decisions.

[0075] According to a first version of an example biasing algorithm, the scheduling bias value is a per-terminal scheduling bias value. For any given scheduling frame 52 being scheduled, a scheduling bias value is assigned to each terminal 24, and the corresponding scheduling bias value is used to bias the corresponding per-interval preference metric value of the terminal 24. The per-terminal scheduling bias value can be updated on a recurring basis (such as relative to each scheduling frame 52) and / or iteratively within each scheduling frame 52. According to a second version, the scheduling bias value is a per-interval scheduling bias value. For any given scheduling frame 52 being scheduled, a corresponding scheduling bias value is assigned to each scheduling interval 50 within the scheduling frame 52. In at least one such embodiment, the per-interval bias can be updated iteratively relative to the frame being scheduled, for example, to balance the utilization of the corresponding scheduling intervals 50 within the scheduling frame 52.

[0076] Thus, according to the second version, a plurality of preference metric values in each scheduling interval 50 are biased according to the scheduling bias value assigned to that scheduling interval 50. The per-interval scheduling bias value may be updated on a recurring basis (such as relative to each scheduling frame 52). In either version, the scheduling bias value is determined based on, for example, quality of service (QoS) requirements, relative differences in current (prevailing) radio conditions, and the like.

[0077] Consider a simple bias example for the nominal user beam coverage region 26 with the following two beam center targets: A on the left and B on the right. Each target is selected within one scheduling interval, and then the scheduling frame repeats. Also, assume there are two terminals X and Y assigned to the user beam 28 associated with the nominal user beam coverage region 26. Both terminals are to the left of A, but X is further to the left. An example of a fairness objective is for each terminal to get one scheduling interval within a two-interval scheduling frame.

[0078] Now first consider the per-terminal bias version, where the unbiased preference metric F is as follows: Fya = 6, Fxa = 5, Fyb = 4, Fxb = 1. According to the original preference metric (unbiased), A prefers Y over X, and so does B. If the scheduling controller logic stopped here, Y would be scheduled for two time intervals, and X would become starved. Instead, in the context of this simplified example, the scheduling controller 36 increases the bias of X by one and decreases the bias of Y by one. The new biased preference metric is Fya = 5, Fxa = 6, Fyb = 3, Fxb = 2. Now A prefers X, but B still prefers Y. Thus each terminal gets one full scheduling interval.

[0079] Now consider the per-interval bias version. Assume the unbiased preference metric F is as follows: Fya = 6, Fxa = 4, Fyb = 5, Fxb = 1. According to the original preference metric (unbiased), Y prefers A over B, and so does X. Again, if the scheduling logic stopped here, A would be used by both terminals, and B would not be used. Instead, the scheduling controller 36 increases the bias of B by one and decreases the bias of A by one. The new biased preference metric is Fya = 5, Fxa = 3, Fyb = 6, Fxb = 2. Now Y prefers B, but X still prefers A. Thus, there is one user in each of the two intervals.

[0080] Of course, these foregoing examples are simplified by using sorting rather than efficiency. Efficiency-based scheduling provides more nuances. Although per-terminal biasing may seem to produce the same result as per-interval biasing. In fact, there may be at least one reason why the interval biasing method may be more useful. For any given scheduling frame N+1, the SCS 10 can significantly accelerate the computation time by using the bias value calculated for frame N as the seed for the scheduling optimizer. This works based on processing the same set of bias values each time and having the same number of scheduling intervals per frame. However, the number of terminals 24 scheduled for the user beam 28 involved may vary.

[0081] Figure 8 An example method 800 performed by the scheduling controller 36 with respect to a scheduling frame 52 including a series of scheduling intervals 50 is shown. The scheduling frame 52 may also be referred to as a scheduling epoch and represents one beam oscillation period. The method operations can be understood as an example implementation of a second version of the foregoing biasing algorithm, where the scheduling attractiveness of the respective terminals 24 in each scheduling interval 50 within the scheduling epoch depends on the preference metric value of each terminal 24 in the scheduling interval 50 and the respective bias value assigned to each scheduling interval 50.

[0082] The scheduling operation starts at step 1, which includes populating an "efficiency table" (block 802). Each terminal 24 assigned to the user beam 28 has an efficiency in terms of bits per symbol for each scheduling interval 50. This value is stored in the efficiency table such that the efficiency value can be understood as an example of the preference metric value discussed herein. In other words, the scheduling controller 36 can maintain the efficiency table as a specific example implementation of the foregoing preference table 60, where each efficiency value in the efficiency table represents the efficiency of a particular terminal 24 in a particular scheduling interval 50. Then, in the example arrangement, each column of the efficiency table represents a corresponding scheduling interval 50 within the scheduling frame 52, and each row of the efficiency table represents a particular terminal 24 among the terminals 24 assigned to the user beam 28 involved.

[0083] 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 stored in the efficiency table are maintained based on feedback returned from the respective terminals in the terminals 24 to the SCS 10. For example, the terminals 24 may be configured to measure the SINR on the forward link and periodically return such measurement results or related channel state information (CSI) to the SCS 10, where the channel estimator 38 uses such information to populate the efficiency table. Thus, when scheduling a given scheduling frame 52, the efficiency of each terminal 24 within each scheduling interval 50 may be based on the most recent relevant CSI, where "relevant" refers to the terminal 24 in question and the beam center target 30 associated with the scheduling interval 50. The efficiency of the terminal 24 may be measured or estimated.

[0084] Processing continues to step 2, which includes assigning a respective scheduling bias value to each scheduling interval 24 (block 804). The scheduling bias value may be initialized to zero or based on values from previous scheduling iterations. In the context of this example, the term "scheduling bias value" is used as an adjustment to the tendency for the bytes of any terminal 24 to be assigned 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.

[0085] At 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, in 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 in 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, it should be understood that the scheduling bias value modifies or adjusts the efficiency value as a mechanism for modulating or otherwise biasing the efficiency-based scheduling driven by the efficiency table.

[0086] According to the per-terminal allocation based on QoS, each terminal 24 has a fixed number of bytes to transmit. Thus, at step 4 (block 808), for each terminal 24, the scheduling controller 36 compares the PEs of all scheduling intervals 50 and, based on their respective PEs, experimentally distributes the bytes to be transmitted for the terminal 24 across the scheduling intervals 50. The experimental allocation can be finalized via further iterative processing. Overall, the method means that the bytes required by each terminal 24 are distributed across those scheduling intervals 50 that have the highest PE for that terminal 24. The scheduling intervals 50 with low PE for the terminal 24 do not receive bytes for that terminal 24 and instead receive bytes associated with one or more other terminals 24 that have a relatively better PE for those scheduling intervals 50.

[0087] At 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 efficiency of the terminal 24 for that interval, rather than the PE of the terminal 24 for that interval. That is, while the scheduling intervals 50 selected to serve each terminal 24 are based on the respective PEs among the scheduling intervals 50, the per-interval symbol requirement is based on the corresponding actual efficiency of the scheduled terminal 24. Using this method, the byte allocation for the terminal 24 is calculated by fairly dividing the total estimated capacity across the assigned terminals 24 in a fair manner. The efficiency of each terminal is characteristic of the distance between the terminal and each beam center target 30 and other factors such as beam pointing accuracy, weather, etc. Given the bits-per-symbol efficiency E, the number of symbols S required to transmit B bytes is: S = B * 8 / E.

[0088] Step 6 (block 812) includes calculating the average utilization per scheduling interval, which provides a basis for the scheduling controller 36 to evaluate whether each scheduling interval 50 is being equally utilized - where the utilization is calculated for each scheduling interval as the number of symbols required for that scheduling interval divided by the number of symbols available for that scheduling interval. If not (''No'' from block 814), then the scheduling controller 36 adjusts the per-interval scheduling bias value (block 816) and repeats steps 3 - 6 and then re-evaluates the utilization. When equal utilization is achieved (''Yes'' from block 814), the current run of the scheduling algorithm ends. Adjusting the scheduling bias value includes, for example, reducing the scheduling bias value for one or more scheduling intervals 50 that are over-utilized in the scheduling frame 52 relative to the calculated average utilization of all scheduling intervals; and increasing the scheduling bias value for one or more scheduling intervals that are under-utilized in the scheduling frame 52 relative to the average. That is, the scheduling controller 36 decreases the bias value for the over-utilized scheduling intervals 50, so fewer terminals 24 will prefer it in the next iteration and thus it becomes less utilized.

[0089] Equal utilization can be defined within a certain tolerance such that under-utilization or over-utilization relative to the average utilization can be tolerated at least to some extent. Increasing this tolerance can cause the algorithm to terminate faster and require fewer iterations. As an example tolerance suitable for one or more implementations, SCS10 uses a plus / minus five percent tolerance (+ / - 5%). Of course, larger or smaller tolerances can be used, depending on the performance goals.

[0090] The following is an example method for adjusting the scheduling bias value in the scenario of assigning the scheduling bias value to the scheduling interval 50 within the scheduling frame 52 - that is, using per-interval bias. The example adjustment steps include:

[0091] Step 1: B[t, s] is the byte allocation of terminal t on the scheduling interval s for the current iteration of the scheduling algorithm applied to the scheduled scheduling frame 52.

[0092] 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 of terminal t in the scheduling interval s in bits per symbol.

[0093] Step 3: Calculate the utilization rate of each scheduling interval: U[s] = A[s] / C[s], where C[s] is the capacity of the scheduling interval s in symbols.

[0094] Step 4: Calculate the average utilization rate: M = sum(U[s], for all s) / N, where N is the number of scheduling intervals.

[0095] Step 5: Calculate the utilization fairness score for each scheduling interval: F[s] = U[s] / M.

[0096] Step 6: Calculate the new scheduling bias value for each scheduling interval; Biasnew[s] = Biasprevious[s] + loop_gain

[0097] * (1 – F[s]).

[0098] Note that the maximum increment / decrement size in step 5 above can be used. Also, a variable loop gain helps with convergence. For example, if after an iteration, the scheduling intervals are more similarly utilized, the loop gain is increased by a small percentage. If the scheduling intervals are less similarly utilized, the loop gain is halved.

[0099] Regardless of the foregoing possible variations or modifications of method 800, in the example embodiment, the processing operations referred to as method 800 result in the output of a byte table corresponding to scheduling frame 52. In the context of the forward link example, the byte table indicates the number of bytes that SCS 10 is to transmit in each scheduling interval 50 of each terminal 24. The byte table has the same dimensions as the efficiency table.

[0100] Figure 9 A method of distributing the bytes required for each terminal 24 within any given scheduling frame 52 being scheduled is shown. For each scheduling interval 50 among a series of scheduling intervals 50 belonging to scheduling frame 52, a sharing weight is independently assigned for each terminal 24. Accordingly, the bytes for terminal 24 are distributed to scheduling intervals 50 in proportion to the corresponding sharing weight. For each terminal 24 independently, the sharing weight for each scheduling interval 50 is calculated by comparing the PE of terminal 24 for that scheduling interval 50 with the PE of the best scheduling interval 50 for that terminal 24. Figure 9 Indicates the calculation of the sharing weight "x" for a given scheduling interval 50 on this basis. Note that the sharing weight is not related to any QoS weighting assigned to the traffic associated with any terminal 24. It is also worth noting that making the shown function curve steeper and more to the right creates a solution closer to the optimum, but makes convergence more difficult.

[0101] Figure 10 An example efficiency table 70 as used in method 800 is shown, where for simplicity it is assumed that there are only three different beam center targets 30a, 30b, and 30c instead of seven. The assigned terminals 24 are those terminals that are assigned to the user beam 28 under discussion and are scheduled relative to scheduling frame 52. The number of terminals 24, the number of scheduling intervals 50, and the number of beam center targets 30 suggested for efficiency table 70 are all non-limiting examples and are actually set as needed.

[0102] Each cell 72 of the efficiency table 70 stores a value representing the efficiency of the corresponding terminal 24 for the corresponding scheduling interval 50, where the efficiency value is a number and represents the efficiency in, for example, bits per symbol. In any case, table 70 reflects the variation in signal quality associated with each terminal 24 with respect to different beam center targets 30 used within a series of scheduling intervals 50. For example, a given terminal 24 closest to beam center target 30a can be expected to have a characteristically higher efficiency in those scheduling intervals 50 in which the associated user beam 28 is focused on beam center target 30a compared to scheduling intervals 50 in which the associated user beam 28 is focused on beam center target 30b or 30c. Of course, it should be understood that two or more beam center targets 30 can be associated with at least a threshold level of signal quality for a given terminal 24, and the scheduling controller 36 may thus be able to schedule a given terminal in scheduling intervals 50 associated with more than one beam center target 30. Additionally, if there are more beam center targets 30 for the nominal user beam coverage area 26 than there are terminals 24 served by the user beam 28 associated with the nominal user beam coverage area 26, then a terminal 24 may be scheduled with respect to more than one beam center target 30.

[0103] In the context of method 800, each scheduling interval 50 has an associated scheduling bias value, which can be expressed in the same numerical domain as the efficiency value. In the case where the efficiency table 70 stores a row of efficiency values for each terminal 24, the generation of 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 per-terminal efficiency values for that scheduling interval. Figure 11 Shows the Figure 10 PE table 80 corresponding to the efficiency table 70 in Figure 10 . As in

[0104] Further considerations regarding scheduling relate to broadcast services and multicast services. The bytes of the broadcast service intended for all terminals 24 assigned to user beam 28 should typically ultimately be transmitted in a scheduling interval 50 in which the signal quality is sufficient for all such terminals 24. For example, a particular beam center target 30 among the different beam center targets 30 used during a beam oscillation period may be at or near the center / centroid of the nominal user beam coverage area 26, where the selection of this beam center target 30 provides sufficient signal quality to all terminals 24.

[0105] Accordingly, the scheduling controller 36 may adjust its scheduling such that the broadcast service is transmitted during a selection window corresponding to this particular beam center target 30. More generally, two or more of the beam center targets 30 used during a beam oscillation period may provide sufficient - threshold level - signal quality for all terminals 24 assigned to user beam 28, which means that the broadcast service may be transmitted during a selection window corresponding to one or more such beam center targets 30. The scheduling controller 36 may employ a similar logic with respect to multicast or group services - that is, such services are scheduled or at least biased to be scheduled during a scheduling interval 50 that falls within a selection window of one or more beam center targets 30 that provide at least a threshold level of signal quality to the target terminal 24 group.

[0106] The scheduling controller 36 may be informed which scheduling intervals 50 correspond to the selection of certain types of service preferences or designated beam center targets 30, and then the scheduling controller 36 prioritizes the scheduling of such services in such scheduling intervals 50. In an alternative approach, in order to schedule a multicast or broadcast stream within a scheduling frame 52, the scheduling controller 36 finds the lowest efficiency (bits per symbol) of all terminals 24 belonging to the stream for each scheduling interval 50 within the scheduling frame 52. The scheduling controller 36 treats these per - interval worst - case efficiencies as the efficiency of the stream and finds the best scheduling interval 50 for the stream. Assuming that the nominal user beam coverage area 26 is symmetric, such scheduling intervals 50 will typically be the intervals associated with those beam center targets 30 that are located closer to the center of the nominal user beam coverage area 26.

[0107] The SCS 10 may provide service over a larger satellite service area that is subdivided into multiple nominal user beam coverage areas 26, such as Figure 12 shown. With respect to user beam 28 associated with any particular nominal user beam coverage area 26, user beams 28 on different radio frequencies are used to serve adjacent nominal user beam coverage areas 26, and this different radio frequency may be regarded as a different "color" in a frequency reuse map. Figure 12Assume four different frequencies: F1, F2, F3, and F4. SCS10 uses a set of seven different beam center targets 30 per nominal user beam coverage area 26, and the spatial arrangement of these targets can be common across all areas - for example, reusing the same pattern of beam center targets 1 to 7 in all nominal user beam coverage areas 26. Thus, SCS10 can apply a common beam oscillation period across all nominal user beam coverage areas 26 such that the same relative beam center target 30 is selected in each nominal user beam coverage area 26 at each step or phase of the beam oscillation period. Similarly, for this commonality of beam oscillation to work, all nominal user beam coverage areas 26 involved in the common oscillation have the same number and relative spatial distribution of beam center targets 30, and the selection of different beam center targets 30 is synchronized across multiple nominal user beam coverage areas 26, thus following the same selection order and selection dwell across all nominal user beam coverage areas 26.

[0108] For example, the beam oscillation period applied commonly across multiple nominal user beam coverage areas 26 includes selecting the beam center target 30 marked "1" in the figure for a defined selection dwell, then selecting the beam center target 30 marked "2" in the figure, and so on. At least, user beams 28 on the same frequency channel will use the same or similar set of beam center targets 30 in the corresponding nominal user beam coverage area 26 and follow the same or similar spatial beam center target selection order to minimize inter-beam interference.

[0109] Figure 13 Continue Figure 12 With the four-color reuse introduced in, where forty-four scheduling intervals 50 are included in the scheduled scheduling frame 52 and grouped into six 6-interval selection windows and one 8-interval selection window. Each selection window corresponds to SCS10 using the same relative beam center target 30 across all nominal user beam coverage areas 26. Thus, from left to right in the figure, there is a first selection window spanning scheduling intervals 1 to 8 during which target 1 is selected in all nominal user beam coverage areas 26. During a second selection window spanning time slots 9 to 14, target 2 is selected in all nominal user beam coverage areas 26, and so on. Although SCS10 essentially shifts these beams relative to the fixed nominal user beam coverage area 26 by changing the beam center target 30 they aim at, this coordinated approach across multiple nominal user beam coverage areas 26 maintains the maximum separation between user beams 28 of the same frequency.

[0110] In fact, using this technology, SCS10 has a reuse factor of 4x7 = 28 (for each user beam 28, four beam frequencies, and seven beam center targets 30). In other words, in this example, SCS10 can be considered to have seven different sets of user beams 28, where each set corresponds to a specific beam center target selection, and different sets provide different signal qualities for each terminal 24 within the corresponding nominal user beam coverage area 26. Accordingly, the scheduling logic of SCS10 utilizes these differences to opportunistically schedule each of the terminals 24 at times of better signal quality, where those times of better signal quality deterministically reappear within successive repetitions of the beam oscillation period. By operating in this manner, SCS10 in the context of this example 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 4.

[0111] Figure 14 Illustrates example functional blocks and associated operations for terminal scheduling in SCS10 according to the beam oscillation period technology disclosed herein, where this example assumes the forward link (FL) direction. In an example embodiment, all such functional blocks are implemented via the processing circuitry of CPS20 in the ground, e.g., via Figure 1 a portion of the processing circuitry 39 introduced in

[0112] The classification function 1400 classifies the packets incoming from the Internet for each terminal 24, so these packets are FL user traffic. Multiple transmit queues 1402 buffer the respective packet streams of each of the terminals in the population of terminals 24 served by SCS10. The QoS function 1404 provides QoS-related scheduling requirements in response to QoS parameters associated with the incoming packets, or in another embodiment, provides fair per-terminal byte allocation based on QoS-related scheduling requirements. The scheduling function 1406 represents the operation of the scheduling controller 36, such as the example set of operations set forth in method 800. Further referring to method 800, the QoS-related output from the QoS function 1404 can be understood as an example of the QoS allocation information input to Figure 8 the box 808 depicted. Basically, the QoS function 1404 determines how many bytes each terminal 24 gets in a given scheduling frame 52 such that a) the allocation is fair based on QoS, and b) the sum of the bytes across all terminals 24 exactly equals the estimated capacity of the user beam 28 involved within one scheduling frame.

[0113] The scheduling function 1406 makes scheduling decisions, for example, on a frame-by-frame basis, where each scheduling frame 52 has a predefined duration, such as 20 milliseconds. Using this method, for any given scheduling frame 52, the scheduling function 1406 makes a scheduling decision for the next-occurring frame.

[0114] For any particular plurality of terminals 24 assigned to a particular user beam 28, the scheduling decision is output in the form of a byte table. The byte table indicates the per-byte allocation for each interval for the plurality of terminals 24 within the next frame, and the media access control (MAC) function 1408 performs MAC layer frame encapsulation packet operations for the next frame based on the byte table. Here, "frame encapsulation" generally refers to the mechanism of taking Internet data packets out of the scheduling queue, encapsulating them into MAC layer frames, and then processing (encoding, modulation, etc.) by the PHY layer. Such operations can be performed in parallel or jointly for the corresponding plurality of terminals 24 assigned to the corresponding user beam 28, which corresponds to the corresponding nominal user beam coverage area among the plurality of nominal user beam coverage areas 26 that subdivide the larger satellite service area.

[0115] In addition to the foregoing QoS-related scheduling requirements or weightings, the inputs to the scheduling decision also include per-terminal signal quality metrics that vary with respect to different beam center targets 30 used during the beam oscillation period. For example, the forward link (FL) adaptive coding and modulation (ACM) function 1410 receives per-scheduling interval SINRs from the 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 the 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.

[0116] Figure 15 Shown is the SCS 10 according to an example embodiment, which assumes beamforming in the forward direction and accordingly uses a beam oscillation period to consistently oscillate a plurality of forward user beams 100. Although only three forward user beams 100a, 100b, and 100c are shown for simplicity, there can be a large number of forward user beams 100, and each forward user beam is associated with a nominal user beam coverage area 102 within the larger satellite service area 104. Each forward user beam 100 carries forward user traffic 106 for the respective terminals 24 assigned to the forward user beam 100. Figure 15 Beamforming in the context of depends on a technique called "end-to-end beamforming", where end-to-end beamforming is a method of ground-based beamforming (GBBF). For exemplary details regarding end-to-end beamforming, see U.S. Patent No. 10,128,939B2. For other examples of GBBF using an optical feeder link between the terrestrial segment 16 and the space segment 12, see U.S. Patent Nos. 10,454,570B2 and 10,735,089B2. The techniques disclosed herein apply to all such contexts.

[0117] In addition to fromFigure 1 Beyond the details of the continuous ground segment, Figure 15 a clear illustration of the beamforming circuit system 110 is also provided as an example of the beamformer 34 introduced in Figure 1 Here, the beamforming controller 32 calculates a corresponding set of forward beam weights 112 for forming the respective forward user beams 100, and the beamforming circuit system 110 applies these weights. The weights can be calculated based on channel estimates of the end-to-end propagation channels from each SAN 18 via the satellite 14 to each terminal 24. More specifically, one or more respective terminals 24 located at or very close to each beam center target 30 provide CSI that allows the beamforming circuit system 110 to calculate the set of forward beam weights 112, and applying this set of forward beam weights results in the formation of the respective user beam 100 that is substantially centered on the beam center target 30.

[0118] Although Figure 15 the different beam center targets 30 within each nominal forward user beam coverage area 102 are not shown, it should be understood that a similar set of different beam center targets 30 is used in each nominal forward user beam coverage area 102, and 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 are seven beam center targets 30 with a similar arrangement in each nominal forward user beam coverage area 102. In this case, for each forward user beam 100, there is a set of seven forward beam weights 112 associated with each forward user beam 100, where each such set corresponds to one of the seven beam center targets 30 within the associated nominal forward user beam coverage area 102.

[0119] Each SAN 18 includes interface circuit system 120 for communicating with the CPS 20 in the forward and return directions. The interface circuit system 120 includes circuitry configured for physical layer signal reception and transmission via wired or wireless media, and may include higher layer circuitry for protocol handling, synchronization, etc. Further, each SAN 18 includes transmitter / receiver circuit system 122. In at least one embodiment, the transmitter / receiver circuit system 122 includes radio frequency (RF) transmitters and receivers for providing RF feeder uplinks and downlinks between each SAN 18 and the satellite 14.

[0120] In an end-to-end beamforming context, satellite 14 includes a plurality of transponders 130, where each transponder 130 provides a corresponding signal path through satellite 14 - an unprocessed or "bent pipe" path. The transponders 130 may be dedicated to the forward link direction, thus providing a forward link signal path for relaying forward user traffic from ground segment 16 towards terminal 24, where a further plurality of similar transponders are used for end-to-end beamforming in the return direction. In other embodiments, the same plurality of transponders 130 provide the forward link signal path and the return link signal path on a time-division multiplexed, switched basis. In other arrangements, the plurality of transponders 130 includes at least some transponders with switchable connections, thus allowing them to be used individually in the forward or return direction.

[0121] For forward direction operation, each transponder 130 has an input (receive) terminal associated with a corresponding one of a plurality of cooperative receive antenna elements 132 and an output (transmit) terminal associated with a corresponding one of a plurality of cooperative transmit antenna elements 134. The plurality of receive antenna elements 132 "cooperate" 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 cooperate similarly. This arrangement provides a signal superposition that produces the desired beamforming.

[0122] There may be corresponding antenna subsystems onboard satellite 14 dedicated to reception in the forward direction and / or the return direction and further antenna subsystems dedicated to transmission in the forward direction and / or the return direction. In at least the return direction in the end-to-end beamforming context, the "input" terminal of the transponder receives a superposition of return uplink signals from user terminals 24 operating in one or more return user beam coverage areas, which may or may not coincide with the nominal forward user beam coverage area 102. Accordingly, the "output" terminal of each return link transponder transmits the received superposition of return uplink signals as corresponding return downlink signals received at two or more SANs in SAN 18.

[0123] For end-to-end beamforming in the forward direction, and temporarily assuming only one fixed beam center target 30 in each nominal forward user beam coverage area 102, the CPS 20 forms corresponding forward traffic flows corresponding to different nominal forward user beam coverage areas 102 according to the scheduling decisions made by the scheduling controller 36. The beamforming controller 32 uses end-to-end channel estimation for the forward direction to obtain the forward beam weights 112 for forward beamforming as an M x K matrix of beam weights. Here, M is equal to the number of SANs 18 participating in end-to-end beamforming, and K is equal to the number of forward user beams 100. Each forward traffic flow is used to form a forward beam signal, which means there are K forward beam signals, where each forward beam signal transmits forward user traffic for transmission in a corresponding one of the K forward user beams.

[0124] Each column of the M×K beam weight matrix corresponds to a forward user beam 100 and includes a weight vector having M elements, where each element is a corresponding SAN-specific weight. The beamforming circuitry 110 splits each of the K forward beam signals into M copies (one copy for each SAN 18 participating in forward end-to-end beamforming) and applies the corresponding weight vector from the M x K beam weight matrix to obtain M weighted copies. Thus, for each of the K forward beam signals, there are M weighted copies, where each such weighted copy corresponds to a particular one of the participating SANs 18. The weighted copies designated for the same SAN 18 are combined across all K forward beam signals to form a SAN-specific forward signal 136 that is sent from the CPS 20 to the corresponding SAN 18.

[0125] Thus, the beamforming circuitry 110 in one or more embodiments includes a splitting module and M forward weighted sum modules. The splitting module splits (e.g., duplicates) each of the K forward beam signals into M sets of K forward beam signals, where one set is for each of the M forward weighted sum modules. Accordingly, each forward weighted sum module receives all K forward beam signals. Here, "module" refers to a configured circuitry.

[0126] The circuitry within the beamforming controller 32 operates as a forward beam weight generator module that generates the M×K forward beam weight matrix. In one or more embodiments, the forward beam weight matrix is generated based on a channel matrix in which the elements are estimates of the end-to-end forward gains of each of the K×M end-to-end forward multipath channels used to form the forward channel matrix. The estimation of the end-to-end forward gain is performed in the channel estimator module.

[0127] 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 of the satellite 14 receives a unique superposition of the forward uplink signals 140, where each such superposition involves forward uplink signals 140 from two or more of the M SANs 18. The superposition is unique because the SANs 18 are geographically distributed, resulting in different uplink channels between each SAN 18 and each receive antenna element 132 on the satellite 14.

[0128] The unique superposition of the forward composite uplink signals 140 received at each receive antenna element 132 may be referred to as the forward composite uplink signal 142, meaning that the input of each transponder in the transponder 130 receives a unique forward composite uplink signal 142. Each transponder 130 operates as an unprocessed bent pipe transponder that couples the corresponding received forward composite uplink signal 142 to the user downlink side of the satellite 14 for transmission from a corresponding one of the transmit antenna elements 134 as a forward user downlink signal 144. The forward user downlink signal 144 (i.e., the corresponding antenna element signal transmitted from the corresponding transmit antenna element 134) is the corresponding forward composite uplink signal 142 that has been filtered and amplified. In one or more embodiments, the transponder 130 also applies a frequency conversion from the uplink signal frequency to the downlink signal frequency.

[0129] The plurality of transmit antenna elements 134 are configured such that the corresponding forward user downlink signals 144 transmitted from different transmit antenna elements 134 are superimposed in the far field - i.e., at a distance where the radiation behavior of the electromagnetic signal from the transmit antenna element 134 is dominant. These superpositions form the desired plurality of forward user beams 100. The plurality of forward user beams 100 illuminate the overall forward user service area 104.

[0130] Each forward user beam 100 illuminates a corresponding one of the plurality of nominal forward user beam coverage areas 102. By using beam oscillation, the above-described beamforming operations are performed with respect to each beam center target 30 because each such target is sequentially selected during the beam oscillation period. For example, assume a set of seven similar beam center targets 30 within each nominal forward user beam coverage area 102, where "similar" means that the beam center targets 30 have the same relative distribution / position within each nominal forward user beam coverage area 102. The seven beam center targets 30 in each forward user beam coverage area may be referred to as target 1, target 2, target 3, and so on.

[0131] For end-to-end beamforming that utilizes beam oscillation, the particular forward beam weights 112 applied by beamforming circuitry 110 depend on which beam center targets are selected in the respective nominal forward user beam coverage regions 102 at any given time. Assume that the beam oscillation period follows a common selection order across all nominal forward user beam coverage regions 102 - that is, during a first selection window, target 1 in each nominal forward user beam coverage region 102 is selected, during a second selection window, target 2 in each nominal forward user beam coverage region 102 is selected, and so on. Thus, for the target 1 selection window, there is a distinct M×K forward beam weight matrix, for the target 2 selection window, there is a distinct M×K forward beam weight matrix, and so on. In each such selection window, each column vector from the M x K forward beam weight matrix is a set of SAN-specific weights calculated for forming the corresponding forward user beam 100 centered on the particular beam center target 30 used in the selection window.

[0132] The beamforming controller 32, the beamforming circuitry 110, and the CPS 20 may generally include fixed circuitry, programmatically configured circuitry, or a combination of both. In one example, at least some of the beamforming circuitry 110 includes 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 include one or more microprocessors or DSPs or other programmatically configured digital processing circuitry specifically adapted to perform the described functions based on execution of computer program instructions stored in a computer-readable medium. For example, the CPS 20 includes or is associated with one or more types of storage devices (such as RAM for working program execution and FLASH for non-volatile storage of program instructions). Such storage may also be used to store the beam weights 112 and channel estimates, as well as the per-terminal signal quality metrics and other data used during scheduling.

[0133] Figure 16An example of end-to-end beamforming in the return direction is shown. A terminal 24 operating in a corresponding nominal return user beam coverage area 150 transmits return user traffic 152 based on scheduling by an SCS 10. The SCS 10 uses a return user beam 154 for the corresponding nominal return user beam coverage area 150, although the return user beam 154 represents a directional reception and can be formed by the SCS 10 in the digital processing domain. Then, in this sense, the return beamforming of the SCS 10 can be understood as restoring the return beam signal in the signal processing domain, where each return beam signal "covers" a corresponding one of the nominal return user beam coverage areas within the nominal return user beam coverage area 150. Restoring a given return beam signal means enhancing the SINR of the return uplink signal received from the terminal 24 located within the corresponding nominal return user beam coverage area 150.

[0134] 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. Subsequently, the SCS 10 forms corresponding return user beam signals in the processing domain corresponding to each such return user beam 154. This beamforming operates based on a satellite 14 having a plurality of return transponders 160 - which may or may not be Figure 15 the transponders 130 shown - where each return transponder 160 is an unprocessed signal path through the satellite 14.

[0135] Each return transponder 160 is associated with a receiving antenna element 162 coupled to its input end and further associated with a transmitting antenna element 164 coupled to its output end. The plurality of receiving antenna elements 162 act as cooperative elements, where each cooperative element receives a unique superposition of return uplink signals transmitted by a population of terminals 24 across the overall satellite service area 156, which is subdivided via the corresponding nominal return user beam coverage areas 150. The unique superposition received at each receiving antenna element 162 can be referred to as a return composite uplink signal 166, where 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 the associated transmitting antenna element 164) is the corresponding composite uplink signal 166 received by the transponder 160 that has been filtered and amplified. Here, the plurality of transmitting antenna elements 164 are also cooperative elements. In one or more embodiments, the transponder 160 also performs frequency conversion to shift from one or more return uplink frequencies to one or more return downlink frequencies.

[0136] Each SAN 18 receives a return composite downlink signal 170 that is a unique superposition of the return downlink signals 168 transmitted by the satellite 14. This superposition is unique at each SAN 18 because the SANs 18 are geographically distributed, meaning that there are different propagation paths from each transmit antenna element 168 onboard the satellite to each SAN 18 in the population of SANs 18 participating in the return end-to-end beamforming.

[0137] Each SAN 18 provides a SAN-specific return signal 172 to the CPS 20, which contains 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 nominal return user beam coverage area within the nominal return user beam coverage area 150. Specifically, 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. Thus, the beamforming circuitry 110 can be understood to use a corresponding beam weight vector for each beam center target 130 within each nominal return user beam coverage area 150. As previously described, the beamforming controller 32 can be configured to calculate the specific values of these beam weights based on the CSI determined for the corresponding terminals 24 at or very near the corresponding beam center targets 30.

[0138] As an example, assume that each nominal return user beam coverage area 150 contains a set of seven beam center targets 30 - targets 1 through 7 - where 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. Accordingly, there are specific beam weights for each nominal return user beam coverage area 150 corresponding to target 1 in that area, other specific beam weights corresponding to target 2 in that area, and so on. Thus, relative to the selection of target 1, the return beam signal for any given nominal return user beam coverage area 150 has an enhanced SINR for the return uplink signals from those terminals 24 within the nominal return user beam coverage area 150 that are closest to target 1. Subsequently, the same is true for the successive selections of targets 2, 3, 4, 5, 6, and 7. The scheduling performed by the scheduling controller 36 opportunistically schedules the terminals 24 within each such nominal return user beam coverage area 150 based on these varying SINRs caused by the beam oscillation period.

[0139] Figure 17Another exemplary embodiment of the SCS10 is shown, where the satellite 14 includes a phased array antenna 200, which includes a plurality of antenna elements 202. Here, the antenna element 202 represents another exemplary embodiment of the cooperative antenna elements used in beamforming.

[0140] The desired forward user beam 100 is formed by transmitting the corresponding antenna element signals 204 among the plurality of antenna element signals 204 from the corresponding antenna elements among the 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 respectively weighted versions of the corresponding forward beam signals, where the weights for forming those versions are calculated such that the simultaneous transmission of the antenna element signals 204 from the phased array antenna 200 results in a far-field signal superposition that leads to the given forward user beam 100. The same principle applies to the formation of multiple forward user beams 100, where the antenna element signals 204 are composites or combinations of the respectively weighted forward beam signals.

[0141] In at least one embodiment, the CPS 20 transmits a plurality of forward beam signals 206 to one or more SANs 18, where the SAN 18 transmits the forward beam signals 206 to the satellite 14 via the feeder uplink signal 208. The satellite 14 receives the feeder uplink signal 208 via the antenna 210, and the feeder uplink signal is fed into the forward transmit circuitry 212 of the satellite 14. The forward transmit circuitry 212 includes beamforming circuitry 214, as Figure 1 another exemplary implementation of the beamformer 34 introduced in. The beamforming circuitry 214 is configured to create the antenna element signals 204 from the plurality of forward beam signals 206 as described above based on a set of corresponding forward beam weights 216. Here, for each beam center target 30 in each nominal forward user beam coverage area 102, there is a corresponding set of beam weights 216. The scheduling controller 36 in the CPS 20 opportunistically schedules the terminals 24 in each nominal forward user beam coverage area 102 for each beam oscillation period, as described earlier herein.

[0142] Note that in one embodiment, the beamforming controller 32 calculates the forward beam weights 216 and resides in the CPS 20. In another embodiment, the beamforming controller 32 is airborne and resides on the satellite 14. Thus, in connection with Figure 17In one embodiment related to the depicted arrangement, circuitry onboard satellite 14 performs channel estimation and beam weight calculation, which means that the forward beam weights 216 are calculated in the space segment 12. In another embodiment, the CPS 20 calculates the forward beam weights 216 based on channel estimation and beam weight calculation performed by the CPS 20 and sends them to satellite 14 (e.g., on a recurring basis). For example, the beamforming controller 32 may be configured to calculate the forward beam weights 216, and then the ground segment 16 transmits such information to satellite 14 for use by the beamforming circuitry 214.

[0143] In yet another embodiment, the CPS 20 forms beam element signals that are weighted to form the desired forward user beam 100, where each beam element signal is designated for transmission from a respective one of the cooperative antenna elements 202. Thus, the feeder uplink signal 208 transmitted by the SAN 18 carries these beam element signals rather than forming their forward beam signals, and the forward transmit circuitry 212 in such embodiments is modified to form the antenna unit signals 204 directly from the received beam element signals (e.g., via filtering, power amplification, and possibly frequency conversion).

[0144] Figure 18 Embodiments related to Figure 17 are shown, but focus on return beamforming. Each terminal 24 in the respective terminal coverage area 150 of each nominal return user beam transmits return traffic according to scheduling performed by the scheduling controller 36, where such scheduling is performed according to the beam oscillation techniques disclosed herein. The return uplink signals from the terminals 24 are received by the satellite via the antenna array 220, which includes a plurality of cooperative antenna elements 222. Each antenna element 222 provides a corresponding antenna element signal 224 that is fed into the return transmit circuitry 226.

[0145] The return transmit circuitry 226 in one or more embodiments includes a return beamforming circuitry 228 that 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 enhanced SINR for the return uplink signals from terminals 24 located in the corresponding one of the nominal return user beam coverage areas 150.

[0146] 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. Further, although the same reference numeral "30" is used in the context of both the forward and return directions to refer to the beam center target, the beam center target 30 used for forward beamforming need not be the same as the beam center target used for return beamforming. In fact, insofar as the nominal forward user beam coverage area 102 is not coextensive with the nominal return user beam coverage area 150, the beam center target 30 used for forward beamforming can be at a location different from the location of the beam center target used for return beamforming.

[0147] Satellite 14 transmits one or more feeder downlink signals 236 that include a return beam signal 232, where such transmission is performed via one or more antennas 234 onboard satellite 14. It should be understood that the return feeder link can be RF or optical, and thus, satellite 14 in one or more embodiments can include an optical transmitter for transmitting the return beam signal 232. In fact, each of satellite 14 and one or more of the SANs 18 can include an optical transmitter and receiver such that the forward and return feeder link signals are optical.

[0148] In any case, CPS 20 receives a SAN-specific return signal 238 from each of one or more of the SANs 18, where these one or more SAN-specific return signals 238 convey the return beam signal 232 for processing by CPS 20. Such processing includes recovering the return traffic transmitted via each return user beam 154.

[0149] In Figure 18In a variation of the arrangement shown, satellite 14 omits the return beamforming circuitry 228 and it returns the beam element signals to the SAN 18. These returned beam element signals are the antenna element signals 224 that have been filtered, amplified, and possibly frequency converted. Thus, the SAN-specific return signal 238 includes the returned beam element signals, and the CPS 20 includes a return beamforming circuitry for combining the beam element signals according to a corresponding set of return beam weights, e.g., digital domain circuitry. That is, for each nominal return user beam coverage 150, and for each beam center target 30 within it, the CPS 20 recovers the 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 to enhance the SINR of the return uplink signals transmitted by terminals 24 in the nominal return user beam coverage area 150 corresponding to the return beam signal. When different beam center targets 30 are selected for this particular nominal return user beam coverage area 150, the return beam signal particularly enhances the SINR of the return uplink signals transmitted from those terminals 24 that are closest to the selected beam center target.

[0150] While Figure 17 and Figure 18 the beamforming circuitry shown is airborne on satellite 14, it should be understood that the beam weights applied by such beamforming circuitry can be calculated airborne on satellite 14 or calculated in the ground segment 16 and transmitted to satellite 14. Of course, as previously described, in other embodiments end-to-end beamforming is used where the beam weights are calculated and applied in the ground segment 16.

[0151] Figure 19 An example method 1900 for scheduling terminals 24 in the SCS 10 is shown. Method 1900 includes: obtaining (block 1902) assignment information indicating an assignment of a plurality of terminals 24 to a user beam 28 of the SCS 10, the user beam 28 being associated with a nominal user beam coverage area 26 and the plurality of terminals 24 being located within the nominal user beam coverage area 26; selecting (block 1904) different beam center targets 30 for the user beam 28 within a sequence of scheduling intervals 50 according to a beam oscillation period, where the different beam center targets 30 are different positions within the nominal user beam coverage area 26; and scheduling (block 1906) corresponding terminals among the plurality of terminals 24 within the sequence of scheduling intervals 50 according to a per-terminal signal quality metric that varies with respect to the different beam center targets 30.

[0152] In one or more embodiments, the different beam center targets 30 include corresponding sets of distributed positions within the nominal user beam coverage area 26. For example, the corresponding sets of distributed positions are based on a predefined pattern.

[0153] The beam oscillation period according to one or more embodiments defines a selection order of different beam center targets 30, and the selection order includes a selection dwell time for each beam center target 30 among the different beam center targets 30. The selection dwell time is defined as, for example, an integer number of scheduling intervals 50. The selection dwell time in one or more embodiments is non-uniform according to the distribution of the plurality of terminals 24 within the nominal user beam coverage area 26. That is, the dwell time for one beam center target 30 may be longer or shorter than the dwell time for another beam center target 30. However, in one or more other embodiments, the selection dwell time is uniform. The dwell time may also be understood as a "duty cycle". For example, if target selection uses non-consecutive scheduling intervals 50 - that is, a given beam center target 30 is selected in two or more non-consecutive intervals during the beam oscillation period - then the duty cycle of the given beam center target 30 for the beam oscillation period may be defined by the number of scheduling intervals 50 selected for it divided by the total number of scheduling intervals 50 spanned by the beam oscillation period. In one or more embodiments, the selection order for sequentially selecting different beam center targets 30 is predefined.

[0154] A series of scheduling intervals 50 includes, for example, one scheduling frame 52 among a plurality of consecutive scheduling frames 52. Accordingly, in one or more embodiments, method 1900 includes performing a beam oscillation period and scheduling relative to each scheduling frame 52, wherein per-terminal signal quality metrics are updated relative to each scheduling frame 52.

[0155] The per-terminal signal quality metric includes a preference table 60, for example, wherein the table contains the respective metric values for each terminal 24 in each scheduling interval 50 among the series of scheduling intervals 50. The respective metric value for each terminal 24 in each scheduling interval 50 indicates the signal quality of the terminal 24 relative to the user beam 28 centered on a particular one of the different beam center targets 30 applicable to the scheduling interval 50.

[0156] In at least one embodiment, method 1900 includes maintaining the preference table 60 as an efficiency table 70 such that the preference metric values are efficiencies in bits per symbol for serving the terminal 24 relative to each scheduling interval 50. Thus, for each terminal 24, for each scheduling interval 50 in the scheduling frame 52, there will be a corresponding efficiency in the efficiency table 70. In one or more embodiments, the scheduling decision for the scheduling frame 52 may be directly based on efficiency without bias.

[0157] However, as noted, one or more embodiments use bias values, such as per-terminal bias values or per-interval bias values. In the former case, a bias value for the scheduling frame 52 is assigned to each terminal 24, and the assigned bias value is used to bias all per-interval efficiencies corresponding to the terminal 24. In the latter case, a bias value for the per-terminal efficiency applied to each scheduling interval 50 within the scheduling frame 52 is assigned to each scheduling interval 50. In either method of biasing, the bias value is used to produce a biased efficiency, or more generally, a biased preference metric for the terminal 24, where scheduling decisions are made based on the biased preference metric rather than directly on the unbiased preference metric.

[0158] Each scheduling interval 50 has, for example, a fixed number of symbols available for allocation. In this case, scheduling the corresponding terminal among a plurality of terminals 24 includes, for example, selecting which terminals 24 to schedule in which scheduling intervals 50 based on the PE of the terminals 24 across a series of scheduling intervals 50, and determining the byte allocation to the scheduled terminals 24 in each scheduling interval 50 based on the respective efficiency of the scheduled terminals - that is, the efficiency values in the efficiency table 70. That is, the decision as to which terminals 24 to schedule in which scheduling intervals 50 can be based on the PE, while the byte allocation to the terminals 24 scheduled in each scheduling interval 50 can be based on the efficiency of the scheduled terminals 24 rather than the PE. This allows the scheduling bias value to influence the scheduling decision while still determining the byte allocation based on efficiency.

[0159] In one or more embodiments, for a given plurality of terminals 24 assigned to a given user beam 28, scheduling the corresponding terminal among the given plurality of terminals 24 within any given series of scheduling intervals 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 with respect to the series of scheduling intervals 50. Here, solving the constrained optimization problem maximizes the capacity of the user beam 28 subject to the constraint of maintaining service fairness among the plurality of terminals 24.

[0160] As previously explained, each given user beam 28 can be based on beamforming performed by the SCS 10, where each beam center target 30 of each given user beam 28 corresponds to a respective set of beam weights used in the beamforming. In one or more embodiments, selecting different beam center targets 30 defined for any given user beam 28 includes controlling the beamformer to apply the respective set of beam weights during a beam oscillation period, with each respective set of beam weights being applied during a respective subset of one or more of a series of scheduling intervals. In one or more embodiments, the beamformer is onboard the satellite 14 of the SCS 10, such that 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 indicating beam weights. In one embodiment, the control signaling includes scheduling information indicating the selection order and selection duration of the respective set of beam weights to be used during one or more beam oscillation periods.

[0161] In the context of method 1900, the SCS 10 can use multiple user beams 28, where each user beam 28 has a respective set of beam center targets 30 that includes the same number and the same relative geographical arrangement of different beam center targets 30. Here, each user beam 28 further has a respective plurality of assigned terminals 24 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 order applicable to all respective sets of user beam center targets 30. In this context, method 1900 includes: jointly selecting different beam center targets 30 from the respective sets of beam center targets 30 of the multiple user beams according to the common selection order within any given series of scheduling intervals 50, and scheduling the respective plurality of terminals 24 accordingly within the given series of scheduling intervals. Each nominal user beam coverage area 26 can have the same number and the same relative arrangement - pattern - of beam center targets 30, such that relatively, the "same" beam center target 30 can be selected simultaneously across all nominal user beam coverage areas 26 involved in the beam oscillation.

[0162] The multiple user beams 28 can be multiple forward user beams 100 for transmitting forward link traffic to each of the respective plurality of terminals 24. Alternatively, the multiple user beams 28 can be multiple return user beams 154 for receiving return link traffic from each of the respective plurality of terminals 24.

[0163] In an example where a plurality of user beams 28 are an example of the plurality of forward user beams 100, the SCS 10 further uses a plurality of return user beams 154, and the method 1900 implemented 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 can include the SCS 10 independently applying beam oscillation in the forward and return directions. Such operations involve, for example, the SCS 10 independently of selecting different beam center targets 30 with respect to the plurality of return user beams 154 and scheduling corresponding terminals 24 to select beam center targets 30 with respect to the plurality of forward user beams 100 and scheduling corresponding terminals 24. Broadly, beam oscillation can be performed independently with respect to the forward and return directions, and the nominal forward beam coverage area 102 and the return beam coverage area 150 do not need to transmit the same beam. Similarly, the beam center targets 30 for beam oscillation in the forward direction do not need to be the same as the beam center targets for beam oscillation in the return direction.

[0164] The SCS 10 is configured to implement the method 1900, including any or all of the variations and extensions described above. Such a configuration is based, for example, on the execution of computer program instructions by one or more microprocessors, digital signal processors, or other types of digital processors such that the digital processor is specifically adapted to implement the beam oscillation and corresponding terminal scheduling described herein. See, for example, the processing circuitry 39 shown that can be implemented, in whole or in part, via a specifically adapted digital processor. Figure 1 shown.

[0165] Regardless of the specific implementation details, an exemplary SCS 10 includes a satellite 14 that includes a plurality of cooperative antenna elements configured for use in forming user beams 28 associated with a nominal user beam coverage area 26, where the user beams 28 are used to serve terminals 24 located within the nominal user beam coverage area 26. Further, the SCS 10 includes a beam oscillation controller 32 that is configured to select different beam center targets 30 for the user beams 28 within a sequence of scheduling intervals 50 according to a beam oscillation period, where the different beam center targets 30 are different positions within the nominal user beam coverage area 26. The beamformer 34 of the SCS 10 is configured to oscillate the user beams 28 during the beam oscillation period by changing the beam weights used to form the user beams 28 according to the selected beam center targets. The scheduling controller 36 is configured to schedule corresponding terminals among the plurality of terminals 24 assigned to the user beams 28 within a sequence of scheduling intervals 50 according to a per-terminal signal quality metric that varies with respect to the different beam center targets used during the oscillation of the user beams 28.

[0166] Similarly, the nominal user beam coverage area 26 associated with the user beam 28 remains fixed during beam oscillation, and the serving beam assignment of the terminal 24 does not change according to beam oscillation. Thus, although the user beam 28 has different beam orientations / direction of pointing during each beam oscillation period, it is still logically the "same" user beam 28 because it remains associated with the same fixed nominal user beam coverage area 26, and because the respective terminals 24 logically associated with the user beam 28 for serving do not change according to beam oscillation.

[0167] As a general example, the SCS 10 in one or more embodiments includes a space segment 12 that includes one or more satellites 14 and a ground segment 16 that includes one or more SANs 18. The SCS 10 is configured to serve terminals 24 within the nominal user beam coverage area 26 via beamforming using corresponding user beams 28. In at least one such embodiment, the SCS 10 uses a potentially large number of user beams 28 to serve a corresponding plurality of terminals 24. Here, each user beam 28 is associated on a fixed one-to-one basis with a corresponding one of the nominal user beam coverage areas within the nominal user beam coverage area 26, and each of the respective plurality of terminals 24 is located within a corresponding one of the nominal user beam coverage areas within the nominal user beam coverage area 26.

[0168] The ground segment 16 includes processing circuitry 39 that is configured to: (a) obtain assignment information indicating the assignment of a plurality of terminals 24 to any given user beam 28; (b) select different beam center targets 30 within a series of scheduling intervals 50 for a given user beam 28 according to a beam oscillation period, where the different beam center targets 30 are different positions within the associated nominal user beam coverage area 26; and (c) schedule a corresponding terminal among the plurality of terminals 24 within the series of scheduling intervals 50 according to a per-terminal signal quality metric that varies with respect to the different beam center targets 30.

[0169] The nominal user beam coverage area 26 is predefined, and each nominal user beam coverage area 26 is served via a corresponding user beam 28 such that the SCS 10 assigns a given terminal 24 to the user beam 28 that serves the nominal user beam coverage area 26 in which the terminal 24 is located. Each terminal 24 may be registered in the SCS 10 and has an assigned or fixed identifier (ID), and the processing circuitry 39 obtains the relevant assignment information or queries an assignment database based on signaling received from other processing circuitry within the SCS 10. Each user beam 28 may have a beam ID or other identifying feature that remains invariant with respect to the oscillation of the user beam 28, and similarly, the logical mapping within the SCS of beam signals to the user beam 28 remains invariant with respect to beam oscillation.

[0170] Here, a "beam signal" is a composite information signal carrying traffic to or from a corresponding one of the terminals 24 within a particular nominal user beam coverage area 26. For multiple forward user beams, each forward user beam transmits a corresponding beam signal, where the corresponding beam signal includes multiplexed traffic for the terminals 24 included within the nominal forward user beam coverage area associated with the forward user beam. A similar logic applies to the return direction.

[0171] For example, different beam center targets 30 include corresponding sets of distributed positions within the nominal user beam coverage area 26. In one or more embodiments, the corresponding sets of distributed positions are based on a predefined 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 the terminals 24 therein. In the same or at least one other embodiment, the dwell time for different beam center targets 30 is based on the distribution of the terminals 24 within the nominal user beam coverage area 26.

[0172] The beam oscillation period defines the order of selection of different beam center targets 30, i.e., the beam oscillation period defines the order and timing for selecting different beam center targets 30. The order of selection can be predefined, or it can be determined dynamically, for example, on a per-frame basis or on a semi-static (slowly varying) basis. The order of selection includes a selection dwell time for each of the different beam center targets 30, where the selection dwell time is defined in terms of the number of scheduling intervals. As noted, the selection dwell time can 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 divisible by the number of beam center targets 30.

[0173] Broadly, techniques that perform beam oscillation on an opportunistic basis according to signal quality variations caused by beam oscillation and that schedule the terminals 24 accordingly provide a significant increase in the overall capacity of the SCS 10. The capacity increase is achieved because the techniques allow all terminals 24 to have beam center or near-beam center SINR during at least some of the scheduling intervals 50. Advantageously, the techniques do not sacrifice QoS fairness or peak burst speed and do not require changes to the satellite or terrestrial infrastructure. Additionally, the techniques do not require coordination between beamforming operations and scheduling operations, given that scheduling is organically driven by characteristic variations in the signal quality metrics seen by the corresponding terminals among the terminals 24 involved due to beam oscillation. As a further advantage, the techniques can be applied to waveforms partitioned into time slots, channels, codewords, or any combination of these domains.

[0174] It should be noted that, benefiting from the teachings presented in the foregoing description and the related drawings, those skilled in the art will conceive of modifications and other embodiments of the present invention disclosed. Therefore, it should be understood that the present invention is not limited to the specific embodiments disclosed, and the 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 only in a general and descriptive sense and not for purposes of limitation.

Claims

1. A method for scheduling terminals in a satellite communication system, the method comprises: obtaining assignment information indicating an assignment of a plurality of terminals to a user beam of the satellite communication system, the user beam being associated with a nominal user beam coverage area and the plurality of terminals being located within the nominal user beam coverage area; selecting different beam center targets for the user beam within a series of scheduling intervals according to a beam oscillation period, wherein the different beam center targets are different positions within the nominal user beam coverage area; and scheduling corresponding terminals among the plurality of terminals within the series of scheduling intervals according to a per-terminal signal quality metric that varies with respect to the different beam center targets.

2. The method according to claim 1, wherein the different beam center targets comprise corresponding sets of distributed positions within the nominal user beam coverage area.

3. The method according to claim 2, wherein the corresponding sets of distributed positions are based on a predefined pattern.

4. The method according to any one of claims 1 to 3, wherein the beam oscillation period defines an order of selection of the different beam center targets.

5. The method according to claim 4, wherein the order of selection comprises a selection dwell time for each of the different beam center targets.

6. The method according to claim 5, wherein the selection dwell time is non-uniform according to the distribution of the plurality of terminals within the nominal user beam coverage area.

7. The method according to any one of claims 4 to 6, wherein the order of selection is predefined.

8. The method according to any one of claims 1 to 7, which further comprises: determining the beam center target according to 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 8, wherein the series of scheduling intervals comprises one scheduling frame among a plurality of consecutive scheduling frames, and wherein the method comprises implementing the beam oscillation period and the scheduling with respect to each scheduling frame, and further wherein the per-terminal signal quality metric is updated with respect to each scheduling frame.

10. The method according to any one of claims 1 to 9, wherein the per-terminal signal quality metric comprises a preference metric value in a preference table, wherein the preference table contains corresponding preference metric values for each terminal with respect to each scheduling interval.

11. The method according to claim 10, wherein the preference metric value is an efficiency in bits per symbol for serving each terminal with respect to each scheduling interval, such that the preference table comprises an efficiency table, and wherein 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 a required number of bytes to be served relative to the scheduling frame, and wherein making the scheduling decision includes selecting, based on the biased efficiency of the terminal across the series of scheduling intervals, which scheduling intervals are for which terminals.

13. The method according to claim 10, wherein the scheduling bias value is one of the following: a per-interval scheduling bias value or a per-terminal scheduling bias value.

14. The method according to any one of claims 1 to 13, wherein the per-terminal signal quality metric for each terminal varies relative to the different beam center targets according to the position of the terminal relative to the different beam center targets.

15. The method according to any one of claims 1 to 14, wherein scheduling a corresponding terminal among the plurality of terminals within the series of scheduling intervals includes maximizing the total capacity of the user beam.

16. The method according to claim 15, wherein maximizing the total capacity of the user beam includes solving a constrained optimization problem with respect to the series of scheduling intervals, wherein solving the constrained optimization problem maximizes the capacity of the user beam under the constraint of maintaining service fairness among the plurality of terminals.

17. The method according to any one of claims 1 to 16, wherein the user beam is based on beamforming performed by the satellite communication system, and wherein each beam center target corresponds to a corresponding set of beam weights used in the beamforming.

18. The method according to claim 17, wherein selecting the different beam center targets includes controlling the beamformer to apply the corresponding sets of beam weights during the beam oscillation period, each corresponding set of beam weights being applied during a corresponding subset of one or more scheduling intervals within the series of scheduling intervals.

19. The method according to claim 18, wherein the beamformer is onboard a satellite of the satellite communication system, and wherein controlling the beamformer includes outputting control signaling for transmission to the satellite.

20. The method according to any one of claims 1 to 19, wherein the user beam is one of a plurality of user beams used by the satellite communication system, and wherein: each user beam has a corresponding set of beam center targets including different beam center targets having the same number and the same relative geographical arrangement, and each user beam further has a corresponding plurality of assigned terminals and a corresponding user beam coverage area; the beam oscillation period is common to the plurality of user beams and defines a common selection order applicable to all corresponding sets of user beam center targets; and the method includes jointly selecting the different beam center targets from the corresponding sets of beam center targets of the plurality of user beams within the series of scheduling intervals according to the common selection order, and accordingly scheduling the corresponding plurality of terminals within the series of scheduling intervals.

21. The method according to claim 20, wherein the plurality of user beams include a plurality of forward user beams for transmitting forward link traffic to each of the corresponding plurality of terminals.

22. The method according to claim 20, wherein the plurality of user beams are a plurality of reverse user beams for receiving reverse link traffic from each of the corresponding plurality of terminals.

23. The method according to claim 20, wherein the plurality of user beams are a plurality of forward user beams, wherein the satellite communication system further uses a plurality of reverse user beams, and wherein the method includes independently selecting different beam center targets and scheduling the corresponding terminals relative to the plurality of forward user beams, different from selecting beam center targets and scheduling the corresponding terminals relative to the plurality of reverse user beams.

24. A satellite communication system, which comprises: a satellite including a plurality of cooperative antenna elements configured to be used in forming user beams associated with a nominal user beam coverage area, wherein the user beams are for serving terminals located in the nominal user beam coverage area; a beam oscillation controller configured to select different beam center targets for the user beams within a series of scheduling intervals according to a beam oscillation period, wherein the different beam center targets are different positions within the nominal user beam coverage area; a beam former configured to oscillate the user beams during the beam oscillation period by changing beam weights used for forming the user beams according to the selected beam center targets; and a scheduling controller configured to schedule corresponding ones of the plurality of terminals within the series of scheduling intervals according to per-terminal signal quality metrics that vary with respect to the different beam center targets.

25. The satellite communication system according to claim 24, wherein the different beam center targets include corresponding distributed position sets within the nominal user beam coverage area.

26. The satellite communication system according to claim 25, wherein the corresponding distributed position sets are based on a predefined pattern.

27. The satellite communication system according to any one of claims 24 to 26, wherein the beam oscillation period defines a selection order of the different beam center targets.

28. The satellite communication system according to claim 27, wherein the selection order includes a selection dwell time for each of the different beam center targets.

29. The satellite communication system according to claim 28, wherein the selection dwell time is non-uniform according to the distribution of the plurality of terminals within the nominal user beam coverage area.

30. The satellite communication system according to any one of claims 27 to 29, wherein the selection order is predefined.

31. The satellite communication system according to any one of claims 24 to 31, wherein the series of scheduling intervals includes one scheduling frame among a plurality of consecutive scheduling frames, and wherein the satellite communication system is configured to perform the beam oscillation period and scheduling relative to each scheduling frame, and update the per-terminal signal quality metric relative to each scheduling frame.

32. The satellite communication system according to any one of claims 24 to 31, wherein the per-terminal signal quality metric includes a preference metric value in a preference table maintained by the scheduling controller, and wherein the preference table contains corresponding preference metric values for each terminal relative to each scheduling interval.

33. The satellite communication system according to claim 32, wherein the preference metric value is the efficiency in bits per symbol for serving each terminal relative to each scheduling interval, such that the preference table includes an efficiency table, and wherein the scheduling controller is configured to form a pseudo-efficiency table by applying a scheduling bias value to the efficiency to obtain a biased efficiency, and make a scheduling decision based on the biased efficiency.

34. The satellite communication system according to claim 32, wherein each scheduling interval has a fixed number of symbols for allocation, and wherein, in order to make the scheduling decision, the scheduling controller is configured to select which scheduling intervals are for which terminals based on the biased efficiency, and determine the byte allocation to the scheduled terminals in each scheduling interval based on the corresponding efficiency.

35. The satellite communication system according to any one of claims 24 to 34, wherein the per-terminal signal quality metric for each terminal varies relative to the different beam center targets according to the position of the terminal relative to the different beam center targets.

36. The satellite communication system according to any one of claims 24 to 35, wherein, relative to scheduling a corresponding one of the plurality of terminals within the series of scheduling intervals, the scheduling controller is configured to maximize the total capacity of the user beam.

37. The satellite communication system according to claim 36, wherein, in order to maximize the total capacity of the user beam, the scheduling controller is configured to solve a constrained optimization problem relative to the series of scheduling intervals, and wherein solving the constrained optimization problem maximizes the capacity of the user beam under the constraint of maintaining service fairness among the plurality of terminals.

38. The satellite communication system according to any one of claims 24 to 37, wherein the user beam is based on beamforming performed by the satellite communication system, and wherein each beam center target corresponds to a corresponding set of beam weights used in the beamforming.

39. The satellite communication system according to claim 38, wherein the beamforming controller is configured to calculate a corresponding set of beam weights for the beam oscillation period, each set corresponding to a corresponding one of the different beam center targets, and the beamformer is configured to apply the corresponding set for each selected beam center target.

40. The satellite communication system according to claim 39, wherein the beamformer is airborne on the satellite, and wherein the beamforming controller resides in 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 of the satellite access nodes in the ground segment of the satellite communication system.

41. The satellite communication system according to any one of claims 24 to 40, wherein the user beam is one of a plurality of user beams used by the satellite communication system, and wherein: each user beam has a corresponding set of beam center targets including the same number and the same relative geographical arrangement of different beam center targets, and each user beam further has a corresponding plurality of assigned terminals and a corresponding user beam coverage area; the beam oscillation period is common to the plurality of user beams and defines a common selection order applicable to all the corresponding sets of user beam center targets; and the beam oscillation controller is configured to jointly select the different beam center targets from the corresponding sets of beam center targets of the plurality of user beams within the series of scheduling intervals according to the common selection order, and accordingly schedule the corresponding plurality of terminals within the series of scheduling intervals.

42. The satellite communication system according to claim 41, wherein the plurality of user beams includes a plurality of forward user beams for transmitting forward link traffic to each of the corresponding plurality of terminals.

43. The satellite communication system according to claim 41, wherein the plurality of user beams are a plurality of return user beams for receiving return link traffic from each of the corresponding plurality of terminals.

44. The satellite communication system according to claim 41, wherein the plurality of user beams are a plurality of forward user beams, wherein the satellite communication system further uses a plurality of return user beams, and wherein the satellite communication system is configured to independently select beam center targets and schedule corresponding terminals with respect to the plurality of forward user beams and to select beam center targets and schedule corresponding terminals with respect to the plurality of return user beams.

45. The satellite communication system according to claim 24, wherein the plurality of antenna elements include a plurality of cooperative transmit elements coupled to respective output terminals of a plurality of transponders, the plurality of transponders having respective input terminals coupled to a plurality of cooperative receive elements, each transponder defining a signal path from a respective receive element to a respective transmit element, wherein the satellite communication system includes a plurality of geographically distributed satellite access nodes (SANs), each SAN being configured to transmit a respective uplink signal such that each receive element at the satellite receives a unique superposition of the respective uplink signals, and correspondingly, each transmit element transmits a downlink signal corresponding to the unique superposition, wherein the beamforming controller, the beamformer, and the scheduling controller are in a ground segment of the satellite communication system, and wherein the beamforming controller maintains a set of beam weights that, when used to weight the respective uplink signals transmitted by the plurality of SANs, results in a far-field superposition of the downlink signals that forms the user beam.

46. The satellite communication system according to claim 45, wherein the beamforming controller is configured to cooperate with the beamformer to adjust the set of beam weights within the beam oscillation period and thereby re-center the user beam one by one on the different beam center targets.

47. The satellite communication system according to claim 24, wherein the beamformer is on-board the satellite and the beamforming controller is in a ground segment of the satellite communication system, and wherein the ground segment includes one or more satellite access nodes (SANs), the one or more SANs being configured to transmit beam oscillation information generated by the beamforming controller from the ground segment to the satellite for controlling the beamformer according to the beam oscillation period.

48. The satellite communication system according to claim 24, wherein the beamforming controller and the beamformer are on-board the satellite.

Citation Information

Patent Citations

  • Beamformer for end-to-end beamforming communications system

    US10128939B2

  • Broadband satellite communication system using optical feeder links

    US10454570B2

  • Broadband satellite communication system using optical feeder links

    US10735089B2