Patent Publication Number: US-2004058646-A1

Title: Asymmetric assignment of space-borne communication system resources

Description:
BACKGROUND OF THE INVENTION  
       [0001] The present invention relates to assignment of bandwidth resources in a communication system. In particular, the present invention relates to asymmetric assignment of communication bandwidth in a satellite communications system.  
       [0002] Communication networks transmit and receive staggering amounts of information that may have virtually any origin including, for example, the Internet, the public telephone system, and television stations. In modern communication systems, a considerable portion of the information may be multiplexed into data streams and transmitted over satellite uplinks and downlinks before reaching its destination. Thus, for example, Internet service providers (ISPs) could transmit information through a satellite to numerous individual receivers.  
       [0003] In order to accommodate the tremendous demand for communication bandwidth, modern communication satellites provide uplink and downlink capacities of many gigabits per second. Of course, modern communication satellites are extremely expensive to design, launch, and operate. Thus, a new communication satellite cannot simply be launched whenever convenient to increase bandwidth in a communication system. Rather, the bandwidth provided by existing communication satellites must be assigned so that it is most efficiently used while generating the most revenue.  
       [0004] In the past, however, communication system controllers assigned equal uplink and downlink bandwidth to individual terminals or groups of terminals. While providing a simple solution to bandwidth allocation, equal assignment of uplink and downlink bandwidth ignored the fact that in many situations, uplink and downlink bandwidth needs are dramatically different. For example, in the ISP setting, a home computer terminal typically receives between 5 and 20 times more information than it transmits.  
       [0005] In such situations, an equal assignment of uplink and downlink bandwidth to the terminal results in a significant waste of uplink bandwidth. In turn, wasted bandwidth significantly decreases the communication system revenues, efficiency, and throughput. Furthermore, some communication system controllers already purposefully overprovide bandwidth to terminals to reduce latency. Thus, any additional bandwidth assigned, but not used by terminals, has a further negative impact on system revenue, throughput, and efficiency.  
       [0006] A need has long existed in the industry for an improved method and apparatus for assignment of communication bandwidth in a space-borne communications system.  
       BRIEF SUMMARY OF THE INVENTION  
       [0007] One aspect of the present invention is asymmetric assignment of bandwidth in a communication system.  
       [0008] Another aspect of the present invention is asymmetric assignment of uplink and downlink bandwidth in a satellite communication system.  
       [0009] One feature of the present invention is assignment of bandwidth in a communication system that considers uplink and downlink utilization efficiencies, outbound to inbound traffic ratio, and other input parameters.  
       [0010] Yet another feature of the present invention is the assignment of uplink and downlink bandwidth in a satellite communication system that accounts for concentrators onboard a satellite.  
       [0011] The present method for allocating bandwidth in a satellite communication system includes the step of determining an assignment of uplinks to user terminals and one or more gateways. The uplink assignment is preferably based on a gateway uplink efficiency, a user terminal uplink efficiency, and a traffic ratio between the user terminal and the gateways. The method also determines an assignment of downlinks to the user terminals and the gateways. The downlink assignment is preferably based on traffic offered to the user terminals and the gateways as dictated by the uplink assignment.  
       [0012] Either of the uplink assignment and downlink assignments may be integer or non-integer assignments. Integer and non-integer assignments may be used when the uplinks and/or downlinks are divisible into assignable subchannels. Integer assignments may be used when the uplinks are indivisible. In some instances, the assignment that maximizes outbound capacity is a non-integer assignment. In cases where the uplinks and downlinks are indivisible, the present method may then evaluate integer assignments of uplinks around the non-integer assignment to determine an integer assignment that most closely matches the maximal outbound capacity.  
       [0013] The present method, in determining the downlink assignments, preferably considers the relative size (i.e., capacity) of uplinks compared to downlinks. The method may further determine the desired number of downlinks needed for a gateway and the user terminals to meet the bandwidth demands resulting from the uplink assignments. When the number of available downlinks is sufficient, the method assigns the desired number of downlinks. Otherwise, the method preferably evaluates assignments of downlinks to the user terminals and gateways to find a capacity maximizing downlink assignment given the total number of available downlinks.  
       [0014] The present satellite communication system bandwidth controller includes uplink and downlink assignment circuitry and communication circuitry. The assignment circuitry is operable to determine an assignment of uplinks to user terminals and gateways, based on a gateway uplink efficiency, a user terminal uplink efficiency, and a traffic ratio between the user terminal and the gateway among other information. The assignment circuitry is also operable to determine an assignment of downlinks to the user terminals and the gateways, based on traffic offered to the user terminals and the gateways according to the uplink assignment.  
       [0015] The bandwidth controller may further include input parameter determination circuitry for determining the gateway uplink efficiency, user terminal uplink efficiency, and the traffic ratio, by receiving the parameters as design inputs or by evaluating a communication system monitor input. The bandwidth controller may be disposed onboard a satellite, or on the ground at a location nearby or remote from the gateways or user terminals. In one embodiment, the bandwidth controller evaluates a communication system in operation and responsively dynamically adjusts the uplink and downlink assignments. In another embodiment, the bandwidth controller evaluates uplink and downlink assignments in advance for a planned communication system. As noted above, the uplink and downlink assignments may be integer or non-integer, and may further take into consideration the presence or absence of :a multiplexer or concentrator onboard a satellite.  
     
    
    
     BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS  
     [0016]FIG. 1 introduces the entities involved in a satellite communication system.  
     [0017]FIG. 2 illustrates the inbound and outbound direction of traffic in a satellite communication system.  
     [0018]FIG. 3 shows a flow diagram of an asymmetric bandwidth assignment process executed by a controller.  
     [0019]FIG. 4 depicts the nearest integer assignments of uplinks around a non-integer uplink assignment that provides maximum outbound capacity.  
     [0020]FIG. 5 shows an example of asymmetric bandwidth assignment in a satellite communication system.  
     [0021]FIG. 6 shows an example of asymmetric bandwidth assignment over three spot beams in a satellite communication system.  
     [0022]FIG. 7 illustrates a block diagram of a controller that may be used to distribute bandwidth in a communication system.  
    
    
     DETAILED DESCRIPTION OF THE INVENTION  
     [0023] Turning now to FIG. 1, that figure illustrates the entities involved in a satellite communication system  100 . The communication system  100  includes a satellite  102 , gateway terminals  104 , and user terminals  106 . Also shown are a controller  108  and a monitor  110 . The satellite  102  generates a spot beam  112  which supports uplinks and downlinks. For example, FIG. 1 shows a gateway terminal uplink  114 , a gateway terminal downlink  116 , a user terminal uplink  118 , and a user terminal downlink  120 . A signaling channel  122  is also present in FIG. 1.  
     [0024] In a preferred implementation, one of the terminals involved in communicating through the satellite  102  is a high throughput terminal called a gateway (e.g., the gateway  104 ). The user terminals are generally smaller individual terminals, for example home computers or cellular phones. The user terminals may, for example, represent web browsing individuals and the gateways Internet Service Providers (ISPs). The user terminals typically send far less traffic to the gateways than the gateways send to the users. Ratios ranging between 5-to-1 and 20-to-1 are not unusual.  
     [0025] The satellite  102  may be any type of communication satellite. For example, the satellite  102  may be a bent-pipe satellite, an analog multiplexer satellite, an analog switch satellite, a digital processing satellite, or a hybrid type. The uplinks  114 ,  118  and downlinks  116 ,  120  may be of any modulation type and may have any physical make-up and link layer protocols. Thus, for example, the uplinks may be formed using Frequency Division Multiplexing or Multiple Access (FDM/FDMA), Time Division Multiplexing or Multiple Access (TDM/TDMA), Code Division Multiple Access (CDMA) techniques, or combinations of such access techniques. The bandwidth providing individual frequency channels, time slots, or codes (collectively “subchannels”) may be individually assigned, down to any available level of granularity, as described below, or entire uplinks and downlinks may be assigned as unitary entities constructed from numerous subchannels.  
     [0026] The bandwidth assignment technique discussed below may further take into consideration features available onboard the satellite in order to maximize the effective capacity of the communication system. For example, when the satellite has a concentrating function such as a statistical multiplexer or concentrator (which removes some or all of the unused bandwidth in the uplinks before putting traffic in the downlinks), the invention may consider the presence of the concentrator in its determination of bandwidth assignments. An example of bandwidth assignments taking into consideration the presence of a concentrator is set forth below.  
     [0027] Turning now to FIGS. 2 a  - 2   b , those figures illustrate the inbound and outbound direction of traffic traveling between terminals. In particular, FIG. 2 a  illustrates a satellite  102  forwarding communications from a gateway  104  to a user terminal  106 . The direction of traffic flow from the gateway  104  to the user terminal  106  is referred to as the “outbound” direction. Traffic flow in the outbound direction travels over the gateway uplink  114  (i.e., the outbound uplink), through the satellite  102 , and over the user downlink  120  (i.e., the outbound downlink) to the user terminal  106 . Similarly, FIG. 2 b  shows that traffic flow in the “inbound” direction travels over the user uplink  118  (i.e., the inbound uplink), through the satellite  102 , and over the gateway downlink  116  (i.e., the inbound downlink) to the gateway  104 .  
     [0028] Referring again to FIG. 1, the controller  108  preferably makes and modifies bandwidth assignments, and may also be used in an initial planning role when developing anew communication system. Principal functions of the controller  108  include assigning satellite uplink and downlink bandwidth to the user terminals  106  and the gateways  104  and communicating these assignments to the user terminals  106  and the gateways  104 . The assignments may be communicated in any number of ways including through terrestrial communication networks. In the preferred embodiment, however, the controller communicates assignments over a signaling channel  122  carried through the satellite  102  to the user terminals  106  and the gateways  104 . The signaling channel  122  typically uses a very small amount of bandwidth and may be carried, for example, by any available uplink or downlink.  
     [0029] The monitor  10  periodically evaluates the amount of bandwidth granted to and used by the user terminals  106  and the gateways  104  by using an antenna and processing circuitry or other monitoring hardware/software to evaluate traffic flow. The monitor  110  itself is optional. When the monitor  110  is not present, the controller  108  may operate using approximations or predetermined values. In addition, the monitor  110  may, in some instances, form a part of the controller  108  itself, although the monitor  110  may also be implemented as a remotely operating independent device (with appropriate communication connection to the controller  108 ).  
     [0030] Note that the controller  108  may make bandwidth assignments (discussed below) at a very fine or a very coarse level of refinement or granularity, depending upon the needs and capabilities of the communication system and the detail of information available. In other words, a communication system may only include the capability to assign bandwidth on the basis of entire uplinks or downlinks. On the other hand, a more sophisticated communication system may include the capability to assign bandwidth in terms of individual channels or subchannels (e.g., codes or time slots) in the uplinks and downlinks. The bandwidth assignments described below make the most efficient use of the available bandwidth in light of the granularity constraint imposed by the communication system.  
     [0031] Table 1 presents the quantities that the controller  108  preferably considers in assigning uplinks and downlinks in its preferred implementation:  
                   TABLE 1                       Parameter   Description                  R   The ratio of outbound to inbound traffic.       UE gwul     The utilization efficiency of the gateway uplinks.       UE uul     The utilization efficiency of the user uplinks.       UE gwdl     The utilization efficiency of the gateway downlinks.       UE uudl     The utilization efficiency of the user downlinks.       RelSize   The ratio of the relative raw capacity of an uplink to the raw           capacity of a downlink.       Num up     The number of available uplinks.       Num down     The number of available downlinks.                  
 
     [0032] The parameters in Table 1 may originate, for example, from an engineering or marketing study for a new communication system. The ratio R is the presumed “native” asymmetry in the way a communication system operates. For example, as indicated above in the context of ISPs and web surfers, R may range from 5:1 (R=5) to 20:1 (R=20).  
     [0033] The utilization efficiencies, UE, provide estimates of the amount of traffic that may actually be sent in a unit amount of provisioned bandwidth. For example, a user uplink may operate with a UE uul  of 20% or less due to contentious multiple access techniques (e.g., slotted ALOHA) used on the uplinks. With such techniques, high utilization leads to an unacceptable level of interference (and thus latency) between competing transmitters. In a similar fashion, operating a downlink near 100% of its capacity creates long queues on the satellite because aggregate traffic from numerous sources can exceed the downlink capacity. It is then possible for the queue to grow beyond available memory, resulting in data loss.  
     [0034] As an example, a terminal with a 50% utilization efficiency that is expected, on average, to transmit 100 kbps requires 200 kbps of bandwidth. In this example, 100 kbps of bandwidth is, on average, in use, while the other 100 kbps of bandwidth provides extra capacity to immediately handle bursty traffic. Latency is thereby reduced by overproviding bandwidth. In some instances, as will be seen below, the terminal or gateway is assigned exactly the bandwidth it needs on average (i.e. there is no extra bandwidth capacity on average).  
     [0035] Continuing the description of the parameters shown in Table 1, the term RelSize gives the relative capacity of an uplink and a downlink without regard to the utilization efficiencies or loading of the links. In other words, a RelSize of 2 indicates that an uplink is able to carry twice as much traffic as a downlink. The terms Num up  and Num down  give the number of uplinks and downlinks available for assignment. In one implementation, as noted above, the uplinks and downlinks are assigned in their entireties to the terminals. In more sophisticated implementations, the subchannels within the uplinks and downlinks may be individually assigned according to the discussion and equations set forth below. Thus, for example, assigning 3.3 uplinks to user terminals may, in fact, indicate that 3 entire uplinks, and 3 of 10 subchannels of a fourth uplink are assigned to user terminals.  
     [0036] Turning now to FIG. 3, that figure presents a flow diagram  300  showing the processing that occurs in a preferred implementation of the controller  108 . At step  302 , the controller  108  determines a user uplink bandwidth metric. In particular, the controller  108  determines SUUB, the specific user uplink bandwidth. The SUUB parameter combines the two uplink utilization efficiencies and the outbound-to-inbound traffic ratio to indicate to the controller  108  how much user uplink bandwidth to assign per unit of gateway uplink bandwidth:  
     SUUB=(UE gwul /UE uul )/R  [1] 
     [0037] Next, at step  304 , the controller tentatively divides the available uplinks between the gateway and the user terminals according to equations [2] and [3]:  
               TentAssign   gwul     =       Num   up     /     (     1   +   SUUB     )               [   2   ]                       TentAssign   uul     =       Num   up     *     SUUB   /     (     1   +   SUUB     )                     =       Num   up     -     TentAssign   gwul                     [   3   ]                       
 
     [0038] TentAssign gwul  is the tentative gateway uplink assignment and TentAssign uul  is the tentative user uplink assignment. Note that equations [2] and [3] assign, in total, all the available uplinks either to the gateway or to the users, but that the assignments will not necessarily be whole numbers of uplinks. Such non-integer assignments are allowed if the uplinks may be shared between the users and gateways. Otherwise, the controller  108  adjusts the tentative assignments to whole numbers of uplinks.  
     [0039] The tentative assignment of uplinks is an optimal allocation of uplinks in the sense that it maximizes the total traffic that the uplinks carry subject to the ratio R and the utilization efficiencies. Alternative assignments will carry less traffic. The further an alternate assignment varies from the tentative assignment, the less traffic that assignment carries.  
     [0040] Turning briefly to FIG. 4, that figure illustrates a graph  400  of assignments of uplinks to a gateway, and the resulting outbound capacity used in the outbound direction. The graph  400  reflects the fact that user terminal inbound traffic generates the responsive outbound traffic from the gateway. Therefore, when the user terminals have less than a certain amount of uplink bandwidth for inbound transmissions, the gateway outbound traffic accordingly falls. FIG. 4 shows a scenario in which Num up =7, R=10, UE gwul =1.0, and UE uul =0.3. According to equations [1], [2], and [3], TentAssign gwul =5.25 and TentAssign uul =1.75; because UE gwul =1.0, the outbound capacity is 5.25 units of traffic. The point  402  illustrates the tentative assignment.  
     [0041] As noted above, in some systems, the controller  108  may only assign integer numbers of uplinks or downlinks. In such a system, the controller  108  evaluates the integer assignments around the tentative assignment (if it is not already an integer assignment). Thus, in FIG. 4, the controller  108  evaluates the outbound traffic carried by assigning 5 uplinks to the gateway and 2 uplinks to the user terminals (point  404 ) or 4 uplinks to the gateway and 3 uplinks to the user terminals (point  406 ). At point  404 , the outbound capacity is 5 full units. At point  406 , the outbound capacity is only 3 units (although allocated 6 full uplinks that can carry 6 full units of traffic). Because the one remaining uplink, assigned to the user terminals at UE uul =0.3 (or 0.3 units of traffic on average) only results in R=10 times as much (3 units) outbound traffic.  
     [0042] Returning to FIG. 3, the controller  108  preferably evaluates, at step  306 , the integer solutions on either side of the tentative assignments to find the best realizable uplink assignment. That is, the controller  108  considers the assignments:  
     AssignA gwul =ceiling(TentAssign gwul )  
     AssignA uul =floor(TentAssign uul )  [4A] 
     [0043] and  
     AssignB gwul =floor(TentAssign gwul )  
     AssigB uul =ceiling(TentAssign uul )  [4B] 
     [0044] where ceiling(i) is the smallest integer greater than or equal to i and floor(j) is the greatest integer less than or equal to j.  
     [0045] In one implementation, the controller  108  uses the actual traffic carried in the gateway uplinks as a measure of traffic carrying capacity of an assignment of UL gw  uplinks to the gateways and UL u  uplinks to the users. This measure is accurate because the traffic carried in the user uplinks is 1/R the traffic carried in the gateway uplinks.  
     [0046] In the scenario shown in FIG. 4,  
     [0047] AssignA gwul =6  
     [0048] AssignA uul =1  
     [0049] and  
     [0050] AssignB gwul =5  
     [0051] AssignB uul =2  
     [0052] Next, at step  308 , the controller determines traffic carried in the gateway uplinks according to:  
     CarriedUp(UL gw , UL u )=minimum(UL gw *UE gwul , R*UL u *UE uul )  [5] 
     [0053] The controller determines CarriedUp for each of the assignments that result from equations [4A] and [4B] and then, at step  310 , makes a final uplink assignment depending on which of the two assignments gives the greater capacity:  
     [0054] If CarriedUp(AssignA gwul ,Assign uul ) is greater than or equal to CarriedUp(AssignB gwul ,AssignB uul ) then  
     Assign gwul =AssignA gwul  and  
     Assign uul =AssignA uul   [6A] 
     [0055] Otherwise,  
     Assign gwul =AssignB gwul  and  
     Assign uul =AssignB uul   [6B] 
     [0056] Again, in the scenario shown in FIG. 4 (which is carried through in the equations below):  
     [0057] CarriedUp(AssignA gwul ,AssignA uul )=3, which is less than CarriedUp(AssignB gwul ,AssignB uul )=5 and therefore:  
     [0058] Assign gwul =AssignB gwul =5, and  
     [0059] Assign uul =AssignB uul =2  
     [0060] Next, as shown by transition arrow  312 , the controller  108  proceeds to assign downlinks to the gateways and users. Preferably, the controller  108  makes the assignments such that all the traffic offered to downlinks by the uplinks is carried to the ground. Such assignments may be achieved if the number of available downlinks and the utilization efficiencies of the downlinks are adequate. Otherwise, the controller  108  preferably delivers the greatest possible amount of traffic in the outbound and inbound directions. The controller  108  delivers this maximum using the approach outlined below.  
     [0061] First, at step  314 , the controller determines the amount of traffic offered to the gateway downlinks and the user downlinks. This determination depends upon whether the satellite has a concentrating capability. In other words, the determination depends upon whether the satellite can discard unused uplink bandwidth before offering traffic to the downlinks.  
     [0062] The traffic offered (TO) to the user downlinks and the gateway downlinks, if the satellite concentrates traffic, is:  
     [0063] TO udl =CarriedUp(Assign gwul ,Assign uul ).  
     [0064] TO gwdl =(1/R)CarriedUp(Assign gwul ,Assign uul ).  
     [0065] In the example of FIG. 4, if the satellite concentrates traffic, then TO udl =5 and TO gwdl =0.5  
     [0066] In other words, the traffic offered to a downlink, with concentration, is adjusted to reflect the fact that only part of the uplink carries useful data. The rest does not carry traffic and is discarded before downlinking.  
     [0067] The traffic offered (TO) to the user downlinks and the gateway downlinks, if the satellite does not concentrate outbound traffic, is:  
     [0068] TO udl =Assign gwul , and  
     [0069] TO gwdl =Assign uul    
     [0070] In the example of FIG. 4, if the satellite does not concentrate traffic, TO udl =5 and TO gwdl =2.  
     [0071] In other words, the traffic offered to a downlink, without concentration, is exactly equal to traffic arriving in the corresponding uplink. Nothing is discarded.  
     [0072] The controller, at step  316 , next combines the offered traffic values, the relative size of uplinks compared with downlinks, and the utilization efficiencies of the downlinks to determine the need for downlink bandwidth using the following equations:  
     Need gwdl =RelSize * TO gwdl /UE gwdl   [7] 
     Need udl =RelSize * TO udl /UE udl   [8] 
     [0073] Assuming that RelSize=2, with concentration, in the example of FIG. 4, and UE gwdl =0.7 and UE udl =1.0, then  
     [0074] Need gwdl =2 * (0.5/0.7)=1.43.  
     [0075] Need udl =2 * (5/1.0)=10.  
     [0076] If ceiling(Need gwdl )+ceiling(Need udl ) is less than or equal to Num down , the controller  108  (at step  318 ) preferably assigns ceiling(Need gwdl ) downlinks to the gateways and ceiling(Need udl ) downlinks to the users. Any additional downlinks may be held in reserve or assigned in any manner desired.  
     [0077] Conversely, if Num down  is inadequate to meet the total need, the controller  108  preferably finds an assignment that maximizes the overall throughput of the system, even if the assignment falls short of delivering all of the uplinked traffic. In an actual system implementation, the uplinked traffic will be reduced to match the maximal downlink capacity that results from the assignment.  
     [0078] In a system in which downlinks are divisible and in which fractions of uplinks may be downlinked, the optimal assignment is:  
               TentAssign   gwdl     =       Num   down     *       Need   gwdl     /     (       Need   gwdl     +     Need   udl       )                 [   9   ]                       TentAssign   udl     =       Num   down     *       Need   udl     /     (       Need   gwdl     +     Need   udl       )                     =       Num   down     -     TentAssign   gwdl                     [   10   ]                       
 
     [0079] For the example of FIG. 4, assuming Num down =10:  
     [0080] TentAssign gwdl =10 * 1.43/(1.43+10)=1.25  
     [0081] TentAssign udl =10 * 10/(1.43+10)=8.75  
     [0082] In some systems, however, the controller  108  assigns each downlink exclusively to the gateways or the users. In further systems, there may be uplinks that are not concentrated and that are therefore downlinked in their entirety (or else are abandoned). The operation of the controller  108  in these systems is explained below.  
     [0083] The controller  108  examines the traffic-carrying capacity of alternative downlink assignments where each assignment is a whole number of downlinks. The controller  108  proceeds by working backward through the preceding equations from the alternative assignment of downlinks to the capacity. The measure of capacity is preferably the CarriedUp value obtained using equation [5].  
     [0084] The controller  108  considers alternative assignments of DL gw  downlinks assigned to gateways and DL u  downlinks assigned to user terminals (step  320 ). The controller  108  then preferably determines the capacity of the downlinks to carry traffic offered to them. Equations [7] and [8] may be modified to produce equivalent traffic offered, ETO equations shown below in equations [11] and [12]. The ETO is the amount of offered traffic that would fill the downlink assignment currently under consideration. (ETO is measured in units equal to the capacity of an uplink.)  
     ETO gwdl =DL gw *UE gwdl /RelSize  [11] 
     ETO udl =DL u *UE udl /RelSize  [12] 
     [0085] Assuming, for example, that the controller  108  is evaluating an assignment DL gw =3 and DL u =7, then:  
     [0086] ETO gwdl =3 * 0.7/2=1.1.  
     [0087] ETO udl =7 * 1.0/2=3.5.  
     [0088] If uplinked traffic is not concentrated, then the uplinked traffic is carried down in indivisible quanta of full uplinks. Therefore, without concentration, the controller  108  compensates by truncating values of ETO to whole integers (step  322 ). Note that one restriction assumed in the non-concentrated traffic case is that the quotient (UE/RelSize) is greater than or equal to 1, otherwise the uplink would not fit into a downlink. Note also that if traffic is concentrated, the restriction does not apply.  
     [0089] It is further noted that either or both of the outbound and inbound paths can be concentrated or not concentrated independently of the other. The present technique applies to each case, however. For example, in a non-concentrated path, the value of ETO will be compensated by truncation, while in the concentrated path it will not be truncated).  
     [0090] Next, the controller  108  preferably converts ETO to equivalent uplinks, EUL at step  324 . Equivalent uplinks are the number of uplinks which would offer ETO traffic to the downlinks when the uplink utilization efficiency is taken into account. Again, a distinction is preferably made between concentrating and non-concentrating directions through the satellite. If both directions are concentrated, then the EUL are evaluated using:  
     EUL gw =minimum(Assign gwul , ETO udl /UE gwul )  [13] 
     EUL u =minimum(Assign uul , ETO gwdl /UE uul )  [14] 
     [0091] where Assign gwul  and Assign uul  are the uplink assignments obtained from equations [6A] or [6B]. They are included here since the satellite cannot downlink more traffic than is uplinked to it.  
     [0092] The controller  108 , at step  326 , determines traffic carried as:  
     TC=minimum(EUL gw  * UE gwul,  R * EUL u  * UE uul )  [15] 
     [0093] For the example of FIG. 4:  
     [0094] EUL gw =min(5, 3)=3.  
     [0095] EUL u =min(2, 1/0.3)=min(2, 3.33)=2.  
     [0096] TC=min(3 * 1, 10 * 2 * 0.3)=min(3, 6)=3.  
     [0097] If neither path is concentrated, then the EUL are evaluated using:  
     EUL gw =minimum(Assign gwul , ETO udl )  [16] 
     EUL u =minimum(Assign uul , ETO gwdl )  [17] 
     [0098] and, again, traffic carried, TC, is determined using equation [15].  
     [0099] For the example under consideration:  
     [0100] EUL gw =min(5, 3.5)=3.5.  
     [0101] EUL u =min(2, 1.1)=1.1.  
     [0102] TC=min(3.5 * 1, 10 * 1.1 * 0.3)=min(3.5, 3.3)=3.3.  
     [0103] If one path is concentrated while the other is not, then the EUL are found by choosing from among equations [13], [14], [16], and [17] according to the paths that are concentrated, and applying equation [15] to the result  
     [0104] The controller  108  preferably repeats this process for all possible downlink assignments. The assignment which obtains the greatest value for TC is selected (step  328 ). The assignment values are put into Assign gwdl  and Assign udl  for communication to the gateways and users, in a bandwidth assignment message.  
     [0105] As another example, assume a concentrating satellite which allocates uplinks and downlinks in their entirety to users or gateways. The relevant input quantities are shown in Table 2:  
                           TABLE 2                                   Parameter   Value                                                    R   10           UE gwul     0.8           UE uul     0.2           UE gwdl     0.7           UE udl     1           RelSize   1           Num up     10           Num down     10                      
 
     [0106] The values obtained from the equations above are:  
     [0107] [1] SUUB=(0.8/0.2)/10=0.4  
     [0108] [2] TentAssign gwul =10/(1+0.4)=7.14  
     [0109] [3] TentAssign uul =10 * 0.4/(1+0.4)=2.86  
     [0110] [4A] AssignA gwul =8, Assign uul =2  
     [0111] [4B] Assign gwul =7, Assign uul =3  
     [0112] [5] CarriedUp applied to [4A] yields 4  
     [0113] CarriedUp applied to [4B] yields 5.6  
     [0114] [6A] Does not apply.  
     [0115] [6B] Assign gwul =7, Assign uul =3  
     [0116] Because the satellite concentrates in both the inbound and outbound directions, the traffic offered is found as:  
     [0117] TO udl =CarriedUp=5.6  
     [0118] TO gwdl =(1/10) CarriedUp=0.56  
     [0119] [7] Need gwdl =1 * 0.56/0.7=0.8  
     [0120] [8] Need udl =1 * 5.6/1=5.6  
     [0121] Since ceiling(Need gwdl )+ceiling(Need udl )=1+6&lt;=10, the controller  108  sets Assign gwdl =1 and Assign udl =6.  
     [0122] Since the capacity is not limited by the downlink side, the capacity of the system, TC, is equal to the uplink capacity. Measuring this capacity as the capacity of the gateway uplinks (i.e., using CarriedUp gwul ), the capacity is 5.6 links worth of traffic.  
     [0123] Using a conventional symmetric assignment, the controller would assign Assign gwul , Assign uul , Assign gwdl , and Assign udl  each equal to 5. The system would be constrained by the capacity of the gateway uplinks (5 * 0.8=4 links worth of traffic). Thus, the asymmetric assignment carries 40% more traffic than the symmetric assignment. Further, if the controller  108  is used during system planning, the system designers will be alerted to the fact that only 7 downlinks are required to support 10 uplinks. By incorporating the asymmetry into the design of the system, critical satellite resources which would have been wasted can instead be used to support other beams and to increase the useful capacity of the satellite.  
     [0124] With the general aspects of the current technique set forth above, FIGS. 5 and 6 next present additional examples of asymmetric bandwidth assignment. Turning now to FIG. 5, that figure illustrates a communication system  500  including a bent-pipe non-concentrating satellite  502 , a gateway  504 , and numerous user terminals  506 . A controller  508  is also present in the spotbeam  510  generated by the satellite  502 . FIG. 5 further illustrates three gateway uplinks  512 , a gateway downlink  514 , three user terminal downlinks  516 , a user terminal uplink  518 , and a signaling channel  520 . The way in which the uplinks  512 ,  518  and downlinks  514 ,  516  were assigned is explained below.  
     [0125] For the communication system  500 , the following parameters set forth in Table 3 are assumed to apply:  
                           TABLE 3                                   Parameter   Value                                                    R   10           UE uul     0.3           UE gwul     1.0           UE udl     1.0           UE gwdl     1.0           RelSize   1           Num up     4           Num down     4                      
 
     [0126] Evaluating the equations above yields:  
     [0127] [1] SUUB=(1/0.3)/ 10 = 0 . 33   
     [0128] [2] TentAssign gwul =4/(1+0.33)=3.01  
     [0129] [3] TentAssign uul =4 * 0.33/(1+0.33)=0.99  
     [0130] [4A] AssignA gwul =4, Assign uul =0  
     [0131] [4B] Assign gwul =3, Assign uul =1  
     [0132] [5] CarriedUp applied to [4A] yields 0  
     [0133] CarriedUp applied to [4B] yields 3  
     [0134] [6A] Does not apply.  
     [0135] [6B] Assign gwul =3, Assign uul =1  
     [0136] Because the satellite does not concentrate, the traffic offered is found as:  
     [0137] TO udl =3  
     [0138] TO gwdl =1  
     [0139] [7] Need gwdl =1 * 1/1=1  
     [0140] [8] Need udl =1 * 3/1=3  
     [0141] Since ceiling(Need gwdl )+ceiling(Need udl )=1+3&lt;=4, the controller  508  sets Assign gwdl =1 and Assign udl =3.  
     [0142] The capacity of the communication system  500 , TC, is equal to the uplink capacity, or 3 units of traffic (assuming each uplink carries one unit of traffic). Using a conventional symmetric assignment, however, the controller would assign Assign gwul , Assign uul , Assign gwdl , and Assign udl  each equal to 2. The system would by constrained by the capacity of the gateway uplinks (2 * 1=2 units of traffic). Thus, the asymmetric assignment carries 50% more traffic than the symmetric assignment. Note that the satelite  302  provided the spot beam  310  with equal bandwidth in the uplinks  312 ,  318  and downlinks  314 ,  316 . Although the total uplink and downlink bandwidth provided was balanced or equal, the controller  308  assigned it asymmetrically.  
     [0143]FIG. 6 illustrates application of the present method for assigning bandwidth in a more complicated communication system  600 . FIG. 6 illustrates a satellite  602  providing three spot beams (beam 1   604 , beam 2   606 , and beam 3   608 ) of coverage for the communication system  600 . Beam 1   604  includes the user terminals  610 , beam 2   606  includes the user terminals  612 , and beam 3   608  includes the user terminals  614 , a controller  616 , and a gateway and monitor  618 . Note also that the satellite  602  carries a statistical multiplexer  620  (i.e., a concentrator). FIG. 6 also illustrates a signaling channel  622  and numerous uplinks  626 ,  630 ,  634 , and  636  and downlinks  624 ,  628 ,  632 , and  638  (to be discussed in more detail below).  
     [0144] Table 4 describes the parameters of the system shown in FIG. 6:  
                           TABLE 4                                   Parameter   Value                                                    R   10           UE uul     0.3           UE gwul     1.0           UE udl     1.0           UE gwdl     1.0           RelSize   1.5           Num up     9           Num down     10                      
 
     [0145] Evaluation of the equations above yields:  
     [0146] [1] SUUB=(1/0.3)/10=0.33  
     [0147] [2] TentAssign gwul =9/(1+0.33)=6.77  
     [0148] [3] TentAssign uul =9 * 0.33/(1+0.33)=2.23  
     [0149] [4A] AssignA gwul =7, Assign uul =2  
     [0150] [4B] Assign gwul =6, Assign uul =3  
     [0151] [5] CarriedUp applied to [4A] yields 6  
     [0152] CarriedUp applied to [4B] yields 6  
     [0153] [6A] Does not apply.  
     [0154] [6B] Assign gwul =6, Assign uul =3, since the communication system  600  needs at least 3 uplinks to support the three different beams  604 ,  606 ,  608 .  
     [0155] Because the satellite  602  concentrates, the traffic offered is:  
     [0156] TO udl =6  
     [0157] TO gwdl =0.6  
     [0158] [7] Need gwdl =1.5 * 0.6/1=0.9  
     [0159] [8] Need udl =1.5 * 6/=9  
     [0160] Since ceiling(Need gwdl )+ceiling(Need udl )=1+9=10&lt;=10, the controller  616  sets Assign gwdl =1 and Assign udl =9. Three user terminal downlinks  624 ,  628 ,  632  are allocated for each spot beam  604 ,  606 ,  608 .  
     [0161] The assignment illustrated in FIG. 6 gives the communication system  600  a traffic capacity of  9  traffic units. Note also that the system designers do not need to include the circuitry for a tenth uplink (to match the  10  downlinks), because ten uplinks are not required for maximum throughput operation. In this example, a conventional assignment of bandwidth would result in  5  user uplinks and downlinks and  5  gateway uplinks and downlinks. It is very likely that each of beam 1   604  and beam 2   606  would have been assigned two user uplinks and downlinks, and beam 3   608  would have been assigned one user uplink and downlink and four gateway uplinks and downlinks. The conventional system capacity would have been  5  traffic units. The bandwidth assignment distributed by the controller  616  increases system capacity by 80% in this example.  
     [0162] In the communication system  600 , however, the controller  616  creates an asymmetric provisioning of uplinks and downlinks. Beam 1   604  and beam 2   606  each are assigned three downlinks  624  (for user terminals  610 ),  628  (for user terminals  612 ) and one uplink  626  (for user terminals  610 ),  630  (for user terminals  612 ). In beam 3   608 , three downlinks  632  and one uplink  634  are assigned to user terminals  614 , while six uplinks  636  and one downlink  638  are assigned to the gateway  618 . The asymmetric assignment greatly increases system capacity.  
     [0163] Turning now to FIG. 7, that figure illustrates a block diagram of a controller  700  that may be used to determine bandwidth distributions as described above. The controller  700  includes input parameter determination circuitry  702 , uplink and downlink assignment circuitry (assignment circuitry)  704 , and communication circuitry  706 . The controller  700  may receive input parameters from engineering or marketing inputs  708 , or from a controller input  710 . The controller  700  transmits uplink and downlink assignment information to gateway terminals and user terminals using the gateway output  712  and the user terminal output  714  (both of which, for example, may couple to a transmitter that sends information over a single signaling channel).  
     [0164] In operation, the input parameter determination circuitry  702  directly accepts (from a marketing study, for example), or determines (from monitor  110  information) the parameters of interest in designing or operating a communication system. The input parameters, preferably, correspond to those illustrated in Table 1. With the input parameters known, the assignment circuitry  704  determines, as described above, an assignment of uplinks and downlinks to the user terminals and the gateway terminals. After the assignment circuitry  704  determines the appropriate distribution of uplinks and downlinks, the communication circuitry  706  creates an appropriate message (in any supported format) that relays the uplink and downlink assignments to the gateways and user terminals. The communication circuitry  706  may use, for example, a single signaling channel received by the user terminals and the gateways for this purpose. As a general matter, the controller  700  may be implemented using one or more general purpose CPUs, DSPs, or ASICs, or using discrete logic, either as a general programmed computer executing instructions from a memory, or as a hardware only implementation.  
     [0165] Note that the controller  700  may be used as both a planning tool and as an operational tool. As a planning tool, the controller  700  may be used to determine the number of uplinks and downlinks to be built into a communication system, determine the assignment of the uplinks and downlinks to gateways and user terminals, and determine (based on expectations of user take-up of service and on the planned locations of the gateways) the number of uplinks and downlinks to be placed in each satellite beam. The planning tool first stores given or predetermined input parameters, and may be used to determine the remaining parameters (e.g., Num down ) in view of the equations above. As an operational tool, the controller  700  may be used to periodically (e.g., once per day, week, month, or year) allocate and reallocate uplinks and downlinks on a semi-permanent or dynamically changing basis in an existing communication system.  
     [0166] It is further noted that the controller  700  maybe on-board the satellite or on the ground. If the controller  700  is on the ground, it may be co-located with other ground elements or located away from the ground elements with a suitable wire or wireless interconnection, whichever is preferable in the system design. As noted above, the controller  700  may also be used to determine, with multiple gateways and satellite beams, the distribution of uplinks and downlinks in the many beams rather than only determining the number of uplinks and downlinks assigned to gateways and users.  
     [0167] Thus, the present invention assigns communication bandwidth based in part on the symmetry in inbound and outbound communication between terminals through a satellite. The bandwidth assignments are tailored to the actual needs of the terminals in terms of both bandwidth and latency. As a result, the bandwidth assignments significantly increase the communication capacity, revenue, and throughput of the communication system.  
     [0168] While particular elements, embodiments and applications of the present invention have been shown and described, it is understood that the invention is not limited thereto since modifications may be made by those skilled in the art, particularly in light of the foregoing teaching. It is therefore contemplated by the appended claims to cover such modifications and incorporate those features which come within the spirit and scope of the invention.