• 沒有找到結果。

無線感測網路之關鍵技術及在社區照護之應用-子計畫四:無線感測網路之中介軟體及在社區照護之應用(3/3)

N/A
N/A
Protected

Academic year: 2021

Share "無線感測網路之關鍵技術及在社區照護之應用-子計畫四:無線感測網路之中介軟體及在社區照護之應用(3/3)"

Copied!
30
0
0

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

全文

(1)行政院國家科學委員會專題研究計畫 成果報告 無線感測網路之關鍵技術及在社區照護之應用--子計畫 四:無線感測網路之中介軟體及在社區照護之應用(3/3) 研究成果報告(完整版). 計 計 執 執. 畫 畫 行 行. 類 編 期 單. 別 號 間 位. : 整合型 : NSC 95-2221-E-002-061: 95 年 08 月 01 日至 96 年 07 月 31 日 : 國立臺灣大學電機工程學系暨研究所. 計 畫 主 持 人 : 王勝德 計畫參與人員: 博士班研究生-兼任助理:黃正一、莊勝彥 碩士班研究生-兼任助理:王皓漢、楊逢振、楊進福. 報 告 附 件 : 出席國際會議研究心得報告及發表論文. 處 理 方 式 : 本計畫可公開查詢. 中. 華 民 國 96 年 10 月 30 日.

(2) 行政院國家科學委員會補助專題研究計畫. ;成果報告 □期中進度報告. 無線感測網路之關鍵技術及在社區照護之應用-子計畫四:無 線感測網路之中介軟體及在社區照護之應用 計畫類別: □個別型計畫 ; 整合型計畫 計畫編號:NSC 95-2221-E-002 -061 執行期間: 95年08月01日至96年07月31日 計畫主持人:王勝德 共同主持人: 計畫參與人員: 王浩漢 莊勝彥 楊進福 楊逢振 黃正一. 成果報告類型(依經費核定清單規定繳交):□精簡報告. ;完整報告. 本成果報告包括以下應繳交之附件: □赴國外出差或研習心得報告一份 □赴大陸地區出差或研習心得報告一份 □出席國際學術會議心得報告及發表之論文各一份 □國際合作研究計畫國外研究報告書一份 處理方式:除產學合作研究計畫、提升產業技術及人才培育研究計畫、列 管計畫及下列情形者外,得立即公開查詢 □涉及專利或其他智慧財產權,□一年□二年後可公開查詢. 執行單位:國立台灣大學 電機工程學系 中 華 民 國 96 年 10 月. 22. 日.

(3) This work “The Modified Grid Location Service for Mobile Ad-Hoc Networks” by Hau-Han Wang and Sheng-De Wang Has been published by Lecture Notes in Computer Science Springer Berlin / Heidelberg ISSN 0302-9743 (Print) 1611-3349 (Online) Volume 4459/2007 Advances in Grid and Pervasive Computing ISBN 978-3-540-72359-2 pp. 334-347. 2.

(4)    

(5)   

(6)    

(7)       

(8)  

(9)  

(10)     

(11)             . .

(12)                .                      " #            .  .     .     .  .    . !. .      .       $   %                      "    "     $   %            &  ' (   )   '()!%   "  "                   . .            .        *          . "#   '()  '() +     "       .    '()             .     .   .                 

(13)   

(14)  ! ! "  ! #$%         " "  &    !    &  ' ( "  '   & &  !   ) &     &   &            '    *)      &  *      ! +'          &      & '  ! ,) .             & -+ .-' +  /! 0 &    *     )      .  &      "  '      "  .   &  * !           '     1      *     & . &  1   '! +'         2 . '      &  3 &  )      "  & .  *    !.

(15) 4  "  "   &                 ! 5   "   ' (      '  &        "    &        '    " !    '     (       &   *!       & ' '   & )  &) & )  &   &    " !     #6%#7%     '  & (    '   !  - 4 " .-4 #6%/)   "     " '   &  8    ! -4 "        .    *      & 2 !           '  &  *  )     1   " ! 4 "  &     "          &   &   !   "  &       2"    "  2     "    2  *  "   .  "   1 ! 9  #:%#;%)     *    ' !                '   '  *!   &           '              *!

(16) #7% &     "  <      &  "     *) '    '     ' !  " )

(17)           *     & ' <! =       *    '      1      *     &     '! . 4    .4 #>%/           .    &   )     '  &  "  *  &  "     ! 0  ) 4     . &        2          '    5    &        &  " !  " ) 4   <     &  " !       &      & 

(18)   ! #?%          '        ) '  &   &

(19)   4 !  -  +        .-+ #@%/     &   *  &)        ' &      * .      ! A -+ )    (   5     '  &    "  * !        &    * 1    * *  &   3 &    "  *      '      & .        '    !.

(20) A    &)          "      ' ' '   44B * !     ' &      '1        !   & )      '     '      '     ) '  '       "    '      44B   ) 1   6   " ! 6   "    "             *   &         !    &  *     &       1           !       &  *    D)       ' '        '    D! A   &  *       ')  .  &     &  !  *           ! -4     &   &  ! ) '    &  -4 '    - A

(21) C #D%!   "  & '       *      ' A! C "#$E%! ! +*  !    '  #$$%    ' '  *    )     . "   "      &     !    "   (5       

(22) 4#$6%) 4F +#$:%) 44#$;%  A- - 

(23) #$7%       #$>%! A    )     '    "   &  '    '    *)   (  - 4 " .-4 /     "    -4 !   -4 )     ) .   *        !               A

(24)      &   "    *!                 ! A       &       )     "    "     *!    " )    &     ! 0 &    *     )     ( 2     1              &  *     !    &         "   "  ! -4          &           !          &     " ') '    .          -4 !        "  '         *!.

(25)      . -4 5    &   &  ! =)    *   '  &     *      & )     '   &  !  5)  "      *           "  &         ).

(26)     &   "       '  (   !           "        '  ' -+ ! =) &        *      0)  2      "  &  0 & 01    ' &     &! ) "      *     (  2 A

(27)    )            2 ,         *!     

(28) .     *          = $!     √(       *  &            1 : 2      !      C       *      )      C       *      )   ! B'")     √      &    ! - &   "  *     & 1 : 2)     &          " !. 

(29)  ,         .     .  '  "         "       !

