1. Field of the Invention
The present invention relates to a system and method for managing a dynamic load of random access channels. More specifically, the present invention uses various novel methods to estimate traffic in order to prevent overloading of any random access channel.
2. Background of the Invention
In the related art, shared-resource communications networks such as satellite, cable, and terrestrial wireless systems use a variety of methods for sharing network bandwidth among multiple distributed terminals. Many related art systems include a related art “random-access” (i.e., Aloha) method as one of the channel access methods. Typically, certain channels among various carriers are designated as random-access channels, and are available for use by any terminal at any time.
However, the aforementioned related art computer program and system have various problems and disadvantages. For example, but not by way of limitation, multiple terminals may simultaneously transmit into the random-access channel to cause the bursts to “collide,” and the data is lost. In response, the data is typically retransmitted by the terminals in a manner that minimizes the probability of a re-collision.
The aforementioned related art random access channels are typically used for sending signaling and control messages to a central Network Control Center (NCC), as well as for user data traffic, especially if the user traffic is bursty and intermittent.
If the input traffic load exceeds a certain threshold, then the useful throughput of the random access channel declines, due to the aforementioned related art problem of colliding bursts that are retransmitted, thus further increasing the channel load. If the related art random-access slots are time-aligned (i.e., slotted aloha), then the maximum throughput of such channels is 36% of channel capacity. However, if the random access time slots are not time-aligned, then the maximum throughput is only 18%.
Also, related art systems with many terminals require a mechanism to estimate the load into the random-access channel, so that traffic can be reduced when the load exceeds a prescribed threshold. Related art approaches to this issue have used a centralized method, where the central NCC gathers channel load information and distributes estimated loading factors to terminals. For example, but not by way of limitation, related art approaches have used collision detection hardware techniques to estimate channel loading, or information from the messages themselves that is indicative of whether the message is an original message or a retransmission.
However, the aforementioned related art approaches have various problems and disadvantages. For example, but not by way of limitation, the related art approaches work only for networks where the contention channels can be monitored by the NCC. However, in many networks such an arrangement is not possible. Networks that contain a large number of terminals require considerable processing power at the NCC to monitor the large number of contention channels.
Further, a related art network may contain contention channels for direct terminal-to-terminal traffic, and as a result, the NCC may not have access to those channels. Also, the related art centralized approach requires feedback to the terminal indicating whether a message was receive correctly. In centralized systems, the NCC provides feedback when a message is correctly received, whereas collision of a message is indicated by the lack of feedback within a certain timeout period.
It is an object of the present invention to overcome at least the aforementioned problems and disadvantages of the related art system.
It is another object of the present invention to provide a system and method for use in networks with centralized as well as distributed channel monitoring and control.
It is also an object of the present invention to provide a distributed approach in a satellite network with on-board processing as an example of a specific implementation and description.
To achieve at least the foregoing objects, a method of sharing bandwidth among a plurality of terminals communicating with a satellite is provided, comprising (a) designating a random access channel that is available for use by any of the plurality of terminals; (b) estimating a load at the random access channel, wherein each of the terminals receives a control signal indicative of a traffic level of the random access channel, from the satellite and monitors the control signal to determine whether a data message transmitted from the terminals has been received in the satellite; (c) retransmitting the data message from one of the terminals to the satellite if the terminal has not received the control signal within a first predetermined time period; (d) discarding the message in the terminal if the satellite has received the message.
Additionally, a system for sharing bandwidth during communication is provided, comprising a plurality of terminals configured to wirelessly communicate with one another, and a random access channel configured to communicate data messages between any of the plurality of terminals in accordance with an estimated load of the random access channel, wherein each of the terminals receives a control signal indicative of a traffic level of the random access channel from a satellite, and monitors the control signal to determine whether a data message transmitted from the terminals has been received in the satellite.
The accompanying drawings, which are included to provide a further understanding of illustrative, nonlimiting embodiments of the present invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the principles of the drawings.
Reference will now be made in detail to an illustrative, non-limiting embodiment of the present invention, examples of which are illustrated in the accompanying drawings. In the present invention, the terms are meant to have the definition provided in the specification, and are otherwise not limited by the specification.
The present invention includes networks having terminals, where each terminal receives its own random-access burst, as well as bursts of other terminals that share the random-access channel. On-board processing and routing satellites employ multiple geographic beams, and are configured to receive multiple messages in a contention channel burst. Each message is independently routed by the satellite, depending on destination address or virtual circuit identifier of the message. The present invention includes a method that uses the above-described. technique to send a random access channel control signal in each burst (e.g., a control message), that is monitored by the transmitting terminal or by all terminals sharing the channel.
The receipt or non-receipt of the control message provides immediate indication to the transmitting terminal as to whether the burst was received without collision at the satellite. This indication is used to decide whether to retransmit the message. An exponential backoff technique is used to minimize the probability of re-collision.
Two exemplary techniques of the present invention are described below for channel loading estimation. In a first exemplary technique of the present invention, all control messages are received and monitored by all terminals. Each control message contains information that allows each terminal to independently and accurately compute the channel loading within a short period of time. Also, each terminal independently blocks a certain fraction of its traffic from entering the contention channel (i.e., random access channel) to maintain the net channel loading below a prescribed threshold value. In a second exemplary technique of the present invention, each terminal receives and monitors its own control messages only. The second exemplary technique considerably reduces the processing load on each terminal, with only a small reduction in accuracy and overall fairness.
The exemplary method of the present invention is described with respect to a satellite network as shown in
A set of channels is designated as random-access time slots (or channels).
When a terminal (e.g., 1a) determines that it needs to use a random-access channel for sending one or more data messages, the terminal discards the data messages with a probability b, where b is the blocking probability for the channel (i.e., blocking factor). In the related art, excessive traffic results in collisions, which in turn results in decreased throughput. As a result, there is a need to constrain traffic to a predetermined level (e.g., 36%) in order to limit collisions. For example, but not by way of limitation, when traffic exceeds 36%, collisions occur to substantially lower throughput in the related art.
In the present invention, the blocking factor b blocks a certain portion of the traffic when the traffic is considered to be high (e.g., greater than or equal to 36%). As a result, traffic at the random channel is managed to reduce collisions through use of the blocking factor in hardware and/or software.
When the channel load is high, b is used to block out a certain percentage of the traffic from entering the channel. In the present invention, the term “blocking” includes, but is not limited to, throwing away the packet to avoid having that packet collide in the random channel. An attempt may be made at a later time to retransmit the packet.
If the data message is not discarded, then the data message is sent in the next available random access channel, along with a control message that contains the value b (i.e., blocking probability) and a retransmission number nr that is initially set to 0. As noted above, the blocking probability is used to prevent a certain part of the traffic from entering the random channel, thus preventing collisions. Further, the retransmission number is incremented only when retransmission is required, and is otherwise set to zero if the packet is transmitted without requiring retransmission.
The transmitting terminal monitors the downlink channels to determine whether the control message has been received correctly by the satellite and routed towards the destination terminal. If the control message has been received, then the data message is discarded. Further, if the control message has not been received within a timeout period, then the terminal selects a random access channel from the next N random access slots, where N=RI*2nr−1. The foregoing relationship represents the use of exponential backoff, and generally represents that N doubles each subsequent time that retransmission is required. For example, but not by way of limitation, if nr=0, then N=RI, and if nr=1, then N=2RI. On subsequent retransmissions, N=4RI, then 8RI and then 16RI, and so on, as long as further retransmission is required.
As noted above, nr is the retransmission number of the message, 0<=nr<MaxR, and further, RI is the initial randomization interval in slots, RI>0. The message is retransmitted in the selected channel with the control message. As noted above, the control message contains the value b and retransmission number nr. However, if the control message is not received after MaxR transmissions or within a certain “giveup” timeout period, then the message is discarded.
The exemplary description of the present invention uses an exponential backoff strategy to improve the probability of success on each retransmission. Other schemes, such a linear or constant backoff, can also be used. However, the present invention is not limited thereto.
Alternatively, in frame-based TDMA systems, a terminal may select a random access channel from among the next F frames, where F=ceiling((RI*2nr−1)/S), and S represents the number of useable random access channels per frame.
In the first exemplary method of the present invention, each terminal monitors the control messages sent by every terminal. The value of blocking factor b is initialized to 0, and a value of nravg, which is an average of received nr values and is described in greater detail below, is initialized to 0. Every T3 seconds, the terminal performs at least the following two computations.
In a first computation, a terminal computes nravg as the average of the nr values in all the control messages received over the past T3/2 seconds. If no control messages are received in that period, then nravg is set to the previous value of nravg multiplied by 0.95. In a second computation, a terminal computes bavg as the average of the b values in all the control messages received over the past T3/2 seconds. If no control messages are received in that period, then bavg is set to b.
The foregoing first and second computations may be performed in any order, and are performed on a subset of the control messages received over the past T3/2 seconds. After computing navg and bavg as described above, the terminal computes b as described below.
A value for channel load g and a value for channel input load si are obtained, and then a value of a subtractive factor a is calculated based on b and bavg. The value of a is modified based on the value of g and si, and a is then subtracted from 1 to obtain the value of b. Further details of the process are illustrated in the exemplary pseudocode provided below, where MaxInputLoad represents the maximum allowed channel input load parameter.
In the foregoing calculations, bavg is used so that all terminals converge to the same value of b. Additionally, overall system behavior is a function of the average value of b across all terminals. Without use of the foregoing bavg feature, different terminals would compute different values of b while the overall average is the correct value for the system. In such a case, loss of fairness across terminals would result.
In the exemplary embodiment of the present invention, the following typical values for the various parameters are shown below:
Parameter values are dynamically configurable, so that appropriate values can be selected depending on network architecture and size.
In the second exemplary embodiment of the present invention, each terminal monitors its own control messages only. The value of b is initialized to 0. When a control message is received by the terminal, the following steps are performed:
In the foregoing process, NRTH represents a threshold value such that if the number of retransmissions nr of a successfully delivered message is greater than or equal to NRTH, the channel load is too high. ADEC represents a factor by which (1−b) is decreased when the channel load appears high, and AINC represents a factor by which (1−b) is increased when the channel load appears low. MINA represents the minimum value allowed for (1−b). If neither of the above-described conditions are satisfied with respect to NRTH, then the value of b remains unchanged.
Whenever a random access channel transmission is unsuccessful (i.e., the giveup timer expires or the cells are transmitted MaxR times), the following computation is performed by one of the terminals:
b=1−max((1−b)*ADEC, MINA)
Exemplary values for the various parameters for the second exemplary embodiment of the present invention are described below. However, the present invention is not limited thereto:
Parameter values are dynamically configurable. Thus, appropriate values can be selected depending on network architecture and size.
Unlike the first exemplary embodiment of the present invention, in the second exemplary embodiment, a terminal does not have access to all activity on the channel. As a result, the channel cannot compute b on an ongoing basis. Hence, the second exemplary embodiment of the present invention uses an iterative scheme to incrementally increase or decrease b, depending on the result of a message sent on the channel by that terminal.
In both of the foregoing exemplary descriptions the present invention, the values of the blocking factor b in one or more terminals are typically collected by the NCC periodically, to perform long-term monitoring of the channels and to determine whether additional channel capacity is needed.
As noted above, the present invention is not limited to the foregoing exemplary descriptions, and additional descriptions are described in greater detail below. For example, but not by way of limitation, the present invention performs dynamic load management of random access channels for a satellite FDMA/TDMA network with a switching satellite and ground-based user terminals. However, the present invention is not limited thereto, and the method can be used in other networks including, but not limited to, wireless and cable systems. Further, variations of the method can be used for other satellite and terrestrial systems.
The algorithms described in this invention can also be used in centralized approaches, where the channel load estimation computation is performed at a central NCC and then distributed to the terminals. The control message in that case is sent to the NCC.
The method of the present invention can also be used without the control message. For example, but not by way of limitation, the control information in the control message can be “piggy-backed” on the data message itself, thus eliminating the need for the control message. The data message is then monitored by all or one terminal, which then extracts the control information to perform the requisite computations.
Also, the present invention can be applied to slotted-aloha or unslotted-aloha channels. Additionally, in a system with a large number of random access slots that are spread, possibly across multiple carriers, a terminal may select a random subset of slots for its own usage.
Further, the retransmission protocol of the present invention can be implemented in the media access control (MAC) layer, so that upper layer protocols that generate data messages are not aware of or involved in random access channel management.
The present invention has various advantages over the related art. For example, but not by way of limitation, the present invention can be implemented efficiently in software or hardware. Also, the present invention does not require collision detection hardware. Further, the bandwidth overhead of the scheme is very small.
Additionally, it is an advantage of the present invention that floating point arithmetic is not required for the computations. For example, but not by way of limitation, fixed-point (i.e., scaled) arithmetic may be used, as 1n(x) can be computed using a table lookup for discrete values of x in the range of about 0 to 3 in steps of about 0.05.
In the first exemplary process of the present invention, the algorithm has an advantage in that it is fair to all terminals. Each terminal converges at the same value of the blocking probability b. Further, the second exemplary process of the present invention has the advantage of being computationally more efficient Accordingly, the algorithm is fair to all terminals over a long period of time, and only unfair for substantially short periods of time.
It will be apparent to those skilled in the art that various modifications and variations can be made to the described illustrative embodiments of the present invention without departing from the spirit or scope of the invention. Thus, it is intended that the present invention cover all modifications and variations of this invention consistent with the scope of the appended claims and their equivalents.
This application claims the benefit of U.S. Provisional Application No. 60/283,914, filed Apr. 13, 2001, under 35 U.S.C. § 119(e).
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US02/08255 | 4/11/2002 | WO |
Number | Date | Country | |
---|---|---|---|
60283914 | Apr 2001 | US |