1. Field of the Invention
This invention relates generally to a bandwidth allocation scheme for Time Division Multiple Access (TDMA) systems, and specifically to efficient bandwidth allocation for Transmission Control Protocol/Internet Protocol (TCP/IP) systems over a TDMA-based satellite network.
2. Description of the Related Art
Using satellites for Internet and Intranet traffic, in particular multicasting of digital video through use of Digital Video Broadcast (DVB) and two-way broadband communication has recently received a great deal of attention. Satellites can help relieve Internet congestion and bring the Internet and interactive applications to countries that do not have an existing network structure, as well as provide broadband interactive application support.
As one means of using satellite technology in this growing field, very small aperture terminals (VSATs) provide rapid and reliable satellite-based telecommunications between an essentially unlimited number of geographically dispersed sites. VSAT technology has established effective tools for LAN internetworking, multimedia image transfer, batch and interactive data transmission, interactive voice, broadcast data, multicast data, and video communications.
The Internet Protocol (IP) is the most commonly used mechanism for carrying multicast data. Examples of satellite networks capable of carrying IP Multicast data include Hughes Network System's Personal Earth Station (PES) VSAT system and Hughes Network System's DirecPC® system. Combining VSAT delivery with standards-based IP multicast ensures users a less expensive and more flexible approach to achieving high-quality, real-time broadcasting. Satellite Digital Video Broadcast (DVB) technology and the Internet Protocol (IP) have converged (“IP/DVB”) to allow users transparent access to a variety of broadband content, including live video, large software applications, and media-rich web sites.
In support of these developments, VSAT systems, such as the Personal Earth Station mentioned above, allow commercial users to access one of a generally limited number of satellite return channels to support two-way communication. The choice of return or inbound channel is usually restricted to only a group of only a few of the possible channels preconfigured by a combination of hardware and/or software limitations. Some commercial systems may use a VSAT system terminal for Internet access to receive HTTP responses via the outbound satellite broadcast channel, and may send HTTP requests to the Internet through a VSAT inbound channel. Unfortunately, as these systems are mass-marketed to consumers and the number of users increases, the generally limited number of inbound channels can experience congestion and reduced user throughput as a result of an increasing number of users competing for a finite number of inbound satellite channels. The potential benefits that VSAT technology bring to consumers in the area of broadband delivery are necessarily diminished by the limited bandwidth, available on the inbound channels.
Slotted-time approaches for the uplink channels are commonly used and may be based on Time-Division Multiple Access (TDMA). TDMA is a technique for allocating multiple channels on the same frequency in a wireless transmission system, such as a satellite communication system. TDMA allows a number of users to access a single radio frequency (RF) channel without interference by allocating unique time slots to each user within each channel. Access is controlled using a frame-based approach, and precise system timing is necessary to allow multiple users access to the bandwidth (i.e. time slot access) necessary to transmit information in a multiplexed fashion on the return channel.
Transmissions are grouped into frames, with a frame synchronization (“sync”) signal usually being provided at the beginning of each frame. Following the frame sync, there are a number of time “slices” within the frame for burst transmissions. In the simplest case, one time slice representing a fixed amount of bandwidth is allocated to each of the users having the need to transmit information. Each TDMA user gets a specific time slot (or slots) in the channel, and that time slot is fixed for the user during the transmission. In more complicated systems, multiple time slices are made available to users based on transmission need or a prioritization scheme. After all time slices have elapsed, another frame synchronization signal is transmitted to restart the cycle. However, even if the user has nothing to transmit, the time slot is still reserved, resulting in inefficient utilization of the available bandwidth.
TDMA requires a method for timing of the epochs of burst transmission to reduce burst overlap and consequent “collisions” of different users' transmissions. In addition, providing each remote user access to needed uplink bandwidth (essentially equivalent to slot access) becomes more difficult when sharing a larger number of different inroute or uplink channels among a large number of users. With TDMA, each VSAT accesses a control node via the satellite by the bursting of digital information onto its assigned radio frequency carrier. Each VSAT bursts at its assigned time relative to the other VSATs on the network. Dividing access in this way—by time slots—allows VSATs to make the most efficient use of the available satellite bandwidth. Like most TDM-based protocols, bandwidth is available to the VSAT in fixed increments whether or not it is needed, as discussed above. Establishing an equitable allocation of uplink bandwidth for each of the uplink or inroute users is difficult due to uneven (i.e. fluctuating heavy or light) loading within a group of uplink channels, and due to relatively uneven loading between groups of uplink channels.
FIG. 1 provides an exemplary conventional satellite communication system 100 which limits each of “k” possible remote users 140 to one return channel group 160 out of “n” available groups. Each of the n return channel groups 160 could, for example, have “m” return channel frequencies available, thereby allowing each remote user to uplink on one of the m frequencies, as access is granted. Uplink timing information may be derived from transceiver 150 using the received outroute broadcast 120 transmitted by earth station 110 through satellite 130. Outroute broadcast 120 may include several information streams each received by a portion of remote users 140. Timing signals for each remote user may be derived from its associated information stream, and independent from the uplink timing information, and further may be applicable only for the return channel group 160 assigned to the particular remote user 140. In addition, internet/intranet access may be provided to remote users 140 through earth station 110 and gateway 170.
As the use of two-way satellite networks has expanded into the consumer market, industry has further pursued internetworking of multiple satellite-broadcast networks and their associated independent inroute (“inbound”) or uplink channels. As the market expands, the number of possible uplink users further increases, and the previous approaches to allocation of return channel bandwidth to users in fixed, predetermined uplink channel groups necessarily requires additional hardware and system complexity in order to accommodate the increased uplink demand. If return channel groups base their frame timing on a particular satellite broadcast which is not common to all remote users across return channel groups, then users are necessarily limited to their pre-assigned return channel group, thus limiting flexibility.
Further, this approach becomes increasingly inefficient both in terms of hardware allocation, cost, and uplink channel bandwidth utilization, since many of the available groups of uplink channels may be either heavily or lightly loaded or subject to load imbalance relative to other inroute groups. This could be the result of each user being hard-configured for access to a specific inroute channel, or to only a limited number of channels, whether due to hardware or software limitations, or the frame timing considerations discussed above. This problem is exacerbated by the bursty and somewhat unpredictable nature of such transmissions, which also may result in inefficient use of the available bandwidth.
Several solutions for bandwidth allocation are available for “casual use”, or non-critical uplink systems, and may be used in conventional satellite communication 100 shown in FIG. 1. For example, well-known ALOHA techniques are employed in order to minimize overhead associated with allocation of bandwidth to users when there is no data to transmit. ALOHA was developed to coordinate and arbitrate access to a shared communication channel. Although originally applied in terrestrial radio broadcasting, the system has successfully been implemented in satellite communication systems. A medium access method, such as ALOHA, is intended to prevent two or more systems from transmitting at the same time on a shared medium. There must be some method for handling so-called “collisions”. In the ALOHA system, a system transmits whenever data is available to send. If another system transmits at the same time, a collision occurs, and the frames that were transmitted are lost. However, a system can listen to broadcasts on the medium, even its own, or await an acknowledgement from the destination station to determine if the frames were actually transmitted.
However, so-called pure ALOHA has about seven percent bandwidth efficiency, meaning that approximately 14 times the required bandwidth must be allocated. Further, the delays to users actually having traffic to transmit may not be acceptable in time-sensitive applications, particularly because the ALOHA technique “wastes” bandwidth, and hence time slots, on users having no or low traffic load to transmit.
The pure ALOHA technique is simple and elegant, but another method called slotted ALOHA, or random access mode, was devised to double the traffic capacity. In the slotted ALOHA scheme, distinct time slots are created in which users can transmit a single frame in a packet, but only at the beginning of a slot. Thus, the transmitter will have to buffer data until the beginning of the next slot period. For example, a control node can emit a signal at the start of each slot to let all other users know when the slot is available. By aligning frames on slots, overlaps in transmissions are reduced. However, users must wait a fraction of a second for the beginning of a time slot before they can transmit. Also, data may be lost if users contend for the same slot, but not as much data as would be lost in pure ALOHA. However, tests have shown that slotted ALOHA has a performance advantage, and is best suited for short, “bursty” messages in applications that require fast response times, such as point of sale credit card verification and ATM transaction processing. This contention technique allows VSATs to transmit at any time, and to continue transmitting if they receive acknowledgement that no other station is sending. However, this method requires that channel utilization be held to around 18 to 36 percent.
Other systems use a slot reservation access mode, wherein the host reserves slots for each user to transmit an assigned number of packets. In assigning bandwidth to match an assigned message duration, more efficient use of bandwidth is made than with the random access method, thus improving throughput. A drawback to this method is that more time is required for channel setup, adding further delay, and there may be too few or too many packets assigned for message transmission for each user, leading to at least some inefficiency in bandwidth utilization. Further, dynamic reallocation of bandwidth is not efficiently accomplished using this approach.
Even if an ALOHA-type of channel access scheme is successfully used to gain access to bandwidth for uplink, there is still the problem of either over or under-loading the return channels, and also of having an imbalance between groups of return channels.
What is needed, therefore, is an apparatus and method for dynamically assigning uplink bandwidth depending on the users' demands for return channel access. What is further needed is an apparatus and method for balancing the uplink loads between return channels sharing a common uplink channel grouping, and which also balances the system load between groups of uplink channels which share common frame timing.