(30)   .  &    )      "   '  &   &  '  ! 0  )    "     *  "   ' &   " )   *      '  & '  ! A       &    )  "  *    " ' !   )  '      "         *!    -4  " '  *  " '    & &  1   !.

(31) "      A

(32)     (                  " ! A  = 6)  0   A

(33) & $?        "  &  "     !         *      A

(34) G    H     A

(35)  '    "  &   "  &     !     A

(36)         & !   (  6     $?   ?   $?!.               . !.    -    . !    . !    +.  .   .  . .       +.        .    5 ! 4 1  &  = 6./! 0       !    = 6.'/)      &  0 GH  '          >:!  >:   G    H   A

(37)    0)  >:          "  & 0      ! A = 6./) 6:           0 ) &    ) 6:  01   "       )   !     "                & 0 "      *)   i      ' 6   5 !   . - 4 " .-4 / "     *       & 2 ) !     2   "  "   4     2      2     ) &    2 ! A     2 )  0    3   " )        2   0 1 !  " )  '   )  '  &   "          2   '  &   '    "            '  '  &  "      ! = -4 )           3 log4 n   "     *!   -4 )      *  &  . √  " )      & ) '          & 1 : 2!        *         log2 n   " )   ) 2/3  '  &   "      -4 ! = : "     -4 !.

(38)  .     '()%      /% /0% 12         .   +.    " )       " !   "    5 "  &  *  ' '          "    !           "  "   &  "        δ      √  !           "  &   "  √& 2δ ! A   )          "  &   "   & 2i−1 δ!    )                            "    &       " !     A = ;)         &   &       &!   &   2 )       2  '     &           0 &      &!    &  2   .  ! A  )  2        "  & 0    &  2   0!   2     & ) 0              &!      !.   "  ) -4       & 2  ' !    )  '  &   "  *  '            &    & -4  '    !  " ) -4        2       .     &  '  &   " )     = ;)     2  *     &  , . A

(39) ?>/  6$! A    &    6E)    "  & 0  -4 )      2  *   ' &      2           . 2  *   -4 !.

(40)    3     4 "    .  '().   

(41)     . A    )  5   "        #$>%   . ' & -4  -4 !  & &    *    .            &     !  "  .  (  (      '    & "  ' &    !  #    

(42)       Cm   (    '  & &         &            * ! A  '        &    &    "     *!  #    

(43)    2   Cq   (    '  & *  &      2         &    ! A  '       & 2   & &   "  ' &    *          *!  #  

(44)     2    Cs &    "   (    '  &              " !        '   '  &     &   '  &  ' !.         2   &   !  '  "     2     "    '        ".

(45)   '  "     )         !  )   &         &! . "  $.    &      "   5   "  &  (         & & N  v!     γ     '  !      γ         &   ! .  -4 )    & * (  & γ ≥ 50 nodes/km2! )  "' γ   100 nodes/km2   5  !/        "    (     '  !   *       *  "        "  v    & '   [0, vmax ]! &  .     )               ! 4  Pi , ∀i = 0, · · · , H    ''    B . 2   /  A .  '  2  /       level − i ! 0     &  level − i ) Pi  '        

(46)       .  '' &  2     2        .  level − i    1 & -4 ∀i = 0 · · · H Pi = 2 1 & -4 4 H−i H−i.  ".   "    %    '    6!$) -4   '       & 2  !   A       "    level − i  .i = 1 · · · H /!     "  & A "        & A)    5    '       &    &  &      2  &  ! A -4 ) A    level − i  "  &  √  "   & ( 2i−1 · δ))   δ            .  '' '  &    &   !√        . √ i−1 i−1 5      "    & ( 2 · δ))   ( 2 · δ)/v!. √ c1 · 2 · R · v log N 3 E(Cs ) = log N !

(47)      !" E(Cm ) = δ·z #        Cm )  (   . 5        *    "    level − i )     E(dui ))   "  '  &    *  *  &  A  A s   "    level − i )     E(nui )!     '        level − i )   "  dui    '        level − i  C     !.   & ).

(48) !.   !5   c. 1. 4 . 6    . !.                '()   !c2             . '()  4  6      7.  . c3              .   4  6       . √ i  √2  1  √2  1  2R 0 (x1 − x2 )2 + (y1 − y2 )2 dx1 dy1 dx2 dy2 0 0 0 √ i = c1 · 2 R. E(dui ) =.   R               √ &  level − 0√!       & level − i      & 1 : 2)    2iR       &     level − i & !  c1     &      "  √   '      ' )     =!7./) c1 ≤ 6!  5   '  &   &  *    5    "  ' z )  "    & . )    ' "     & &         !    '      )   z !  ) E(nui ) =. √ i c1 · 2 R E(dui ) = z z. √ i−1 2 · δ) .δ.           & v/(    /)  " H . v · E(nui ) √ i−1 2 · δ i=1 √ i H  v c1 · 2 R = · √ i−1 z 2 ·δ i=1 √ H c1 · 2 · R  · = v δ·z i=1 √ c1 · 2 · R = · vH δ·z. E(Cm ) =.      .

(49) =. √ c1 · 2 · R · v log N δ·z.   H I  N !  &   2   , Cs )   '        2     (    '  &              " !  "  '  &          '  &        * "  '   '  &  !  "       "     " )  " N ·H = log N ! N. E(Cs ) =. . & .  -4        "   &       -4 !   A        "    level − i 2 )    level − (i − 1) 2  2   A   )     = :!      '   -4  -4        & .   !    -4 )     "     '          &    &  &      2  &  !   "  &    & -4 !

(50)   .   !". E(Cm ) =. √ (2c2 + c3 ) · R · v log N $ E(Cs ) = z·δ. 3 2. log N ;.  (        Cm !    -4  )  "        "  &    & (2i−1 · δ)3     & (2i−1 · δ)/v ! ,   5         *  "          "    level − i 2 )    E(di )!  " E(dui ) = (2c2 + c3 ) · 2i R )  u i (2c ) + c ) · 2 R E(d 2 3 i = E(nui ) = ) z z #.   2iR      &  level − i 2 ) c2  c3    &      "    '    √    ' 2 )     = 7.'/! )  " c2 ≤ 5)  √ c3 ≤ 2 2!           & v/(2i−1 · δ))  " E(Cm ) =. H  (2c2 + c3 ) · 2i R z i−1 (2 · δ) i=1. v. ·. (2c2 + c3 ) · R δ·z (2c2 + c3 ) · R = δ·z (2c2 + c3 ) · R = z·δ =. ·. H  v · 2i i=1. 2i−1. · 2vH · v log. √ N.

