• 沒有找到結果。

無線區域網路中控式電源管理技術之研究

N/A
N/A
Protected

Academic year: 2021

Share "無線區域網路中控式電源管理技術之研究"

Copied!
122
0
0

加載中.... (立即查看全文)

全文

(1)

國 立 交 通 大 學

電信工程研究所

博 士 論 文

無線區域網路中控式電源管理技術之研究

Centralized Power Management Techniques for

Wireless Local Area Networks

研 究 生:謝景融

指導教授:李程輝 博士

(2)

無線區域網路中控式電源管理技術之研究

Centralized Power Management Techniques for

Wireless Local Area Networks

研究生:謝景融

Student:

Jing-Rong

Hsieh

指導教授:李程輝 博士 Advisor:

Dr.

Tsern-Huei

Lee

國立交通大學

電信工程研究所

博士論文

A Dissertation

Submitted to Institute of Communication Engineering

College of Electrical and Computer Engineering

National Chiao Tung University

in Partial Fulfillment of the Requirements

for the Degree of Doctor of Philosophy

in

Communication Engineering

September 2010

Hsinchu, Taiwan

(3)

無線區域網路中控式電源管理技術之研究

研究生: 謝景融 指導教授: 李程輝 博士

國立交通大學電信工程研究所

摘要

近年來IEEE 802.11 無線區域網路已成為寬頻無線存取的主要途徑。其使用者在享受各種新穎 服務的同時,也期待可攜無線設備的使用時間能符合需求。為減少能量浪費,電源管理是透 過適時調降無線設備電源狀態的節能技術。對於共享傳輸媒介且多使用者的無線網路而言, 除了依訊務的就緒與否來調節電源狀態,如何滿足個別需求且錯開使用者的服務時間以避免 耗費電能的無意聆聽(overhearing),也是很重要的議題。因此我們聚焦於電源管理排程演算法, 考慮變動位元率訊務與錯誤重傳,減少服務期間重疊情形以達節能之目的。 在本論文中,為了支援 802.11e 標準中的節能機制―排程式自動節能遞送(Scheduled

Automatic Power Save Delivery),我們首先提出一個易實現的排程演算法。此排程準則為最大 化新加入訊務與現存已排程事件的距離。利用服務排程間距之週期性,能避免相關研究提出 的暴力搜尋法(brute-force search)造成的冗餘檢查。此外,基於現實中的訊務種類有限的特點, 我們提出事先計算並儲存不同類訊務間的相對關係的演算法,進一步降低實現複雜度。由於 前述排程準則為基於系統原有排程找尋新訊務的合適安插位置,因而排程結果與訊務加入順 序相關,所得亦為漸進式的最佳化結果。所以我們延伸提出重整系統現存訊務排程的整體最 佳化問題,目標為最大化整體系統排程的最小距離。我們設計的重整演算法妥善利用平分排 程的低複雜度且保持最小排程間距的上限,可達到良好的節能效果。 為了提高無線頻寬使用效率,多重輪詢(multi-polling)經常被用來降低通訊協定中的虛耗 (overhead)。然而,為了維持排序競爭式多重輪詢之正常運作,需要無線站台耗費許多時間在 無意聆聽上,導致電能浪費而降低電池可用時間。在本論文中,我們提出一個節能多重輪詢 (Energy-Efficient Multi-Polling)機制,結合低虛耗通訊協定與電源管理技術。在此機制中,我 們推出一個給定頻寬使用率下的最佳甦醒時間排程(wake-up time schedule),相較於原先的排

序式多重輪詢機制,分析與模擬結果均展示良好的節能表現。在給定損失5%的頻寬使用率且 由20 個無線站台組成之環境下,可達到 80%的節能改進。此顯著效果來自妥適的甦醒時間排 程,大幅避免無意聆聽的情形。最後,我們亦探討無線網路中因錯誤回復(error recovery)造成 的節能問題。對於類分時多工的多重輪詢機制,提出有效的甦醒時間排程以及相應於重傳致 使延遲的排程更新演算法,增加站台進入低電源狀態的機會。模擬結果顯示採用我們的演算 法可顯著改進錯誤重傳發生時的節能效果。

(4)

Centralized Power Management Techniques for Wireless Local Area Networks

Student: Jing-Rong Hsieh Advisor: Dr. Tsern-Huei Lee

Institute of Communication Engineering National Chiao Tung University

Abstract

In the past decade, IEEE 802.11 wireless LANs has gained large popularity in broadband wireless access. Users are demanding high performances while keeping respectable operation time for the mobile devices. Power management (PM) is an essential technique for energy saving by putting de-vices into low power state during appropriate interval. For a multi-user and shared medium wireless network, in addition to managing power state according to readiness of traffic, it is important to separate the usage time of different users to prevent energy-consuming overhearing. Hence, in this dissertation, considering variable-bit-rate traffic and unpredictable error recovery, we focus on the scheduling algorithms to reduce the chance of service period overlapping.

To support standardized power saving mechanism in IEEE 802.11e, we propose a feasible scheduling algorithm for the Scheduled Automatic Power Save Delivery. The goal is to maximize the minimum distance between the scheduled instants of new joining traffic stream (TS) and exist-ing scheduled events (SEs). By the proven periodicity of service schedules, the redundant check in the previous brute-force method can be avoided. Moreover, considering limited number of classes for TSs, we can pre-calculate and store necessary information to further reduce the implementation complexity. Extending the idea of finding the optimal service start time for new joining TS incre-mentally, we also study the rearrangement of existing SEs to further maximize the system minimum distance. We prove the upper bound of the system minimum distance and design efficient rearrang-ing algorithms to achieve satisfactory energy savrearrang-ing.

In order to achieve higher system bandwidth utilization (BU), multi-polling mechanisms are often employed to reduce protocol overhead. However, they may require wireless stations (STAs) to spend much time in overhearing. We propose an energy-efficient multi-polling mechanism which combines PM strategy with a low overhead Medium Access Control protocol. Given a desirable guarantee of BU, an energy optimized wake-up time schedule (WTS) is devised. Significant saving of energy can be obtained with only small loss of BU as trade-off. It is the consequence of alleviat-ing the overhearalleviat-ing problem by well scheduled WTSs for STAs. In the end, we also study the ener-gy saving issue induced from error recovery. A WTS and a renewal algorithm in correspondence with the delay caused by retransmissions are proposed for the TDMA-like multi-polling mechanism. Simulation results show that, compared with the original setting, significant improvement can be obtained by the proposed algorithms.

(5)

Acknowledgements

I am very fortunate to have Professor Dr. Tsern-Huei Lee as my supervisor during my grad-uate studies. For these years, his enthusiasm for research and dedication to my professional developments are truly inspiring. I am deeply grateful to Prof. Lee for his continuous en-couragement, support, valuable suggestions, and discussions to help me complete this work. I would also appreciate each committee member of my dissertation defence. Their valuable comments give this dissertation considerable polish.

I would like to show my gratitude to my dear friends in Network Technology Laboratory and in Department of Communication Engineering for their stimulating discussion, warm care, and assistance throughout my study.

Special thanks are given to National Science Council for the financial supports which made this work possible. I am thankful to Deutsch Akademischer Austausch Dienst (DAAD, German Academic Exchange Service) which offered me a great opportunity and scholarship to experience the research environment in Germany. I would also like to thank National Chiao Tung University for providing such a wonderful environment for studying and doing researches.

In the end, I would like to dedicate this dissertation to my family for their love, encour-agement, and long expectation.

(6)

Contents

中文摘要 i

Abstract ii

Acknowledgements iii

Contents iv

List of Tables viii

List of Figures ix

1 Introduction 1

1.1 Overview . . . 1

1.2 Acronyms . . . 4

1.3 Contributions and Dissertation Organization . . . 5

2 Backgrounds 8

2.1 Medium Access Control of Wireless LANs . . . 8

2.2 Power Management of Wireless LANs . . . 11

(7)

3.1 System Model . . . 18

3.2 Low Complexity Scheduling Algorithm . . . 19

3.2.1 Basic Idea . . . 19

3.2.2 Generalization to K Existing Traffic Streams . . . . 23

3.3 Class-Based Scheduling Algorithm . . . 26

