現在実装中のP2Pネットワークを用いた分散型マイクロブログサービスKiZUNAの設計について述べる.KiZUNAはサーバを必要としないPure P2P型のシステムとして実現する.メッセージの購読と配送に構造化P2Pネットワークの1つであるSkip Graphを用いたALM(Application Level Multicast)を用いる.また,ハッシュタグ,全文検索,検索ストリーム,複製管理などの方式についても述べる.
This paper describes a design of KiZUNA, a pure P2P-based microblogging service. Subscription and distribution of messages are implemented using ALM (Application Level Multicast) over a skip graph, a structured P2P network. Hashtags, full-text search, search stream, and replica management are also discussed.
論文PDFは http://goo.gl/xoSEPb
30. メッセージ配送 | 具体例
Aのフォロワー
B
A
Bのフォロワー Cを購読
Cのフォロワー
C
B
UID: 10
UID: 20
A
UID: 30
AがCのUID(30)を挿入
フォロー関係を表したSkip Graph(Level 0部分)
10
10
20
30 30
A
B
B
C
A
30
31. メッセージ配送 | 具体例
Aのフォロワー
Bのフォロワー
B C
A
UID: 10
A C
B
Cのフォロワー
C
A
UID: 30
UID: 20
フォロー関係を表したSkip Graph(Level 0部分)
Aのフォロワー
Bのフォロワー Cのフォロワー
10
10
10
20 20 20 30 30
A
B
C
B
C
A
C
A
31
32. メッセージ配送 | 具体例
バルス!
Aのフォロワー
B C
A
UID: 10
Bのフォロワー
A C
B
Cのフォロワー
C
A
UID: 30
UID: 20
Bはこの範囲にALMする
フォロー関係を表したSkip Graph(Level 0部分)
10
10
10
20 20 20 30 30
A
B
C
B
C
A
C
A
32
39. メッセージアーカイブ | 具体例
Aのフォロワー
A
B C
Bのフォロワー
B
Cのフォロワー
A C
C
A
UID: 30
UID: 10 Cのオンラインの
UID: 20
フォロワーが少ないGraph(Level 0部分)
フォロー関係を表したSkip
Cのフォロワー
無作為にオンラインの
10 10 10 20 20 20
ユーザを選ぶ
30 30 30
A B C B C A
Cを強制的に購読させる
C
A
X
39