(51) √.   H = (1/2) log N )  -4   2 ! =)  "    -4      "     " )  5   " &    & -4 ) E(Cs ) =. N · 3H = N. '   . 3 2. log N !. .

(52)    $   .     & -4  -4      )      5 '     !  " )   &  .     ! A  '"      & -4        & -4 !  &    )       √ "      " ) -4     2  √   -4 √  c1 · √     2c2 + c3     )   c1 ≤ 6) c2 ≤ 5)  c3 ≤ 2 2! .   !    "   .           & ' -4  -4 !  -4        &     & #$?)  6  & -%!    & -4 1       ' ! J   !#$@%! B -4       ' *     (   -4 !    ,F1    5  & .  6 !     &       *   250m!    6  '     !    & :EE  )     )        "  ;  *          !   "        !          )  "        '       5 "  )    5 "   &    30m/s '  &!          )           '  "     )     !    . (  %               *  ! =    )       ' 100nodes/km2! B   &               '   "   "          )             &   !   & )   &  *          '  &  ! =   * & 7EE    -4 )     '    "  )          level − 7   "  & 2800m × 2000m! = ' -4  -4 )     &  level − 0      ' 250m . -4 )   ' 354m × 250m/!         150m  '   !.

(53)       &  )   "      2     #6%#$7%! A    "   5    )        "  & K     %" &%" % & N !  *   ' "    ' .   '     ,0   ( /   '  &   '   '  ! =   &     )  '  & 5   '         ' 2    '  &  ! . '  & 5   2 &   '  &    .  &   ! A     *)  '  & 5         '  &  !     . &     "  & K   *   "  & ("  ! A        ' )      "  &      K !        -4 &(   " ' '        N  v!           & '   !  '       (  "  !

(54)   '      '    2 &      ' "' &  * !  "     2     '     '      * )         "    ! (   "  . (  ) 

(55)  = >    "       & & ./   '  &   N  .'/ 5 "   &   v!     & -4        & -4  5     !. !.                 . !             .  .

(56) !.   8 ". . !.                     .  . (  (   = ?    2     & '    )   & & ./   '  &   N  .'/ 5 "   &   v!  2  &       &       " ! 0     2 & 2     )  '%  '" )    -4    ' '   2       -4 !      '      "       -4 !. #   . A    )           & &  K    " & '    *!               ' " & ' -4  -4 !            '  ) -4      "       -4 !        (  .  & "  &    ! = *  '       K   2& " .9 / & "   )          ' -4  -4 ! $ .             

(57)       $    # % 101;%     /002. 9 (% 9 9 % < < 5  % < = %  >    

(58) 

(59) 

(60)              $

(61)     5  5 % 2/0210%. 2    % 9 * %  : :   . /.    /000. 1 ? 9 :  + (. " $@5.    

(62)       ! .    %   A%  /% //B/C0%  2;;;.       #  

(63)    .      

(64)    )$ % D  "  E%  >  >;;0;%. C $ ) 6    . )    2;;;.

(65) F ) + % $ 5% G > )"  %  +  * . $ 

(66)      

(67)  % &  ' $

(68)   .      .   5@$ $ .   5       5         !% AHBC%. 2;;B. H I =   : G ". (       %(&'   

(69)      . $

(70)      5@$ $   5       5         !% HHAF% 2;;B. A. 5% 9 +  % + * % ( * 3%  *  )      

(71)         

(72)        $

(73)      $ $,E5E% /00/. =  *)"&+    

(74)       

(75)    $ $   5       5        . B + =  :. 5  /000!. ;.    6     % J@@     @. 20 $ ) 6  . )              $ 5   . # % G  C0%  A% 2/B21C% 9 " /00/. 22.  6 

(76)  % = ' ) , 

(77)  $ 

(78)      

(79)  

(80)       $@5         E!%  21  /%  1;BC20%  /00F.  

(81) 

(82) 

(83)     % ( '   

(84)      $

(85)      $ 5     (  5   . 2/ I K % + (%  =   .    (5 .02!% /002. 21 ) 5   *  )   ).     * . 2C 5 . "

(86) 

(87)       

(88) %"(&)'  .    % AF!JF21F/;% /002. 5 % : ( (  % )   9

(89) %     + % . "(( +  

(90) 

(91) 

(92)     

(93)   

(94)      $

(95)     $ *55%  /00/. I# I % ' :  ( %  ?( ?   (   "  "

(96)  

(97)    -**& <   5  ) L  % D   % . ?. 2F. >  . >0C00/% /00C. (   "      + 

(98)   

(99)   $

(100)     ), *             . 2H I I % ': ( % ?( ?.   :  * .    % 5 % 9  /00C. 2A )/      '% J@@     @@ @ 3 .   

(101)    . 

(102)               

(103)       . 2B : :   %  = % : ,  %    .   % <    )  % D  "   %. >0/00A% 9 " /00/.