3.3.1 Suggested Implementation Method . . . 27

3.4 Performance Evaluations . . . 30

3.4.1 Comparison of Computational Complexity . . . 30

3.4.2 Comparison of Power Consumptions . . . 32

3.4.3 Comparison of Affordable Transmissions . . . 33

3.5 Summary . . . 34

4 Rearrangement Algorithms for the IEEE 802.11e S-APSD 40 4.1 System Model . . . 41

4.2 The Rearrangement of Scheduled Events . . . 43

4.2.1 The Brute-Force Searching Method . . . 44

4.2.2 The Naive Equal-Spacing Method . . . 45

4.3 The Coprime-Avoiding Scheduling Algorithms . . . 47

4.3.1 The Gmin-Maintaining Decomposition Greedy Scheduling . . . 50

4.3.2 The Simply Sorted Greedy Method . . . 52

4.3.3 Implementation Issues . . . 52

4.4 Performance Evaluations . . . 54

(8)

4.4.2 Comparison of the System Minimum Distance . . . 57

4.4.3 Comparison of Power Consumptions . . . 58

4.5 Summary . . . 60

5 Energy-Efficient Multi-Polling Mechanism 63 5.1 System Model . . . 65

5.2 Energy-Efficient Multi-Polling Mechanism . . . 65

5.2.1 Mechanism Design . . . 65

5.3 Energy-Efficient Wake-up Time Schedule . . . 69

5.3.1 An Energy-Efficient Scheduling Model . . . 69

5.3.2 Analysis of Energy Efficiency . . . 75

5.3.3 Impact of Estimation Discrepancy . . . 77

5.4 Performance Evaluation . . . 78

5.4.1 Example 5.1 . . . 78

5.4.2 Example 5.2 . . . 79

5.4.3 Example 5.3 . . . 82

5.5 Summary . . . 83

6 Dealing with Energy-Saving Issue Induced from Error-Recovery 87 6.1 System Model . . . 88

6.1.1 Error recovery . . . 88

6.1.2 Two-Step Multi-Polling . . . 88

6.2 The Proposed Power Saving Scheme for TSMP . . . 89

(9)

6.2.2 Wake-up Time Schedule with Pre-Delay . . . 97 6.3 Performance Evaluation . . . 98 6.3.1 Simulation Scenario . . . 98 6.3.2 Simulation Results . . . 99 6.4 Summary . . . 102 7 Conclusions 103 Bibliography 105

(10)

List of Tables

3.1 Notations used in Section 3.2 . . . 36

3.2 Notations used in Section 3.3 . . . 37

3.3 Traffic Characteristics. . . 38

3.4 System parameters . . . 38

3.5 Online Complexity Comparisons. (In Comparison/Subtraction/Addition) . 39 4.1 Notations used in Chapter 4 . . . 61

4.2 Traffic Characteristics. . . 62

4.3 System parameters . . . 62

5.1 Notations used in the analysis . . . 84

5.2 System parameters . . . 85

5.3 The WTS for different standard deviations, the target transmission start time, and the corresponding energy saving performances. . . 86

(11)

List of Figures

1.1 The infrastructure Wireless LANs. . . 4

2.1 Illustration of relative distance between scheduled events. . . 14

3.1 Illustration of relative distance between two periodic sequences. . . 18

3.2 S-APSD scheduling example. . . 21

3.3 The scheduling matrix. . . 24

3.4 The illustration of constructing a global scheduling matrix. . . 29

3.5 The performance of scheduling complexity. . . 32

3.6 The performance of power consumptions. . . 33

3.7 Comparison of affordable transmissions. . . 34

4.1 Illustration of relative distances between two periodic sequences. . . 42

4.2 An illustration of strict-sense equal spacing scheduling (K = 5, K|p). . . . . 45

4.3 The relationship between the offset, distance, and GCD’s. . . 49

4.4 Comparison of implementation complexity. . . 55

4.5 Comparison of the obtained maximum of minimum distance. . . 58

4.6 Comparison of the Average Consumed Power. . . 59

(12)

5.2 Suggested frame format of EE-Multipoll. . . 66

5.3 The framework of the proposed EE-Multipoll mechanism. . . 66

5.4 Illustration of EEMP operations. . . 68

5.5 Illustration of the calculation of WTS. . . 71

5.6 Performances of the derived wake-up time schedule for Example 1. . . 80

5.7 Performances of the derived wake-up time schedule with different frame error rates for Example 2. . . 81

5.8 The deviation of using Normal distribution as traffic model. . . 82

6.1 The TSMP scheme and the proposed wake-up time schedule for error-free condition. . . 90

6.2 The suggested format of DTMP. . . 92

6.3 The improvement on energy saving for both schedules without the updating algorithm. . . 100

6.4 System throughput performance of our proposed schedules. . . 101

6.5 The improvement on energy saving for both schedules with the updating al-gorithm. . . 102

(13)

Chapter 1

Introduction

1.1

Overview

The IEEE 802.11 [1] wireless local area network (wireless LAN) has been widely spread due to its low cost and easy installation. One can easily find wireless LAN hot spots in most places of a modern city such as office, campus, cafe, or even on the street. Therefore, including popular laptop computers and Netbooks, more and more mobile devices integrate wireless LAN functionality inside for Internet accessing. As the hardware performance of the mobile devices is greatly improved and many useful features such as location-based service and the notion of cloud computing are introduced, it is more likely for people to access the Internet anytime and anywhere through their mobile devices.

Over the past decade, the popularity of wireless LAN has also driven many research works and enhancements to the original standard, such as throughput, quality of service (QoS), and security. Due to high protocol overhead, the throughput performance of 802.11 wireless LAN is much worse than the underlying physical layer (PHY) transmission rate. It has been proved in [14] that there is theoretical upper limit of achievable throughput for IEEE 802.11 protocol. The upper limit depends on payload length and is about 75 Mbps for 802.11a with 1500-byte payload length. To increase system throughput, the IEEE 802.11n task group is initiated to achieve a maximum throughput of at least 100 Mbps, as measured at the MAC data service access point, by both PHY and medium access control (MAC) enhancements

(14)

and the specification [3] was finalized in the end of 2009. Despite the goal to provide QoS in wireless LAN, IEEE 802.11e [2] defines some features which also improves the system bandwidth utilization. The introduction of transmission opportunity (TXOP), Block ACK (acknowledgement), and direct link protocol can be utilized to reduce some MAC overhead. For centralized channel coordination, to further improve bandwidth utilization, multi-polling schemes [15]– [17] and [18] were proposed to reduce overhead caused by possibly constant polling frames.

While emerging researches and standards are pursuing high performance and high ca-pacity wireless links, the required power consumptions of mobile devices are also increased quickly. The resulted short battery lifetime and cost for cooling the power hungry system could become disturbances to mobile device users [9]. It had been noted that the battery technology has no significant advances for decades [29]. Comparing with the increase of processor power consumption of 200 % every four year, a modest 25 % increase in the bat-tery energy density is observed for the same interval [7]. It is also revealed in [10] that wireless network interface could consume upwards of 30 % of scarce portable system energy. Since most wireless devices are battery powered, many techniques have been proposed to reduce the power consumption of wireless network interface, such as transmission power con-trol [12], [13], and power management. Regarding the power management method, powering down the transceiver can lead to great power savings even during active sessions since the consumed power of the Awake state and the Doze state differ much. For example, the Lucent IEEE 802.11 WaveLAN card [22] consumes 1.65 W, 1.4 W and 1.15 W in the transmit, re-ceive and idle modes, respectively, in the Awake state. In the Doze state, it consumes 0.045 W which is much less than any mode of the Awake state. Most previous works [21]- [25] consider ad hoc scenarios because devices in an infrastructure system are usually connected to a AC power supply or equipped with long life battery. The situation has been changed for current multi-mode mobile devices because their small size and weight severely limits the battery size and capacity. Therefore, it is worth to study the techniques to save the energy

(15)

of wireless devices even in the infrastructure mode.

In [5], the major sources of energy waste of shared medium wireless networks were listed:

1. collision: Transmission collision obviously is a source of energy waste because frames

involved in a collision are destroyed. Moreover, the subsequent retransmissions also require additional energy consumption.

