SlideShare a Scribd company logo
1 of 40
Download to read offline
Skip Graphをベースとした
              高速な挿入と検索が可能な
               構造化オーバレイの提案


               大阪市立大学大学院 創造都市研究科
               播磨 裕太・安倍 広多
               石橋 勇人・松浦 敏雄


2013/01/25        電子情報通信学会 情報ネットワーク研究会
はじめに
  Peer-to-Peer(P2P)への注目
 ◦  耐故障性
 ◦  負荷分散
 ◦  スケーラビリティ


  オーバレイネットワーク
 ◦  非構造化オーバレイ
 ◦  構造化オーバレイ

                           2
Skip Graph
  構造化オーバーレイの1つ
◦  DHTでは困難な範囲検索・近傍検索が可能

                  範囲検索
                 6以上10以下


    2   5    6     7   9   14



    近傍検索
   5未満で最大
                                3
本研究の目的
  Skip
   Graphをベースとした
 新たな構造化オーバレイの提案
 ◦  ノードの挿入・検索を高速化




                    4
Skip Graphの構造
                        10*
                              5                     9
  Level 2   01*
                  2                                       14
                                   00*
                                         6
                                               1つのリスト内のノード数は1/w
                        1*
                               5                     9
  Level 1   0*平均logw(N)レベル
                  2                      6                14



  Level 0         2           5          6           9    14
メンバシップベクタ         010         101        001        100   011
 (基数w = 2)
                                                                5
Skip Graphの挿入アルゴリズム
  ノード7を挿入
                         10*
                               5                9
   Level 2   01*
                   2                                  14
                                    00*
                                          6

                         1*
                                5                9
   Level 1   0*
                   2                      6           14



   Level 0         2           5          6      9    14

メンバシップベクタ          010         101        001   100   011   6
Skip Graphの挿入アルゴリズム
  ノード7を挿入
                         10*
                               5                      9
   Level 2   01*
                   2                                        14
                                    00*
                                          6

                         1*
                                5                      9
   Level 1   0*
                   2                      6                 14



   Level 0         2           5          6     7      9    14

メンバシップベクタ          010         101        001   111   100   011   7
Skip Graphの挿入アルゴリズム
  ノード7を挿入
                         10*
                               5                      9
   Level 2   01*
                   2                                        14
                                    00*
                                          6
 左に辿ってメンバシップベクタを確認
                         1*
                                5                      9
   Level 1   0*
                   2                       6                14



   Level 0         2           5           6    7      9    14

                   010         101                                8
メンバシップベクタ                                 001   111   100   011
Skip Graphの挿入アルゴリズム
   ノード7を挿入
                         10*
                               5                      9
   Level 2   01*
                   2                                        14
                                    00*
                                          6
さらに左に辿ってメンバシップベクタを確認
                         1*
                                5                      9
   Level 1   0*
                   2                      6                 14



   Level 0         2            5         6     7      9    14

                   010                    001                     9
メンバシップベクタ                      101              111   100   011
Skip Graphの挿入アルゴリズム
  ノード7を挿入
                         10*
                               5                         9
   Level 2   01*
                   2                                               14
                                    00*
                                                      Level 1に挿入
                                          6

                         1*
                                5               7        9
   Level 1   0*
                   2                      6                        14



   Level 0         2           5          6     7        9         14

メンバシップベクタ          010         101        001   111     100        011   10
Skip Graphの挿入アルゴリズム
  ノード7を挿入
                         10*
                                5                     9
   Level 2   01*
                   2                                        14
                                    00*
                                          6

                         1*
                                5               7      9
   Level 1   0*
                   2                      6                 14



   Level 0         2            5         6      7     9    14

                   010                    001                     11
メンバシップベクタ                      101              111   100   011
Skip Graphの挿入アルゴリズム
  ノード7を挿入
                         10*
                               5                       9
   Level 2   01*
                   2                                        14
                                    00*
                                          6

                         1*
                                5               7      9
   Level 1   0*
                   2                      6                 14



   Level 0         2           5          6      7     9    14

メンバシップベクタ          010         101        001               011   12
                                                111   100
Skip Graphの挿入アルゴリズム
  ノード7を挿入
                         10*
                               5                        9
   Level 2   01*
                   2                                         14
                                    00*
                                          6

                         1*
                                5                 7     9
   Level 1   0*
                   2                      6                  14
                                              リスト内にマッチするノードが	
  
                                                 見つからなかった

   Level 0         2           5          6       7     9    14

