SYSTEM AND METHOD FOR DYNAMIC BANDWIDTH ALLOCATION
RELATED APPLICATIONS
The present application is related to co-pending and commonly assigned U.S. Patent Application, Serial Number 09/434,832 entitled "SYSTEM AND METHOD FOR BROADBAND MILLIMETER WAVE DATA COMMUNICATION", Serial No.09/434,815, entitled "SYSTEM AND METHOD FOR BROADBAND MILLIMETER WAVE DATA COMMUNICATION", Serial No.09/434,816, entitled "SYSTEM AND METHOD FOR BROADBAND MILLIMETER WAVE DATA COMMUNICATION", Serial No.09/434,707, entitled "SYSTEM AND METHOD FOR BROADBAND MILLIMETER WAVE DATA COMMUNICATION", the disclosures of which are hereby incoφorated herein by reference.
TECHNICAL FIELD
The present invention generally relates to communication systems and methods and more particularly to a system and method for a dynamic (adaptive) bandwidth allocation of a communication bandwidth among multiple sources of communication.
BACKGROUND
In communication systems, it is common to use a communication array, hub or base station to provide a communication means such as an airlink between physically separated sources of commumcation such as voice or data communication, utilizing a communication device, or node. For communication such sources of communication exchange information. To exchange information an airlink bandwidth is shared among the sources of communication. The communication systems have to accurately and periodically process bandwidth information exchanged back and forth between these sources of communication. For example, a wireless communication system provides bilateral communication between a plurality of remote stations or remote units and one or more base stations. The remote units could be either fixed or portable. The base station services the remote units. Such wireless communication systems provide commumcation channels or links on demand between the remote units and the base station to communicatively connect the remote unit with the base station.
One group of conventional wireless systems using multiple access schemes utilize time segments or time bursts, often organized into frames of multiple burst periods, to provide bandwidth for use by communication systems, e.g. time division multiple access (TDMA). Such time segments may be used for control purposes, for information transfer, e.g., (data payload), or for a combination thereof. Information is typically transmitted to a specific remote unit or a base station during the time segments in the frame according to a time segment assignment to the specific remote unit or the base station. Remote units may communicate with the base station using a duplexing scheme which allows for the exchange of information in both directions of connection. Transmissions from the base station to the remote unit correspond to downlink or forward transmissions. Transmissions from the remote unit to the base station correspond to uplink or reverse transmissions. For example, such wireless communication systems may use time division duplexing (TDD) methods to exchange information between the base station and the remote units. The TDD duplexing schemes are well known in the art. The channel in such
TDD systems comprises a sequence of frames. Each frame is time-divided into repetitive time periods or time segments which are employed for uplink and downlink transmissions.
In general, for wireless communication networks offering multitude of diverse broadband services, bandwidth requirements can significantly vary for these services. Such substantially varying bandwidth requirements may cause asymmetric bandwidth demand between sources of commumcation and/or the links, i.e., forward and reverse links, of the system. Implementation of typical prior art TDD schemes provides equal bandwidth in the forward and reverse links. However, these asymmetric bandwidth demands are often not efficiently served by such equal bandwidth allocation. Prior solutions have attempted to accommodate asymmetric bandwidth demand through implementing asymmetric airlinks. For example, the above referenced patent applications entitled "SYSTEM AND METHOD FOR BROADBAND MILLIMETER WAVE DATA COMMUNICATION" teach systems and methods for dynamically providing asymmetric airlinks through the use of adaptive time division duplexing (ATDD) and/or through the use of multiple levels of modulation. For example, in a dynamic bandwidth allocation scheme using
ATDD to handle uplink and downlink bandwidth needs, all such bandwidth requirements may be analyzed, such as instantaneously or on a time average basis, such as a statistical average demand. However, the uplink and downlink bandwidth needs required in broadband networks to provide broadband services are very unpredictable and may change rapidly. Accordingly, a lack of an accurate accounting of bandwidth information in order to track and determine an actual bandwidth requirement from the bandwidth information for the sources of communication has been an obstacle to allocate a bandwidth dynamically.
Accordingly, a need exists for a method and system which can efficiently and dynamically allocate bandwidth in a communication system.
SUMMARY OF THE INVENTION
These and other objects, features and technical advantages are achieved by a system and method which provides a dynamic bandwidth allocation (DBA) system and method for dynamically sharing a communication bandwidth, which is adapted to efficiently and dynamically allocate bandwidth in a communication system. According to a preferred embodiment of the present invention communication bandwidth is dynamically allocated over a communication link among a plurality of sources of communication while in commumcation with at least one common source of commumcation within a communication system or network. The common source of communication preferably provides point to multipoint information communication to the plurality of sources of communication.
The preferred embodiment of the present invention provides a scheduler that enables a dynamic bandwidth allocation (DBA) method to process bandwidth utilization information, such as may be derived from transmissions between the plurality of sources of communication and the common source of communication. The present invention is particularly advantageous when used in a communication system having a plurality of sources of commumcation each of the plurality of sources of communication servicing a plurality of bursty data traffic sources, although the invention may also be used with a single communication link and/or non-bursty traffic sources.
The communication system preferably includes one or more communication arrays, or hubs, which are centrally located to provide an airlink between a plurality of physically separated processor-based systems or remote units, or other sources of communication such as voice communication, utilizing a communication device, or node. Each hub and remote unit preferably includes one or more controllers. The preferred embodiment scheduler utilizes the controllers, or other information collection, analysis, and or compilation apparatus, to track and process bandwidth utilization information for dynamically sharing airlink bandwidth between one or more hubs and ones of the plurality of remote units. Preferably, the scheduler tracks airlink
communication traffic in both the "Forward" (FWD) or downlink and "Reverse" (REV) or uplink directions to accurately determine airlink bandwidth demand/requests for the plurality of remote units.
In a dynamic bandwidth allocation (DBA) method consistent with the present invention, a scheduler utilizes one or more controllers corresponding to the plurality of sources of commumcation to process bandwidth information. The DBA method preferably dynamically allocates airlink bandwidth in both commumcation directions of the communication traffic. Accordingly to a most preferred embodiment, queue size data associated with each source of communication is utilized to derive an accurate bandwidth demand/request for the source of communication. Of course, other indications of bandwidth demand/requests may be utilized in the alternative to or in combination with the aforementioned queue size data, if desired. For example, historical data, such as a particular time of day/days of week, may be utilized to predict bandwidth demand. Similarly, payload data and/or the particular systems sourcing or receiving the payload data may be analyzed to predict bandwidth demand. In a preferred dynamic bandwidth allocation (DBA) method consistent with the present invention, a scheduler formulates non-redundant bandwidth requests. For example, in a request- grant cycle of a preferred embodiment, queue size data is utilized in conjunction with bandwidth utilization information to dynamically allocate an airlink bandwidth to a plurality of remote units. The bandwidth utilization information may include bandwidth commumcation parameters, such as a bandwidth request, a bandwidth grant, a traffic source queue size, information or data generated by aggregated traffic sources at a remote unit, information or data transmitted in a remote unit's one or more time slots during a predetermined time period such as a frame, and/or a request-grant shortfall being the difference between the requested and the granted bandwidth.
The scheduler of the preferred embodiment tracks and processes bandwidth demand/request information, such as the aforementioned queue size data and/or bandwidth utilization information to implement current bandwidth requests for one or more remote units
into scheduled bandwidth grants (allocations). Any delayed bandwidth grants are preferably decoupled from a new bandwidth request associated with the one or more remote units. This preferred embodiment distinguishes between those bits still in the queue (for example, due to any congestion) and those that are simply awaiting their pending transmission bandwidth grant. The scheduled bandwidth grants may then be utilized to determine a new transmission schedule for data communication through the airlinks, which may be transmitted to the remote units and/or other systems implementing the transmission schedule. Finally, the preferred embodiment resets system states to reflect the implementation of the new transmission schedule, both at the hub and at the remote units and the request-grant cycle repeats. To decouple any delayed bandwidth grants from new bandwidth requests, the preferred embodiment scheduler determines the number of new bytes, or other quantity of information, (e.g., those bytes arriving in queues subsequent to a previous bandwidth grant). For example, the scheduler may determine the number of new bytes generated for each remote unit from any changes in a queue size of a current frame compared to a queue size of a previous frame. In such an embodiment, for each remote unit, the scheduler may add the number of new bytes to the number of bytes transmitted by the remote umt within the current frame to calculate the number of new bytes generated for each remote unit within that current frame. To calculate an amount of a request-grant shortfall bits for each remote unit, the requested bandwidth may be compared with the granted bandwidth, wherein the grant occurs at the end of the previous frame. The difference between the requested bandwidth and the granted bandwidth provides a determination of the amount of the request-grant shortfall. For formulating the next bandwidth request being determined from the bandwidth information at the end of the current frame for each remote umt, the number of new bytes generated may be added to the amount of the request-grant shortfall corresponding to the remote unit. Accordingly, uplink or downlink bandwidth allocations may be dynamically modified to accommodate the uplink or downlink bandwidth requirements of the
plurality of remote units within the airlink bandwidth, without granting bandwidth requests/demand with respect to particular data multiple times.
The preferred DBA method provides desired dynamic bandwidth allocations substantially free of redundant bandwidth requests. For example, in a point to multipoint broadband communication system employing one or more radio frequency carriers operating in a time division duplex (TDD) mode, bandwidth allocations to multiple remote units or subscriber terminals associated with a carrier may be dynamically adjusted as bandwidth needs change. The present invention is particularly useful with subscribers having bursty data traffic. The present invention provides for a dynamic bandwidth allocation with a TDD boundary responding adaptively in response to traffic asymmetry varying dynamically. This allows the present invention to dynamically allocate a first number and/or size of time segments of a frame for downlink transmissions and configure a second number and or size of time segments of the frame for uplink transmissions. Alternatively, a first number of time segments of a frame could be allocated for one link direction transmissions and the remaining time segments of the frame for the other link direction transmissions. The preferred DBA method generally includes two phases, an initialization phase and a tracking phase to formulate bandwidth requests.
In one embodiment of the preferred dynamic bandwidth allocation method, a scheduler performs centralized processing to formulate bandwidth request determinations and dynamically allocating an airlink bandwidth among multiple sources of communication communicating with one common source of communication. In an alternate embodiment of the preferred dynamic bandwidth allocation method, a scheduler performs distributed processing to formulate bandwidth request determination and dynamically allocating an airlink bandwidth between multiple sources of communication communicating with one common source of communication.
In an alternate dynamic bandwidth allocation (DBA) method of the present invention a scheduler sets a new bandwidth request equal to raw queue size data for dynamically allocating
the uplink or downlink bandwidth to remote units sharing an airlink bandwidth while each remote unit independently servicing multiple, bursty data traffic sources.
The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention. It should be appreciated by those skilled in the art that the conception and specific embodiment disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the invention as set forth in the appended claims. The novel features which are believed to be characteristic of the invention, both as to its organization and method of operation, together with further objects and advantages will be better understood from the following description when considered in connection with the accompanying figures. It is to be expressly understood, however, that each of the figures is provided for the purpose of illustration and description only and is not intended as a definition of the limits of the present invention.
BRIEF DESCRIPTION OF THE DRAWING
For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawing, in which: FIGURE 1 illustrates an embodiment of the composition of a signal communicated by the present invention in a frame during a time division duplex burst period;
FIGURE 2 A shows an embodiment of the composition of a signal communicated by a preferred dynamic bandwidth allocation method consistent with the present invention in adjacent frames during a time division duplex multiple access burst period; FIGURE 2B shows an embodiment of the composition of a bandwidth request formulated from adjacent frames of FIGURE 2A in accordance with the present invention;
FIGURE 3 is a functional depiction of the conceptual relationship between a scheduler and a commumcation network being managed utilizing a dynamic bandwidth allocation method consistent with the present invention; FIGURE 4 A shows a flow chart of the one embodiment of the preferred dynamic bandwidth allocation method utilized to formulate bandwidth requests and dynamically allocating an airlink bandwidth among multiple sources of communication;
FIGURE 4B shows a flow chart of the alternate embodiment of the preferred dynamic bandwidth allocation method utilized to formulate bandwidth requests and dynamically allocating an airlink bandwidth among multiple sources of communication;
FIGURE 5 depicts an interconnection of processor-based systems consistent with a preferred embodiment of the present invention;
FIGURE 6 is a block diagram of the centralized commumcation array or hub depicted in FIGURE 5; and
FIGURE 7 is a block diagram of the remote unit depicted in FIGURE 5.
DETAILED DESCRIPTION
FIGURE 1 illustrates an embodiment of the composition of a signal communicated by a preferred embodiment of a preferred embodiment of the present invention in a frame 100 during a time division duplex burst period. In a "frame-based" approach, frame 100 comprises a first time segment 110 and a second time segment 120. First time segment 110 preferably comprises a first set of time slots or burst periods for forward link data communication. Likewise, second time segment 120 preferably comprises a second set of time slots or burst periods for reverse link data communication. It is to be understood that the time segment allocations shown in FIGURE 1 are exemplary only, and the scope of the present invention should not be limited by the depicted allocations of time segments 110 and 120 or the uplink and downlink allocations shown.
For example, there is no limitation that the particular time segments be associated with a particular link direction. Additionally, a number of time slots in the first and second set of time slots assigned to the corresponding first and second time segments 110, 120 can vary without departing from the scope of the present invention. Similarly, a number of time segments 110, 120 in frame 100 can vary without departing from the scope of the present invention.
The amount of data or information communicated by the present invention in frame 100 could include but is not limited to either bits or bytes of data or information. Additionally, the data commumcation in frame 100 may include data packets of particular protocols, such as ATM or Ethernet data packets, and/or inband signaling information. A preferred dynamic bandwidth allocation (DBA) method consistent with the present invention adaptively and dynamically allocates time slots to time segments 110, 120 or otherwise adjusts bandwidth between time segments 110 and 120 in response to the changing bandwidth needs within a commumcation airlink or channel. Preferably, the preferred DBA method dynamically allocates a first set of time slots to first time segment 110 of frame 100 based upon downlink transmission or demand and the second time segment 120 of frame 100 is dynamically configured to include a second set of time slots based upon uplink transmission demand.
FIGURE 2 A shows an embodiment of the composition of a signal communicated by the preferred DBA method in adjacent frames, including a current FRAME(N) 100a and a previous FRAME(N-1) 110b, during an exemplary time division duplex (TDD) multiple access burst period. Current FRAME(N) 100a comprises a first time segment 110a for downlink transmissions and a second time segmentl20a for uplink transmissions. Likewise, previous
FRAME(N-1) 100b comprises a first time segment 110b for downlink transmissions and a second time segment 120b for uplink transmissions. First time segments 110a, 110b, 120a, and 120b comprise a number of time slots each for data or information communication.
A first frame boundary 230a indicates the end of current FRAME(N) 100a and could separate current FRAME(N) 100a from a next frame (not shown). Similarly, a second frame boundary 230b indicates beginning of current FRAME(N) 100a and end of the previous FRAME(N-1) 100b. It should be appreciated that, although not illustrated, the frame boundaries may implement an amount of time as a guard band well known in the art. Likewise, the boundary between the forward and reverse link time slots may include an amount of time to provide a guard band, if desired.
As shown in FIGURE 2 A, the preferred DBA method utilizes useful bandwidth information associated with current FRAME(N) 100a and previous FRAME(N-1) 100b. Useful bandwidth information corresponding to current FRAME(N) 100a may include a bandwidth request BR(N) 240a, a bandwidth grant BG( N+5) 250a, a traffic source queue size QUEUE(N) 260a, a number of bits generated by aggregated traffic sources at a remote unit GEN(N) 270a, a number of bits transmitted in a remote unit's one or more time slots during current FRAME(N) 100a, TX(N) 280a, and or a request-grant shortfall SF(N) 290a being the difference between the requested and the granted bandwidth. Likewise, useful bandwidth information corresponding to previous FRAME(N-1) 100b may include a bandwidth request BR(N-1) 240b, a bandwidth grant BG( N+4) 250b, a traffic source queue size QUEUE(N-1) 260b, a number of bits generated by
aggregated traffic sources at a remote unit GEN(N-1) 270b, a number of bits transmitted in a remote unit's one or more time slots during previous FRAME(N-1) 100b, TX(N-1) 280b, and/or a request-grant shortfall SF(N-1) 290b. FIGURE 2B shows a preferred embodiment of the composition of a bandwidth request signal 240a formulated from adjacent frames current FRAME(N) 100a and previous FRAME(N- 1 ) 100b of FIGURE 2 A in accordance with the preferred DBA method consistent with the present invention.
In FIGURE 2B, an exemplary signal composition 294 communicated by the present invention is shown. Exemplary signal composition 294 generally includes multiple time division duplex (TDD) multiple access burst periods to illustrate the preferred dynamic bandwidth allocation (DBA) method of the present invention. A super frame 296, shown consisting of four
TDD frames, is utilized in the preferred DBA method to dynamically allocate the uplink or downlink bandwidth to one or more remote units for efficiently sharing an airlink to serve multiple, bursty data traffic sources. Super frame 296 corresponds to a finite communication delay. In a preferred embodiment, super frame 296 is of a predetermined length of four frames which starts at first frame boundary 230a and ends at a super frame boundary 298. However, the persons skilled in the art will appreciate that the super frame 296 length could be suitably selected, for example, super frame 296 could include one or more frame lengths.
FIGURE 3 functionally depicts the conceptual relationship between a commumcation system or network 300 being tracked and a scheduler 310. Moreover, FIGURE 3 illustrates the overseeing nature of scheduler 310 in one embodiment of the present invention to provide a general dynamic bandwidth allocation solution within communication system or network 300, regardless of their particular configurations and protocols. Communication system or network 300 of the illustrated embodiment includes a hub 320 and remote units (RUs) 330a through 330f. Hub 320 preferably comprises a hub controller 340. Each remote unit 330a through 330f preferably comprises a corresponding remote controller 350a through 350f, respectively. Each remote unit 330a through 330f generally services a plurality of bursty data traffic sources.
Scheduler 310 of a preferred embodiment utilizes hub controller 340 and remote controllers 350a through 350f to track and process bandwidth information for commumcating between hub 320 and remote units 330a through 330f. Accordingly, scheduler 310 may be implemented as instruction sets operable upon controller 340 and or remote controllers 350a. Of course, scheduler 310 may be embodied in any number of processor based systems, whether general purpose or dedicated purpose, coupled to network 300, if desired. Scheduler 310 preferably tracks airlinks 360a through 360f (or some subset thereof) commumcation traffic in both "Forward" (FWD) or downlinks 370a through 370f and/or "Reverse" (REV) or uplinks 380a through 380f to accurately determine airlink bandwidth requests for the remote units 330a through 330f for which scheduling according to the present invention is to be provided.
Remote units (RUs) 330a through 330f correspond to, generally physically separated, processor-based systems, or other sources of communication such as voice communication, utilizing a communication device, or node that are tracked by scheduler 310. Scheduler 310 preferably implements a dynamic bandwidth allocation method consistent with the present invention. The preferred embodiment of the present invention not only implements dynamic bandwidth allocation, but also provides a dynamic bandwidth allocation system and method that have improved efficiency over existing bandwidth allocation systems.
The dynamic bandwidth allocation (DBA) system and method dynamically shares a communication bandwidth within a communication link. The communication bandwidth is dynamically allocated among the link directions (i.e., forward and reverse links) and/or a plurality of sources of communication that corresponding to RUs 330a through 330f while in commumcation with at least one common source of commumcation that corresponding to hub 320 within communication system or network 300. Hub 320 of the illustrated embodiment provides a point to multipoint information commumcation to RUs 330a through 330f. Scheduler 310 implements a dynamic bandwidth allocation (DBA) method to process bandwidth information associated with data transmitted back and forth between to RUs 330a through 330f
and hub 320. The present invention is particularly advantageous when used in commumcation system or network 300 servicing a plurality of bursty data traffic sources (not shown).
In operation, with reference to FIGURES 1 through 3, in a dynamic bandwidth allocation (DBA) method consistent with the present invention, scheduler 310 of a preferred embodiment utilizes controllers 340 and 350a through 35 Of corresponding to hub 320 and RUs 330a through
330f, respectively, to track and process bandwidth information. The DBA method dynamically allocates airlink bandwidth in both communication directions of the commumcation traffic. Preferably, queue size data associated with each source of commumcation to receive dynamic allocation of bandwidth, such as RUs 330a through 330f, is utilized to derive accurate bandwidth requests such as BR(N) 240a or BR(N-1) 240b for RUs 330a through 330f. A queue size such as
QUEUE(N) 260a or QUEUE(N-1) 260b preferably includes the amount of data awaiting transmission from a source of communication RUs 330a through 330f to a common source of communication hub 320. Alternatively, a queue size could include the amount of data awaiting transmission from a common source of communication RUs 330a through 330f to a source of communication hub 320.
Each remote umt controller 350a through 35 Of preferably provides a REV queue size to hub 320 for bandwidth allocation analysis and allocation. Additionally, or alternatively hub controller 340 may provide a FWD queue size for corresponding RUs 330a through 330f. RUs 330a through 330f uplink via uplinks 380a through 380f their REV queue sizes to hub 320 and the FWD queue sizes are available on-site at hub 320. Alternatively, hub 320 can downlink downlinks 370a through 370f the FWD queue sizes to the RUs 330a through 330f, respectively. The preferred embodiment scheduler receives the REV queue size from each remote unit and the FWD queue size generated by the hub. The queue size QUEUE(N) 260a or QUEUE(N-1) 260b data within the REV and FWD queues may be referenced as often as once within FRAME(N) 100a or FRAME(N-1) 100b in order to determine the bandwidth requests BR(N) 240a or BR(N-
1) 240b, in both directions of the traffic from the sources of commumcation RUs 330a through 330f.
With continuing reference to FIGURES 1 through 3, in a preferred dynamic bandwidth allocation (DBA) method consistent with the present invention, scheduler 310 formulates non- redundant bandwidth requests BR(N) 240a or BR(N-1) 240b. In a preferred embodiment request-grant cycle, a queue size data in conjunction with useful bandwidth information is utilized to dynamically allocate an airlink bandwidth to the plurality of remote units RUs 330a through 330f.
Scheduler 310 of the preferred embodiment tracks and processes current bandwidth requests BR(N-1) 240b for each of a plurality of remote units RUs 330a through 330f into scheduled bandwidth grants (allocations) such as BG(N+4) 250b for the plurality of remote umts RUs 330a through 33 Of. Any delayed bandwidth grants are preferably decoupled from a new bandwidth request such as BR(N) 240a for each to plurality of remote units RUs 330a through 330f. This distinguishes between those bits still in the queue (for example, due to any congestion) and those that are simply awaiting their pending transmission bandwidth grant such as BG(N+4) 250b. A new transmission schedule is generated for remote umts RUs 330a through 330f and subsequently broadcasted to remote umts RUs 330a through 330f and/or hub 320. Finally, the system 300 states are preferably reset to reflect the implementation of the new transmission schedule, both at hub 320 and at remote units RUs 330a through 330f and the request-grant cycle repeats.
To decouple the delayed bandwidth grants such as BG(N+4) 250b from the new bandwidth requests such as BR(N) 240a scheduler 310 preferably tracks the number of new bytes, or other measure of new data to be carried via the links, that are generated in each frame FRAME(N) 100a or FRAME(N-1) 100b for each remote unit RUs 330a through 330f. Scheduler 310 may determine the number of new bytes generated for each remote unit RU 330a through
330f from any changes in a queue size QUEUE(N) 260a of a current FRAME(N) 100a compared
to queue size QUEUE(N-1) 260b in previous FRAME(N-1) 100b. For each remote unit RUs 330a through 330f scheduler 310 may add the number of new bytes to the number of bytes transmitted by the remote unit RUs 330a through 330f within the current FRAME(N) 100a to calculate the number of new bytes generated GEN(N) 270a for each remote unit RU 330a through 330f within that current FRAME(N) 100a. To calculate an amount of a request-grant shortfall such as SF(N-1) 290b bits for each remote unit RU 330a through 330f, requested bandwidth such as BR(N-1) 240b may be compared with the granted bandwidth BG(N+4) 250b, wherein the grant occurs at the end of the previous FRAME(N-1) 100b. The difference between the requested bandwidth BR(N-1) 240b and the granted bandwidth BG(N+4) 250b provides a request-grant shortfall SF(N-1) 290b amount. For formulating the next bandwidth request
BR(N) 240a being determined from the bandwidth information at the end of the current FRAME(N) 100a for each remote unit RU 330a through 33 Of, the number of new bytes generated GEN(N) 270a may be added to the amount of the request-grant shortfall SF(N-1) 290b corresponding to remote unit RU 330a through 330f. Accordingly, uplinks 380a through 380f or downlinks 370a through 370b bandwidth allocations may be dynamically modified to accommodate uplinks 380a through 380b or downlinks 370a through 370b bandwidth requirements of the plurality of remote units RUs 330a through 330f to share one of airlinks 360a through 360f bandwidth while each RU 330a through 33 Of independently servicing multiple, bursty data traffic sources. In one embodiment of the preferred dynamic bandwidth allocation method, scheduler 310 performs centralized processing to formulate a bandwidth request such as BR(N) 240a for dynamically allocating one of airlink 360a through 360f bandwidth among multiple sources of communication, remote units RUs 330a through 33 Of.
FIGURE 4 A shows a flow chart of the one embodiment of the preferred dynamic bandwidth allocation method utilized to formulate a bandwidth request such as BR(N) 240a for dynamically allocating one of airlink 360a through 360f bandwidth among multiple sources of
communication, remote units RUs 330a through 330f. As shown in FIGURE 4A, scheduler 310 of this embodiment tracks a set of parameters, preferably including but not limited to following parameters: BG = bandwidth grant in bits; BR = bandwidth request in bits; BW = bandwidth; GEN = number of bits generated by aggregated traffic sources at remote; Q = queue size in bits; SF = shortfall, defined to be the difference between the requested and the granted bandwidth, in bits; TXB = number of bits transmitted in a remote units' RU 330a through 330f time slot during frame 100; TX_START = a remote units' RU 330a through 330f scheduled transmission start time (time slot start). In addition, N indicates frame index and J indicates remote index.
For the embodiment of the present invention represented in FIGURE 4A, a super frame length of four frame 100 lengths is selected for implementation of bandwidth. That is, there is a four frame delay between the time a BR is generated and the time a responsive BG is implemented. It is to be understood that the selected value four frames for super frame 296 length shown in FIGURE 4 A is exemplary only, and the scope of the present invention should not be limited by the selected value four of super frame 296 length. Scheduler 310 preferably does all of the processing required to form a non-redundant BR.
For example, scheduler 310 calculates the value of GEN at each remote RU 330a through 33 Of in an indirect fashion by using reported Q and observed TXB history. However, scheduler 310 does not have to be implemented this way. For example, each remote RU 330a through 33 Of could simply uplink GEN directly, if remote umts RUs 330a through 330f have a means of keeping track of this parameter. Scheduler 310, in this scenario may calculate BR from GEN, whether scheduler 310 calculates GEN indirectly from monitoring each remote's RU 330a through 33 Of Q and TXB history, or whether each remote RU 330a through 33 Of supplies GEN directly in its uplink 380a through 380f time slot.
With reference to FIGURE 4 A, step 405 indicates end of Nth Frame (Prior to Start of Frame[N+l ]). In step 410, scheduler 310 initializes indexing for multiple remote umts RUs 330a through 330f, and starts looping through all active remote units among remote units RUs 330a
through 330f. In step 415, scheduler 310 records number of bits transmitted and the reported queue size from Remote[J] during Frame[N] that just ended. The uplinked queue size data may be slightly out-of-date (by some fraction of a frame) due to the time gap between the Remote's TX time slot and the end of the frame, when data from all remotes is complete and compiled for the scheduler 310. In step 420, from the collected data, scheduler 310 estimates the number of bits of traffic generated by Remote[J] during Frame[N]. In step 425, scheduler 310 calculates the non-redundant BW request for Remote[J] as the sum of the bits of traffic it generated during Frame[N] and its request-grant shortfall from the prior frame (Frame[N-l]). In steps 430 and 435 scheduler 310 proceeds (in a loop) until this calculation has been performed for all active remote units. In step 440, all remote units' non-redundant BW requests are supplied to the BW allocation algorithm so that BW can be granted to each remote. These BW grants are not implemented by the remotes until 4 frames from now due to turn-around delays. Since this is the boundary before Frame[N+l ] begins, this means the BW grants will be implemented (used as the remote units' uplink transmission schedule) in Frame[N+5]. In step 450, scheduler 310 initializes indexing for multiple remote units, and starts looping through all active remote units. In step 455, scheduler 310 records the shortfall between requested BW and granted BW for Frame[N]'s allocation cycle. Then scheduler 310 resets SF to zero for BW request of zero. In steps 460 and 465 scheduler 310 proceeds (in a loop) until this calculation has been performed for all active remote umts. In an alternate embodiment of the preferred dynamic bandwidth allocation method, scheduler 310 performs a distributed processing to formulate a bandwidth request such as BR(N) 240a for dynamically allocating one of airlink 360a through 360f bandwidth between multiple sources of communication, remote units RUs 330a through 330f.
FIGURE 4B shows a flow chart of the alternate embodiment of the preferred dynamic bandwidth allocation method utilized to formulate a bandwidth request such as BR(N) 240a for dynamically allocating one of airlink 360a through 360f bandwidth among multiple sources of
commumcation, remote units RUs 330a through 33 Of. As shown in FIGURE 4B, scheduler 310 tracks the set of parameters of FIGURE 4 A flow chart. However, indexing in this scenario is slightly different from FIGURE 4A flow chart because processing is performed at least in part at remote units RUs 330a through 330f. Accordingly, the BR's at hub 320 are indexed by the frame that just ended, while BR's for the remote units RUs 330a through 330f are indexed by the current frame being used for transmission.
As depicted FIGURE 4B, a step 480 indicates end of N-l Frame (prior to start of FramefN]). In step 482, each remote unit RU 330a through 330f records number of bits of traffic generated (disregarding amount transmitted) during the just finished frame (Frame[N-l]). In step 484 of this alternative embodiment, near the beginning of Frame[N], remote unit receives downlink broadcast TX schedule from scheduler 310 at hub 320 to be used in this frame. Scheduler 310 includes BW grant and the time to start transmission (time slot start time). In step 486, this frame's BW grant is in response to a request the remote made just slightly over 4 frames ago, near the end of Frame[N-5]. Remote unit calculates the shortfall between what was requested and what was granted. Shortfall is reset to zero if bandwidth request is zero. In step
488, the remote umt uses the shortfall and the number of traffic bits generated in the most recently completed frame to form a non-redundant BW request to be uplinked in this frame. Request is stored at the remote so it can be compared to the eventual responsive grant in Frame[N+5]. In step 490, the BW request is uplinked to hub 320 for scheduler 310 as overhead, along with payload traffic allowed by BG[N]. In step 492, by the end of this frame, hub 320 will have received all remote units' BW requests and uses them as input to the scheduler 310.
The preferred DBA method provides desired dynamic bandwidth allocations substantially free of redundant bandwidth requests. For example, in a point to multipoint broadband communication system employing a plurality of radio frequency carriers operating in a time division duplex (TDD) mode, bandwidth allocations to multiple remote units RUs 330a through
330f or subscriber terminals associated with each carrier are dynamically adjusted as bandwidth
needs change. The present invention is particularly useful with subscribers having bursty data traffic. The afore referenced application entitled "System and Method For Broadband Millimeter Wave Data Communication" describes an excellent scheme for providing such a point to multipoint broadband communication system. The present invention provides for a dynamic bandwidth allocation with a TDD boundary such as first frame boundary 230a or second frame boundary 230b responding adaptively in response to traffic asymmetry varying dynamically.
Additionally, the preferred DBA method consistent with the present invention provides an adaptive time division duplexing (ATDD) method and system for dynamically allocating bandwidth in wireless communication systems. The present invention is particularly useful in wideband or broadband wireless commumcation systems, although it may also be used in any data communication system where an adaptive and dynamic bandwidth allocation method is desirable. Moreover, the preferred DBA method of the present invention having an adaptive time division duplexing (TDD) method and system provides an efficient use of commumcation channels in wireless commumcation systems by adapting to the uplink or downlink bandwidth requirements of multiple traffic sources within an airlink or a channel. The preferred DBA method generally includes two phases, an initialization phase and a tracking phase to formulate bandwidth requests.
In an alternate dynamic bandwidth allocation (DBA) method consistent with the present invention scheduler 310 sets a new bandwidth request BR(N) 240a equal to raw queue size Q(N- 1) 260b data for dynamically allocating uplinks 380a through 380b or downlinks 370a through
370b bandwidth to remote units RUs 330a through 330f to share one of airlinks 360a through 360f bandwidth while each RU 330a through 330f independently servicing multiple, bursty data traffic sources.
FIGURE 5 depicts an interconnection of processor-based systems consistent with a preferred embodiment of the present invention. Referring to FIGURE 5, it can be seen that such wireless communication may be utilized, for example, to provide high speed bridging of a
physical gap between a plurality of processor-based systems, as illustrated by system 500. The processor-based systems may include local area networks (LAN), such as LANs 510 and 520, or individual computer systems, such as PC 530. It shall be appreciated that the processor-based systems utilizing the present invention may be general purpose computers, both standing alone and interconnected such as by a LAN. Furthermore, the system can connect other communication systems such as voice or video in combination with, or in place of, commumcation sourced by the above mentioned processor-based systems.
Systems bridged by the present invention may utilize a communication device, hereinafter referred to as a "node," for commumcating with a centralized commumcation device, hereinafter referred to as a "hub." Still referring to FIGURE 5, a hub is illustrated as element 501 and several nodes are illustrated as elements 550, 551, and 552 connected to LANs 510 and 520 as well as to PC 530.
Also, as illustrated in FIGURE 5, such wireless commumcation may be utilized to provide high speed communication between a processor-based system, having a node coupled thereto, and communication backbone, such as backbone 560, through hub 501. It shall be understood that backbone 560 may be any form of commumcation means, such as a broadband fibre-optic gateway or other broadband data grade connection, TI communications lines, a cable commumcation system, the Internet, or the like, physically connected to hub 501. Moreover, backbones, such as illustrated by backbone 560, may be utilized to interconnect a plurality of hubs into a communications network.
FIGURE 6 is a block diagram of the centralized communication array or hub 501 depicted in FIGURE 5. It can be seen in FIGURE 6 that preferred embodiment hub 501 includes outdoor unit (ODU) controller 630 coupled to each individual antenna element 600. ODU controller 630 is coupled to RF modem 640 and indoor unit (IDU) controller 650. Although a separate connection from ODU controller 630 is illustrated to modem 640 and CPU 660, it shall be appreciated that communication between ODU controller 630 and IDU controller 650 may be
accomplished through the path connecting modem 640 to the ODU controller and CPU 660. Similarly, control information relevant to the operation of ODU controller 630 may be generated by modem 640 rather than CPU 660 and therefore be communicated through a connection between ODU controller 630 and modem 640. Of course, alternate configurations of hub 501 are within the scope of the present invention
ODU controller 630 preferably includes circuitry suitable for enabling the various antenna elements of hub 501 to communicate with RF modem 640 at the proper interval so as to transmit or receive the desired signal. In one embodiment, ODU controller 630 includes a time division digitally controlled switch operating in synchronization with burst periods defined by IDU controller 650. Preferably, IDU controller 650 provides a strobe pulse to the switch of ODU controller 630 to provide switching in synchronization with burst periods defined by IDU controller 650. It shall be appreciated that utilization of such a switch provides simple integration into the antenna array at a low cost. However, any switching means synchronizable to the burst periods defined by IDU controller 650 may be used if desired. Operation of ODU controller 630 results in each individual antenna element being in communication with IDU controller 650 according to a predetermined regime of communication sequence timing, i.e., frames of burst periods. This, in turn, results in each individual antenna element being in communication with modem 640 within IDU controller 650. It shall be appreciated that such switching results in the time division multiplexing (TDM) of each antenna element to modem 640. Of course, where the individual antenna elements provide bi-directional communication, a second connection between ODU controller 630 and the various antenna elements. Such a connection may be utilized to provide synchronization, such as through the above discussed strobe pulse, to circuitry within the antenna elements to select between transmit or receive circuits at a proper frame and/or burst period. Through the selection of transmit and receive circuitry in combination with the switching of ODU controller 630, the antenna elements may be coupled to modem 640 at the proper instances to provide bi-directional communication through
modem 640 resulting in time division duplexing (TDD). It shall be appreciated that information received by IDU controller 650 of hub 501 may be re-directed in a variety of ways. In one embodiment, IDU controller 650 correlates communication through a particular antenna element 600, or burst period associated therewith, as indicated by control of ODU controller 630, with a predefined communication path. According to this method, communication received by IDU controller 650 at antenna element 600a illustrated in FIGURE 6, for example, may be routed by IDU controller 650 through antenna element 600b, as indicated by a correlation table, or the like, in RAM 670. Such a correlation table, or other correlation information, could be utilized by IDU controller 650 to direct any communication received through a particular element, burst period, or channel of hub 501, including a backbone, to another particular element, burst period, or channel of hub 501. Such a embodiment is efficient where, for example, a processor-based system, in commumcation with hub 501 through antenna element 600a, is only desirous of commumcating with a processor-based system, in communication with hub 501 through element 600b. However, where a processor-based system is desirous of communicating through hub 501 with a plurality of different processor-based systems, or a single antenna element is utilized by a plurality of processor-based systems, the above described correlation table may be ineffective. Therefore, in a preferred embodiment, information communicated through hub 501 includes routing information . Such information is preferably in the form of data packets conforming to the open systems interconnection (OSI) model. A example of OSI routing information that may be utilized in this embodiment is the transmission control protocol (TCP) standard. However, it shall be understood that any routing information which indicates the destination of a received data packet, regardless of conforming to the OSI model, may be utilized by the present invention if desired. It shall be understood that modem 640 modulates and demodulates communication between the antenna elements and IDU controller 650.
Therefore, RF communication received at any antenna element may be stored within RAM 670 as digital information. Interface/router 680 may utilize predetermined pieces of information contained within the digital information, such as may be stored in RAM 670, to determine the routing of the received communication. In the preferred embodiment, routing information is provided by the network layer of a data packet conforming to the OSI model. Such information would be, for example, contained within each LAN data packet.
Upon determination of proper routing by utilizing information contained within the communicated information, the digital information may be re-directed by hub 501 through backbone 560 or through an antenna element via modem 640. It shall be understood that, because of the utilization of TDMA, the digital information may be stored in RAM 670 until such time as
ODU controller 630 couples the correct antenna element, as determined by the routing information, to IDU controller 650, and thus provides the necessary route for commumcation. Having described in detail hub 501 of the present invention, attention is now directed toward FIGURE 7 wherein node 550 is more fully illustrated. FIGURE 7 is a block diagram of the remote unit depicted in FIGURE 5. In a preferred embodiment node 550 is comprised of two primary components, outdoor unit 710 and indoor unit 750, as depicted in FIGURE 7 . Outdoor unit 710 includes antenna 720, module 730 and modem 740. Where EHF is used, antenna 720 is preferably a parabolic dish antenna providing approximately 42 dB of gain with a communication lobe of approximately 2 degrees. Module 730, like module 620 discussed above, is a synthesized mm Wave front-end module accepting and transmitting 38 GHz RF through antenna 720 converted to an IF in the range of 400-500 MHZ for communication with RF modem 740. Preferably, module 730 includes the various tuner and TDD switching components with respect to module 620. However, it shall be understood that any number of component configurations are acceptable for use in module 730, as they are in module 620. It shall be appreciated that the link illustrated between CPU 760 and module 730 may provide a signal controlling the synchronized switching the synchronized
switching of the TDD switches according to a TDD frame of an associated hub. Modem 740 may be a variable rate modem, having a fixed baud rate with a variable density of bits per symbol, corresponding to the use of a variable rate modem utilized at a associated hub. Of course the antenna and module attributes of node 550 may be different than that stated above where, for example, a different carrier frequency or beam patter is desired.
Indoor unit 750 includes CPU 760, RAM 770 and interface 780. It shall be understood that indoor unit 750 and outdoor unit 710 are coupled such that information received by antenna 720 as RF energy is communicated to indoor unit 750. Of course, alternate configuration of node 550 are within the scope of the present invention. Interface 780 provides data communication between indoor unit 750, and thus node 550, and a processor-based system such as LAN 790 illustrated in FIGURE 7. Furthermore, interface 780 formats the data communication to be compatible with the processor-based system so coupled. As for example, where LAN 790 is coupled to node 550, interface 780 may both send and receive Ethernet data packets where LAN 790 utilizes Ethernet compatible commumcation protocol. However, where node 550 is coupled to a single computer, it may be advantageous for interface 780 to provide a synchronous receive/transmit protocol. It shall be appreciated by one of skill in the art that interface 780 may include multiple communications protocols within a single embodiment, being user selectable, or may be individual modules to be included within controller 750 as needed. RAM 770 is coupled to both interface 780 and CPU 760. Where TDM is being used at hub 501, RAM 770 may store information received at node 150 through interface 780 while awaiting transmission to hub 501. RAM 770 may also contain additional stored information such as, for example, initialization instructions and link management information such as modem configuration instructions, power control instructions and error correction instructions discussed in detail below.
Having described hub 501 and node 550 of the present invention in detail, interaction of these elements shall now be described. As discussed above, RAM 670 of hub 501 and RAM 770 of node 550 may include instructions for the operation of CPUs 660 and 760 respectively. These instructions may include, for example, a method for programming hub 501 and node 550 for communication and a method for link management including communication error correction.
Additionally, both RAM 670 and RAM 770 may temporarily store information communicated via the device for re-transmission in the case a transmission error is detected. Transmission error may be detected by CPUs 660 and 760 by various methods. One such method well know in the art is the transmission of error detection information accompanying transmitted data packets. Such a method is defined in the data link layer of the aforementioned OSI model.
In one embodiment, a dynamic bandwidth allocation (DBA) system and method utilizes an "Immediate Response"technique to accurately process bandwidth information transmitted back and forth between a plurality of sources of communication. The sources of commumcation may include a plurality of remote units and one or more hubs. The "Immediate Response" dynamic bandwidth allocation system preferably includes a controller to implement an
"Immediate Response" dynamic bandwidth allocation method to dynamically allocate an airlink bandwidth in both communication directions of the commumcation traffic.
However, a finite delay in the "Immediate Response" DBA system's response to such bandwidth requests may cause a relatively inefficient bandwidth allocation among the sources of communication. The finite delay corresponds to a dynamic bandwidth allocation (DBA) response delay. This dynamic bandwidth allocation (DBA) response delay is generally introduced in a commumcation system from a delay caused between a bandwidth grant actually being implemented relative to a bandwidth request. The dynamic bandwidth allocation (DBA) response delay causes redundant bandwidth requests to be generated in the interim. For example, the "Immediate Response" DBA system having a DBA response delay is relatively inefficient when a remote unit queue size is reported to a hub for the bandwidth request. The response delay
from the time that the hub grants a bandwidth request to the remote unit until the remote unit can use that bandwidth grant may cause a relatively inefficient performance of an airlink shared with other remote units. Thus, such a DBA response delay can cause a generation of one or more redundant bandwidth requests from remote units to the hub if the bandwidth requests are derived from the queue sizes. Therefore, it can be difficult to implement substantially efficient dynamic bandwidth allocation methodologies.
An adapted system and method of sharing a bandwidth among multiple, bursty data traffic sources is desirable to avoid an inefficient dynamic bandwidth allocations to the multiple, bursty data traffic sources. Therefore, "Immediate Response" DBA systems and methods are adapted according to the present invention to provide desired dynamic bandwidth allocations substantially free of redundant bandwidth requests. Such adapted systems and methods decouple delayed grants from new bandwidth requests to provide a substantially efficient dynamic bandwidth allocation technique in communication systems including wireless commumcation systems. In particular, an adapted method and system dynamically allocates an uplink or downlink bandwidth in a time division duplexing (TDD) scheme among multiple traffic sources.
Preferably, the adapted method and system is responsive to the needs of a particular airlink bandwidth allocation. Since the bandwidth needs may vary due to several factors, including the type of service provided over the airlink or the user type. Therefore, an adaptive time division duplexing method and system is provided that can flexibly, efficiently, and dynamically allocate the uplink or downlink bandwidth among multiple sources of communication for use in a broadband service network.
In another embodiment, an accounting system and method accurately process bandwidth information transmitted back and forth between a plurality of remote units and one or more hubs to dynamically share an airlink bandwidth. Such accounting system and method corresponds to a "Delayed Response" dynamic bandwidth allocation system and method. The plurality of remote units and the one or more hubs correspond to multiple, bursty data traffic sources. The plurality
of remote units service multiple subscribers of one or more commumcation services over a broad band service network. The "Delayed Response" dynamic bandwidth allocation system preferably includes a controller to implement a "Delayed Response" dynamic bandwidth allocation (DBA) method. The "Delayed Response" DBA method provides an efficient use of an airlink bandwidth in both the communication traffic directions. In a "Delayed Response" DBA of the present invention the controller formulates non-redundant bandwidth requests to dynamically allocate bandwidth to the plurality of remote units. The dynamic bandwidth allocation (DBA) method preferably incorporates efficiency through statistical multiplexing of time-varying bandwidth requests from multiple subscribers of the one or more communication services.
A feature of the present invention is to allow the mean packet or cell delay performance of a "Delayed Response" dynamic bandwidth allocation system to approach the performance of an"Immediate Response" dynamic bandwidth allocation system, to within an additive delay offset bounded by the dynamic bandwidth allocation response time. A further feature of the present invention is to avoid an inefficient airlink performance caused by using queue sizes directly as bandwidth requests which result in redundant bandwidth requests in a commumcation system with delayed dynamic bandwidth allocation response.
It should be appreciated that, although a preferred embodiment has been described herein with reference to an air link, the concepts of the present invention are applicable to any number of commumcation media. For example, wire line or fibre communication systems may utilize the dynamic bandwidth allocation techniques of the present invention.
Although the present invention and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims. Moreover, the scope of the present application is not intended to be limited to the particular
embodiments of the process, machine, manufacture, composition of matter, means, methods and steps described in the specification. As one of ordinary skill in the art will readily appreciate from the disclosure of the present invention, processes, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized according to the present invention. Accordingly, the appended claims are intended to include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or steps.