2. overhearing : Overhearing means that a wireless station (STA) receives and decodes

packets that are not destined to it. This situation does happen in a multi-user and shared medium scenario, especially that the default state is the receive state for wireless LANs despite whether a STA is actually receiving a packet [20].

3. control packet overhead : Control (packet) overhead such as ACK frame and

inter-frame space (IFS) are necessary to maintain MAC operations normally. Unfortunately, they increase the active time and energy consumption of STAs when transmitting, receiving control frames or experiencing some backoff deferral to facilitate distributed coordination.

4. idle listening : Idle listening represents useless energy consumption of an STA waiting

for possible frames destined to it. This is especially true in ad hoc or sensor network applications.

It is clear that the battery lifetime can be extended if these factors of energy waste can be eliminated.

Since the number of devices with wireless LAN functionality is expected to keep growing, a large network consists of multiple users should be investigated. To increase energy conser-vation, the focus should be reducing the number of STAs in Awake state at a given time and separate their communicating durations. There are several previous works [26] - [28] studied the problem of adaptively tracking packet inter-arrival time to avoid unnecessary idle listen-ing while satisfylisten-ing the QoS requirement. However, in a large network, even the periodic

(16)

Infrastructure BSS

Figure 1.1: The infrastructure Wireless LANs.

service schedule has been determined or the traffic are available for transmission in the access point (AP) or STA, the efficient coordinations for channel access and awake duration for the STAs are still challenging due to the uncertainties of actual required time. Hence, in this dissertation, we specifically focus on the centralized power management techniques to avoid above mentioned sources of energy wastage and dedicate to the elimination of multi-user

overhearing problem. The applying scenario is infrastructure wireless LANs, as shown

in Fig. 1.1, where the AP can take the responsibility of scheduling the activities and power states of STAs and it is assumed that STAs can hear each other within the BSS.

1.2

Acronyms

The acronyms used in this dissertation are listed in the following. 1 ACK acknowledgement

AP access point

1In this dissertation, the terms AP and STA refer to what in the 802.11e standard is denoted as QAP

(17)

APSD automatic power save delivery BSS basic service set

DCF Distributed Coordination Function EDCA Enhanced Distributed Channel Access HCCA HCF Controlled Channel Access HCF Hybrid Coordination Function IFS inter-frame space

MAC medium access control

MIMO multiple-input multiple-output

OFDM orthogonal frequency division multiplexing PCF Point Coordination Function

QoS quality of service SI service interval SE scheduled event SP service period STA wireless station

TDMA time division multiple access TS traffic stream

TXOP transmission oppourtunity

1.3

Contributions and Dissertation Organization

The main parts of this dissertation are placed in Chapter 3 and Chapter 5. For clarity, the contributions of Chapter 3 and Chapter 5 are firstly briefed as follows.

As other specifications, the specific scheduling algorithm for the Scheduled Automatic Power Save Delivery (S-APSD) mechanism of IEEE 802.11e is left open to allow vendor

(18)

dif-ferentiations. In Chapter 3, to overcome the high implementation complexity of the previous work [38], we develop two low-complexity scheduling algorithms for the S-APSD mechanism.

1. A low complexity non-contiguous scheduling algorithm which exploits the periodicity of the service schedules is presented in Section 3.2.

2. The idea is further enhanced in Section 3.3 by precalculating and storing required information for the limited number of Classes of traffic streams to allow fast scheduling and a suggested implementation method is presented.

This work was submitted and under reviewed in IEEE Transactions on Mobile Computing [46] and was presented in parts at the 2010 IEEE 71st Vehicular Technology Conference: VTC2010-Spring [44].

In Chapter 5, to achieve the goal of maximizing energy saving while maintaining the merit of high bandwidth utilization multi-polling scheme, a multi-polling mechanism considering energy efficiency is proposed and studied.

1. An Energy-efficient Multi-Polling mechanism is presented with detailed operations of AP and wireless stations in Section 5.2.

2. To optimize the performance of energy saving subject to a pre-defined tolerable loss of bandwidth utilization, a derivation of wake-up time schedule is presented in Section 5.3.

This work was appeared in IEEE Transactions on Wireless Communication in 2009 [45] and was presented in parts at the 2007 IEEE 65th Vehicular Technology Conference: VTC2007-Spring [32].

Besides Chapter 3 and 5, the remainder of this dissertation is organized as follows. For ease of readability, we describes the backgrounds and literature review of channel access schemes and energy-saving in Chapter 2. Including basic channel access schemes provided in the standards, the low overhead multi-polling schemes [15]– [17] and [18] are also reviewed in

(19)

this chapter. In Chapter 4, we investigate the problem of rearranging the existing scheduled events to attain better energy saving performance. We prove the upper bound of the system minimum distance and design efficient rearranging algorithms to achieve satisfactory energy saving. This work was accepted and to be presented in parts at the IEEE TENCON2010 [48]. To increase the performance on energy saving considering the error recovery issue for the TDMA-like multi-polling mechanism [18], Chapter 6 develops wake-up time schedules and an update algorithm in correspondence to the delay caused by retransmissions. This work was presented at the 2008 IEEE 67th Vehicular Technology Conference: VTC2008-Spring [44].

(20)

Chapter 2

Backgrounds

For a better understanding, some background knowledge about medium access control and power management of wireless LANs is provided in this chapter. In short, the medium access control protocols of IEEE 802.11 [1] and 802.11e [2] and some variations are briefly introduced in Section 2.1. What follows is Section 2.2 that gives a description of the power management schemes covered in the standards and a related work [38] for the scheduling algorithm used in S-APSD.

2.1

Medium Access Control of Wireless LANs

The basic access scheme of wireless LANs is named as Distributed Coordination Func-tion (DCF) which is known to be a contenFunc-tion-based mechanism. Considering a multiple STAs scenario, every STA uses the carrier-sense multiple access with collision avoidance (CSMA/CA) before its transmissions. A sensing duration of DCF IFS (DIFS) is preceding the access attempt of non-AP STAs. If the medium is sensed to be busy, a STA holds its access attempt and randomly generates a backoff time in units of time slots from a region called contention window by itself. Once the medium becomes idle for DIFS, a STA starts to decrease its backoff counter one by one for every additional idle time slot. Then a STA freezes the counter and sets its network allocation vector (NAV) with the value carried in the duration field of the overheard frame for virtual carrier sensing. When the backoff counter

(21)

reaches zero, a STA has the right to initiate its transmission for a duration of a single data frame.

On the other hand, there is also a centralized channel coordination scheme named as Point Coordination Function (PCF) defined in 802.11. In PCF, the AP maintains a polling list and a polled STA has the right to transmit one data frame during the contention-free period. Such policy may induce bandwidth hogging by low rate STAs, i.e., a single STA may possess the medium for a long time. Therefore, in addition to the priority differentiations defined in Enhanced Distributed Channel Access (EDCA) and HCF Controlled Channel Access (HCCA), the succeeding 802.11e introduces the notion of TXOP to limit the trans-mission time of a STA who may need to fragment a large frame into smaller ones to fit into the interval. The TXOP is a bounded interval during which the holder can initiate an uninterrupted frame exchange sequence. Moreover, if a TXOP holder does not have enough data to use up the allocated time, it can return the remaining time to the AP to do resource reallocation. (The join/leaving handshaking for the polling list of a STA can utilize the ADDTS (Add Traffic Stream)/DELTS (Delete Traffic Stream) frame defined in [2].) Never-theless, the requirement of polling frames is kind of overhead lowering system BU. To reduce protocol overhead, multi-polling schemes are often employed.

Ordered-Contention Multi-polling Mechanisms

The concept of ordered contention was first proposed in CP-Multipoll (Contention-Period Multi-Polling) [15] and slightly modified in [16] and [17]. The basic idea is that the AP announces the channel access order of STAs in the polling list via backoff value assignments. In other words, the CSMA/CA access scheme is incorporated into the polling scheme except that the backoff value is controlled by the AP. After receiving the notification, all STAs set their backoff counters and start to count down after the medium is sensed to be idle for a period called Short IFS (SIFS), which is shorter than DCF IFS (DIFS) used by legacy STAs to prevent interruption. (DIFS = SIFS + 2 × SlotTime [1]) If the medium is busy, a STA

