Maximizing Unavailability Interval for Energy Saving in IEEE e Wireless MANs Tuan-Che Chen ( 陳端哲 ), Ying-Yu Chen ( 陳盈佑 ), and Jyh-Cheng Chen ( 陳志成 ) Department of Computer Science College of Electrical Engineering and Computer Science National Tsing Hua University
Outline Introduction PSC of Type II in IEEE e Maximum Unavailability Interval (MUI) –Chinese Remainder Theorem –Table-based Algorithm Experiments on Time Complexity Conclusion
Introduction An important issue in mobile environment –To extend the life of mobile devices. There are three types of power saving class in IEEE e. An energy conservation scheme to improve the energy efficiency for PSC of Type II in IEEE e –Be fully compatible with the IEEE e standard. –Do not change QoS requirements. –Maximum Unavailability Interval (MUI) for MS.
Introduction - Maximum Unavailability Interval (MUI) Connection 1 : Power Saving Class A : Connection 2 : Power Saving Class B : State of MS as a whole availability intervalssleep windowslistening windows unavailability intervals
PSC of Type II in IEEE e Three parameters for IEEE e PSC of Type II : –Sleep window (according to QoS of the connections) –Listening window (according to QoS of the connections) –Start frame number Sleep cycle is equal to the sum of sleep window size and listening window size. … Start frameSleep windowListening window Normal operation Sleep cycle
PSC of Type II in IEEE e Start frame number : f Sleep cycle : m Sleep window : s Class A : f a = 1, m a = 9, s a = 5 sleep windows listening windows availability intervals unavailability intervals 11 Class B : f b =1, m b = 6, s b = 4 Class C : f c =1, m c = 4, s c = 3 State of MS as a whole case 1
PSC of Type II in IEEE e Start frame number : f Sleep cycle : m Sleep window : s Class A : f a = 3, m a = 9, s a = 5 11 Class B : f b =1, m b = 6, s b = 4 Class C : f c =1, m c = 4, s c = 3 State of MS as a whole sleep windows listening windows availability intervals unavailability intervals case 2
PSC of Type II in IEEE e If the first sleep window of a Power Saving Class is initiated at different frame, the unavailability interval of the MS may be change. –The change of the start frame number will not change the QoS of the connections.
PSC of Type II in IEEE e Start Frame NumberSleep WindowListening WindowSleep Cycle First Class27815 Second Class Third Class1 to 5varies from 1 to 20varies from 20 to 121 Length of Sleep Windows Start Frame Number Sleep Window Listening Window Sleep Cycle Third Class 1 to 紀錄 MUI 最大值 紀錄 MUI 最小值
MUI using Chinese Remainder Theorem The steps of the Chinese Remainder Theorem –Give some modulus and remainders –The modulus are pairwise relatively prime –Apply extended Euclidean algorithm to find the solutions Example x ≡ 2 (mod 3 ) x ≡ 3 (mod 5 ) x ≡ 2 (mod 7 ) The minimum positive solutions is 23. How to apply it to power saving classes of type II ?
MUI using Chinese Remainder Theorem The form and example of Chinese Remainder Theorem Form x ≡ r 1 (mod m 1 ) r 2 (mod m 2 ) … r t (mod m t ) m 1, m 2, …, m t (pairwise relatively prime) m = lcm (m 1, m 2, …, m t ) B i = m / m i Apply extended Euclidean algorithm to B i to find integers c i such that : c 1 B 1 + c 2 B 2 + … + c k B k = 1 Compute x 0 = r 1 c 1 B 1 + r 2 c 2 B 2 + … + r k c k B k (mod m) Example x ≡ 2 (mod 3 ) x ≡ 3 (mod 5 ) x ≡ 2 (mod 7 ) m = lcm ( 3, 5, 7 ) = 105 B 1 = m / m 1 = 105/3 = 35 B 2 = m / m 2 = 105/5 = 21 B 3 = m / m 3 = 105/7 = 15 Apply extended Euclidean algorithm to B i to find integers c i such that : c 1 = -1 ; c 2 = 1 ; c 3 = 1 Compute x 0 = r 1 c 1 B 1 + r 2 c 2 B 2 + … + r k c k B k (mod m) = 2*(-1)*35+3*1*21+2*1*15 (mod 105) = 23
MUI using Chinese Remainder Theorem The form of the Chinese Remainder Theorem apply to Power Saving Class of Type II. 2 Class A : f a = 2, m a = 3, s a = 1 3 Class B : f b =3, m b = 5, s b = 1 State of MS as a whole sleep windows listening windows availability intervals unavailability intervals x Class A x ≡ 2 (mod 3 ) Class B x ≡ 3 (mod 5 ) Solution x = 8
MUI using Chinese Remainder Theorem The form of the Chinese Remainder Theorem apply to Power Saving Class of Type II. 23 Class A : f a = 2, m a = 3, s a = Class B : f b =3, m b = 5, s b = 3 State of MS as a whole sleep windows listening windows availability intervals unavailability intervals x Class A : x ≡ 2 (mod 3 ) Class B : x ≡ 3 (mod 5 ) Solutions x = 3, 5, 8, 9, 14, 15 Class B : x ≡ 4 (mod 5 ) Class B : x ≡ 5/0 (mod 5 ) Class A : x ≡ 3/0 (mod 3 )
MUI using Chinese Remainder Theorem x ≡ r i (mod m i ) – 第 x 個 frame 落在 sleep cycle m i 中的 sleep window r i 內 – f i ≤ r i ≤ f i + sleep window – 1 – 對所有可能的 f i 和 sleep window 排列組合做檢查的動作 Drawback : –According to the Chinese Remainder Theorem, if all of the sleep cycle lengths m i are pairwise relatively prime, all of the solutions of x can be found. –The computational complexity may be too high. –On the other hand, if the lengths of sleep cycles m i are not pairwise relatively prime, the existence of solutions of x is no longer guaranteed.
MUI using Table-based Algorithm The same concept for table-based algorithm. –A table can be constructed with m a rows and m b columns –Table elements are denoted as c i,j. –c i,j is a blank or a value satisfying that c i,j ≡ i (mod m a ) c i,j ≡ j (mod m b ) index12…j…mbmb 1 2 … i … mama c i,j
MUI using Table-based Algorithm c i,j ≡ i (mod m a ) c i,j ≡ j (mod m b ) sleep windows listening windows availability intervals unavailability intervals case 1 4/ /054321index mbmb mcmc Class B : f b =1, m b = 6, s b = 4 Class C : f c =1, m c = 4, s c = 3 State of MS as a whole j i c i,j
MUI using Table-based Algorithm Extend the table to solve t Power Saving Classes of Type II Class A : f a = 1, m a = 9, s a = 5 sleep windowslistening windows availability intervals unavailability intervals 11 Class B : f b =1, m b = 6, s b = 4 Class C : f c =1, m c = 4, s c = 3 State of MS as a whole case Class B+C : f b,c = 1, m b,c = 12, s b,c = 1,2,3,7,9,
MUI using Table-based Algorithm Class A : f a = 1, m a = 9, s a = 5 Class B+C : f b,c = 1, m b,c = 12, s b,c = 1,2,3,7,9,
Table-based Algorithm – Example Class A : m a = 4, s a = 1 Class B : m b = 6, s b = 3 Class C : m c = 5, s c = index Class AB1 : m ab1 = 12, s ab1 = 1, 9 (f a = 1, f b = 1) Class AB2 : m ab2 = 12, s ab2 = 5, 9 (fa = 1, fb = 2) Class AB3 : m ab3 = 12, s ab3 = 5, 9 (fa = 1, fb = 3) Class AB4 : m ab4 = 12, s ab4 = 1, 5 (fa = 1, fb = 4) Class AB5 : m ab5 = 12, s ab5 = 1, 5 (fa = 1, fb = 5) Class AB6 : m ab6 = 12, s ab6 = 1, 9 (fa = 1, fb = 6) Class AB7 : m ab7 = 12, s ab7 = 2, 10 (fa = 2, fb = 1) Class AB8 : m ab8 = 12, s ab8 = 2, 10 (fa = 2, fb = 2) Class AB9 : m ab9 = 12, s ab9 = 6, 10 (fa = 2, fb = 3) Class AB10 : m ab10 = 12, s ab10 = 6, 10 (fa = 2, fb = 4) Class AB11 : m ab11 = 12, s ab11 = 2, 6 (fa = 2, fb = 5) Class AB12 : m ab12 = 12, s ab12 = 2, 6 (fa = 2, fb = 6) Class AB13 : m ab13 = 12, s ab13 = 3, 7 (fa = 3, fb = 1) Class AB14 : m ab14 = 12, s ab14 = 3, 11 (fa = 3, fb = 2) Class AB15 : m ab15 = 12, s ab15 = 3, 11 (fa = 3, fb = 3) Class AB16 : m ab16 = 12, s ab16 = 7, 11 (fa = 3, fb = 4) Class AB17 : m ab17 = 12, s ab17 = 7, 11 (fa = 3, fb = 5) Class AB18 : m ab18 = 12, s ab18 = 3, 7 (fa = 3, fb = 6) Class AB19 : m ab19 = 12, s ab19 = 4, 8 (fa = 4, fb = 1) Class AB20 : m ab20 = 12, s ab20 = 4, 8 (fa = 4, fb = 2) Class AB21 : m ab21 = 12, s ab21 = 4, 12 (fa = 4, fb = 3) Class AB22 : m ab22 = 12, s ab22 = 4, 12 (fa = 4, fb = 4) Class AB23 : m ab23 = 12, s ab23 = 8, 12 (fa = 4, fb = 5) Class AB24 : m ab24 = 12, s ab24 = 8, 12 (fa = 4, fb = 6)
Table-based Algorithm – Example Class A : m a = 4, s a = 1 Class B : m b = 6, s b = 3 Class C : m c = 8, s c = 5 index Class AB1 : m ab1 = 12, s ab1 = 1, 9 (f a = 1, f b = 1) Class AB6 : m ab6 = 12, s ab6 = 1, 9 (fa = 1, fb = 6) f c = 1, MUI = 1, 9, 13, 21 f c = 2, MUI = 13, 21 f c = 3, MUI = 13, 21 f c = 4, MUI = 13, 21 f c = 5, MUI = 1, 9, 13, 21 f c = 6, MUI = 1, 9 f c = 7, MUI = 1, 9 f c = 8, MUI = 1, 9 No. of MUI : 4
Table-based Algorithm – Example Class A : m a = 4, s a = 1 Class B : m b = 6, s b = 3 Class C : m c = 8, s c = 5 index f c = 1, MUI = 5, 9, 17, 21 f c = 2, MUI = 5, 21 f c = 3, MUI = 5, 21 f c = 4, MUI = 5, 21 f c = 5, MUI = 5, 9, 17, 21 f c = 6, MUI = 9, 17 f c = 7, MUI = 9, 17 f c = 8, MUI = 9, 17 Class AB2 : m ab2 = 12, s ab2 = 5, 9 (fa = 1, fb = 2) Class AB3 : m ab3 = 12, s ab3 = 5, 9 (fa = 1, fb = 3) No. of MUI : 4
Table-based Algorithm – Example Class A : m a = 4, s a = 1 Class B : m b = 6, s b = 3 Class C : m c = 8, s c = 5 index f c = 1, MUI = 1, 5, 13, 17 f c = 2, MUI = 5, 13 f c = 3, MUI = 5, 13 f c = 4, MUI = 5, 13 f c = 5, MUI = 1, 5, 13, 17 f c = 6, MUI = 1, 17 f c = 7, MUI = 1, 17 f c = 8, MUI = 1, 17 Class AB4 : m ab4 = 12, s ab4 = 1, 5 (fa = 1, fb = 4) Class AB5 : m ab5 = 12, s ab5 = 1, 5 (fa = 1, fb = 5) No. of MUI : 4
Table-based Algorithm – Example Class A : m a = 4, s a = 1 Class B : m b = 6, s b = 3 Class C : m c = 8, s c = 5 index Class AB7 : m ab7 = 12, s ab7 = 2, 10 (fa = 2, fb = 1) Class AB8 : m ab8 = 12, s ab8 = 2, 10 (fa = 2, fb = 2) f c = 1, MUI = 2, 10 f c = 2, MUI = 2, 10, 14, 22 f c = 3, MUI = 14, 22 f c = 4, MUI = 14, 22 f c = 5, MUI = 14, 22 f c = 6, MUI = 2, 10, 14, 22 f c = 7, MUI = 2, 10 f c = 8, MUI = 2, 10 No. of MUI : 4
Table-based Algorithm – Example Class A : m a = 4, s a = 1 Class B : m b = 6, s b = 3 Class C : m c = 8, s c = 5 index Class AB9 : m ab9 = 12, s ab9 = 6, 10 (fa = 2, fb = 3) Class AB10 : m ab10 = 12, s ab10 = 6, 10 (fa = 2, fb = 4) f c = 1, MUI = 10, 18 f c = 2, MUI = 6, 10, 18, 22 f c = 3, MUI = 6, 22 f c = 4, MUI = 6, 22 f c = 5, MUI = 6, 22 f c = 6, MUI = 6, 10, 18, 22 f c = 7, MUI = 10, 18 f c = 8, MUI = 10, 18 No. of MUI : 4
Table-based Algorithm – Example Class A : m a = 4, s a = 1 Class B : m b = 6, s b = 3 Class C : m c = 8, s c = 5 index Class AB11 : m ab11 = 12, s ab11 = 2, 6 (fa = 2, fb = 5) Class AB12 : m ab12 = 12, s ab12 = 2, 6 (fa = 2, fb = 6) f c = 1, MUI = 2, 18 f c = 2, MUI = 2, 6, 14, 18 f c = 3, MUI = 6, 14 f c = 4, MUI = 6, 14 f c = 5, MUI = 6, 14 f c = 6, MUI = 2, 6, 14, 18 f c = 7, MUI = 2, 18 f c = 8, MUI = 2, 18 No. of MUI : 4
Table-based Algorithm – Example Class A : m a = 4, s a = 1 Class B : m b = 6, s b = 3 Class C : m c = 8, s c = 5 index Class AB13 : m ab13 = 12, s ab13 = 3, 7 (fa = 3, fb = 1) Class AB18 : m ab18 = 12, s ab18 = 3, 7 (fa = 3, fb = 6) f c = 1, MUI = 3, 19 f c = 2, MUI = 3, 19 f c = 3, MUI = 3, 7, 15, 19 f c = 4, MUI = 7, 15 f c = 5, MUI = 7, 15 f c = 6, MUI = 7, 15 f c = 7, MUI = 3, 7, 15, 19 f c = 8, MUI = 3, 19 No. of MUI : 4
Table-based Algorithm – Example Class A : m a = 4, s a = 1 Class B : m b = 6, s b = 3 Class C : m c = 8, s c = 5 index f c = 1, MUI = 3, 11 f c = 2, MUI = 3, 11 f c = 3, MUI = 3, 11, 15, 23 f c = 4, MUI = 15, 23 f c = 5, MUI = 15, 23 f c = 6, MUI = 15, 23 f c = 7, MUI = 3, 11, 15, 23 f c = 8, MUI = 3, 11 Class AB14 : m ab14 = 12, s ab14 = 3, 11 (fa = 3, fb = 2) Class AB15 : m ab15 = 12, s ab15 = 3, 11 (fa = 3, fb = 3) No. of MUI : 4
Table-based Algorithm – Example Class A : m a = 4, s a = 1 Class B : m b = 6, s b = 3 Class C : m c = 8, s c = 5 index f c = 1, MUI = 11, 19 f c = 2, MUI = 11, 19 f c = 3, MUI = 7, 11, 19, 23 f c = 4, MUI = 7, 23 f c = 5, MUI = 7, 23 f c = 6, MUI = 7, 23 f c = 7, MUI = 7, 11, 19, 23 f c = 8, MUI = 11, 19 Class AB16 : m ab16 = 12, s ab16 = 7, 11 (fa = 3, fb = 4) Class AB17 : m ab17 = 12, s ab17 = 7, 11 (fa = 3, fb = 5) No. of MUI : 4
Table-based Algorithm – Example Class A : m a = 4, s a = 1 Class B : m b = 6, s b = 3 Class C : m c = 8, s c = 5 index f c = 1, MUI = 4, 20 f c = 2, MUI = 4, 20 f c = 3, MUI = 4, 20 f c = 4, MUI = 4, 8, 16, 20 f c = 5, MUI = 8, 16 f c = 6, MUI = 8, 16 f c = 7, MUI = 8, 16 f c = 8, MUI = 4, 8, 16, 20 Class AB19 : m ab19 = 12, s ab19 = 4, 8 (fa = 4, fb = 1) Class AB20 : m ab20 = 12, s ab20 = 4, 8 (fa = 4, fb = 2) No. of MUI : 4
Table-based Algorithm – Example Class A : m a = 4, s a = 1 Class B : m b = 6, s b = 3 Class C : m c = 8, s c = 5 index f c = 1, MUI = 4, 12 f c = 2, MUI = 4, 12 f c = 3, MUI = 4, 12 f c = 4, MUI = 4, 12, 16, 24 f c = 5, MUI = 16, 24 f c = 6, MUI = 16, 24 f c = 7, MUI = 16, 24 f c = 8, MUI = 4, 12, 16, 24 Class AB21 : m ab21 = 12, s ab21 = 4, 12 (fa = 4, fb = 3) Class AB22 : m ab22 = 12, s ab22 = 4, 12 (fa = 4, fb = 4) No. of MUI : 4
Table-based Algorithm – Example Class A : m a = 4, s a = 1 Class B : m b = 6, s b = 3 Class C : m c = 8, s c = 5 index f c = 1, MUI = 12, 20 f c = 2, MUI = 12, 20 f c = 3, MUI = 12, 20 f c = 4, MUI = 8, 12, 20, 24 f c = 5, MUI = 8, 24 f c = 6, MUI = 8, 24 f c = 7, MUI = 8, 24 f c = 8, MUI = 8, 12, 20, 24 Class AB23 : m ab23 = 12, s ab23 = 8, 12 (fa = 4, fb = 5) Class AB24 : m ab24 = 12, s ab24 = 8, 12 (fa = 4, fb = 6) No. of MUI : 4
Table-based Algorithm – Example Class A : m a = 4, s a = 1 Class B : m b = 6, s b = 3 Class C : m c = 8, s c = 5 No. of MUIMUIfafa fbfb fcfc 4 1, 9, 13, , 9, 17, , 5, 13, , 10, 14, , 10, 14, , 10, 18, , 10, 18, , 6, 14, , 7, 15, , 11, 15, , 11, 15, , 11, 19, , 11, 19, , 8, 16, , 12, 16, , 12, 16, , 12, 20, , 12, 20, MS 可調整 connections 參數 (start frame number)
Experiments on Time Complexity Code : C++ ( gcc version 3.22 ) Experimental parameters : –T ( the number of Power Saving Classes ) : 2 6 = 64 –M ( the maximum length of sleep cycle) : 6 ~ 15 (1000 samples) –C ( sleep cycle length ) : 2 ~ M –S ( sleep window lengrh ) : 1 ~ C –1 ≤ S < C ≤ M –Pick 2 ~ 5 Power Saving Classes from T Compare the time consumption of three schemes –Brute force scheme –MUI using Chinese Remainder Algorithm –MUI using Table-based Algorithm
Experiments on Time Complexity
Conclusion It is important to configure the parameters properly so the battery life of an MS can be extended. Maximum Unavailability Interval algorithm improves the energy efficiency for Type II. MUI is fully compatible with the IEEE e standard and does not change the parameters of QoS of connections.
The End THANK YOU