メンバシップベクタ          010         101        001    111   100   011   13
Skip Graphの挿入アルゴリズム
                                               11*
  ノード7を挿入                                           7
                         10*
                               5                           9
   Level 2   01*                          11から始まるリストを作って挿入終了
                   2                                             14
                                    00*
                                           6

                         1*
                                5                    7      9
   Level 1   0*
                   2                       6                     14



   Level 0         2           5           6         7      9    14

メンバシップベクタ          010         101        001        111   100   011   14
Skip Graphの挿入アルゴリズム
  挿入時間:     O(w * logwn)
  ◦  挿入時間: 挿入時に通信したノード数
  ◦  各レベルで横方向に辿るノード数は平均 w
  ◦  レベルは logwn




   Level 0    2    5     6     7      9    14

メンバシップベクタ    010   101   001   111   100   011

                                                 15
Skip Graphの検索アルゴリズム
                                              11*
  7   →2                                           7
                         10*
                               5                          9
   Level 2   01*
                   2                                            14
                                    00*
                                          6

                         1*
                                5                   7      9
   Level 1   0*
                   2                      6                     14



   Level 0         2           5          6         7      9    14

メンバシップベクタ          010         101        001       111   100   011   16
Skip Graphの検索アルゴリズム
                                              11*
  7   →2                                           7
                         10*
                               5                             9
   Level 2   01*
                   2                                               14
                                    00*
                                          6               Level 2では自分自身し
                                                                 かいない
                         1*
                                5                   7        9
   Level 1   0*
                   2                      6                        14



   Level 0         2           5          6         7        9     14

メンバシップベクタ          010         101        001       111     100   011   17
Skip Graphの検索アルゴリズム
                                              11*
  7   →2                                           7
                         10*
                               5                          9
   Level 2   01*
                   2                                            14
                                    00*
 Level 1において目的のノードに                       6
    近い方へ転送(1hop目)
                         1*
                                5                   7      9
   Level 1   0*
                   2                      6                     14



   Level 0         2           5          6         7      9    14

メンバシップベクタ          010         101        001       111   100   011   18
Skip Graphの検索アルゴリズム
                                              11*
  7   →2                                           7
                         10*
                               5                          9
   Level 2   01*
                   2                                            14
                                    00*
  Level 1において左方向に                         6
転送すると2を飛び越えてしまう
                         1*
                                5                   7      9
   Level 1   0*
                   2                      6                     14



   Level 0         2           5          6         7      9    14

メンバシップベクタ          010         101        001       111   100   011   19
Skip Graphの検索アルゴリズム
                                              11*
  7   →2                                           7
                         10*
                               5                          9
   Level 2   01*
                   2                                            14
                                    00*
                                          6

                          挿入時間:	
  O(w	
  *	
  logw(n))
                         1*
                                5                   7      9
   Level 1   0*
                   2                      6                     14
                                     Level 0において目的のノードが見
                                       つかったので転送(2hop目)

   Level 0         2           5          6         7      9    14

メンバシップベクタ          010         101        001       111   100   011   20
提案手法
  Skip   Graphをベース
 ◦  メンバシップベクタを廃止
 ◦  目標とするリスト数wを導入
    (メンバシップベクタの基数wに相当)


  各レベルで左方向にポインタを複数持つ
 ◦  これを経路表として利用
 ◦  右方向は1ノードのみ(Skip Graphと同様)

                                21
提案手法
    各レベルで左方向最大            r 個のノードへの
    ポインタを持つ                     レベル 近隣ノード集合
                                1   7, 5, 14
     ◦  近隣ノード集合と呼ぶ              0   7, 6, 5
     ◦  r = 3
Level 1       5        7    9                  14

          2       6                 12



          2   5   6    7    9       12         14

Level 0

          ノード9のLevel 0における近隣ノード集合                   22
提案手法(リストID)
    各リストにIDを振る
                              リストID
     ◦  接続先の選択に利用


              5       7   9        14   82
Level 1

          2       6           12        83



          2   5   6   7   9   12   14   80

Level 0


                                        23
提案手法(リストID)
    近隣ノード集合内の各ノードが
    1つ上のレベルで所属するリストIDも保持する

              5       7       9                    14   82
Level 1

          2       6                      12             83



          2   5   6   7       9          12        14   80

Level 0                   レベル 近隣ノード集合
                          1       796, 592, 1496
                          0       782, 683, 582         24
提案手法|挿入アルゴリズム (1)
    ノード9を挿入
     ◦  各レベルの目標リスト数w = 2
     ◦  近隣ノード集合のサイズr = 3
              5       7         14   82
Level 1

          2       6        12        83



          2   5   6   7    12   14   80

Level 0


                                     25