(22)

freezes the counter and sets its network allocation vector (NAV) with the value carried in the duration field of the overheard frame for virtual carrier sensing. When the backoff counter reaches zero, a STA has the right to initiate its transmission for a duration as long as the allocated TXOP. The ordered-contention scheme adapts well to the variable bit rate (VBR) traffic.

Since the operations of the above multi-polling mechanisms require the scheduled STAs to monitor channel activity constantly, STAs which have not yet finished their transmission cannot enter the Doze state because they need to update their NAV values during others’ transmission and decrease the backoff counters when the medium is idle. The overhearing problem exists in such scenario and would be more serious when there are many STAs to be polled. STAs of later orders tend to run out of their energy quickly since they spend more time to wait before accessing the medium. To the best of our knowledge, there is no power management scheme, except our previous work [32], which addresses the overhearing problem associated with the ordered-contention multi-polling mechanisms. In [32], the wake-up time schedule is computed based on a heuristic algorithm and achieves satisfactory energy saving with slight sacrifice of bandwidth utilization. However, the proposed scheme does not maximize the energy saving under the constraint of a pre-determined loss of bandwidth utilization. Hence, in Chapter 4, we present an enhancement to [32] and design a wake-up time schedule to fulfill the mentioned requirement.

Two-Step Multi-polling Mechanism

The TSMP (Two-Step Multi-Polling) scheme [18] provides TXOP allocation with two multi-polling frames. The idea is to poll in the first step the STAs which are likely to have pending data to transmit with the Status-Request Multipoll (SRMP) frame to initiate the Status Collection Period (SCP). The polled STAs reply Status-Response frames one by one with their buffer statuses and the selected downlink rates from the channel estimation based on the received SRMP frame. After collecting the responses, the AP estimates the uplink rate

(23)

for STAs. In the second step, the determined rates and the buffer statuses of STAs are used to derive an exact schedule which is then announced in the Data Transmission Multipoll frame. Since the time allocation for each STA in the Data Transmission Period (DTP) can be exactly derived, it seems very helpful for energy saving. However, the status collection process could bring significant time overhead since the handshaking frames should be sent with the base PHY rate. Moreover, the TDMA-alike channel access fashion could make it more vulnerable to the error recovery issue induced from the imperfect wireless channel. Therefore, we also studied the energy-saving issue caused by the retransmissions of previous accessing STAs [43].

2.2

Power Management of Wireless LANs

The IEEE 802.11 standard document defines two power management (PM) modes - Active mode and Power Save (PS) mode. In the Active mode, STAs stay in the Awake state and are fully powered to receive frames. On the other hand, STAs in the PS mode shall be in the Doze state and awake to listen to selected beacons. a STA in the Doze state consumes much less power than in the Awake state by turning off the RF circuitry. The switchover in between the states takes about 250µs [30]. The Lucent IEEE 802.11 WaveLAN card [22], for example, consumes 1.65 W, 1.4 W and 1.15 W in the transmit, receive and idle modes, respectively, in the Awake state. In the Doze state, it consumes 0.045 W which is much less than any mode of the Awake state.

A STA in the PS mode uses the power-save polling (PS-Poll) scheme to retrieve data buffered in AP to improve energy efficiency. However, the performance of downlink packet latency and bandwidth utilization may not be satisfactory when this scheme is implemented because of the dependency on beacon interval, access contention, and additional signaling load by PS-Poll frames. The 802.11e also includes some optional extension of power save functionality defined as Automatic Power Save Delivery (APSD). The unscheduled APSD

(24)

(U-APSD) is a distributed mechanism for STAs to decide when to awake to receive buffered frames at the AP and use triggering data frames to retrieve corresponding buffered data. Scheduled APSD (S-APSD) is a centralized mechanism for the AP to determine some fixed intervals that STAs should periodically awake to receive the frames. These frameworks can reduce the signaling load (PS-Poll frames) and are, as stated, mainly designed for downlink usage.

There are some other centralized PM schemes [19], [20] which achieve energy saving by adopting the shortest-job-first policy to schedule transmissions. The shortest-job-first policy arranges the access orders of STAs according to their aggregate required time and STAs which finish their transmissions can switch to the Doze state. It can minimize the average waiting time after the announcement of schedule for STAs; however, the STAs of later orders tend to overhear more.

Scheduled Automatic Power-Save Delivery

To support QoS while dealing with power saving issue, U-APSD and S-APSD architectures are defined in IEEE 802.11e [2], [38]. The AP should use EDCA access method when selecting the U-APSD scheme. On the other hand, the S-APSD lays the burden of channel coordination on the AP to calculate the schedule and announce it to STAs. When S-APSD is used, depending on whether the usage is for an access category or for a TS, EDCA or HCCA is chosen as access policy, respectively. For the S-APSD, the STA firstly communicates with the AP via ADDTS request frame setting both APSD and Schedule subfields in the TS info field before getting admitted. If the requested service can be satisfied, the QAP will notify the STA of the schedule including the Service Start Time (SST) and the negotiated Service Interval (SI). In APSD, the contiguous time that a STA stays awake to receive the buffered frames from QAP is defined as Service Period (SP). STAs using S-APSD should automatically switch to the Awake state at the scheduled starting time of each SP defined

(25)

by

SST + m × SI, where m ≥ 0. (2.1)

Then they fall back to sleep till receiving the frames with the EOSP (End Of Service Period) flag being set. The service schedule can be updated after negotiation between the QAP and STA finishes. To maintain QoS guarantee, the new SST should fall into the region between the minimum SI and maximum SI after the beginning of the previous SP. Compared with the 802.11 PSM, besides QoS support, the S-APSD can also reduce signaling loads such as PS-Poll. Moreover, the number of collisions can be decreased as well.

Overlapping Aware S-APSD

Although IEEE 802.11e defines the architecture of S-APSD, its specific implementation is left as an open issue. To reduce the chance of SP overlapping, as described in [38], there could be two scheduling approaches to schedule the starting time of SPs. One is contiguous scheduling, which means that the scheduled SPs should be placed one after another. It has the advantage of simplifying the process to determine the SST for the schedule of a new traffic streams (TS). However, it often requires the SIs to be altered to satisfy certain constraint so that contiguous scheduling is possible. A necessary and sufficient condition for a group of periodic tasks defined by service intervals (SIs) and Transmission Opportunities (TXOPs) to be scheduled contiguously by an Equal-spacing-based Rate Monotonic algorithm was derived in [36]. Altering SIs may shorten the sleeping time of STAs and, as a result, cause more energy consumption to retrieve the same amount of data buffered at QAP. Besides, the unused time of scheduled SP might be wasted because it could be too short for other STAs using EDCA to transmit their frames. On the other hand, the non-contiguous scheduling does not put any restrictions on the setting of SIs. Compared with contiguous scheduling, non-contiguous scheduling allows other EDCA STAs to have higher chance to transmit their frames for the unused time of scheduled SP [38]. However, the larger degree of freedom for scheduling also increases its complexity for finding the suitable SST of a new TS.

(26)

In [38], the authors proposed a non-contiguous scheduling algorithm called Overlapping Aware S-APSD (OAS-APSD). The OAS-APSD algorithm aims at finding the SST of a new TS which achieves the least probability of SP overlapping. The pseudo-code of the OAS-APSD algorithm is shown below. To be concise, we use scheduled instants to represent the scheduled starting time of SPs. The Scheduled Events (SEs) in the OAS-APSD algorithm refer to the scheduled instants known to the QAP, for example, Beacons with period BI and already scheduled SPs with period SIs for TSs. In this algorithm, SInew represents the SI of

the new TS to be scheduled.

SI2

Existing scheduled events

SI1 … … SInew time New joining TS … … SInew time New joining TS Relative distances

Figure 2.1: Illustration of relative distance between scheduled events.

————————————————————————————– The OAS-APSD algorithm [38].

————————————————————————————–

SST to be determined given a specific SInew

N, SST , SSTtemp, distavg, temp distavg, max distmin ← 0 temp distmin ← BI

Create empty list of SEs → ListSE

Compute LCM considering All SIs plus BI → LCM for ∀ SEs ∈ [tcurrent, tcurrent+ LCM ] do

(27)

