SlideShare a Scribd company logo
1 of 31
距離が付加された要素集合をコンパクトに
    表現できるDistance Bloom Filter の提案と
        P2Pネットワークにおける
         最短経路探索への応用



            大阪市立大学大学院創造都市研究科
                西川大器 安倍広多
                石橋勇人 松浦俊雄

2012/3/15     IOT/ISMS/IA/SITE合同研究会@北大
背景
    効率が良いP2Pネットワークを実現するには、
     ネットワーク距離 (通信時間) を考慮する必
     要がある

                          距離400                                    距離200


                                          A         50        C
      A              C
            距離: 50

                                                        100
                     350

                                                              50
      ノード     B                  D                  B                  D

2012/3/15                IOT/ISMS/IA/SITE合同研究会@北大
                                                                           2
背景 (Cont’d)
    ネットワーク距離を考慮する既存の手法例
      ◦ 次ホップに最短距離のものを選ぶ (Proximity Route Selection)

                                                           最短経路
                  C                    F
                            50

            200                                     50
                  400
      A                                                    D
                  250
             50                                    300
                             200
                   E                    G
                                                          全体としては
2012/3/15               IOT/ISMS/IA/SITE合同研究会@北大
                                                         最短経路ではない   3
研究テーマ
    P2Pネットワーク上で,目的キーを保持するノードまでの
     ネットワーク距離が最短な経路を選択する手法

                                                    最短経路
            A                            C
                      50


                200        100
                                              350


                                         50
                      B                              D



2012/3/15             IOT/ISMS/IA/SITE合同研究会@北大
                                                           4
考え方
    リンクごとに各キーを保持するノードへの最短距離を保持
    各ノードで目的キーへの距離が最短のリンクをたどればよ
     い       A→C

                         KB:150

                         KC:50

                         KD:200
                     A                            C
                                  50

              A→B        200           100
                                                  350
            KB:200

            KC:300
                                                50
            KD:250                 B                    D

2012/3/15                   IOT/ISMS/IA/SITE合同研究会@北大
                                                            5