提案手法|挿入アルゴリズム (2)
    ノード9を挿入
     ◦  各レベルの目標リスト数w = 2
     ◦  近隣ノード集合のサイズr = 3
                    5               7                        14          82
Level 1

          2                 6                      12                    83


                                                  7を追加            2削除
          2         5       6       7     9        12        14          80

Level 0       レベル   近隣ノード集合                   レベル 近隣ノード集合
              0     683, 582, 283             0     712, 613, 512, 213
                                                    682 583 282
                                    コピー              13   12   13
                                                                         26
提案手法|挿入アルゴリズム (3)
                             目標リスト数に達しているので
                            リストID82か83のどちらかと接続
    ノード9を挿入
     ◦  各レベルの目標リスト数w = 2
     ◦  近隣ノード集合のサイズr = 3
         ID82のリストを選択
             (乱数で)
               5            7   9                14     82
Level 1

          2         6                   12              83



          2    5    6       7   9       12       14     80

Level 0                             レベル 近隣ノード集合
                レベル1において
              少なくともリストが2つ           0   782, 683, 582
              存在することがわかる                                27
提案手法|挿入アルゴリズム (4)
  1つの近隣ノード集合を参照するだけでは
   リスト数を過小評価する可能性がある
  (リスト数 < w) と判断すると新たにリストを
   作るため,目標リスト数(w)をオーバーする
  より正確なリスト数を得るため,得られたリ
   スト数がw未満ならば,最大k個の近隣ノー
   ド集合を参照
提案手法|挿入アルゴリズム (5)
    ノード9を挿入
     ◦  各レベルの目標リスト数w = 2
                 精度を上げるため近隣ノード集合内で最も
                  遠いノードからも近隣ノード集合を取得
     ◦  近隣ノード集合のサイズr = 3
                 5       6       7          9                14     82
Level 1

          2                                         12              83
     レベル1にリストが少なくとも2つ
      あると判断できるようになった

          2      5       6       7          9       12       14     80

Level 0 レベル リスト数判断用近隣ノード集合                      レベル 近隣ノード集合
           レベル1において,リスト数は
        0 1つしかないと誤判定してしまう 83
             782, 683, 582, 283, 1482, 12       0   782, 683, 582
                                                                    29
挿入アルゴリズムの比較
  Skip   Graph
 ◦  1つずつ辿るため
    挿入に時間がかかる
                        メンバシップベクタ       010       101        001        111   100   011




  提案手法
 ◦  近隣ノード集合を利用し一度にr 個まとめて
    チェックすることで高速化
                2   5      6        7         9         12         14         80


      Level 0
                                        レベル 近隣ノード集合
                                        0           782, 683, 582                     30
提案手法の検索アルゴリズム
                                7                          14        96
    7    → 17
                 5                           9                       92
                     レベル     近隣ノード集合
          2                                           12             94
                     2       14??
                     1 6     592, 1496, 992                     17   93
Level 2
                     0       683, 582, 280

                 5              7            9             14        82
Level 1

          2              6                       12             17   83



          2      5       6      7            9   12        14   17   80

Level 0                                                              31
検索アルゴリズムの比較
  Skip   Graph
 ◦  平均経路表サイズは約2 * logwn


  提案手法
 ◦  近隣ノード集合も経路表として用いる
 ◦  平均経路表サイズは約(r + 1) * logwn
     経路表サイズが大きい分,より高速に目的ノードに
      近づける


                                32
評価(挿入時間)
  提案手法と従来のSkip
           Graphとで
オーバレイネットワークを構成し,挿入時間
の分布を測定
 ◦  ノード数: 10,000
 ◦  Skip Graph
    メンバシップベクタの基数w = 2
 ◦  提案手法
    目標リスト数: w = 2, 4, 8, 16
    近隣ノード集合数: r = w
                               33
実験結果(挿入時間)
             0.3
                             提案手法
                             (w = 16)            Better
            0.25               提案手法
                               (w = 8)               提案手法
             0.2                                     (w = 2)
Frequency




            0.15                    提案手法
                                    (w = 4)

             0.1
                                                                          Skip
            0.05                                                         Graph

              0
                   10   20     30       40      50    60       70   80      90   100
                                             Insertion time                      34
評価(検索時間)
  検索時間の分布を取得


  条件は前と同じ




                35
実験結果(検索時間)
            0.35
                           提案手法
                           (w = 16)
             0.3                          Better
            0.25                 提案手法
                                 (w = 8)
Frequency




             0.2                  提案手法
                                  (w = 4)
            0.15
                                            提案手法
             0.1                            (w = 2)
                                                             Skip
            0.05                                            Graph

              0
                   0   5         10         15        20   25       30
                                      Number of hops
                                                                     36