(104) 會議名稱:The 12th IEEE International Symposium on Pacific Rim Dependable Computing (PRDC'06). 出席報告. 會議日期:December 18-20, 2006 會議地點:University of California, Riverside, USA. ‹ 主辦單位: „ „. IEEE Computer Society Technical Committee on Fault-Tolerant Computing University of California, Riverside In Cooperation with IFIP WG 10.4 on Dependable Computing and Fault Tolerance. ‹ 姓名:王勝德 ‹ 服務單位:國立台灣大學電機系 ‹ 職稱:教授.

(105) PRDC'06 從投稿 117 篇論文中接受了 42 篇論文,接受率 35%,發 表的論文為 IEEE Proceedings on PRDC'06 所收錄。 本次議題包括:. - Software and hardware reliability, testing, verification and validation - Dependability measurement, modeling and evaluation - Safety-critical systems and software - Architecture and system design for dependability - Fault tolerant algorithms and protocols - Tools for design and evaluation of dependable systems - Reliability in Internet and Web systems and applications - Dependability issues in computer networks and communications - Dependability issues in distributed and parallel systems - Dependability issues in real-time systems, database and transaction processing systems 本人所發表paper屬於Architecture and system design for dependability,本會 邀請了三場 keynote speech:. Keynote 1: December 18, 2006 Title: Quality Wave in Light of The Nano Development Speaker: Professor Way Kuo. Abstract: Nano technologies are a driving force for strong economic growth in the world, and some analysts predict that its impact will bring to us the next industrial revolution. In the 2005 National Academy's publication of Keck Futures Initiative, reliability is cited as the key element of the success of nano fabrication and manufacturing. In this keynote speech, we will address both the historical review of the neno technologies ever since the industrial revolution and recent development, particularly those events which have great impacts on quality and computing. Some new challenges will be discussed as well..

(106) Keynote 2: December 19, 2006 Title: "Challenges in Dependability of Future Networked Systems" Speaker: Professor Takashi Nanya. Abstract: As networked systems pervade every aspect of the modern information society, we are faced with serious threats to dependability due to problems caused by accidental events such as human mistakes and physical malfunctions or by intentional behavior being either malicious or non-malicious. In this talk, we discuss major challenges and give views of future directions in research on the dependability of evolving networked systems toward an advanced information society.. Keynote 3: December 20, 2006 TITLE -- Code Coverage: The Missing Link Between Software Testing and Software Reliability? SPEAKER -- Professor Michael R. Lyu Computer Science & Engineering Department, The Chinese University of Hong Kong ABSTRACT -While hardware testing and reliability techniques are closely related, software testing and reliability approaches were developed independently, sometimes with conflicting principles. Software testers spend their most testing efforts in exceptional test cases, while software reliability engineers require software to be tested under a normal operational profile. Software testers are interested in knowing how software testing covers the development requirements. Software reliability engineers are interested in how software reliability is perceived from customer views. Software testers do not trust numbers. Software reliability engineers insist software quality cannot be an objective attribute without creditable reliability measures. The main issues in software testing are the design and evaluation of effective test cases, and relating software testing with the resulting reliability. Code coverage was proposed as an estimator for testing effectiveness, But it remains a controversial metric in linking testing with reliability. In this talk, we focus our research questions 1.

(107) regarding the measure of code coverage on testing effectiveness under various testing strategies, and evaluate the influence of code coverage to software reliability measurement. We conduct experiments to investigate the relationship between code coverage and fault detection capability under different testing profiles. From our experimental data, code coverage is merely a moderate indicator for fault detection regarding the overall testing strategies examined on the whole test set. However, it is clearly a good fault detection estimator with exceptional test cases. Moreover, we analyze the effects of different coverage metrics and how coverage can be used to in reliability measurement, and establish a new reliability model incorporating both testing time and code coverage. New research directions in software testing and reliability will also be given.. 這演講的三個主題反應了不同的研究主題,都很具代表性,例如 第一個主題主 要講nano technology的可靠性議題,第二個的主題有關網路資訊系統的可靠性 議題,第三個主題則有關軟體測試與軟體可靠度,雖然本人的研究興趣慢慢轉移 到嵌入式系統,但在嵌入式系統設計也有可靠度的問題,所以本人對軟體測試與 軟體可靠度主題,感到興趣,另外在會議的一部份主題也探討到如何利用設計方 法來提高可靠度,這方面也跟軟硬體共同設計和特殊電路設計有關,這些方面都 與嵌入式系統相關。. 本次會議地點在 UC Riverside 舉行,主辦單位借電機系的教室為會場,沒有一 般大型會議在飯店舉辦的方便,但比較樸實,有點像我們在台灣常常為了節省經 費,使用學校的場地來開會一樣。UC Riverside 比較內陸,從洛杉磯要到會場, 以自行開車比較方便,我也是從機場租車前往,回程時順道參觀了西來寺,感覺 佛光山的確很有規模,在西方能夠建立如此宏偉的道場,不禁令人肅然起敬。. 會議攜回資料: 會議論文CD. 附錄:所發表之論文. 2.

(108) A Dependable Outbound Bandwidth Based Approach for Peer to Peer Media Streaming Zheng-Yi Huang and Sheng-De Wang Department of Electrical Engineering National Taiwan University, Taipei, TAIWAN Email: sdwang@ntu.edu.tw Abstract— A fundamental problem in peer-to-peer streaming is how to select peers with desired media data so that the best possible streaming quality can be maintained. In this paper, we propose an outbound bandwidth based streaming model in which peers are layered according to their offered outbound bandwidth and are permitted to request data of peers from upper layers peers only. Based on the layered approach, a media data assignment algorithm for the subset of media data is presented to select qualified sending peers to ensure that they will be received before their scheduled playback time. We also present two resolutions for request conflicts, which arise when there are more than one peer simultaneously requesting data from the same sending peer that can’t afford outbound bandwidth for all requests. We evaluated the proposed streaming model through simulations. Experimental results show that streaming quality of the proposed streaming model is excellent and the properties of scalability as well as robustness are obtained even in a highly dynamic environment where peers join and leave frequently.. 1. I Recently, the peer-to-peer networking paradigm offers the alternative possibility for streaming media over the network due to the most important inherent characteristic: resources are shared among participants. Peers that simultaneously function as both clients and servers share their resources (e.g., computing power, bandwidth, storages and contents) with others. This important characteristic avoids dedicated replication servers altogether and hence it does not have the bottleneck of client/server streaming architecture. Unlike peer-to-peer file sharing systems, a peer-to-peer media streaming system is operated in a kind of play-while-downloading mode ([1]). It is implied that the outbound bandwidth (upstream bandwidth) that a peer can acquire is a crucial factor for streaming quality. Another element of diversity is that the local storage of each peer is leveraged as a cache-and-relay mechanism ([4]) in which requesting peers request media data and cache the most recently played media data during streaming. The cached content can then be relayed to later peers that request the same content. But the most distinct feature of all is that from peer-to-peer streaming systems, users not only enjoy the availability of media content but also the high quality of media streaming. The media streaming quality depends on a combination of factors, ranging from the characteristics of the streaming sources (e.g., link capacity, availability, accessible outbound bandwidth) to the characteristics of the network paths (e.g., available bandwidth, packet loss rate, and overlap of paths from multiple sources to receiver [7]). Thus the main. challenge is to design peer selection strategies to realize high streaming quality. Much research has been done to optimize solutions for streaming that aim at providing a minimal delay time for buffering media data. We argue that such optimal solutions are adequate only in some particular situations such as the number of requesting peers is relatively less than the number of sending peers. In addition, in order to get an optimal solution, one trends to exhaust peers with powerful capability, for example peers with high outbound bandwidth. In this paper, we study the peers selection problem as well as the media data assignment problem as in [1]. Given requesting peers and sending peers (supplying peers) with heterogeneous outbound bandwidth, we proposed to select sending peers and assign a subset of media data to them based on the outbound bandwidth layered hierarchy. Different from other optimal peer selection algorithms which result in optimal solutions for an individual requesting peer, our goal is to provide a high streaming quality for whole participants and to maintain the fairness among peers according to their contribution to the network. Also unlike other elaborate streaming architectures, the control overhead of the proposed streaming model is extremely low and it can apply to any existing peer-to-peer overlay network. Briefly, peers participating in the streaming network are layered according their offered outbound bandwidth to form a hierarchy in which they are permitted to request data from peers in higher layers only. To avoid peers from requesting data blindly and from accessing resource greedily, a media data assignment algorithm is presented such that peers can get their required media data with limited resource and media data can be received before their scheduled playback time so that the streaming quality can be maintained. Since there is limited capacity (hereafter we will use outbound bandwidth and capacity alternately) of a sending peer, request conflicts would occur frequently and inevitably. A request conflict occurs when there are more than one peer that simultaneously request data from the same sending peer that can’t afford enough capacity for all requirements. In this paper, we propose two possible mechanisms for resolving request conflicts, namely capacity sharing and capacity preemption which enlarges the accessible capacity of a requesting peer and gives peers chances to preempt other peers with lower priority, respectively. Both of these mechanisms aim at maintaining a best possible streaming quality for all participants in the network. The features of the proposed outbound bandwidth.

(109) 3. T     . based streaming model are: •. • •. •. The construction of the outbound bandwidth based layer is distributed and the communication overhead of the streaming process is extremely low. The proposed streaming model is scalable and resilient to peer failures. The obtained streaming quality is high and stable even if in a highly dynamic environment where peers join or leave frequently. Fairness is achieved for all peers, where the peers that contribute more capacity will have a higher streaming quality.. The rest of this paper is organized as follows. Section 2 defines the assumed media streaming model. Section 3 presents the proposed layered streaming hierarchy. In Section 4, we present two possible technologies for request conflicts resolution and the layered outbound bandwidth based media streaming. The results of simulations are showed in Section 5. Finally, Section 6 describes related work and Section 7 concludes this paper.. In this section, we propose the outbound bandwidth based hierarchy as the backbone for streaming as well as the media data assignment algorithm for selecting qualified peers with required segments. A. The outbound bandwidth based layer When a peer Pi joins the streaming network, it sets aside bandwidth as its offered outbound bandwidth and which has one of the following values:{ R20 , R220 , R230 , · · · 2RN0 }. To simplify notations, we use R as the abbreviation for R20 and say Pi ∈ (R ) if Pi is a peer of outbound bandwidth R . We assume that there are source peers ∈ (R0 ) that possess a copy of media file in the network. Peers are divided into layers according to their outbound bandwidth and Pi is said to in layer  if Pi ∈ (R ). We use the notation of the smaller the , the higher the layer and let LPi denotes the layered value of Pi . Now, we give the layered relation for requesting and sending segments as the backbone for peer-to-peer streaming. Definition Let (Pi ) be the set of accessible peers of Pi . Then, for all P j in the streaming network . 2. P--P M S M. (Pi ) =. In this section, we describe the proposed peer-to-peer media streaming model and the terminologies of this paper. A. Media streaming model We assume that the media data can be partitioned into small sequential sessions of variable sizes and each session can be segmented into small sequential segments of equal sizes. A session is referred to as size κ if it is composed of κ segments and a segment is the unit of transmission in the streaming model. Each segment is attached with a unique sequence number which determines the playback order and ranges from zero to M-1, given that the media is of M-segments. Segments segi is thought to play before seg j if i<j. We also assume that the media data is of constant-bit-rate and with multiple description coding (MDC) and the playback rate is R0 . If the 0 size of a segment is M0 , then its playback time is T0 = M R . 0. B. Playback model During the playback of session s, peer Pi requests and caches segments of session s+1 and then the cached segments are available for being requested from other peers. Pi repeats the streaming processes session by session until the completion of the playback or the leaving of the peer. If the scheduled playback time of the first segment of session s is τ1,s , then the scheduled playback time of j-th segment of s will be τ j,s = τ1,s + j-1. And τ1,s is of course τ1,s−1 + κ if session s1 is of size κ. Let ρ j,s be the received time of j-th segment of session s. Then we say that segment j is a valid segment if and only if ρ j,s ≤ τ j,s , since a segment arriving after its scheduled playback time is useless and considered lost. Pi will discard invalid segments and won’t cache them even if they have arrived later.. {P j : 1 ≤ LP j < LPi } {P j : LP j ≤ LPi }. if LPi ≥ 2 if LPi ≤ 1. Peers in layer one are permitted to request segments from source peers directly and peers in other layers except layer one can request segments from peers of upper layers but not source peers. In another word, peers are allowed to send segments to peers of lower layers. For example, the accessible set of peers for a layer-4 peer is { (R1 ), (R2 ), (R3 )}. Therefore, the set of available outbound bandwidth is {R1 , R2 , R3 }. Based on the layered relation defined above, we generalize three characteristics of the outbound bandwidth based layer. First, the direction of streaming is endowed since segments will stream from the highest layer down to the lowest layer. In other words, peers in higher layers will have newer segments than peers in lower layers. Second, peers in higher layers can have a smaller standard deviation of transmission time if the size of the requested session is equal to the size of the accessible set and each requested layer is responsible for delivering one segment. For example, the accessible set of a layer-4 peer is { (R1 ), (R2 ), (R3 )}, then the transmission time of each layer is therefore {2T 0 , 4T 0 , 8T 0 }. Thus, the standard deviation of transmission time will be 2.49T 0 under the above assumptions. But for a layer-5 peer, it will be 5.36T 0 . It implies that peers in a higher layer will have a shorter waiting time for completing one streaming process of a session. Third, peers in a higher layer take more opportunities to send segments towards peers in lower layers. Hence, peers in a higher layer will take charge of more dissemination of segments. To summarize, the goal of layered hierarchy is to keep track of fairness such that peers that volunteer to offer higher outbound bandwidth will make use of higher streaming quality but they will also be burdened with heavier responsibilities for data dissemination. Another goal is to rule the streaming direction such that peers can avoid both.

(110) TABLE I N T     Pi Neighbors Peer Layer P1 1 P2 2 P3 2 P4 3 P5 4. Layer 1 2 3 -. (Pi ) Peer P1 P2 , P3 P4 -. blind pull(request) or push(send). This can tend to result in extremely communication overhead and will cause streaming quality to be degraded significantly. Each peer has its own layered hierarchy and the establishing process is distributed with little overheads. In addition, the layered hierarchy can be found on any existing peer-to-peer overlay network. In this paper, however, we adopt the gossipbased approach for the construction of the overlay since its excellent robustness, scalability and reliability as evaluated in detailed by Laurent Massouli et al. ([2]). Upon peer Pi setting up its neighbor table (or partial view [2]), Pi constructs its layer by information stored in its neighbor table and then prepares its media streaming. For example, if neighbors of Pi are as the left-half part of table I and if Pi is of layer four, then its accessible set will be { (R1 ), (R2 ), (R3 )}. Therefore, its outbound bandwidth based layer will be the right-half part of table I. It is evident that the layer constructing process is distributed and the additional overhead is to exchange layer information with the neighbors. And due to duplicated peers of each layer, the layered streaming model will be reliable even in the present of peer failures. B. Media Segments Assignment for Layers Unlike other segments assignment research, the problem we study is how to assign media segments to layers such that segments can be received before their scheduled playback time, given an admissible buffering time of a session and its size. An admissible buffering time is the maximum time a peer is allowed to request and receive segments for a session to such an extent that each segments will be cached on time. To prevent peers from requesting peers from particular layers arbitrarily and greedily, a maximum accessible peers for the layers are defined for each session. Algorithm 1 defines the maximum peers for each layer that a requesting peer (Pi ), where σ, called outbound Pi can request, namely degree, defines the scope of claimable outbound bandwidth. (Pi )| = σ · . It is obvious that if Pi ∈ (R ), then | (Pi )|=4, For example, if Pi ∈ (R4 ) and σ = 1, then | i.e. (Pi )={ (R1 ), (R2 ), (R3 ), (R3 )}. That is to say, Pi can use 1, 1 and 2 peers from layer 1, layer 2, and layer 3 respectively during a streaming process. And their total outbound bandwidth is R0 , of course. Algorithm 2, executed by requesting peers, assigns media segments to layers. Its intrinsic idea is very intuitive and simple: just make on time segment by segment. Giving the size of a session, the assignment algorithm selects layers for. 1: procedure AP 2: total ← 0; 3: (Pi ) ← ∅; 4: while total < σ do 5:  ← round robin select a layer in [LPi − 1 , 1]; 6: if total + R ≤ σ then 7: let Pc be a peer ∈ (R ); 8: (Pi ) ← (Pi ) ∪ Pc ; 9: total ← total + R ; 10: end if 11: if (total MOD 1)=0 then 12: set selected index in [LPi − 1 , 1] to LPi − 1; 13: end if 14: end while 15: end procedure. Algorithm 1: maximum accessible peers. segments such that they pass for being received before their scheduled playback time in the view of the requesting peers. In the algorithm, there are two auxiliary values associated for a suppling peer. δPs is the time it takes P s to deliver a segment. If P s ∈ (Rr ) then δPs = 2r T 0 . φPs indicates the next free time of P s and is maintained by requesting peer locally. By locally, we mean that it won’t be influenced or considering requesting statuses of other peers. However, it also means that a local free status might not match the actual free status of the supplying peer. We will propose mechanisms to fix this problem in the next session. Initially, δPs is zero, if a segment is assigned to sending peer P s , then the local next free time of P s will be updated to current δPs + φPs . 1: procedure A(size)  the size of session s 2: if size = 1 then 3: S egment size−1 ← CANDIDATE(0); 4: else 5: Assign(size − 1); 6: S egment size−1 ← CANDIDATE(SIZE-1); 7: end if 8: end procedure. Algorithm 2: Assigning Layers for Session. 1: procedure C(seq)  the sequence of segment 2: τ ← τ seq,s + seq;  the scheduled playback time 3: for all Pc ∈ (Pi ) do 4: select a Pc if δPs + φPs ≤ τ 5: end for 6: φ Pc ← δ Pc + φ Pc ; 7: return LPc  return the layer of selected peer 8: end procedure. Algorithm 3: Selecting Candidate Layer When there are more than one candidate layers for a segment, a decision must be made to select one for it. The following are four possible selection strategies for this situation. •. Lowest Layer First: to select a lowest layer from multiple candidate layers. The delivering time of this layer is the.

(111) •. • •. longest among other strategies but the burdened outbound bandwidth is lightest. Highest Layer First: to select a highest layer from multiple candidates. Opposite to lowest layer first, this strategy has the shortest delivering time and heaviest burdened outbound bandwidth. Random: select a layer randomly. Least Recently Assigned: according to previous selection history, it selects a layer which has least recently been assigned on account of balancing utilization of outbound bandwidth.. A comparison of performance among different strategies will be discussed in Section 5. In addition, if the layer selection strategy is the highest layer first, buffer size is 2k and outbound degree is Ro , then our assignment algorithm has the same result as the optimal algorithm in [1]. Now, we prove that the media segments assignment algorithm always generates valid segment assignments. To simplify notations, we will use the local sequence of segments instead of the original sequence of segments in the proof. Given a session s, the local sequence of segment k of s is equal to k minus the original sequence of the first segment of s. If we can prove that for each segment k, 0 ≤ k ≤ K − 1, of a sized K session, there exist some peer which can make segment k valid, then the property is proved. we prove it by mathematical induction. Theorem 1: The media segments assignment algorithm shown in Algorithms 2 and 3 always generates valid segment assignments. Proof Let (S k ) denote the set of candidate sending peers for segment k and let B size denote the size of a session. For τ1,s > 3, LPi ≥ 3. and σ ≥ 1. (Pi ). 1) When B size = 1. Initially, φPc =0, ∀Pc ∈ Then (S 0 ) = {Pc : φPc + δPc ≤ τ1,s }. Obviously that | (S 0 )| ≥ 1 since ∃Pc ∈ (R2 ) such that δPc + 0 ≤ τ1,s . 2) Assume when B size = K is true. That is ρK−1,s ≤ τK−1,s = τ1,s + K − 1. Then φPc ={τ1,s + K − 1 − c j : 0 ≤ c j ≤ τ1,s + K − 1}. Let c j = j. Then we have |c0 | ≤ 1 and (Pi )|, for 1 ≤ j ≤ τ1,s + K − 1. 1 ≤ |c j | ≤ | 3) Consider B size = K + 1. (S K ) = {Pc : φPc + δPc ≤ τ1,s + K}. That is (S K ) = {Pc : τ1,s + K − 1 − c j + δPc ≤ τ1,s + K, 0 ≤ c j ≤ τ1,s + K − 1}. Consider F (Pc , c j ) = −1 − c j + δPc . We have |F (P s , c j ) ≤ 0| ≥ 1 since ∃c j , j ≥ 1 and Pc ∈ (Rr ), r ≥ 1 such that F (P s , c j ) ≤ 0. That is | (S K )| ≥ 1, ∃Pc can make segment k as a valid one. By the mathematical induction, the algorithm is proved. 4.       In this section, we present two mechanisms for request conflict resolution as well as the layered outbound bandwidth based streaming model. They all aim at maintaining a best possible streaming quality for participants in the network.. A. Request Conflict Resolution Mechanisms One of the major issues with media streaming when taking whole participants into account is how to resolve request conflict when it occurs. Peers will encounter request conflict unexpectedly and frequently since they request their desired segments in a distributed and un-synchronous fashion and timing constraints of playback will force peers to grab segments through their best efforts. Moreover, due to the limited capacity of a sending peer, it occurs inevitably. It should be resolved obviously otherwise streaming quality will degrade and none will get stable quality. To overcome this problem, we propose two possible technologies to resolve it, namely capacity sharing and capacity preemption. These two mechanisms will be considered only when there is a request conflict, and just one of them or none will be executed depending on conditions at the time. 1) Capacity Sharing: During a normal request, a requesting peer, Pi , will take whole parts of required segments from peers that have been requested. However, with capacity sharing, Pi may take partial segments from peers that have been requested and the remainder from peers not been requested who have the same required segments and the same requested target. Upon receiving a request from Pi , a sending peer, P s , determines whether data can be shared among Pi and peer being serviced. If it is sharable, P s accepts the request of Pi and notifies these sharable peers to sending partial segments to each other. The following algorithm determines whether the request from Pi is sharable with peers being serviced. 1: procedure SS( Pi ) 2: ← ∅; 3: for all P j ∈ Ps do 4: for all k ∈ Pi do 5: if δP j + φP j < τk,s,Pi then 6: ← ∪ {{k, P j , Pi }}; 7: φP j ← δP j + φP j ; 8: else if δPi + φPi < τk,s,P j then 9: ← ∪ {{k, Pi , P j }}; 10: φ Pi ← δ Pi + φ Pi ; 11: end if 12: end for 13: end for 14: end procedure. Algorithm 4: Determining Sharable Set for Pi After determining the sharable set for Pi , P s execute the following procedure to send segments to peers and to notify peers to share segments with shared target. 1: procedure SS 2: for all {{k, P j , Pl }} ∈ do 3: send k to P j ; 4: notify P j to send k to Pl ; 5: end for 6: end procedure. Algorithm 5: Segments sending for sharable peers It’s obvious that there is no harm for sending peers to perform capacity sharing mechanisms since all one needs.