考え方 (Cont'd)
    P2Pネットワークではキーの数が膨大
    目的キーまでの距離をコンパクトに保持する必要がある
                          A→C        C→A

                       KB:150     KA:50       P2Pネットワークでは
                       KC:50      KB:250       膨大な行数になる
                       KD:400     KD:300

                       …          …



            距離が付与された多数の要素をコンパクトに表現できる

              Distance Bloom Filter                    6
2012/3/15          IOT/ISMS/IA/SITE合同研究会@北大
Distance Bloom Filter (DBF)
    距離を持つ複数の要素をコンパクトに格納で
     きるデータ構造
    Bloom Filterを拡張
    格納されている要素数に関わらず高速に距離
     を取得可能




2012/3/15       IOT/ISMS/IA/SITE合同研究会@北大
                                           7
DBF | データ構造
    pビット × mの配列
                         p
    距離:0 から 2 -2 まで
                                 p
    配列の初期値: 2 -1

  p = 8 のとき         255              255         255        255
                                                                      …
                                                                            255
                             1               2         3          4                m

                                                   m
                    p bit


                                                                      p
                                                           初期値:       2 -1 = 255
            1 1 1    1      1    1   1   1
2012/3/15                    IOT/ISMS/IA/SITE合同研究会@北大
                                                                                       8
DBF | 要素追加
    k個のハッシュ関数を用いる
    ハッシュ値で示された位置に距離を格納
 k = 3, m=6 のとき
             要素A, 距離: 100




                      Hash:1               Hash:2               Hash:3
                      2                     3                   6




            255            100           100          255           255       100
                  1               2             3           4             5         6

2012/3/15                        IOT/ISMS/IA/SITE合同研究会@北大
                                                                                        9
DBF | 要素追加 (Cont’d)
    衝突した場合は小さい距離を残す
 k = 3, m=6 のとき
             要素A,距離: 100                            要素B, 距離: 200




                      Hash:1               Hash:2                 Hash:3
                      2    4                3       2             6         5



                           200
            255            100           100            200           200       100
                  1               2             3             4             5         6

2012/3/15                        IOT/ISMS/IA/SITE合同研究会@北大
                                                                                          10
DBF | 要素取得
    ハッシュ値で示される値がすべて初期値でなければ含むと
     判定
    値の最大値 = 距離とする
      ◦ 1つでも上書きされていない値があれば正しい距離が得られる
                                                          要素B


                      Hash:1                Hash:2                 Hash:3
                           4                         2                      5


            255            100            100            200         200        100
                  1              2              3              4            5         6



                                     要素Bを含み、距離: 200
2012/3/15                            IOT/ISMS/IA/SITE合同研究会@北大
                                                                                          11
DBF | マージ
    2つのDBFの1つのDBFにマージできる
               DBF_A    255      100        100      200   …   255



               DBF_B    255       50        200      150   …   255

        小さい方を残す



            DBF_(A+B)   255       50        100      150   …   255

    2つのDBFが同じ要素を含む場合,マージ後のDBF
     ではその要素の距離は小さい方になる
2012/3/15                 IOT/ISMS/IA/SITE合同研究会@北大
DBF | 距離の加算
    全要素に対して任意の距離を加算できる

             255         100        100        150       …   255
                   1           2          3          4             m



  初期値はそのまま    +50


             255       100+50      100+50     150+50     …   255
                   1           2          3          4             m




2012/3/15          IOT/ISMS/IA/SITE合同研究会@北大
DBFの特徴
    距離が付与された複数の要素をコンパクトに格納
      ◦ 要素自身を格納しないため


 ただし,
    偽陽性がある(Bloom Filterと同じ)
                                           次に説明
    誤った距離を得る可能性がある
    一度追加した要素は削除できない(Bloom Filterと同
     じ)


2012/3/15       IOT/ISMS/IA/SITE合同研究会@北大
                                                  14
DBF | 偽陽性
    挿入されていない要素が
     挿入されていると誤って判定される場合がある
                                                          要素C


                      Hash:1                Hash:2                 Hash:3
                           4                         2                      3


            255            100            100            200         200        100
                  1              2              3              4            5         6



                                     要素Cを含み、距離:200


2012/3/15                            IOT/ISMS/IA/SITE合同研究会@北大
                                                                                          15
DBF | 誤った距離を得る問題
    本来の距離より小さい距離を得る場合がある

                                         要素B                   本来の距離: 200



                      Hash:1                Hash:2                 Hash:3
                           4                         2                      5


            255            100            100            150          50          100
                           200                           200          200
                  1              2              3              4            5           6


                                                                                他の要素ですべて
                                     要素Bを含み、距離: 150                               上書き!


2012/3/15                            IOT/ISMS/IA/SITE合同研究会@北大
DBF | 誤り確率
    偽陽性の確率
      ◦ Bloom Filterと同じ
      ◦ 格納する要素数 = n,配列の要素数 = mのとき,
                m/n
        約0.6185
    距離を誤る確率
      ◦ 高々偽陽性確率と同じ


    mを大きくすると誤る確率は小さくなる

2012/3/15          IOT/ISMS/IA/SITE合同研究会@北大
P2Pネットワークにおける
最短経路探索へのDBFの応用




                 18
DBFのP2Pへの適用
               A→C

            KB:150
                           DBF
                      A                               C
            KC:50
                                   50
            KD:200   DBF
                             200        100
               A→B                                        350
            KB:200

            KC:300
                                   B                  50
                                                                D
            KD:250

    既存のP2Pネットワーク (Chord, Skip graphなど) と組み合わ
     せて用いる
      ◦ トポロジ構築は既存のP2Pネットワークで行う
    最短経路の距離(=DBFの中身)をどうやって収集するか

2012/3/15                  IOT/ISMS/IA/SITE合同研究会@北大
                                                                    19
DBFの構築(1)
    DBFをマージして隣接ノードに送信
    受信したノードで距離を加算
                                        C→A             C→B
                                      KA:50           KB:100

                  DBF      50         DBF                        C→D
            A                                     C            KD:350

            DBF                             DBF          DBF

                                100                            350


                                                                        DBF
                                      DBF
                  DBF
                            B                                            D
2012/3/15
                                      DBF
                        IOT/ISMS/IA/SITE合同研究会@北大
                                                               DBF            20
DBFの構築(2)
    DBFをマージして隣接ノードに送信
    受信したノードで距離を加算
                       Aへの送信用
                       Aへの送信用
                                                   C→B
                      KB: 100 +50
                       KB: 100                    KB:100
                      KC: 0 0 +50
                       KC:
                                                            C→D
                      KD: 350 +50
                       KD: 350
                                                           KD:350
                DBF           加算
            A                                       C
                              50
                                            DBF            DBF


                                            B                    D


2012/3/15             IOT/ISMS/IA/SITE合同研究会@北大
                                                                     21
DBFを用いたルーティング
              A→C

            KB:150             DBF              DBF
            KC:50    A                                   C
                                     50                         DBF
            KD:200
                         DBF   200        100
                                                          350
              A→B

            KB:200             DBF
                                                  DBF   50
                                      B                               D
            KC:300

            KD:250

    DBFで見つからない or 経路がループした場合
      ◦ 既存のP2Pアルゴリズムのルーティングにフォールバック
    最短経路から外れる要因
      ◦ DBFが距離を誤る,少ないビット数(pビット)で距離を表現

2012/3/15                  IOT/ISMS/IA/SITE合同研究会@北大
                                                                          22
ノードの離脱
                               A→C                   C→A

                           KB:150                  KA:50                    C→D

                           KC:50                   KB:250                   KA:600

                           KD:200                  KD:300                   KB:400

                     A         DBF                    DBF         C         KD:350

                                                            DBF       DBF
                         DBF
            A→B
                                     Dが離脱しても残る
            KB:200

            KC:300

            KD:250               DBF         DBF                                     DBF


                                        B                                                  D
                                               DBF                            DBF
2012/3/15                              IOT/ISMS/IA/SITE合同研究会@北大
                                                                                               23
ノードの離脱 | DBFの拡張
    DBFで距離に加えてホップ数 (dビット) も格納
    DBFを伝搬させるときにホップ数を +1 する
    ホップ数が 2d -1を超えた場合,距離とホップ数を初期化
      ◦ 2d-1 ホップ以上かかるノードへの経路は保持しない


                   p bit

             距離    255           100       100        150         …   255
                           1           2         3            4             m
                    0             2         2             4       …    0
            ホップ数
                           1           2         3            4             m

                   d bit

2012/3/15                      IOT/ISMS/IA/SITE合同研究会@北大
                                                                                24
ノードの離脱 (Cont’d)
    離脱したノードの情報は伝搬していく間に削除される
                                A→C

                             KB:150   2
                                              DBFが転送されるたびに
                                                 ホップ数が増加
                             KC:50    1

                             KD:200   3

                         A         DBF                    DBF         C

                             DBF                              DBF         DBF
               B→A

            KA:200   1                                          C→B
                                      DBF        DBF                              DBF
            KC:250   2                                      KA:250    1
                                    B  DBF                                  DBF         D
            KD:400   4                                      KB:50     2
                              最大ホップ数を超えると
                                                            KD:150    2
                                   削除
2012/3/15                                 IOT/ISMS/IA/SITE合同研究会@北大
                                                                                            25
実験                                              A    50       C
                                                        100
                                                              50
    既存のP2Pアルゴリズムとして                                  B             D
     Skip graphを用いて実験
    検索時の平均ストレッチを比較
      ◦ 通常のSkip graph                                         50

      ◦ 提案手法+Skip graph
      ◦ ダイクストラ法で求めた最短経路
    実験環境
      ◦ Inet-3.0を用いて4096ノードの仮想ネットワークを生成
      ◦ 1000ノードをランダムに選択しSkip graphを構築
             各ノードにキーは1つ
      ◦ p=3, m=2173 (偽陽性確率20%相当), d=2 ⇨ DBFサイズ: 1.32KB
      ◦ p=3, m=4329 (偽陽性確率20%相当), d=3 ⇨ DBFサイズ: 3.17KB
2012/3/15                  IOT/ISMS/IA/SITE合同研究会@北大
                                                                   26
Skip graph
     構造化P2Pの一つ.ネットワーク距離は特に考慮しない
                                           C              D
                                   通常のSkip graph
 Level        Z                    B 距離:450
   2
                        A                                      E
                                                                    100
              Z                    B                      D
 Level
   1                               150
                        A                      C               E

                                                    300
 Level        Z         A          B           C          D    E
   0               50
      Key     Z         A          B           C          D    E
Membership-   01        00        01          10          11   00
  Vector
 2012/3/15               IOT/ISMS/IA/SITE合同研究会@北大
                                                                    27
提案手法 + Skip graph
                                             C               D
                                     通常のSkip graph          提案手法+ Skip graph
              Z                      B 距離:450                  距離:150
 Level
   2                DBF        DBF
                          A                                           E
                                                                          100
              Z                      B                       D
 Level
                    DBF        DBF   150
   1
                          A                      C                    E
                    DBF        DBF                    300
 Level        Z           A          B           C           D        E
   0               50
     Key      Z           A          B           C           D        E
Membership-   01          00         01         10          11       00
  Vector
 2012/3/15                 IOT/ISMS/IA/SITE合同研究会@北大
                                                                          28
実験結果 [ストレッチ]

              通常のSkip graph



                          ストレッチ減少                    提案手法 + Skip graph
                                                     DBFのサイズ: 3.17KB
                                                      (p=3, m=4329, d=3)
            提案手法 + Skip graph
            DBFのサイズ: 1.32KB
             (p=3, m=2173, d=2)




                                         ダイクストラ法による最短経路
 IOT16
2012/3/15                 IOT/ISMS/IA/SITE合同研究会@北大
                                                                           29
実験結果 [ホップ数]


              通常のSkip graph


                                   ホップ数減少



            提案手法 + Skip graph
             DBFのサイズ:1.32KB
              (p=3, m=2173, d=2)
                                            ダイクストラ法による最短経路




 IOT16
2012/3/15                 IOT/ISMS/IA/SITE合同研究会@北大
                                                             30
まとめ
    Distance Bloom Filterを提案
      ◦ 距離を持つ複数の要素をコンパクトに格納できるデータ構造
      ◦ 偽陽性,距離の誤りが大きな問題とならない場合に有効
    DBFをP2Pネットワークに用いることでネットワーク距離が
     ほぼ最短な経路を選択する方法を提案
      ◦ Skip graphの例ではDBFのサイズ1.32KB程度で最短経路に十分近い経
        路を選択できている


    今後の課題
      ◦ 動的な環境での評価
      ◦ 他のP2Pネットワークと組み合わせた場合の評価

2012/3/15            IOT/ISMS/IA/SITE合同研究会@北大
                                                31

More Related Content

More from Kota Abe

構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案と評価
構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案と評価構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案と評価
構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案と評価Kota Abe
 
構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案
構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案
構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案Kota Abe
 
WebRTCを用いたWebブラウザ間構造化P2Pネットワークの実現
WebRTCを用いたWebブラウザ間構造化P2Pネットワークの実現WebRTCを用いたWebブラウザ間構造化P2Pネットワークの実現
WebRTCを用いたWebブラウザ間構造化P2Pネットワークの実現Kota Abe
 
WebRTCを用いた耐故障性の高い
ウェブブラウザ間構造化P2Pネットワークの実現
WebRTCを用いた耐故障性の高い
ウェブブラウザ間構造化P2Pネットワークの実現WebRTCを用いた耐故障性の高い
ウェブブラウザ間構造化P2Pネットワークの実現
WebRTCを用いた耐故障性の高い
ウェブブラウザ間構造化P2Pネットワークの実現Kota Abe
 
高いChurn耐性と検索性能を持つキー順序保存型構造化オーバレイネットワークSuzakuの提案と評価
高いChurn耐性と検索性能を持つキー順序保存型構造化オーバレイネットワークSuzakuの提案と評価高いChurn耐性と検索性能を持つキー順序保存型構造化オーバレイネットワークSuzakuの提案と評価
高いChurn耐性と検索性能を持つキー順序保存型構造化オーバレイネットワークSuzakuの提案と評価Kota Abe
 
Constructing Distributed Doubly Linked Lists without Distributed Locking
Constructing Distributed Doubly Linked Lists without Distributed LockingConstructing Distributed Doubly Linked Lists without Distributed Locking
Constructing Distributed Doubly Linked Lists without Distributed LockingKota Abe
 
KiZUNA: P2Pネットワークを用いた分散型マイクロブログサービスの実現
KiZUNA: P2Pネットワークを用いた分散型マイクロブログサービスの実現KiZUNA: P2Pネットワークを用いた分散型マイクロブログサービスの実現
KiZUNA: P2Pネットワークを用いた分散型マイクロブログサービスの実現Kota Abe
 
P2Pネットワークにおける経路長あるいは経路表サイズの最大値を柔軟に設定可能な経路表構築方式
P2Pネットワークにおける経路長あるいは経路表サイズの最大値を柔軟に設定可能な経路表構築方式P2Pネットワークにおける経路長あるいは経路表サイズの最大値を柔軟に設定可能な経路表構築方式
P2Pネットワークにおける経路長あるいは経路表サイズの最大値を柔軟に設定可能な経路表構築方式Kota Abe
 
構造化P2Pネットワークにおけるコンテンツの人気度を考慮したショートカットリンクの生成方法とその評価
構造化P2Pネットワークにおけるコンテンツの人気度を考慮したショートカットリンクの生成方法とその評価構造化P2Pネットワークにおけるコンテンツの人気度を考慮したショートカットリンクの生成方法とその評価
構造化P2Pネットワークにおけるコンテンツの人気度を考慮したショートカットリンクの生成方法とその評価Kota Abe
 
高速な挿入と検索が可能なSkip Graphの改良
高速な挿入と検索が可能なSkip Graphの改良高速な挿入と検索が可能なSkip Graphの改良
高速な挿入と検索が可能なSkip Graphの改良Kota Abe
 
Skip Graphをベースとした高速な挿入と検索が可能な構造化オーバレイの提案
Skip Graphをベースとした高速な挿入と検索が可能な構造化オーバレイの提案Skip Graphをベースとした高速な挿入と検索が可能な構造化オーバレイの提案
Skip Graphをベースとした高速な挿入と検索が可能な構造化オーバレイの提案Kota Abe
 
Chord#における経路表の維持管理コスト削減手法
Chord#における経路表の維持管理コスト削減手法Chord#における経路表の維持管理コスト削減手法
Chord#における経路表の維持管理コスト削減手法Kota Abe
 
区間をキーとして保持する分散KVSの効率的な実現法
区間をキーとして保持する分散KVSの効率的な実現法区間をキーとして保持する分散KVSの効率的な実現法
区間をキーとして保持する分散KVSの効率的な実現法Kota Abe
 
P2PネットワークにおけるSkip GraphとBloom Filterを用いた効率的な複数キーワード検索手法の提案
P2PネットワークにおけるSkip GraphとBloom Filterを用いた効率的な複数キーワード検索手法の提案P2PネットワークにおけるSkip GraphとBloom Filterを用いた効率的な複数キーワード検索手法の提案
P2PネットワークにおけるSkip GraphとBloom Filterを用いた効率的な複数キーワード検索手法の提案Kota Abe
 
P2Pシステム上での安定したサービス提供基盤musasabi
P2Pシステム上での安定したサービス提供基盤musasabiP2Pシステム上での安定したサービス提供基盤musasabi
P2Pシステム上での安定したサービス提供基盤musasabiKota Abe
 
構造化オーバーレイネットワークに適した分散双方向連結リストDDLL
構造化オーバーレイネットワークに適した分散双方向連結リストDDLL構造化オーバーレイネットワークに適した分散双方向連結リストDDLL
構造化オーバーレイネットワークに適した分散双方向連結リストDDLLKota Abe
 

More from Kota Abe (16)

構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案と評価
構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案と評価構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案と評価
構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案と評価
 
構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案
構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案
構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案
 
WebRTCを用いたWebブラウザ間構造化P2Pネットワークの実現
WebRTCを用いたWebブラウザ間構造化P2Pネットワークの実現WebRTCを用いたWebブラウザ間構造化P2Pネットワークの実現
WebRTCを用いたWebブラウザ間構造化P2Pネットワークの実現
 
WebRTCを用いた耐故障性の高い
ウェブブラウザ間構造化P2Pネットワークの実現
WebRTCを用いた耐故障性の高い
ウェブブラウザ間構造化P2Pネットワークの実現WebRTCを用いた耐故障性の高い
ウェブブラウザ間構造化P2Pネットワークの実現
WebRTCを用いた耐故障性の高い
ウェブブラウザ間構造化P2Pネットワークの実現
 
高いChurn耐性と検索性能を持つキー順序保存型構造化オーバレイネットワークSuzakuの提案と評価
高いChurn耐性と検索性能を持つキー順序保存型構造化オーバレイネットワークSuzakuの提案と評価高いChurn耐性と検索性能を持つキー順序保存型構造化オーバレイネットワークSuzakuの提案と評価
高いChurn耐性と検索性能を持つキー順序保存型構造化オーバレイネットワークSuzakuの提案と評価
 
Constructing Distributed Doubly Linked Lists without Distributed Locking
Constructing Distributed Doubly Linked Lists without Distributed LockingConstructing Distributed Doubly Linked Lists without Distributed Locking
Constructing Distributed Doubly Linked Lists without Distributed Locking
 
KiZUNA: P2Pネットワークを用いた分散型マイクロブログサービスの実現
KiZUNA: P2Pネットワークを用いた分散型マイクロブログサービスの実現KiZUNA: P2Pネットワークを用いた分散型マイクロブログサービスの実現
KiZUNA: P2Pネットワークを用いた分散型マイクロブログサービスの実現
 
P2Pネットワークにおける経路長あるいは経路表サイズの最大値を柔軟に設定可能な経路表構築方式
P2Pネットワークにおける経路長あるいは経路表サイズの最大値を柔軟に設定可能な経路表構築方式P2Pネットワークにおける経路長あるいは経路表サイズの最大値を柔軟に設定可能な経路表構築方式
P2Pネットワークにおける経路長あるいは経路表サイズの最大値を柔軟に設定可能な経路表構築方式
 
構造化P2Pネットワークにおけるコンテンツの人気度を考慮したショートカットリンクの生成方法とその評価
構造化P2Pネットワークにおけるコンテンツの人気度を考慮したショートカットリンクの生成方法とその評価構造化P2Pネットワークにおけるコンテンツの人気度を考慮したショートカットリンクの生成方法とその評価
構造化P2Pネットワークにおけるコンテンツの人気度を考慮したショートカットリンクの生成方法とその評価
 
高速な挿入と検索が可能なSkip Graphの改良
高速な挿入と検索が可能なSkip Graphの改良高速な挿入と検索が可能なSkip Graphの改良
高速な挿入と検索が可能なSkip Graphの改良
 
Skip Graphをベースとした高速な挿入と検索が可能な構造化オーバレイの提案
Skip Graphをベースとした高速な挿入と検索が可能な構造化オーバレイの提案Skip Graphをベースとした高速な挿入と検索が可能な構造化オーバレイの提案
Skip Graphをベースとした高速な挿入と検索が可能な構造化オーバレイの提案
 
Chord#における経路表の維持管理コスト削減手法
Chord#における経路表の維持管理コスト削減手法Chord#における経路表の維持管理コスト削減手法
Chord#における経路表の維持管理コスト削減手法
 
区間をキーとして保持する分散KVSの効率的な実現法
区間をキーとして保持する分散KVSの効率的な実現法区間をキーとして保持する分散KVSの効率的な実現法
区間をキーとして保持する分散KVSの効率的な実現法
 
P2PネットワークにおけるSkip GraphとBloom Filterを用いた効率的な複数キーワード検索手法の提案
P2PネットワークにおけるSkip GraphとBloom Filterを用いた効率的な複数キーワード検索手法の提案P2PネットワークにおけるSkip GraphとBloom Filterを用いた効率的な複数キーワード検索手法の提案
P2PネットワークにおけるSkip GraphとBloom Filterを用いた効率的な複数キーワード検索手法の提案
 
P2Pシステム上での安定したサービス提供基盤musasabi
P2Pシステム上での安定したサービス提供基盤musasabiP2Pシステム上での安定したサービス提供基盤musasabi
P2Pシステム上での安定したサービス提供基盤musasabi
 
構造化オーバーレイネットワークに適した分散双方向連結リストDDLL
構造化オーバーレイネットワークに適した分散双方向連結リストDDLL構造化オーバーレイネットワークに適した分散双方向連結リストDDLL
構造化オーバーレイネットワークに適した分散双方向連結リストDDLL
 

Recently uploaded

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 

Recently uploaded (10)

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 

距離が付加された要素集合をコンパクトに表現できるDistance Bloom Filterの提案とP2Pネットワークにおける最短経路探索への応用

  • 1. 距離が付加された要素集合をコンパクトに 表現できるDistance Bloom Filter の提案と P2Pネットワークにおける 最短経路探索への応用 大阪市立大学大学院創造都市研究科 西川大器 安倍広多 石橋勇人 松浦俊雄 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大
  • 2. 背景  効率が良いP2Pネットワークを実現するには、 ネットワーク距離 (通信時間) を考慮する必 要がある 距離400 距離200 A 50 C A C 距離: 50 100 350 50 ノード B D B D 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大 2
  • 3. 背景 (Cont’d)  ネットワーク距離を考慮する既存の手法例 ◦ 次ホップに最短距離のものを選ぶ (Proximity Route Selection) 最短経路 C F 50 200 50 400 A D 250 50 300 200 E G 全体としては 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大 最短経路ではない 3
  • 4. 研究テーマ  P2Pネットワーク上で,目的キーを保持するノードまでの ネットワーク距離が最短な経路を選択する手法 最短経路 A C 50 200 100 350 50 B D 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大 4
  • 5. 考え方  リンクごとに各キーを保持するノードへの最短距離を保持  各ノードで目的キーへの距離が最短のリンクをたどればよ い A→C KB:150 KC:50 KD:200 A C 50 A→B 200 100 350 KB:200 KC:300 50 KD:250 B D 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大 5
  • 6. 考え方 (Cont'd)  P2Pネットワークではキーの数が膨大  目的キーまでの距離をコンパクトに保持する必要がある A→C C→A KB:150 KA:50 P2Pネットワークでは KC:50 KB:250 膨大な行数になる KD:400 KD:300 … … 距離が付与された多数の要素をコンパクトに表現できる Distance Bloom Filter 6 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大
  • 7. Distance Bloom Filter (DBF)  距離を持つ複数の要素をコンパクトに格納で きるデータ構造  Bloom Filterを拡張  格納されている要素数に関わらず高速に距離 を取得可能 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大 7
  • 8. DBF | データ構造  pビット × mの配列 p  距離:0 から 2 -2 まで p  配列の初期値: 2 -1 p = 8 のとき 255 255 255 255 … 255 1 2 3 4 m m p bit p 初期値: 2 -1 = 255 1 1 1 1 1 1 1 1 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大 8
  • 9. DBF | 要素追加  k個のハッシュ関数を用いる  ハッシュ値で示された位置に距離を格納 k = 3, m=6 のとき 要素A, 距離: 100 Hash:1 Hash:2 Hash:3 2 3 6 255 100 100 255 255 100 1 2 3 4 5 6 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大 9
  • 10. DBF | 要素追加 (Cont’d)  衝突した場合は小さい距離を残す k = 3, m=6 のとき 要素A,距離: 100 要素B, 距離: 200 Hash:1 Hash:2 Hash:3 2 4 3 2 6 5 200 255 100 100 200 200 100 1 2 3 4 5 6 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大 10
  • 11. DBF | 要素取得  ハッシュ値で示される値がすべて初期値でなければ含むと 判定  値の最大値 = 距離とする ◦ 1つでも上書きされていない値があれば正しい距離が得られる 要素B Hash:1 Hash:2 Hash:3 4 2 5 255 100 100 200 200 100 1 2 3 4 5 6 要素Bを含み、距離: 200 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大 11
  • 12. DBF | マージ  2つのDBFの1つのDBFにマージできる DBF_A 255 100 100 200 … 255 DBF_B 255 50 200 150 … 255 小さい方を残す DBF_(A+B) 255 50 100 150 … 255  2つのDBFが同じ要素を含む場合,マージ後のDBF ではその要素の距離は小さい方になる 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大
  • 13. DBF | 距離の加算  全要素に対して任意の距離を加算できる 255 100 100 150 … 255 1 2 3 4 m 初期値はそのまま +50 255 100+50 100+50 150+50 … 255 1 2 3 4 m 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大
  • 14. DBFの特徴  距離が付与された複数の要素をコンパクトに格納 ◦ 要素自身を格納しないため ただし,  偽陽性がある(Bloom Filterと同じ) 次に説明  誤った距離を得る可能性がある  一度追加した要素は削除できない(Bloom Filterと同 じ) 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大 14
  • 15. DBF | 偽陽性  挿入されていない要素が 挿入されていると誤って判定される場合がある 要素C Hash:1 Hash:2 Hash:3 4 2 3 255 100 100 200 200 100 1 2 3 4 5 6 要素Cを含み、距離:200 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大 15
  • 16. DBF | 誤った距離を得る問題  本来の距離より小さい距離を得る場合がある 要素B 本来の距離: 200 Hash:1 Hash:2 Hash:3 4 2 5 255 100 100 150 50 100 200 200 200 1 2 3 4 5 6 他の要素ですべて 要素Bを含み、距離: 150 上書き! 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大
  • 17. DBF | 誤り確率  偽陽性の確率 ◦ Bloom Filterと同じ ◦ 格納する要素数 = n,配列の要素数 = mのとき, m/n 約0.6185  距離を誤る確率 ◦ 高々偽陽性確率と同じ  mを大きくすると誤る確率は小さくなる 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大
  • 19. DBFのP2Pへの適用 A→C KB:150 DBF A C KC:50 50 KD:200 DBF 200 100 A→B 350 KB:200 KC:300 B 50 D KD:250  既存のP2Pネットワーク (Chord, Skip graphなど) と組み合わ せて用いる ◦ トポロジ構築は既存のP2Pネットワークで行う  最短経路の距離(=DBFの中身)をどうやって収集するか 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大 19
  • 20. DBFの構築(1)  DBFをマージして隣接ノードに送信  受信したノードで距離を加算 C→A C→B KA:50 KB:100 DBF 50 DBF C→D A C KD:350 DBF DBF DBF 100 350 DBF DBF DBF B D 2012/3/15 DBF IOT/ISMS/IA/SITE合同研究会@北大 DBF 20
  • 21. DBFの構築(2)  DBFをマージして隣接ノードに送信  受信したノードで距離を加算 Aへの送信用 Aへの送信用 C→B KB: 100 +50 KB: 100 KB:100 KC: 0 0 +50 KC: C→D KD: 350 +50 KD: 350 KD:350 DBF 加算 A C 50 DBF DBF B D 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大 21
  • 22. DBFを用いたルーティング A→C KB:150 DBF DBF KC:50 A C 50 DBF KD:200 DBF 200 100 350 A→B KB:200 DBF DBF 50 B D KC:300 KD:250  DBFで見つからない or 経路がループした場合 ◦ 既存のP2Pアルゴリズムのルーティングにフォールバック  最短経路から外れる要因 ◦ DBFが距離を誤る,少ないビット数(pビット)で距離を表現 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大 22
  • 23. ノードの離脱 A→C C→A KB:150 KA:50 C→D KC:50 KB:250 KA:600 KD:200 KD:300 KB:400 A DBF DBF C KD:350 DBF DBF DBF A→B Dが離脱しても残る KB:200 KC:300 KD:250 DBF DBF DBF B D DBF DBF 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大 23
  • 24. ノードの離脱 | DBFの拡張  DBFで距離に加えてホップ数 (dビット) も格納  DBFを伝搬させるときにホップ数を +1 する  ホップ数が 2d -1を超えた場合,距離とホップ数を初期化 ◦ 2d-1 ホップ以上かかるノードへの経路は保持しない p bit 距離 255 100 100 150 … 255 1 2 3 4 m 0 2 2 4 … 0 ホップ数 1 2 3 4 m d bit 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大 24
  • 25. ノードの離脱 (Cont’d)  離脱したノードの情報は伝搬していく間に削除される A→C KB:150 2 DBFが転送されるたびに ホップ数が増加 KC:50 1 KD:200 3 A DBF DBF C DBF DBF DBF B→A KA:200 1 C→B DBF DBF DBF KC:250 2 KA:250 1 B DBF DBF D KD:400 4 KB:50 2 最大ホップ数を超えると KD:150 2 削除 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大 25
  • 26. 実験 A 50 C 100 50  既存のP2Pアルゴリズムとして B D Skip graphを用いて実験  検索時の平均ストレッチを比較 ◦ 通常のSkip graph 50 ◦ 提案手法+Skip graph ◦ ダイクストラ法で求めた最短経路  実験環境 ◦ Inet-3.0を用いて4096ノードの仮想ネットワークを生成 ◦ 1000ノードをランダムに選択しSkip graphを構築  各ノードにキーは1つ ◦ p=3, m=2173 (偽陽性確率20%相当), d=2 ⇨ DBFサイズ: 1.32KB ◦ p=3, m=4329 (偽陽性確率20%相当), d=3 ⇨ DBFサイズ: 3.17KB 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大 26
  • 27. Skip graph  構造化P2Pの一つ.ネットワーク距離は特に考慮しない C D 通常のSkip graph Level Z B 距離:450 2 A E 100 Z B D Level 1 150 A C E 300 Level Z A B C D E 0 50 Key Z A B C D E Membership- 01 00 01 10 11 00 Vector 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大 27
  • 28. 提案手法 + Skip graph C D 通常のSkip graph 提案手法+ Skip graph Z B 距離:450 距離:150 Level 2 DBF DBF A E 100 Z B D Level DBF DBF 150 1 A C E DBF DBF 300 Level Z A B C D E 0 50 Key Z A B C D E Membership- 01 00 01 10 11 00 Vector 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大 28
  • 29. 実験結果 [ストレッチ] 通常のSkip graph ストレッチ減少 提案手法 + Skip graph DBFのサイズ: 3.17KB (p=3, m=4329, d=3) 提案手法 + Skip graph DBFのサイズ: 1.32KB (p=3, m=2173, d=2) ダイクストラ法による最短経路 IOT16 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大 29
  • 30. 実験結果 [ホップ数] 通常のSkip graph ホップ数減少 提案手法 + Skip graph DBFのサイズ:1.32KB (p=3, m=2173, d=2) ダイクストラ法による最短経路 IOT16 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大 30
  • 31. まとめ  Distance Bloom Filterを提案 ◦ 距離を持つ複数の要素をコンパクトに格納できるデータ構造 ◦ 偽陽性,距離の誤りが大きな問題とならない場合に有効  DBFをP2Pネットワークに用いることでネットワーク距離が ほぼ最短な経路を選択する方法を提案 ◦ Skip graphの例ではDBFのサイズ1.32KB程度で最短経路に十分近い経 路を選択できている  今後の課題 ◦ 動的な環境での評価 ◦ 他のP2Pネットワークと組み合わせた場合の評価 2012/3/15 IOT/ISMS/IA/SITE合同研究会@北大 31