評価(経路表サイズと検索時間の関係)
  提案手法では,rとwを変化させることで
経路表サイズを自由に変更可能

  経路表サイズと検索時間との関係を調べた


  提案手法のパラメータ
◦  w = 2, 4, 8, 16, 32, 64
◦  r = w, 2w, 3w, 4w
                             37
実験結果(経路表サイズと検索時間の関係)
                   10        Skip Graph
                    9
Ave. lookup time




                    8               w=2
                    7
                                             r=w
                    6            w=4
                                                     r = 2w
                    5
                                                            r = 3w
                                   w=8
                    4                                                w = 64
                    3                     w = 16
                                                                              r = 4w
                                                   w = 32
                    2
                        10                                  100                        1000
                                      Routing table size (# of pointers)
                                                                                        38
まとめ
  Skip
   Graphをベースとした
 構造化オーバレイを提案
 ◦  メンバシップベクタを廃止しリストIDを導入
 ◦  近隣ノード集合を導入
 ◦  Skip Graphと比べて経路表サイズを増やし,
    検索時間を短縮
 ◦  経路表サイズが増えているにも関わらず,
    挿入時間も高速化(ただしメッセージ数は増加)
 ◦  経路表サイズはrとwで調整可能
                                39
今後の課題
  他のアルゴリズムとの比較
◦  Skip Tree Graphなど


  リスト数修復アルゴリズムの実装および評価


  ネットワーク距離を考慮した拡張




                       40

More Related Content

What's hot

AWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
AWS Black Belt Online Seminar 2016 Amazon EC2 Container ServiceAWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
AWS Black Belt Online Seminar 2016 Amazon EC2 Container ServiceAmazon Web Services Japan
 
性能測定道 事始め編
性能測定道 事始め編性能測定道 事始め編
性能測定道 事始め編Yuto Hayamizu
 
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~NTT Communications Technology Development
 
plotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfgplotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfgKentaro Ebisawa
 
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌LINE Corporation
 
ネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのかネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのかJun Kato
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれKumazaki Hiroki
 
HBase スキーマ設計のポイント
HBase スキーマ設計のポイントHBase スキーマ設計のポイント
HBase スキーマ設計のポイントdaisuke-a-matsui
 
大規模DCのネットワークデザイン
大規模DCのネットワークデザイン大規模DCのネットワークデザイン
大規模DCのネットワークデザインMasayuki Kobayashi
 
ブロックチェーン系プロジェクトで着目される暗号技術
ブロックチェーン系プロジェクトで着目される暗号技術ブロックチェーン系プロジェクトで着目される暗号技術
ブロックチェーン系プロジェクトで着目される暗号技術MITSUNARI Shigeo
 
逆求人自己紹介プレゼン(平木場)
逆求人自己紹介プレゼン(平木場)逆求人自己紹介プレゼン(平木場)
逆求人自己紹介プレゼン(平木場)Futa HIRAKOBA
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーyoku0825
 
秘密分散法の数理
秘密分散法の数理秘密分散法の数理
秘密分散法の数理Akito Tabira
 
Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦Preferred Networks
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみようTakashi Kajinami
 
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいことMySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいことyoku0825
 
JAWS-UG 横浜 re:Invent re:Cap week1 EC2ストレージパフォーマンスの進化
JAWS-UG 横浜 re:Invent re:Cap week1 EC2ストレージパフォーマンスの進化JAWS-UG 横浜 re:Invent re:Cap week1 EC2ストレージパフォーマンスの進化
JAWS-UG 横浜 re:Invent re:Cap week1 EC2ストレージパフォーマンスの進化Shuji Kikuchi
 
AWS CURのデータを安く楽に可視化して共有したい
AWS CURのデータを安く楽に可視化して共有したいAWS CURのデータを安く楽に可視化して共有したい
AWS CURのデータを安く楽に可視化して共有したいTakayuki Ishikawa
 

What's hot (20)

AWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
AWS Black Belt Online Seminar 2016 Amazon EC2 Container ServiceAWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
AWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
 
性能測定道 事始め編
性能測定道 事始め編性能測定道 事始め編
性能測定道 事始め編
 
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
 
暗認本読書会6
暗認本読書会6暗認本読書会6
暗認本読書会6
 
plotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfgplotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfg
 
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
 
ネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのかネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのか
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
 
HBase スキーマ設計のポイント
HBase スキーマ設計のポイントHBase スキーマ設計のポイント
HBase スキーマ設計のポイント
 
大規模DCのネットワークデザイン
大規模DCのネットワークデザイン大規模DCのネットワークデザイン
大規模DCのネットワークデザイン
 
ブロックチェーン系プロジェクトで着目される暗号技術
ブロックチェーン系プロジェクトで着目される暗号技術ブロックチェーン系プロジェクトで着目される暗号技術
ブロックチェーン系プロジェクトで着目される暗号技術
 
逆求人自己紹介プレゼン(平木場)
逆求人自己紹介プレゼン(平木場)逆求人自己紹介プレゼン(平木場)
逆求人自己紹介プレゼン(平木場)
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
 
秘密分散法の数理
秘密分散法の数理秘密分散法の数理
秘密分散法の数理
 
Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう
 
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいことMySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいこと
 
JAWS-UG 横浜 re:Invent re:Cap week1 EC2ストレージパフォーマンスの進化
JAWS-UG 横浜 re:Invent re:Cap week1 EC2ストレージパフォーマンスの進化JAWS-UG 横浜 re:Invent re:Cap week1 EC2ストレージパフォーマンスの進化
JAWS-UG 横浜 re:Invent re:Cap week1 EC2ストレージパフォーマンスの進化
 
暗認本読書会11
暗認本読書会11暗認本読書会11
暗認本読書会11
 
AWS CURのデータを安く楽に可視化して共有したい
AWS CURのデータを安く楽に可視化して共有したいAWS CURのデータを安く楽に可視化して共有したい
AWS CURのデータを安く楽に可視化して共有したい
 

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
 
P2Pネットワークにおける経路長あるいは経路表サイズの最大値を柔軟に設定可能な経路表構築方式
P2Pネットワークにおける経路長あるいは経路表サイズの最大値を柔軟に設定可能な経路表構築方式P2Pネットワークにおける経路長あるいは経路表サイズの最大値を柔軟に設定可能な経路表構築方式
P2Pネットワークにおける経路長あるいは経路表サイズの最大値を柔軟に設定可能な経路表構築方式Kota Abe
 
構造化P2Pネットワークにおけるコンテンツの人気度を考慮したショートカットリンクの生成方法とその評価
構造化P2Pネットワークにおけるコンテンツの人気度を考慮したショートカットリンクの生成方法とその評価構造化P2Pネットワークにおけるコンテンツの人気度を考慮したショートカットリンクの生成方法とその評価
構造化P2Pネットワークにおけるコンテンツの人気度を考慮したショートカットリンクの生成方法とその評価Kota Abe
 
高速な挿入と検索が可能なSkip Graphの改良
高速な挿入と検索が可能なSkip Graphの改良高速な挿入と検索が可能なSkip Graphの改良
高速な挿入と検索が可能なSkip Graphの改良Kota Abe
 
距離が付加された要素集合をコンパクトに表現できるDistance Bloom Filterの提案とP2Pネットワークにおける最短経路探索への応用
距離が付加された要素集合をコンパクトに表現できるDistance Bloom Filterの提案とP2Pネットワークにおける最短経路探索への応用距離が付加された要素集合をコンパクトに表現できるDistance Bloom Filterの提案とP2Pネットワークにおける最短経路探索への応用
距離が付加された要素集合をコンパクトに表現できるDistance Bloom Filterの提案とP2Pネットワークにおける最短経路探索への応用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 (15)

構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案と評価
構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案と評価構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案と評価
構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案と評価
 
構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案
構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案
構造化オーバーレイネットワークを用いた条件付きマルチキャストの提案
 
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
 
P2Pネットワークにおける経路長あるいは経路表サイズの最大値を柔軟に設定可能な経路表構築方式
P2Pネットワークにおける経路長あるいは経路表サイズの最大値を柔軟に設定可能な経路表構築方式P2Pネットワークにおける経路長あるいは経路表サイズの最大値を柔軟に設定可能な経路表構築方式
P2Pネットワークにおける経路長あるいは経路表サイズの最大値を柔軟に設定可能な経路表構築方式
 
構造化P2Pネットワークにおけるコンテンツの人気度を考慮したショートカットリンクの生成方法とその評価
構造化P2Pネットワークにおけるコンテンツの人気度を考慮したショートカットリンクの生成方法とその評価構造化P2Pネットワークにおけるコンテンツの人気度を考慮したショートカットリンクの生成方法とその評価
構造化P2Pネットワークにおけるコンテンツの人気度を考慮したショートカットリンクの生成方法とその評価
 
高速な挿入と検索が可能なSkip Graphの改良
高速な挿入と検索が可能なSkip Graphの改良高速な挿入と検索が可能なSkip Graphの改良
高速な挿入と検索が可能なSkip Graphの改良
 
距離が付加された要素集合をコンパクトに表現できるDistance Bloom Filterの提案とP2Pネットワークにおける最短経路探索への応用
距離が付加された要素集合をコンパクトに表現できるDistance Bloom Filterの提案とP2Pネットワークにおける最短経路探索への応用距離が付加された要素集合をコンパクトに表現できるDistance Bloom Filterの提案とP2Pネットワークにおける最短経路探索への応用
距離が付加された要素集合をコンパクトに表現できるDistance Bloom Filterの提案とP2Pネットワークにおける最短経路探索への応用
 
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

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 

Recently uploaded (9)

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 

Skip Graphをベースとした高速な挿入と検索が可能な構造化オーバレイの提案

  • 1. Skip Graphをベースとした 高速な挿入と検索が可能な 構造化オーバレイの提案 大阪市立大学大学院 創造都市研究科 播磨 裕太・安倍 広多 石橋 勇人・松浦 敏雄 2013/01/25 電子情報通信学会 情報ネットワーク研究会
  • 2. はじめに   Peer-to-Peer(P2P)への注目 ◦  耐故障性 ◦  負荷分散 ◦  スケーラビリティ   オーバレイネットワーク ◦  非構造化オーバレイ ◦  構造化オーバレイ 2
  • 3. Skip Graph   構造化オーバーレイの1つ ◦  DHTでは困難な範囲検索・近傍検索が可能 範囲検索 6以上10以下 2 5 6 7 9 14 近傍検索 5未満で最大 3
  • 4. 本研究の目的   Skip Graphをベースとした 新たな構造化オーバレイの提案 ◦  ノードの挿入・検索を高速化 4
  • 5. Skip Graphの構造 10* 5 9 Level 2 01* 2 14 00* 6 1つのリスト内のノード数は1/w 1* 5 9 Level 1 0*平均logw(N)レベル 2 6 14 Level 0 2 5 6 9 14 メンバシップベクタ 010 101 001 100 011 (基数w = 2) 5
  • 6. Skip Graphの挿入アルゴリズム   ノード7を挿入 10* 5 9 Level 2 01* 2 14 00* 6 1* 5 9 Level 1 0* 2 6 14 Level 0 2 5 6 9 14 メンバシップベクタ 010 101 001 100 011 6
  • 7. Skip Graphの挿入アルゴリズム   ノード7を挿入 10* 5 9 Level 2 01* 2 14 00* 6 1* 5 9 Level 1 0* 2 6 14 Level 0 2 5 6 7 9 14 メンバシップベクタ 010 101 001 111 100 011 7
  • 8. Skip Graphの挿入アルゴリズム   ノード7を挿入 10* 5 9 Level 2 01* 2 14 00* 6 左に辿ってメンバシップベクタを確認 1* 5 9 Level 1 0* 2 6 14 Level 0 2 5 6 7 9 14 010 101 8 メンバシップベクタ 001 111 100 011
  • 9. Skip Graphの挿入アルゴリズム   ノード7を挿入 10* 5 9 Level 2 01* 2 14 00* 6 さらに左に辿ってメンバシップベクタを確認 1* 5 9 Level 1 0* 2 6 14 Level 0 2 5 6 7 9 14 010 001 9 メンバシップベクタ 101 111 100 011
  • 10. Skip Graphの挿入アルゴリズム   ノード7を挿入 10* 5 9 Level 2 01* 2 14 00* Level 1に挿入 6 1* 5 7 9 Level 1 0* 2 6 14 Level 0 2 5 6 7 9 14 メンバシップベクタ 010 101 001 111 100 011 10
  • 11. Skip Graphの挿入アルゴリズム   ノード7を挿入 10* 5 9 Level 2 01* 2 14 00* 6 1* 5 7 9 Level 1 0* 2 6 14 Level 0 2 5 6 7 9 14 010 001 11 メンバシップベクタ 101 111 100 011
  • 12. Skip Graphの挿入アルゴリズム   ノード7を挿入 10* 5 9 Level 2 01* 2 14 00* 6 1* 5 7 9 Level 1 0* 2 6 14 Level 0 2 5 6 7 9 14 メンバシップベクタ 010 101 001 011 12 111 100
  • 13. Skip Graphの挿入アルゴリズム   ノード7を挿入 10* 5 9 Level 2 01* 2 14 00* 6 1* 5 7 9 Level 1 0* 2 6 14 リスト内にマッチするノードが   見つからなかった Level 0 2 5 6 7 9 14 メンバシップベクタ 010 101 001 111 100 011 13
  • 14. Skip Graphの挿入アルゴリズム 11*   ノード7を挿入 7 10* 5 9 Level 2 01* 11から始まるリストを作って挿入終了 2 14 00* 6 1* 5 7 9 Level 1 0* 2 6 14 Level 0 2 5 6 7 9 14 メンバシップベクタ 010 101 001 111 100 011 14
  • 15. Skip Graphの挿入アルゴリズム   挿入時間: O(w * logwn) ◦  挿入時間: 挿入時に通信したノード数 ◦  各レベルで横方向に辿るノード数は平均 w ◦  レベルは logwn Level 0 2 5 6 7 9 14 メンバシップベクタ 010 101 001 111 100 011 15
  • 16. Skip Graphの検索アルゴリズム 11*   7 →2 7 10* 5 9 Level 2 01* 2 14 00* 6 1* 5 7 9 Level 1 0* 2 6 14 Level 0 2 5 6 7 9 14 メンバシップベクタ 010 101 001 111 100 011 16
  • 17. Skip Graphの検索アルゴリズム 11*   7 →2 7 10* 5 9 Level 2 01* 2 14 00* 6 Level 2では自分自身し かいない 1* 5 7 9 Level 1 0* 2 6 14 Level 0 2 5 6 7 9 14 メンバシップベクタ 010 101 001 111 100 011 17
  • 18. Skip Graphの検索アルゴリズム 11*   7 →2 7 10* 5 9 Level 2 01* 2 14 00* Level 1において目的のノードに 6 近い方へ転送(1hop目) 1* 5 7 9 Level 1 0* 2 6 14 Level 0 2 5 6 7 9 14 メンバシップベクタ 010 101 001 111 100 011 18
  • 19. Skip Graphの検索アルゴリズム 11*   7 →2 7 10* 5 9 Level 2 01* 2 14 00* Level 1において左方向に 6 転送すると2を飛び越えてしまう 1* 5 7 9 Level 1 0* 2 6 14 Level 0 2 5 6 7 9 14 メンバシップベクタ 010 101 001 111 100 011 19
  • 20. Skip Graphの検索アルゴリズム 11*   7 →2 7 10* 5 9 Level 2 01* 2 14 00* 6 挿入時間:  O(w  *  logw(n)) 1* 5 7 9 Level 1 0* 2 6 14 Level 0において目的のノードが見 つかったので転送(2hop目) Level 0 2 5 6 7 9 14 メンバシップベクタ 010 101 001 111 100 011 20
  • 21. 提案手法   Skip Graphをベース ◦  メンバシップベクタを廃止 ◦  目標とするリスト数wを導入 (メンバシップベクタの基数wに相当)   各レベルで左方向にポインタを複数持つ ◦  これを経路表として利用 ◦  右方向は1ノードのみ(Skip Graphと同様) 21
  • 22. 提案手法   各レベルで左方向最大 r 個のノードへの ポインタを持つ レベル 近隣ノード集合 1 7, 5, 14 ◦  近隣ノード集合と呼ぶ 0 7, 6, 5 ◦  r = 3 Level 1 5 7 9 14 2 6 12 2 5 6 7 9 12 14 Level 0 ノード9のLevel 0における近隣ノード集合 22
  • 23. 提案手法(リストID)   各リストにIDを振る リストID ◦  接続先の選択に利用 5 7 9 14 82 Level 1 2 6 12 83 2 5 6 7 9 12 14 80 Level 0 23
  • 24. 提案手法(リストID)   近隣ノード集合内の各ノードが 1つ上のレベルで所属するリストIDも保持する 5 7 9 14 82 Level 1 2 6 12 83 2 5 6 7 9 12 14 80 Level 0 レベル 近隣ノード集合 1 796, 592, 1496 0 782, 683, 582 24
  • 25. 提案手法|挿入アルゴリズム (1)   ノード9を挿入 ◦  各レベルの目標リスト数w = 2 ◦  近隣ノード集合のサイズr = 3 5 7 14 82 Level 1 2 6 12 83 2 5 6 7 12 14 80 Level 0 25
  • 26. 提案手法|挿入アルゴリズム (2)   ノード9を挿入 ◦  各レベルの目標リスト数w = 2 ◦  近隣ノード集合のサイズr = 3 5 7 14 82 Level 1 2 6 12 83 7を追加 2削除 2 5 6 7 9 12 14 80 Level 0 レベル 近隣ノード集合 レベル 近隣ノード集合 0 683, 582, 283 0 712, 613, 512, 213 682 583 282 コピー 13 12 13 26
  • 27. 提案手法|挿入アルゴリズム (3) 目標リスト数に達しているので リストID82か83のどちらかと接続   ノード9を挿入 ◦  各レベルの目標リスト数w = 2 ◦  近隣ノード集合のサイズr = 3 ID82のリストを選択 (乱数で) 5 7 9 14 82 Level 1 2 6 12 83 2 5 6 7 9 12 14 80 Level 0 レベル 近隣ノード集合 レベル1において 少なくともリストが2つ 0 782, 683, 582 存在することがわかる 27
  • 28. 提案手法|挿入アルゴリズム (4)   1つの近隣ノード集合を参照するだけでは リスト数を過小評価する可能性がある   (リスト数 < w) と判断すると新たにリストを 作るため,目標リスト数(w)をオーバーする   より正確なリスト数を得るため,得られたリ スト数がw未満ならば,最大k個の近隣ノー ド集合を参照
  • 29. 提案手法|挿入アルゴリズム (5)   ノード9を挿入 ◦  各レベルの目標リスト数w = 2 精度を上げるため近隣ノード集合内で最も 遠いノードからも近隣ノード集合を取得 ◦  近隣ノード集合のサイズr = 3 5 6 7 9 14 82 Level 1 2 12 83 レベル1にリストが少なくとも2つ あると判断できるようになった 2 5 6 7 9 12 14 80 Level 0 レベル リスト数判断用近隣ノード集合 レベル 近隣ノード集合 レベル1において,リスト数は 0 1つしかないと誤判定してしまう 83 782, 683, 582, 283, 1482, 12 0 782, 683, 582 29
  • 30. 挿入アルゴリズムの比較   Skip Graph ◦  1つずつ辿るため 挿入に時間がかかる メンバシップベクタ 010 101 001 111 100 011   提案手法 ◦  近隣ノード集合を利用し一度にr 個まとめて チェックすることで高速化 2 5 6 7 9 12 14 80 Level 0 レベル 近隣ノード集合 0 782, 683, 582 30
  • 31. 提案手法の検索アルゴリズム 7 14 96   7 → 17 5 9 92 レベル 近隣ノード集合 2 12 94 2 14?? 1 6 592, 1496, 992 17 93 Level 2 0 683, 582, 280 5 7 9 14 82 Level 1 2 6 12 17 83 2 5 6 7 9 12 14 17 80 Level 0 31
  • 32. 検索アルゴリズムの比較   Skip Graph ◦  平均経路表サイズは約2 * logwn   提案手法 ◦  近隣ノード集合も経路表として用いる ◦  平均経路表サイズは約(r + 1) * logwn   経路表サイズが大きい分,より高速に目的ノードに 近づける 32
  • 33. 評価(挿入時間)   提案手法と従来のSkip Graphとで オーバレイネットワークを構成し,挿入時間 の分布を測定 ◦  ノード数: 10,000 ◦  Skip Graph   メンバシップベクタの基数w = 2 ◦  提案手法   目標リスト数: w = 2, 4, 8, 16   近隣ノード集合数: r = w 33
  • 34. 実験結果(挿入時間) 0.3 提案手法 (w = 16) Better 0.25 提案手法 (w = 8) 提案手法 0.2 (w = 2) Frequency 0.15 提案手法 (w = 4) 0.1 Skip 0.05 Graph 0 10 20 30 40 50 60 70 80 90 100 Insertion time 34
  • 36. 実験結果(検索時間) 0.35 提案手法 (w = 16) 0.3 Better 0.25 提案手法 (w = 8) Frequency 0.2 提案手法 (w = 4) 0.15 提案手法 0.1 (w = 2) Skip 0.05 Graph 0 0 5 10 15 20 25 30 Number of hops 36
  • 38. 実験結果(経路表サイズと検索時間の関係) 10 Skip Graph 9 Ave. lookup time 8 w=2 7 r=w 6 w=4 r = 2w 5 r = 3w w=8 4 w = 64 3 w = 16 r = 4w w = 32 2 10 100 1000 Routing table size (# of pointers) 38
  • 39. まとめ   Skip Graphをベースとした 構造化オーバレイを提案 ◦  メンバシップベクタを廃止しリストIDを導入 ◦  近隣ノード集合を導入 ◦  Skip Graphと比べて経路表サイズを増やし, 検索時間を短縮 ◦  経路表サイズが増えているにも関わらず, 挿入時間も高速化(ただしメッセージ数は増加) ◦  経路表サイズはrとwで調整可能 39
  • 40. 今後の課題   他のアルゴリズムとの比較 ◦  Skip Tree Graphなど   リスト数修復アルゴリズムの実装および評価   ネットワーク距離を考慮した拡張 40