(112) 1: procedure P(Pi ) 2: for all P j ∈ do 3: select one P j such that LP j < LPi ; 4: end for 5: if such P j exists then 6: Pi preempts P j ; 7: end if 8: end procedure. 3. Layers. to do is to notify sharable peers with little communication overhead. It won’t lengthen delivering time for sending peers nor shorten it. The benefit of capacity sharing is the reduction of opportunities being rejected while peers issue requests. But the major drawback of this is the reduction of network capacity implicitly since more are capacities being consumed in order to share segments with each other. 2) Capacity Preemption: In the capacity preemption mechanism, priority is assigned to each peer according to which layer it locates. Peers in higher layers deserve higher priority to access resources. Upon receiving a request from Pi , P s determines whether there are preemptable peers based on the following procedure. Preempted peers will lose their required. 2. 1. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Sequence. Fig. 1.. The best initial segment of Pi. Layers. 3. 2. Algorithm 6: Capacity preemption 1. segments requested from P s and of course their streaming quality will degrade. However, from experimental results in section 5, we will see that capacity preemption is the decisive factor which maintains a best streaming quality for whole participants in our layered streaming model. B. On outbound bandwidth based peer-to-peer streaming When peer Pi joins to a media streaming network, it establishes its neighbor membership by the underlined peerto-peer overlay protocols. In the meantime, Pi exchanges the information of it’s located layer with its neighbors to build its own outbound bandwidth based layer. Upon receiving the layer information of Pi , peers should update their layers to reflect the effect that Pi will contribute and consume capacity for the network. Before the playback of the media data, Pi must determine which segment should be its initial playback segment ςPi suggested by the following equations, assuming that LPi = . max(ςPk ) < ςPi < min(ςP j ). ∀Pk ∈. (R+1 ), ∀P j ∈. (R−1 ). The reason why the initial playback segment of Pi is not as live as source peers is that since Pi will become a sending peer who sends segments to others located in lower layers, it also will be a requesting peer to request segments from peers of higher layers. Therefore, the initial playback segment should not be too new otherwise there will be few peers or none can satisfy its requirement and it should not be too old or it can’t provide any segments for peers in lower layers since their desired segments will be newer than cached by Pi . Thus, a eclectic strategy for determining a initial playback segment is to choose a segment with sequence less than the least sequence of segments among it’s neighbors of an immediate upper layer and greater than the largest sequence of a segment among it’s. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Sequence. Fig. 2.. cached segments after 4 T 0. neighbors of an immediate lower layer. For example, if the new joining peer Pi belongs to (R2 ), and the largest initial segment of its immediate low layer is 8, and the least initial segment of its immediate up layer is 16, then the best initial segment of Pi will be 12 as shown in Fig 1 assuming that peers in layer 3 requested a four-size session. Peers in layer 3 who request their sessions initialed from segment 8, won’t request data from Pi , since when they schedule their request targets (during play segments from 4 to 7), Pi does not exist in their neighbor table, and therefore it will avoid quality degrade since Pi still does not have enough data. But in Fig 2, peers in layer 3 may and can request segments from Pi since Pi had cached their desired segment in its cache. Consider the relations between Pi and its immediate up layer, layer 1. If Pi requests a session with initial segment larger than 12, then Pi won’t get its required data since none have cached them. After initializations described above, Pi can perform streaming processes and will act as both a requesting peer and a sending peer by performing procedure 7 and 8, respectively. Pi executes the requesting procedure for buffering next session during playback of current session. As described in the previous section, Pi issues requests relying on its local free statuses of sending peers. In case of having the required segments not being received which are requested from some sending peer, says P s , Pi will record P s as an ill-reputation sending peer and it will try to select a peer with a best reputation for requesting next time. This selection strategy makes our.

