1. Field of the Invention
The present invention relates to wireless computer networks. In particular, the present invention relates to operations in an ad hoc wireless computer network.
2. Discussion of the Related Art
A wireless computer network provides continuous network access to mobile users as they move about. To provide this mobility, mobile devices rely on batteries for power. Battery power is a scarce resource, and battery lifetime improvements have been lagging relative to improvements in computing power and communication capabilities of the mobile devices. Hence, energy efficiency is an important metric in network design.
As compared to power management in an infrastructure network, power management in the link layer of an ad hoc wireless network (e.g., an ad hoc wireless network using the independent basic service set or “IBSS” under 802.11b) is not well understood and is not efficient. For example, in a wireless local area network (WLAN), the access point (“AP”) has global knowledge of the power-saving states of all stations (“STAs”) associated with it. In such a network, all communication with the mobile nodes go through the AP, so that the AP may buffer data packets designating STAs in a power-saving (“PS”) mode. During pre-specified time intervals, the AP notifies these STAs to retrieve the buffered packets. In contrast, however, in an ad hoc wireless network, there is no entity in IBSS similar to AP that has global knowledge of power-saving states of all nodes. Instead, each STA stores packets locally and communicates individually with its peers to schedule packet delivery.
Due to the distributed nature of IBSS, many power-saving issues exist in IBSS under 802.11.
In WLANs operating under 802.11, the distributed coordination function (“DCF”) uses a Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) protocol to determine—in a distributed manner—when a station operating within the wireless network is permitted to transmit and receive frames. Under CSMA/CA, prior to transmission, an STA senses the medium to determine if it is “busy” (i.e., if another STA is transmitting). If the medium is not busy, the STA may transmit. CSMA/CA requires a minimum specified separation in time, called the “interframe space” (IFS), between contiguous frame sequences. The transmitter waits the medium to become idle for at least IFS before transmitting. The value of IFS varies according to the priority of the transmitted frames. Examples of IFS values include: short IFS (SIFS), point IFS (PIFS), distributed IFS (DIFS) and extended IFS (EIFS).
SIFS is the shortest interframe space and is used when a group of STAs have seized the medium for the duration of the frame exchange sequence to be performed. SIFS ensures completion of the frame exchange sequence before other STAs can access the medium, as the other STAs are required to wait for the medium to become idle for a time period longer than SIFS before attempting to transmit into the medium. Acknowledgment (ACK) frames, for example, use SIFS.
PIFS is used by STAs operating under the point coordination function (PCF) to gain priority access to the medium at the start of a contention-free period. PIFS is longer than SIFS, but shorter than DIFS.
DIFS is used by stations operating under the DCF to transmit data frames and management frames (e.g., probe request and probe responses).
EIFS (extended IFS) is used by the DCF whenever the physical layer (PHY) indicates to the media access control (MAC) layer that a frame transmission began, but a complete MAC frame with a correct frame check sequence (FCS) value has not been received. The EIFS interval begins after the PHY indicates that the medium is idle following detecting an erroneous frame, without regard to the virtual carrier-sense mechanism.
Under DCF, if the medium is found busy, a STA defers transmission until after the current transmission completes. After a deferral, or prior to attempting to transmit again immediately after a successful transmission, a station selects a random “back-off” interval during which it does not transmit. A back-off interval counter keeps track of the interval.
Some example formats of control packets are provided in FIGS. 1 (“data frame”) and 3 (“acknowledge (ACK) frame”). A control packet has a format (i.e., “management frame”) generically shown in
The state of the medium is determined from the physical and virtual carrier-sense functions. The physical layer provides a physical carrier-sense mechanism based on energy detection in the wireless medium. The MAC layer provides a virtual carrier-sense mechanism, referred to as the network allocation vector (NAV). The NAV predicts future traffic in the medium based on duration information that is announced in the frames prior to the actual exchange of data. With a few exceptions, such duration information is found in the MAC header.
Four types of frames under IEEE 802.11 are relevant to the present invention. A “data frame” carries higher-level protocol data in the frame body.
An “ACK” frame sends a positive acknowledgement in response to a received frame.
An “announcement traffic indication message (ATIM)” frame is a management frame sent during the ATIM period.
A “beacon” frame, which is another management frame, announces the existence and the identity of a network, and plays an important part in many network maintenance tasks. Beacon frames are transmitted at regular intervals to announce the network to mobile STAs, as well as match parameters for joining the network. A beacon frame includes a timestamp field, a beacon interval field, a capability field, a service set identifier (SSID) field, an IBSS parameter set field, and a traffic indication map (TIM) field. The IBSS parameter set field specifies a set of parameters necessary to support an IBSS network.
In an infrastructure network, APs are responsible for transmitting beacon frames. The service area of an AP is defined by the reach of its beacon frames. Timing for the BSS is determined by the beacon interval specified in a beacon frame. The time interval between successive transmissions of beacon frames is called the “target beacon transition time” or TBTT.
In an IBSS network, beacon frames are generated in a distributed manner. The beacon interval is included in both beacon frames and probe response frames. The STAs adopt the beacon interval at the time each STA join the ad hoc network. In an IBSS network, all members participate in beacon generation. Each STA maintains a timing synchronization function (TSF) timer for beacon interval timing. As an IBSS network does not have access points, when a STA has buffered frames for a recipient that is in a low-power mode, the STA sends an announcement traffic indication message (ATIM) frame during the ATIM window to notify the recipient that it has buffered data for the recipient. The ATIM frame has a null frame body.
The timestamp field in the beacon frame represents the value in the TSF timer at the frame's source. A station joining an IBSS network initializes its TSF timer to 0 and refrains from transmitting a beacon frame or a probe response frame until after it receives a beacon frame or a probe response frame from another member of the IBSS with a matching SSID to ensure proper synchronization within the IBSS network.
In an IBSS network, a STA may be in an “awake” state, in which the STA is fully powered, or in a “doze” state, in which the STA consumes little power and is unable to transmit or receive. The term “power management” for an STA refers to the manner in which an STA transits between awake and doze states.
In an infrastructure network, an STA changing its power management mode to a doze or PS state informs the AP using the power management bits within the frame control field of the transmitted frames. Thereafter, the AP does not arbitrarily transmit MAC service data units (MSDUs) to the STA. The MSDUs are buffered and transmitted at designated times. The STAs associated with an AP that has buffered MSDUs for the STAs are identified in a TIM that is included in all beacon frames generated by the AP. By interpreting the TIM, an STA is made aware that an MSDU is buffered for it. An STA operating in PS modes periodically listens for beacon frames, according to its listen interval and receive delivery traffic indication message (DTIM) parameters. Upon learning that an MSDU is currently buffered in the AP, the STA transmits a short PS-poll frame to the AP, which responds with the corresponding buffered MSDU immediately, or acknowledges the PS-Poll and responds with the corresponding MSDU at a later time. If a STA in its BSS is in PS mode, the AP buffers all broadcast and multicast MSDUs and delivers them to the STA immediately following the next beacon frame containing a DTIM transmission.
A STA operating in PS mode enters the awake state prior to each TBTT. If the STA receives an ATIM management frame directed to it, or a multicast ATIM management frame during the ATIM Window, the STA remains in the awake state until the end of the next ATIM window. An STA that has transmitted a beacon frame or an ATIM management frame will remain in the awake state until the end of the next ATIM window, regardless of whether or not an acknowledgement is received for the ATIM. If the STA has not transmitted an ATIM and does not receive either an ATIM management frame directed to it, or a multicast ATIM management frame during the ATIM window, the STA may return to the Doze state following the end of the current ATIM window.
The ATIM window size has implications to power management and performance. A large ATIM window is not desirable because every STA needs to stay awake for the duration of the ATIM window, so that a large ATIM window results in unnecessary power consumption to those STAs without incoming and outgoing traffic. The data transmission period following the ATIM period within the same beacon interval may also become too small, such that not all STAs with successful ATIM/ACK message exchange in the ATIM window may be able to transmit data in the data transmission period. Thus, the short data frame transmission not only increases transmission delay, but also wastes the energy of those STAs with unfinished data transmissions, which must stay awake over the duration of the entire beacon period.
Conversely, too short an ATIM window is also undesirable. If the ATIM window size is too small, a STA may not be able to send out all its ATIM messages to its peers within the ATIM window. Such a STA has to wait for the next beacon interval, resulting in a delay in transmission. The data transmission period will become too long relative to the number of packets to be transmitted as determined during the ATIM window. Some bandwidth will therefore be wasted.
PCT Patent Application Publication WO 2004/077762 A1, entitled “Power management in an IEEE 802.11 IBSS WLAN using an adaptive ATIM window,” by Z. Zhong, filed September 2004, proposes a scheme which dynamically adjusts the size of an ATIM window. Under this scheme, each STA uses the gap between the last overheard ATIM frame transmission and the end of the ATIM window to determine whether or not to increase or decrease the size of its ATIM window. Each STA competes to send its beacon containing its proposed ATIM window size. The winner's proposed window size is then adopted by all STAs of the IBSS. More specifically, each station keeps pre-determined values MAX_GAP, DA_MIN, and DA_DECR, where MAX_GAP is the maximal unused ATIM window size, DA_MIN is the smallest ATIM window size allowed, and DA_DECR is a pre-set amount to decrement the size of ATIM window. The algorithm to decrease ATIM window size is:
Similarly, each station keeps a pre-determined MAX_NO_DA, DA_MAX, and DA_INCR, where MAX_NO_DA is the longest untransmitted ATIM message, DA_MAX is the largest ATIM window size, and DA_INCR is a preset amount to increase the size of ATIM window. The algorithm to increase ATIM window size is then:
As discussed above, existing work does not provide a mechanism to set up an initial ATIM window size, but relies completely on dynamic adaptation schemes to adjust ATIM window sizes. Dynamic adaptation schemes not only are time consuming, but are also unstable in some cases when the traffic variation changes dramatically.
It is therefore desirable to calculate an optimal ATIM window size based only on the number of nodes in the IBSS. Such a scheme determines an optimal initial ATIM window as nodes join or leave the system. Such a scheme may be combined with other dynamic adaptation schemes to achieve better performance.
According to one embodiment of the present invention, a method calculates an optimal ATIM window size in an IBSS WLAN, based on the number of mobile stations in the network. The method is compatible with power saving techniques used in current 802.11 standards, and provides the lengths of different time periods including beacon transmission, ATIM transmission, and data transmission. Working together with other dynamic adaptation schemes, a method of the present invention can achieve good performance and reduced power consumption.
According to one embodiment, a method for power saving in an ad hoc wireless computer network determines an optimal ATIM message exchange window. The method (a) determines an effective number of nodes that participate in exchanges of ATIM messages during an ATIM window; (b) using the effective number of nodes, calculating a length for a data frame transmission window; and (c) calculates a length for the ATIM window using the calculated data frame transmission window. In one instance, the method determines the effective number of nodes based on the number of senders of ATIM messages. In another instance, the effective number of nodes is determined based on both senders and recipients of the ATIM messages. The method may determine the effective number of nodes from a number of successful ATIM message transmissions in a given time period. The calculated ATIM window size can be provided as an initial value to other methods that dynamically adjust the ATIM window size.
The present invention is better understood upon consideration of the detailed description and the accompanying drawings.
According to one embodiment of the present invention, an algorithm optimizes the ATIM window size for a give IBSS network based on a number of STAs in the network. In this embodiment, (a) STAs sending out or receiving ATIM messages within the ATIM window remain in the “awake” state until the end of the next ATIM window, as required by the 802.11 standards; (b) all STAs operate in a power saving mode (i.e., there are no always-on stations); (c) all nodes in the IBSS network can hear each other and, as a result, form a clique; (d) all STAs have equal priority; and (e) only STAs that have a successful ATIM/ACK message exchange during the ATIM window may transmit during the data transmission window.
In one embodiment, the time interval between two adjacent transmission attempts is assumed exponentially distributed. In such a model, the channel attempt rate λ is given by a Poisson distribution and the channel collision rate p is constant, relating only to the current competing traffic load. For a network with N nodes within each other's transmission range, the current average channel attempt rate λ is given by
where Li is the contention window for node i, and L is the average contention window size. The average arrival time of an attempted transmission is 1/λ.
The probability mass function in a time slot of k transmissions is then give by:
Therefore, the channel collision rate p is given by
p=Pr[k≧2]=1−Pr[0]−Pr[1]=1−e−λ−λe−λ.
Let m be the number of retransmissions that reaches the maximum back-off window size (e.g., for an exponential back-off scheme, m is the value that satisfies 2m*CWmin≧CWmax). For an exponential back-off scheme, the probability that the jth collision window size occurs is given by:
As
If bj is the jth contention window size, the average contention window size L is given by:
Thus, the average contention window size L depends on the average collision ratio p, and average channel attempt rate λ, given CWj=2j·CWmin and CWmax=2m·CWmin.
Thus, using L(0), which represents the largest back-off window size, first estimates for the values of λ(0) and p(0) may be made using the equations for λ and p above. Then, by applying the equation for calculating L above, a refined estimate L(1) of the average contention window size may be computed, from which second estimates of λ(1) and p(1) may be made. The iteration is repeated until the difference between two consecutive estimates for the average contention size is less than a predetermined value, i.e., |L(j+1)−L(j)|<ε, where ε denotes a pre-defined small value. The estimates at that time for the average channel attempt rate λ and the channel collision rate p are adopted.
In the following discussion, the average time used for ATIM message transmission is denoted TA, the number of successful transmissions achieved within TA is denoted Nf-suc, and the average number of STAs that is a party for a successful ATIM/ACK exchange within TA is denoted Nn-suc. These STAs remains in an awake state during the data transmission period of the beacon interval. Note that Nf-suc is no less than Nn-suc because each STA may transmit more than one ATIM/ACK message.
The probability of collision pf, given at least one ATIM transmission, is
Therefore, the probability of a successful ATIM transmission ps is
and the probability that a successful transmission at the kth attempt is pk=ps(1−ps)k−1. Therefore, the expected number of attempts before a successful ATIM transmission is achieved is
where EIFS, SIFS, and DIFS are predefined system parameters, tfail-one and tsuc-one are the times for a collision and a successful transmission, respectively, twait is the contention window, and tATIM and tACK are the required times to transmit an ATIM frame and a ACK frame, respectively. Let FATIM be the total length of a data frame, FACK be the total length of an ACK frame, and Rtrans be the channel transmission rate:
Hence, within TA, the average number of successful transmissions Nf-suc, is given by Nf-suc=TA/ttotal-one. Some nodes may transmit more than one ATIM message. The number of individual nodes Nn-suc that successfully send out ATIM/ACK messages is next derived.
An ATIM message indicates that the sender intends to send a data frame during the data transmission period of a beacon interval. The recipient of the ATIM message returns an acknowledgement to the ATIM message in the ATIM window. The recipient of the ATIM message may or may not have a data frame to send to the sender of the ATIM message during the same data transmission period (i.e., a recipient of an ATIM message may send a data frame to the sender of the ATIM message, without itself separately successfully sending an ATIM message to the sender). Hence, there are two possibilities: first, only the sender of a successful ATIM exchange sends a data frame during the data transmission period; second, both the sender and the recipient of a successful ATIM message send data frames during the data transmission period. All of the Nf-suc frames are equally likely to be between any two nodes.
Therefore, for each node i, an identically distributed random variable Xi takes on the following values:
Then E[Xi] is the probability that node i is included by one or more of the Nf-suc flows. N is the total number of nodes in the system. Then, the expected number of individual nodes included in the Nf-suc flows is given by: Nn-suc=E[X1+X2+ . . . +XN]=N·E[X]. If only the sender of an ATIM message sends a data frame,
and
However, if both the sender of an ATIM message and the recipient of the ATIM message send data frames, node i is not included in a flow if it is neither the source nor the recipient of the flow. Hence,
Following the ATIM window, Nn-suc nodes remain in an awake state during the data transmission period and compete to send out data frames. Assuming that every node always has a packet to send, the optimal length of data transmission period is the time needed for every node to successfully transmit at least one packet. If Yi is the time needed for the ith node to successfully transmit its first packet, the total time needed for all Nn-suc nodes to finish transmission is: TD=E[Y1+Y2+ . . . Yn-suc]=E[Y1]+E[Y2]+ . . . E[Yn-suc]. The probability for the ith node to be able to send out a data frame in a slot, given that (i−1) nodes have already transmitted a data frame, is given by:
Because the required time is geometrically distributed,
Therefore, the total time for transmitting Nn-suc frames is given by:
At every TBTT, after the last data frame from the previous beacon interval completes its transmission, every STA in the clique competes to send out a beacon frame. The first STA that successfully sends out the beacon message becomes the beacon station in the current beacon interval. When an STA hears a beacon message, it terminates its own beacon transmission and prepares to send its ATIM messages. The average total beacon transmission time, including collision and final successful transmission, is computed as follows. Before sending a beacon message, each STA sets a back-off window size, which is uniformly distributed between [0, 2·CWmin]. The back-off timer decreases by 1 each idle slot. Once the timer for a STA expires, the STA sends out its beacon message. Because a beacon message is not acknowledged, the STA prepare for sending ATIM messages without regard to whether or not its beacon message is received. A beacon message that is not successfully sent because of a collision or an interference allows another STA to become the beacon station when it sends its beacon message.
Because each STA's initial contention window size is 2·CWmin, the average channel attempt rate for beacon transmission λB is given by
assuming a Poisson distribution. From an analogous discussion about regarding ATIM window, the interval arrival time is exponentially distributed with an average value of 1/λB. The probability of collision pf−B, given at least one beacon frame transmission, is
Therefore, the probability Ps−B of a successful transmission of a beacon frame is
The probability of a successful transmission at the kth attempt is pk−B=ps−B(1−ps−B)k−1, and the expected number of attempts for a successful beacon transmission is
After a contention window, beacon frames are transmitted. If the beacon frame transmission is unsuccessful, the transmission is followed by an EIFS interval. Otherwise, after a successful transmission of a beacon frame, a DIFS interval occurs. Therefore, the total expected time TB to a successful transmission of a beacon is
where EIFS, SIFS, and DIFS are predefined system parameters, tfail-B and tsuc-B are the times for a collision and a successful transmission of a beacon frame, respectively, twait is the contention window, and tbeacon is the required times to transmit an beacon. Let Fbeacon be the total length of a beacon frame, and Rtrans be the channel transmission rate:
tbeacon=Fbeacon/Rtrans
To summarize, in the above description shows the derivations of the average time TB to transmit a beacon, the average number of nodes Nn-suc that transmit ATIM/ACK messages within an ATIM exchange period of length TA, and the average time TD of a data transmission period for all Nn-suc nodes to each transmit at least one frame. The average time TR for a node to finish a packet transmission across a TBTT time boundary is assumed to be tdata/2, where tdata is the time required to transmit a data frame. Time tdata is given by tdata=Fdata/Rtrans, where Fdata is the average length of a data frame; accordingly, the average time TR is given by
Referring back to
At steps 1103 and 1104, residue data transmission time TR and beacon transmission time TB are calculated. ATIM transmission time TA and data transmission time TD are correlated through the number of nodes Nn-suc that successfully transmit ATIM/ACK messages. Steps 1105 and 1106 calculates the total time ttotal-one to transmit an ATIM message, the average number Nf-suc of total frame transmission in TA, the average number of nodes Nn-suc from Nf-suc respectively for the cases in which only the sender of an ATIM message sends a data frame and the case in which both the sender of the ATIM message and the recipient of the ATIM message send a data frame. The data transmission period TD is calculated from Nn-suc. Given a TBTT (Ttotal) the values derived for TR, TB and TD, optimal ATIM window TA is calculated. From the values of TR, TB, and TA, the optimal ATIM size TATIM is calculated.
The above detailed description is provided for illustrating the specific embodiments and is not intended to be limiting. Numerous variations and modifications within the scope of the present invention are possible. The present invention is set forth in the attached claims.
The present application is related to, and claims priority to, U.S. provisional patent application, entitled “Methods and Apparatus for Optimal ATM Size Setup for 802.11 Networks in Ad Hoc Mode,” Ser. No. 60/749,141, filed on Dec. 9, 2005. This provisional patent application is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
60749141 | Dec 2005 | US |