Insertion in ListSE of SEs end for

while SSTtemp < SInew do

while SSTtemp+ SInew× N < LCM do

Find prev SE and next SE in ListSE

distnext SE ← next SE − (SSTtemp+ SInew× N) distprev SE ← SSTtemp+ SInew× N − prev SE

Insertion in distances SSTtemp of distnext SE and distprev SE N → N + 1

end while

temp distmin ← Minimum of distances SSTtemp temp distavg ← Average of distances SSTtemp

if temp distmin > max distmin then max distmin ← temp distmin distavg ← temp distavg

SST ← SSTtemp

else if temp distmin = max distmin then

if temp distavg > distavg then distavg ← temp distavg

SST ← SSTtemp

else if temp distavg = distavg then

SST ← random(SST, SSTtemp)

end if end if

SSTtemp ← SSTtemp+ precision

end while

(28)

The basic idea of the OAS-APSD algorithm is to find the optimal SST of the new TS in an interval [0, SInew] which achieves the maximum among minimum relative distances between

SPs of the new TS and existing scheduled events. Here, the relative distances between SPs of the new TS and existing scheduled events are defined as the distances from every SP of the new TS to its closest previous and next existing scheduled events, as illustrated in Fig. 2.1. Note that there are only a finite number of possibilities for the SST because there is a maximum precision used by the 802.11e specification. To determine the optimal SST, relative distances are calculated for an interval of duration LCM, the least common multiple of the SIs, including SInew. If there is a tie, then the one with maximum average relative

distance is selected. In case there is still a tie based on average relative distance, it is broken arbitrarily. Clearly, the computational complexity of the OAS-APSD algorithm is large for large values of LCM. This could make the algorithm infeasible for real systems and the complexity issue is listed as one of the major future works in [38]. Therefore, it motivates our work to design low complexity scheduling algorithms for S-APSD [44] [46] which will be presented in the following chapters.

(29)

Chapter 3

Scheduling Algorithm for Scheduled

Automatic Power Save Delivery

The purpose of this chapter is to present a low complexity scheduling algorithm for S-APSD which achieves QoS support and power saving simultaneously. In S-S-APSD, the most important goal for the scheduler is to reduce the chance of service period (SP) overlapping which would results in energy-consuming overhearing. Here we adopt the non-contiguous scheduling approach as in [38]1, while the scheduling criterion is slightly different from its. To reduce online computational complexity, we prove the periodicity of distances between two periodic sequences, classify TS based on their SIs, and store necessary information to allow fast scheduling.

The rest of this chapter is organized as follows. In Section 3.1, we explain the system model used for the design of our scheduling algorithm. Section 3.2 describes the idea of our proposed scheduling algorithm. The idea is further extended to a system with multiple classes of TSs in Section 3.3. In Section 3.4, we compare our proposed algorithms with the existing work [38] in terms of complexity and affordable transmissions in the available time, i.e. the number of frames that can be transmitted by EDCA STAs during the time excluding scheduled transmissions. Finally, we draw the summary in Section 3.5.

1Please refer to Section 2.2 for the definition of non-contiguous scheduling and the explanations of the

(30)

3.1

System Model

The system for the scheduling is actually time-slotted with slot size equal to the duration of precision used in IEEE 802.11e.2 Without loss of generality, we shall normalize the duration of precision to one. As a result, the scheduled instants for a specific TS can be represented as a sequence, say,

X = {xm}∞m=−∞, such that xm = xm−1+ p, (3.1)

where p, called period, is the SI of the TS. The origin can be chosen arbitrarily. Consequently, the SST of the TS corresponds to some xi and the STA to which the TS is attached wakes

up periodically at time instants xj for all j ≥ i.

SI1 … … … … SI 2 time … … Relative distances

Figure 3.1: Illustration of relative distance between two periodic sequences.

Let Y = {ym}∞m=−∞be another periodic sequence of period such that ym = q × m for all m. Further, let

Y + k = {ym+ k}∞m=−∞. (3.2)

be a shifted version of Y . We call k the offset of Y + k with respect to Y . It is clear that

Y + k is periodic with period q when the offset is k. Define the distance between sequences X and Y + k as

d(X, Y + k) = min

−∞≤l,m≤∞|yl+ k − xm|. (3.3)

(31)

It is not hard to see that

d(X, Y + k) = d(Y + k, X) = d(X − k, Y ) (3.4)

, and

d(X, Y + 0) = d(X, Y ) = 0. (3.5)

Define the largest possible distance between sequences X and Y as

D(X, Y ) = max

k {d(X, Y + k)}. (3.6)

3.2

Low Complexity Scheduling Algorithm

3.2.1

Basic Idea

In this sub-section, we present the basic idea of determining the optimal SST for a new TS, i.e., the SST that causes the largest minimum distance between the new TS and existing TSs. Consider the simplest case of scheduling the SPs for the first TS with period p. Let X be the scheduled instants for the first TS. It is clear that any sequence of period p is optimal. For simplicity, we choose xm = p × m for all m.

Consider now the case where an existing TS with period had been scheduled and a new TS is to be scheduled. Assume that the period of the new TS to be scheduled is q and the

Y + k is a periodic sequence with period q and offset k.

Therefore, our goal is to find the offset k∗, the optimal value of k which satisfies k∗ = arg max

k d(X, Y + k). (3.7)

Once k∗ is obtained, the scheduled instants of the new TS is Y + k and the SST can be

determined based on current time. Let G = gcd(p, q) and L = lcm(p, q) be, respectively, the greatest common divisor and the least common multiple of p and q. We prove in Theorem 3.1 a property of d(X, Y + k).

(32)

Proof. It is clear that d(X, Y + k) is periodic in k because d(X, Y + q + k) = d(X, Y + k). Let n be its period. We shall prove that n|G (i.e., n divides G ) and G|n. According to the Euclidean algorithm [40], there exist integers a and b such that

G = a × p + b × q or G + (−b) × q = a × p (3.8)

which implies one of the scheduled instants of Y + G coincides with some scheduled instant of X. Consequently, we have d(X, Y + G + k) = d(X, Y + k), which implies n|G.

Conversely, since n is the period of d(X, Y + k), we have d(X, Y + 0) = d(X, Y + n), which implies there must exist integers s and t such that

n + s × q = t × p or n = (−s) × q + t × p. (3.9)

As a result, it holds that G|n because G|p and G|q. This completes the proof of Theorem 3.1.

A consequence of Theorem 3.1 is that k∗ can be chosen to satisfy 0 ≤ k ≤ G − 1. Note

that to compute d(X, Y + k), 0 ≤ k∗ ≤ G − 1, we need only consider finite partial sequences

of X and Y + k because the same situation repeats every L slots. Two cases are analyzed separately below.

Case 1. q ≥ p

For q ≥ p , we need only consider {xm}L/p−1m=0 and {ym+ k}L/q−1m=0 . Let

fm(k) =

jq × m + k

p

k

, (3.10)

where bxc represents the largest integer smaller than or equal to x . Define

am(k) = min

n

q × m + k − p × fm(k), p × [fm(k) + 1] − (q × m + k)

o

(3.11) as the shorter distance of ym+ k to the two closest neighboring xm’s. We have

d(X, Y + k) = min

(33)

(a ) k = 0 p q = 6 q 0 2 4 6 8 1 0 1 2 1 4 1 6 t im e (b ) k = 1 0 2 4 6 8 1 0 1 2 1 4 1 6 t i 0 2 4 6 8 1 0 1 2 1 4 1 6 t im e

Figure 3.2: S-APSD scheduling example.

Figures 3.2(a)-3.2(b) show an example for p = 4 and q = 6. For this example, we have

G = 2 and, therefore, we need only compute d(X, Y + 0) and d(X, Y + 1). One can easily

verify that a0(0) = min{0, 4} = 0 , a1(0) = min{2, 2} = 2 , d(X, Y + 0) = min{0, 2} = 0; and a0(1) = min{1, 3} = 1 , a1(1) = min{3, 1} = 1 , d(X, Y + 1) = min{1, 1} = 1. As a consequence, we have D(X, Y ) = max{d(X, Y + 0), d(X, Y + 1)} = 1 and k∗ = 1.

Case 2. q < p