(113) streaming model more resilient since it is self-adapting to avoid requesting from unstable situations such as high frequent request conflict, high end-to-end delay or peers which may have failed or left. Upon P s receiving a request from Pi , P s. 1 0.9. Streaming Quality. 0.8. 1: procedure R(session s ) 2: do layers assignment for session s ; 3: for all k ∈ session s do 4: for all P j ∈ Neighbors and LP j =k.layer do 5: select a P j with best reputation; 6: end for 7: request k from P j ; 8: end for 9: end procedure. 0.7 0.6 size=5,000 0.5 0.4 0.3 size=10,000. 0.2 0.1 0. 0. 500. 1000. 1500. 2000. Str.1 Str.2 Str.3 Str.4 2500. Time. Fig. 3.. Comparison of Request Conflict Resolutions. Algorithm 7: Requesting procedure of requesting peer checks whether the requested segments were cached in its buffer or not. If the answer is no, Pi won’t get anything and therefore its streaming quality will be degraded. Otherwise, P s determines whether it can afford enough outbound bandwidth to deliver segments or is there any preemption or sharing possible depending on conditions mentioned earlier? 1: procedure S(k) 2: if k ∈ cache then 3: if δPs + φPs < τk,s then 4: send k to Pi ; 5: else if preemptable then 6: do preemption; 7: else if sharable then 8: do sharing; 9: end if 10: end if 11: end procedure.  k is the requested segment. Algorithm 8: Sending procedure of sending peer. 5. EVALUATION To investigate the performance of the proposed streaming model, we have carried out extensive simulations under various scenarios and the detailed experimental results are presented in this section. For each experiment, we report the mean value of results obtained through 10 runs with network size varying from 10,000 peers to 25,000 peers. Peers belong to one of following layers R1 , R2 , R3 , R4 , R5 and their distribution is 12.5%, 20%, 35%, 20%, 12.5%, respectively, under the assumption of a normal distribution. In addition, there are source peers possessing a copy of a media file in the network and their total outbound bandwidth is 100R0 . In the first set of experiments, we study behaviors of the streaming model under three aspects: conflict resolving mechanism, outbound degree and layers selection strategies respectively. And a highly dynamic environment in which peers join or leave(failure) frequently was simulated in the second set of experiments. Finally, we show fairness and the streaming direction through experimental results. To quantify the performance of media streaming system, we define quality of a streaming session as. in [8]. κ−1. Zi (1) κ where κ is the number of segments of a media session and Zi is a variable that takes value 1 if segment i arrives at the receiver before its scheduled playback time, and 0 otherwise. A segment that misses its deadline is discarded and, therefore, does not contribute to the quality of a streaming session. The streaming quality of a requesting peer is the mean quality of all its required sessions. And the streaming quality showed in the experimental results is defined as the mean quality of all requesting peers in the network. The goal of simulations is to confirm that our streaming model possesses four features: high and stable streaming quality, scalability, robustness and fairness. Q=. i=0. A. The Investigation of System’s Behavior In the first set of experiments, we investigate streaming quality in terms of a variant model’s behaviors. The goal of these experiments is to study the effect of the model’s parameters and to understand their implicit meanings through experimental results. 1) The influence of request conflict and its resolutions: As mentioned in the previous section, peers’ streaming behaviors reveal their distributed and unpredicted nature; there is no way to know the streaming intention of other peers, such as when to issue requests and who is the requested target. Hence, request conflict is inevitable during streaming. To inspect the impact of request conflicting and the improvement by conflict resolutions, the experiment was made by streaming models with conflict resolving mechanisms versus a streaming model without any request conflict resolution. Fig 3 exhibits the compared results of four strategies. Strategy 1 is a streaming environment adopting both preemptive mechanism and capacity sharing as discussed earlier; when there is a choice that should be made among them, preemptive mechanism will be considered first. Strategy 2 adopts preemptive mechanism only and Strategy 3 adopts just capacity sharing. Strategy 4 is a environment without handling request conflict. From the experimental results, Strategy 1 outperforms others. But when considering the improved streaming quality compared.

參考文獻

相關文件

„ 無線射頻識別 (Radio Frequency Identification, RFID) 系統近年來越來越普及,應用範圍如供

熟悉 MS-OFFICE

PEERS for young adults : Social skills training for adults with autism spectrum disorder and other

• We need to make each barrier coincide with a layer of the binomial tree for better convergence.. • The idea is to choose a Δt such

ADSL(A symmetric D igital S ubscriber L ine ,非對稱數位

All necessary information is alive in IRIS, and is contin- uously updated according to agreed procedures (PDCA) to support business processes Data Migration No analysis of

無線感測網路是個人區域網路中的一種應用,其中最常採用 Zigbee 無線通訊協 定做為主要架構。而 Zigbee 以 IEEE802.15.4 標準規範做為運用基礎,在下一小節將 會針對 IEEE

Selcuk Candan, ”GMP: Distributed Geographic Multicast Routing in Wireless Sensor Networks,” IEEE International Conference on Distributed Computing Systems,