For q < p, one can compute am(k) for 0 ≤ m ≤ L/q − 1 and then determine d(X, Y + k) =

min

0≤m≤L/q−1{am(k)} Alternatively, one can change the roles of p and q and apply the procedure performed for Case 1. Note that d(X, Y + k) = d(X + k, Y ) = d(X + G + k, Y ) implies the desired results can be obtained by interchanging the roles of p and q. By doing so, the complexity of computing d(X, Y + k) is reduced because fewer am(k)’s (L/p vs. L/q) are

calculated.

To summarize, in order to determine d(X, Y + k), we need to compute L/max(p, q)

am(k)’s and then pick the smallest one. Since there are G different values for variable k, the

complexity of determining d(X, Y +k) , 0 ≤ k ≤ G−1, is O(G·L/max(p, q)) = O(min(p, q)) multiplications and divisions. The following algorithm eliminates all multiplications and

(34)

di-visions. The algorithm requires roughly 4 × min(p, q) comparisons. ————————————————————————————– Algorithm for computing D(X, Y ) and k∗ assuming that q ≥ p .

————————————————————————————–

R = q mod p

D, k∗ ← 0 /* D stores the value of D(X, Y ).*/ k > 1

while k < G

m ← 0

S ← k /* S stores the value of q × m + k − p × fm(k). */ relative dist ← min(S, p − S)

min relative dist ← relative dist

while m ≤ L/q − 1

S ← S + R

if S > p

S ← S − p

end if

relative dist ← min{S, p − S}

min relative dist ← min{relative dist, min relative dist} m = m + 1

end while

if D < min relative dist

D ← min relative dist k∗ ← k

else if D = min relative dist

k∗ = random(k, k)

(35)

k ← k + 1

end while

————————————————————————————–

3.2.2

Generalization to K Existing Traffic Streams

Let us now extend the results to K ≥ 2 existing TSs when a new TS is to be scheduled. The notations and their definitions used in this section can also be referred in Table 3.1. Assume that the period of the ith existing TS is p

i and the period of the TS to be scheduled is q .

Let Xi = {xi,m}∞m=−∞, 1 ≤ i ≤ K , be a sequence of period pi such that xi,m = pi × m for

all m. Further, let

X0i = Xi+ Oi (3.13)

be the scheduled instants of the ith existing TS. We shall use X

1 as reference and, therefore, assign O1 = 0. Consequently, we have X

0

1 = X1 and

Oi = xi,0− x1,0 (3.14)

represents the offset of X0i with respect to X01. According to the results obtained in sub-section 3.2.1, it holds that 0 ≤ O2 ≤ p2− 1. We shall prove that Oi satisfies 0 ≤ Oi ≤ pi− 1

for all i . Let Gi = gcd(pi, q), 1 ≤ i ≤ K, and

GL = lcm{G1, G2, ..., GK} (3.15)

the least common multiple of G1, G2, ..., and GK. Also, let Li = lcm{p, q}, 1 ≤ i ≤ K.

Again, let Y = {ym}∞m=−∞ be a periodic sequence of period q with ym= q × m for all m

and Y + k = {ym+ k}∞m=−∞ be a shifted version of Y . Let

X =

1≤i≤KX 0

(36)

such that x is an element of X if and only if it is an element of X0i for some i, 1 ≤ i ≤ K. Clearly, X is a periodic sequence with period lcm{p1, p2, ..., pK}. Define

d(X0i, Y + k) = min −∞≤l,m≤∞|yl+ k − xi,m− Oi| (3.17) and d(X, Y + k) = min 1≤i≤K{d(X 0 i, Y + k)}. (3.18)

The optimal value of k is again given by (3.7). It can be easily shown that d(X, Y + k) is periodic with period GL because d(X0i, Y + k) is periodic with period Gi, 1 ≤ i ≤ K. As a

result, k∗ can be chosen to satisfy 0 ≤ k ≤ GL − 1. The fact that G

i|q, 1 ≤ i ≤ K, implies GL|q. In other words, GL is a factor of q and, therefore, is upper bounded by q. If the new

TS is considered as the (K + 1)th TS when the (K + 2)th TS is to be scheduled, then we have

OK+1= k∗ ≤ q − 1 = pK+1− 1. (3.19)

This proves the property that Oi satisfies 0 ≤ Oi ≤ pi− 1.

+ +  + −    + −         ' ' ' ' 1 1 1 1 1 1 ( , 0 ) ( , 1 ) ( , 1 ) ( , 1 ) d X Y d X Y d X Y G d X Y G       + − + + + −                     ' ' ' ' ' ( , 1 ) ( , 0 ) ( , 1 ) ( , 1 ) i i i i i i d X Y G d X Y d X Y d X Y G          + + + +        ' ' ' ' ( , K d X Y ×  + + + +    ↓ ↓ ↓ ↓       ' ' ' 0 ) ( , 1 ) ( , 1 ) ( , 1 ) K K K K K K G L d X Y d X Y G d X Y G ↓ + + + − + −      ( 0 ) ( 1 ) ( 1 ) ( 1 ) d X Y d X Y d X Y G d X Y G L F in d t h e m in im u m o f e a c h c o lu m n + +  + 1 −    + − ( , 0 ) ( , 1 ) ( , 1 ) ( , 1 ) d X Y d X Y d X Y G d X Y G L 4

Figure 3.3: The scheduling matrix.

To compute d(X, Y + k), we need d(X0i, Y + k) for all i, 1 ≤ i ≤ K. To determine k∗ ,

a scheduling matrix of size K × GL is constructed, as shown in Fig. 3.3. The ith row of the

scheduling matrix is [ d(X0i, Y + 0) d(X0i, Y + 1) ... d(X0i, Y + Gi− 1) ] repeated for GL/Gi

times. Given the scheduling matrix, d(X, Y + k) can be obtained as the minimum element of the kth column. Finally, the optimal value of k is given by the index of the column with

(37)

As derived previously, the complexity of computing d(X0i, Y + k) , 0 ≤ k ≤ Gi − 1,

requires 4 × min{pi, q} comparisons. The overall complexity to generate the scheduling

matrix for K existing TSs is, therefore, PKi=14 × min{pi, q}, which is upper bounded by

4 × q × K comparisons. To find k∗ , we need K × GL comparisons to obtain d(X, Y + k),

0 ≤ k ≤ GL − 1, and GL comparisons to determine k∗ .

Note that our algorithm is unable to break a tie based on average distance. In case there are multiple choices for k∗ , we select the one with the maximum column sum. As a result,

it requires 2(K − 1) additions and one comparison for each tie-breaking. If there is still a tie, it is broken arbitrarily.

Example 3.1. Consider an example for K = 2 , p1 = 12 , p2 = 15 , and q = 18 Assume that the TS with period p1 was scheduled earlier than the TS with period p2 . Since X1 is used as reference, we assign X01 = X1 = {12 · m}∞m=−∞. O2, the offset of X

0

2 with respect to

X01 has to be determined based on the scheduling algorithm. Since gcd(12, 15) = 3 , there are only three possible values for O2. After some calculations, we get O2 = 1 or 2. Assume that we choose O2 = 2. To schedule the third TS with period q = 18 , we need to compute

d(X01, Y + k) , 0 ≤ k ≤ 5, and d(X02, Y + k) , 0 ≤ k ≤ 2 , because G1 = gcd(12, 18) = 6 and

G2 = gcd(15, 18) = 3 . The results are [ d(X 0 1, Y + 0) d(X 0 1, Y + 1) ... d(X 0 1, Y + 5) ] = [0 1 2 3 2 1] and [ d(X02, Y + 0) d(X02, Y + 1) d(X02, Y + 2) ] = [1 1 0]. Since GL = lcm{6, 3} = 6

, the scheduling matrix is of size 2 × 6 and is given by ·

0 1 2 3 2 1 1 1 0 1 1 0

¸

. Note that the second row is [1 1 0] repeated for two times. Given the scheduling matrix, we have [ d(X, Y + 0) d(X, Y + 1) ... d(X, Y + 5) ] = [0 1 0 1 1 0]. As a result, the value of k∗ can be selected as 1, 3, or 4. The column sums are 2, 4, and 3 for columns 1, 3, and 4,

(38)

3.3

Class-Based Scheduling Algorithm

In real applications, it is likely that there are only a few possible periods to schedule TSs. Therefore, one can partition TSs into classes such that two TSs are in the same class if and only if they have identical periods of schedule. Assume that there are C classes, called Class 1, Class 2, ..., and Class C . Let pi represent the period of Class i and ni the number of TSs

in Class i. If ni = 0, then Class i is considered not exist. For ease of description, we assume

that ni > 0 for all i, 1 ≤ i ≤ C. The notations and their definitions used in this section can

also be referred in Table 3.2.

Consider Class i and let e1, e2, ..., and eni be the TSs in the class. A TS, say, e1, is

selected as the representative of Class i. Let Xi = {xi,m}∞m=−∞ be a sequence of period pi

such that xi,m= pi× m for all m. We shall use the representative TS as reference within the

class and, therefore, assign Xi as the scheduled instants of TS e1. Let oi,s be the intra-class

offset of TS eswith respect to TS e1. As a result, the scheduled instants for TS esis Xi+oi,s.

Let Xi,s= Xi+ oi,s (3.20) and Xi = 1≤s≤ni Xi,s. (3.21)

Assume that a new TS in Class j is to be scheduled. The impact of Xi to the new TS can

be analyzed as follows.

Let Y = {ym}∞m=−∞ be a periodic sequence of period pj with ym = pj × m for all m.

According to the results presented in the previous section, we need to construct a scheduling matrix of size ni× Gi,j, where Gi,j = gcd(pi, pj). The sth row of the scheduling matrix is

[ d(Xi, Y + 0) d(Xi, Y + 1) ... d(Xi, Y + Gi,j − 1) ] circularly shifted to the right by oi,s

positions. By taking the minimum element in each column, we obtain

(39)

Note that the optimal SST of the new TS cannot be determined solely by R(Xi, Y ) because

there are still TSs in other classes.

Assume that R(Xi, Y ), 1 ≤ i ≤ C, are obtained. We shall use the representative TS of

Class 1 as reference of the overall system. Let

X =

1≤i≤CXi. (3.23)

Further, let Oi, 1 ≤ i ≤ C, be the inter-class offset of the Class i representative TS with

respect to the Class 1 representative TS. To determine the optimal SST of the new TS, we construct a global scheduling matrix M of size C × GLj ,where

GLj = lcm{G1,j, G2,j, ..., GC,j}. (3.24)

The ith row of M is R(X

i, Y ) repeated for GLj/Gi,j times and then circularly shifted to the

right by Oi positions. By taking the minimum element of each column, we obtain

R(X, Y ) = [ d(X, Y + 0) d(X, Y + 1) ... d(X, Y + GLj− 1) ]. (3.25)

Finally, the optimal scheduled instants of the new TS is given by Y + k∗, where k satisfies

k∗ = arg max

0≤k≤GLj−1

d(X, Y + k). (3.26)

If the new TS is considered as the (n + 1)th TS of Class j, then we update the intra-class

offset

oj,nj+1 = k

− O

j. (3.27)

3.3.1

Suggested Implementation Method

To reduce online scheduling complexity, we allocate C pairs of arrays for each class. Again, consider Class i . Denote the kth element of the jth pair of arrays by , A

i,j[k] and , Bi,j[k],

0 ≤ k ≤ Gi,j− 1. The array Ai,j stores [ d(Xi, Y + 0) d(Xi, Y + 1) ... d(Xi, Y + Gi,j− 1) ]

(40)

representative TS e1 to a new TS of Class j. The array Bi,j stores R(Xi, Y ) and represents

the impact of all TSs in Class i to a new TS of Class j. When a new TS in Class j is to be scheduled, the arrays Bi,j, 1 ≤ i ≤ C, are used to construct the global scheduling matrix M

as illustrated in Fig. 3.4. All we need to do is taking the minimum of each column and then find the maximum among the minima. The complexity is only C × GLj comparisons. After

the new TS is scheduled, we need to update Bj,l[k] , 1 ≤ l ≤ C and, 0 ≤ k ≤ Gj,l − 1, as

Bj,l[k] = min{Bj,l[k], Aj,l[k − oj,nj+1]} (3.28)

because the impact of TSs in Class j to a new TS of every class is changed. Here, the index

k − oj,nj+1 is performed modulo Gi,j. The complexity of the update process is

PC

l=1Gj,l

comparisons, which is upper bounded by C × pj comparisons.

When a TS in Class i finishes, we need to update Bi,j[k], 1 ≤ j ≤ C and , 0 ≤ k ≤ Gi,j−1,

as follows. Remove the finished TS so that the updated ni, denoted by n

0

i, becomes ni − 1.

Construct a scheduling matrix of size n0i× Gi,j such that the mthrow is Ai,j circularly shifted

to the right by oi,m positions. The content of Bi,j[k] is updated as the minimum of the kth

column. Of course, a new representative TS is selected before the update process if the finished one was originally the representative TS of Class i. The complexity of the update process is n0i×PCj=1Gi,j comparisons.

Again, we break a tie based on column sum of the global scheduling matrix which requires 2(C − 1) additions and one comparison. Note that one can pre-compute Ai,j[k], 1 ≤ i, j ≤ C

and , 0 ≤ k ≤ Gi,j− 1. The initial content of Bi,j[k] is set to a sufficiently large value for all j and k if there is no Class i TS, i.e., ni = 0.

Once the STA has negotiated with the AP a power saving delivery service according to the S-APSD mechanism, it should automatically switch to the Awake state at designated scheduled time every SI unless any further notification. Therefore, the signaling load is saved effectively when compared with legacy power save mode. The start of its established service, i.e., the SST, can be easily found by the AP according to the repetition pattern of

(41)

× 1 1,j n G 1,j A × n G A 2,j A × 2 2,j n G + ( , 0 ) i d X Y + ( , 1 ) i d X Y + , − ( , 1 ) i i j d X Y G … , i j A × , i i j n G T h e m t h r o w is t h e fir s t r o w t o b e c irc u la r ly s h ifte d b y

y y o i,m .

+ ( , 0 ) i d X Y + ( , 1 ) i d X Y + , − ( , 1 ) i i j d X Y G … , i j B G lo b a l S c h e d u lin g M a t r ix 1 , j B 1, / j j G L G 1 O re p e at s f o r t im e s a n d t h e n c irc u la rly s h ift e d t o t h e rig h t b y p o s it io n s . … , i j B B … , / j ij G L G O i re p e a t s f o r t im e s a n d t h e n c irc u la r ly s h ift e d t o t h e r ig h t b y p o s it io n s . i i , C j B × j C G L , / j C j G L G C O re p e a t s f o r t im e s a n d t h e n c irc u la r ly s h ift e d t o t h e r ig h t b y p o s it io n s . = [ ] ( ) R X Y

+

( , 0 ) d X Y

+

( , 1 ) d X Y

+

( , 1 ) j d X Y G L … … 5 = [ ] ( , ) R X Y

+

( , 0 ) d X Y

+

( , 1 ) d X Y

+

( , 1 ) j d X Y G L

Figure 3.4: The illustration of constructing a global scheduling matrix.

the established periodic schedules and the current time since the notion of sequence can be extended to both directions of the time line as shown in our basic idea. Since the service delivered every SI, the delay for the starting of the established service is upper bounded by the value of its SI, rather than the period of the total repetition pattern of different periodic service schedules.

Example 3.2. Assume that C = 2, n1 = 2, n2 = 1, p1 = 6, p2 = 9, and a new TS in Class 2 is to be scheduled. Based on the assumptions, we have G1,1 = 6, G1,2 = 3, G2,1 = 3, and

G2,2 = 9. Besides, the contents of Ai,j[k] are given by A1,1 = [0 1 2 3 2 1], A1,2 = [0 1 1]; and

A2,1 = [0 1 1], A2,2 = [0 1 2 3 4 4 3 2 1]. Let e1 and e2 represent the TSs in Class 1 with e1 being the representative. Also, let f1 be the representative TS in Class 2. Assume that TS

e1 was scheduled first, followed by TS f1, and then TS e2. As a result, when the new TS f2 is to be scheduled, we have O2 = 1 (which is randomly selected from 1 and 2) and o1,2 = 3

(42)

(which is randomly selected among 2, 3, and 5). At this moment, the contents of Bi,j[k] are

given by B1,1 = [0 1 1 0 1 1], B1,2 = [0 1 1]; and B2,1 = [0 1 1], B2,2 = [0 1 2 3 4 4 3 2 1]. The global scheduling matrix

M = · 0 1 1 0 1 1 0 1 1 1 0 1 2 3 4 4 3 2 ¸ .

Therefore, the value of k∗ can be chosen as 2, 4, 5, 7, or 8. We select k = 5 because it has

maximum column sum. Then we compute o2,2 = k∗ − O2 = 4 and update B2,1 = [0 0 1],

B2,2 = [0 1 2 1 0 1 2 2 1].

3.4

Performance Evaluations

The considered scenario is composed of periodic beacons and 5 classes of traffic. The 5 classes of traffic in the system are bi-directional real-time voice, realtime video, streaming audio, streaming video, and bi-directional real-time gaming. The traffic characteristics, listed in Table 3.3, are obtained from [36], [38], and [41]. The video traces are available online [49]. It is assumed that there are K STAs, each is configured with a scheduled TS belonging to one of the 5 classes. The number of STAs is increased in multiples of 5 STAs to keep the ratio of existing traffic classes. The system parameters are listed in Table 3.4 and conform with the IEEE 802.11a OFDM wireless LANs. The calculation for frame transmission time can be found in [14]. The repetition period L equals lcm{100, 40, 60, 150, 300} = 600 (ms) when all traffic classes, including the beacons, exist in the system. The precision used in our simulations is set to 100 µs.

3.4.1

Comparison of Computational Complexity

For the OAS-APSD algorithm shown in the end of Chapter 2, firstly it needs to insert the already scheduled events within L into the ListSE and thus a sorting of the elements is

required and takes log2K ×PKi=1L/pi comparisons if the Merge Sort [40] is used. To find the

(43)

idea of the Insertion Sort [40], requiresPKi=1L/pi comparisons. Since there are q candidates,

the overall complexity q ×PKi=1L/pi comparisons. Computation of relative distances for all

the q candidates takes q ×2×L/q = 2L subtractions. To find the minimum relative distances for all the q candidates requires q×2×L/q = 2L comparisons. Finally, it takes q comparisons to determine the optimal SST. Note that the tie-breaking can be realized by using the sum of relative distances, rather than the average distance. It takes 2L − q additions to obtain those sum of relative distances and each tie-breaking needs one comparison. The comparisons of the online scheduling complexity are also listed in Table 3.5.

Except the analysis of the order of scheduling complexity, we also provide some numerical result here. In the numerical evaluation, we increase the number of existing TS in each class of application, and check the average online complexity of the OAS-APSD algorithm and that of the proposed algorithms. Given the number of existing TSs, the average complexity for finding the SST is derived by averaging the number of necessary online operations when a new TS belonging to each class of application joins. Since the ListSE of OAS-APSD could

be reused after it is established, the complexity of sorting is ignored here. The LCS-APSD (Low Complexity S-APSD)algorithm refers to the idea described in Section 3.2.1; however, to reduce complexity, the contents of d(Xi, Y + k)’s are reused for the TSs of the same class.

Therefore, the bounded complexity in preparing the scheduling matrix for K existing TSs is reduced from 4×q×K to 4×q×C comparisons. Our proposed algorithm using the suggested implementation method presented in Section 3.3 is referred to as Class-based LCS-APSD (CLCS-APSD) algorithm. The required number of operations for the three algorithms and complexity reduction ratios when compared with the OAS-APSD algorithm are shown in Fig. 3.5. Here, the complexity reduction ratio is defined as

(NOAS AP SD− Ni)/NOAS AP SD, (3.29)

where NOAS AP SD is the number of operations (comparisons and subtractions) required by

(44)

can be seen in Fig. 3.5, the average reduction ratio is as high as about 82% for LCS-APSD and 98% for CLCS-APSD when there are 50 TSs in the system.

1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6x 10 5

Number of traffic streams in each class

Number of required operations

LCS−APSD CLCS−APSD OAS−APSD 1 2 3 4 5 6 7 8 9 10 50 60 70 80 90 100

Number of traffic streams in each class

Complexity reduction ratio (%)

LCS−APSD CLCS−APSD

Figure 3.5: The performance of scheduling complexity.

3.4.2

Comparison of Power Consumptions

In this evaluation, we fix the number of existing TSs at 50 (10 for each class) and use the OAS-APSD and our proposed algorithms to schedule those TSs. We assume that the (5 × i + j)th TS belongs to Class j for 0 ≤ i ≤ 9 and 1 ≤ j ≤ 5. The simulation is

performed to model 600 seconds of the real time. During the simulations, when the SPs of the scheduled transmissions are overlapped, we give higher priorities to the TSs/STAs with earlier adding order and thus the STAs with lower priorities would tend to spend more energy in waiting. As revealed in Fig. 3.6, the power consumptions relate to the amount of traffic and the assigned priorities. In general, the resulted power consumptions for the TSs of the

(45)

OAS-APSD and our proposed algorithms are quite close. Although the proposed algorithm spends a bit more of power than that of the OAS-ASPD algorithm on average, the online scheduling complexity reduces significantly. Furthermore, compared with the case that the STA operates in Active mode during the simulations and it takes 1.4W, the simulation result justifies the necessity of using S-APSD to save energy even during active sessions.

0 5 10 15 20 25 30 35 40 45 50

0 0.5 1 1.5

Index of Traffic Stream / STA

Consumed Power (W)

OAS−APSD algorithm CLCS−APSD / LCS−APSD Active Mode

Figure 3.6: The performance of power consumptions.

3.4.3

Comparison of Affordable Transmissions

Here we remain the same setting as previous evaluation. Since the medium is not saturated, there are still empty time slots available for EDCA transmissions between scheduled SPs. Therefore, we check the average numbers of affordable transmissions in the available time within the repetition period L for frame transmission time ranging from 100 µs to 1000 µs. We plot in Fig. 3.7 the comparison of our proposed algorithms with the OAS-APSD. Note

(46)

that the affordable transmissions for our proposed LCS-APSD algorithm and CLCS-APSD algorithm are similar to each other. As one can see in Fig. 3.7, the average numbers of affordable transmissions are very close for our proposed algorithms and the OAS-APSD, which means that the distributions of the scheduled SPs for both scheduling algorithms are similar, even though the tie breaking criteria are different.

100 200 300 400 500 600 700 800 900 1000 0 0.5 1 1.5 2 2.5 3 3.5x 10 6

Frame Transmission Time (µs)

Affordable transmissions

OAS−APSD algorithm CLC−SAPSD / LCS−APSD

Figure 3.7: Comparison of affordable transmissions.

3.5

Summary

Compared with PSM, the S-APSD scheme defined in IEEE 802.11e provides a better mech-anism to increase power saving performance when delivering QoS-sensitive traffic. In this chapter we focus on designing a feasible non-contiguous scheduling algorithm to be used for S-APSD. Our design takes advantage of the periodicity property of schedule to largely

數據

Figure 1.1: The infrastructure Wireless LANs.
Figure 2.1: Illustration of relative distance between scheduled events.
Figure 3.2: S-APSD scheduling example.
Figure 3.3: The scheduling matrix.
+7

參考文獻

相關文件

An elementary energy method is introduced in [18] based on a macro-micro decomposition of the equation into macroscopic and microscopic components to analyze the

 Determine the execution order of virtual cores on a physical core according to the result of phase 1.  “Open Shop

The performance guarantees of real-time garbage collectors and the free-page replenishment mechanism are based on a constant α, i.e., a lower-bound on the number of free pages that

分區技能競賽 資訊與網路技術. 正式賽

Receiver operating characteristic (ROC) curves are a popular measure to assess performance of binary classification procedure and have extended to ROC surfaces for ternary or

Based on the forecast of the global total energy supply and the global energy production per capita, the world is probably approaching an energy depletion stage.. Due to the lack

 Promote project learning, mathematical modeling, and problem-based learning to strengthen the ability to integrate and apply knowledge and skills, and make. calculated

Monopolies in synchronous distributed systems (Peleg 1998; Peleg