JP4300292B2 - ピア・ツウ・ピアネットワークにおける分散情報共有・検索方法及びそのシステム - Google Patents
ピア・ツウ・ピアネットワークにおける分散情報共有・検索方法及びそのシステム Download PDFInfo
- Publication number
- JP4300292B2 JP4300292B2 JP2003345735A JP2003345735A JP4300292B2 JP 4300292 B2 JP4300292 B2 JP 4300292B2 JP 2003345735 A JP2003345735 A JP 2003345735A JP 2003345735 A JP2003345735 A JP 2003345735A JP 4300292 B2 JP4300292 B2 JP 4300292B2
- Authority
- JP
- Japan
- Prior art keywords
- servant
- peer
- digest
- information sharing
- distributed information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 45
- 241001247411 Thetella Species 0.000 claims description 52
- 230000006870 function Effects 0.000 claims description 25
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 13
- 238000012546 transfer Methods 0.000 claims description 12
- 239000013598 vector Substances 0.000 claims description 8
- 241000120020 Tela Species 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 230000004044 response Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 7
- 238000004088 simulation Methods 0.000 description 7
- 238000012937 correction Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 210000001072 colon Anatomy 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
[非特許文献1]B.Bloom,“Space/time trade−offs
in hash coding with allowable errors”,Commun.ACM,Vol.13,No.7,pp.422−426,1970.
[非特許文献2]L.Fan and P.Cao and J.Almeida and A.Broder,“Summary cache:A scalable wide−area Web cache sharing protocol”,IEEE/ACM Transactions on Networking,Vol.8,No.3,pp.281−293,2000.
[非特許文献3]RFC−Gnutella,http://rfc−gnutella.sourceforge.net/
[非特許文献4]Jorn Davidsen and Holger Ebel and Stefan Bornholdt,“Emergence of a Small World form Local Interactions:Modeling Acquaintance Networks”,Physical Review Letters,Vol.88,No.12,2002.(下線付きのoにはウムラウトが付く)
[非特許文献5]R.Albert,H.Jeong and A.L.Barabasi,“Error and attack tolerance of complex networks”,Nature,Vol.406,pp.378−381,2000.(下線付きのaにはアクサン・テギュが付く)
(1)ユーザの嗜好を表現する(ピア・ダイジェスト:Peer Digest)。
(2)ユーザの嗜好情報をサーバント同士で交換する機能、ポング・プロキシー(Pong Proxy)を有する。
(3)検索要求(Query)の転送先を決定し、その経路制御(routing)を可能とする(Query Routing Protocol with Firework:QRPwF)。
(4)経路制御学習(Backward Learning)ができる。
(5)Community Self−Organization Algorithmによりネットワーク上でコミュニティーを自己組織化することができる。
以下に、ピア・ダイジェストの求め方について述べる。
digest=(b0 ,…,bM-1 )(bm ={0,1})である。
(ステップS1):doc,pdf,psなどのファイルは、前処理としてwvWare,pdftotext,ps2textなどのフィルターによりテキストに変換する。また、htmlなどのマークアップ言語に関しては、タグフィルタによりタグを除去する(前処理によるテキストへの変換)。
(ステップS2):文章から単語を切り出す(単語の抽出)。日本語文章に関してはChaSenなどの形態素解析器によって、名詞、未知語のみを抽出する。また、英語に関しては、大文字/小文字変換、stop word除去、stemming処理を施す。
(ステップS3):ステップS2によって抽出された単語Wn から単語集合Wを作成する。n=0とする。
(ステップS4):一方向性ハッシュ関数hk によって単語wn を単語ベクトルwbに変換する。wb=〔h1 (wn ),…,hK (wn )〕。
(ステップS5)digestのwbk 目のビットを1とする。つまり、bwbk =1(k=1,…,K)とする。
(ステップS6)nが最大値NMAX の場合、すなわち、n=NMAX ならば終了する。それ以外ならば、n=n+1として、上記ステップS4へ戻る(ステップS7)。
ユーザ間の嗜好の近さを計るために、ユーザAとユーザBの嗜好類似度:simABを、以下のように定義する。
…(1)
ここで、∧はビットAND演算であり、関数countは、ビットが1の要素を数え上げる関数である。0≦simAB≦1であり、digestA とdigestB が一致したときに、simAB=1が成立する。
(2)次に、Tella Gateプロトコルについて説明する。
(2−1)Globally Unique IDentifier(GUID)
Tella Gateプロトコルでは、3種類のGUIDを使用する。
〔1〕Tella Gate GUID(25byte=200bit)
Tella Gateサーバントの識別用に用いられるGUIDであり、Tella Gateユーザまたは管理者のメールアドレスから、一方向性ハッシュ関数sha1によって計算される。
〔2〕Message GUID(25byte=200bit)
メッセージの識別に用いられるGUIDであり、Tella Gate GUID、時間情報、疑似乱数を、Tella Gate GUID:時間情報:疑似乱数のように、コロン(:)区切りでテキスト化し、一方向性ハッシュ関数sha1によって計算する。〔3〕File GUID(25byte=200bit)
コンテンツの識別に用いられるGUIDであり、コンテンツのバイナリーデータから、一方向性ハッシュ関数sha1によって計算される。
(2−2)Hand Shake
Tella GateサーバントをTella Gate Netに接続するために、入り口となるサーバントとの間で接続を確立することをHand Shakeという。具体的にはTCPのデータ部に図3のメッセージを入れて、接続を要求する。
(2−3)Tella Gateフレーム
Tella Gate Netに参加したサーバントは、TCPフレームのデータ部にメッセージを格納してコンテンツ共有のためのメッセージを交換する。Tella Gateのメッセージは、図6に示すように、ヘッダー(Header)とペイロード(Payload)で構成される。
Tella GateフレームのHeader(ヘッダー)は、図7に示すように、27byteに固定され、以下のように構成される。
〔1〕Message GUID
上記(2−1)参照
〔2〕Payload Descriptor(1byte=8bit)
メッセージの種別と対応コードを表2に示す。
Tella Gate Net内の生存時間(Time To Live)であり、各サーバントは、受け取ったメッセージのTTL値を判断し、TTL値が1よりも大きかったらそのメッセージを次のサーバントに転送し、TTL値が1よりも小さかったら転送しない。各サーバントでは、1回転送する毎にTTL値を1減算する。最大値は225である。
〔4〕Hop(1byte=8bit)
転送された回数を示し、各サーバントがメッセージを転送する時に、TTL値を1減算すると同時に、Hopに1加算する。最大値は225である。
〔5〕Payload Length(4byte=32bit)
ヘッダーに続くデータ部の長さを示し、単位は、byeであり、最大4,294,967,296byeである。
(2−3−2)Ping
Pingは、Tella Gate Net上で、1次近傍サーバントと2次近傍サーバントの共有情報を要求するメッセージである。
(2−3−3)Pong
Pingに応答するメッセージであり、図8に示すように、Pingに対して自分の存在を明示し、自分の共有情報を伝えるメッセージである。
〔1〕Tella Gate GUIDは、Pong返答するサーバント、またはPong ProxyによりPong返答を代行する1次接続サーバントのTella Gate GUIDである。
1byte:1byte:1byte:1byte=8bit:8bit:8bit:8but=255.255.255.255
〔3〕Port(2byte=16bit)
Pong返答するサーバント、またはPong ProxyによりPong返答を代行する1次接続サーバントの接続を受入れるTCPポート番号であり、最大65535番である。
〔4〕Peer Digest(ピア・ダイジェスト)
Pong返答するサーバント、またはPong ProxyによりPong返答を代行する1次接続サーバントのPeer Digestである。
(2−3−4)Bye
切断を伝えるメッセージであり、Byeメッセージを送信後、TCP接続を閉じる。
(2−3−5)Query(クエリー)
Tella Gate Netに対してコンテンツの検索を要求するメッセージであり、Queryを受け取ったサーバントは、自分の共有情報を検索し、ヒットすればQuery Hit(クエリー・ヒット)で応答する。また、ヒットしない場合は、Query
Routing Protocol with Firework(後述)を用いて、Queryを他のサーバントに転送する。
〔1〕Tella Gate GUIDは、検索要求を創出したサーバントのTella Gate GUIDである。
(2−3−6)Query Hit(クエリー・ヒット)
Queryに対する応答メッセージであり、受け取ったQueryに基づく検索結果、ヒットした場合にはQuery Hitを返信する。図10に示すように、検索結果はサーバントの共有情報や検索条件によりその内容が異なるため、可変長データとなる。
〔1〕Tella Gate GUIDは、Query HitしたサーバントのTella Gate GUIDである。
1byte:1byte:1byte:1byte=8bit:8bit:8bit:8but=255.255.255.255
〔3〕Port(2byte=16bit)
Query HitしたサーバントのPort番号であり、最大65536である。
Query Hitの数であり、最大255である。
検索結果である。この検索結果は、コンテンツ毎に1件ずつNULL(’\0’=0x00)で終わるテーブル・データとして図11に示すResult Setに格納する。検索結果が複数のコンテンツの場合は、Result Setにコンテンツの件数分繰り返し格納する。
〔1〕File GUID(20byte=160bit)は、ヒットしたコンテンツのFile GUIDである。
〔3〕File Nameは、ヒットしたコンテンツのファイル名であり、文字コードはUTF−8とする。
(2−3−7)Query Error(クエリー・エラー)
Queryに対しDeadlock(デッドロック)またはLoop(ループ)が発生した場合の応答メッセージであり、図12に示すように、データ部はQueryと同じであるが、ヘッダーのコードが異なる。なお、Deadlockは受け取ったQueryに対する検索結果がヒットなしで、かつQueryの転送先がないこと、Loopは既に同じQueryを受け取っていることを意味する。
(2−4)メッセージ処理のフローチャート
図13は本発明にかかるメッセージ処理のフローチャートである。
(2−5)コンテンツのダウンロード
コンテンツのダウンロードは、TCP/IPのHTTPプロトコルを利用する。ダウンロードは、サーバント間同士で直接HTTPプロトコルを利用して行う。
〔1〕ダウンロードの要求
接続を許可されたサーバントは、HTTPプロトコルに従ってファイルのダウンロードを要求する。この時のHTTPコマンドを図14に示す。
(1)〈File GUID〉
Query Hitによって通知されたFile GUIDである。
(2)〈File Name〉
Query Hitによって通知されたFile Nameである。
〔2〕ダウンロード要求に対するレスポンス
ダウンロード要求を受けたサーバントは、HTTPプロトコルに従って応答を返す。その応答を図15に示す。
〔3〕コンテンツのダウンロード
上記〔2〕のレスポンスに続いてファイル・データが送信される。
〔4〕終了処理
上記〔2〕で送信されたContent−lengthまで完了したら、ソケットを閉じる。
(3)次に、Tella Gateサーバントのシステム構成について説明する。
(3−1)Search Engine
サーチエンジン部32の機能は以下の通りである。
〔1〕公開コンテンツからPeer Digestを作成する。
〔2〕検索要求に対する応答(Query Result)を行う。
(3−2)Servent Engine
サーバントエンジン部31はTella Gateサーバント30の管理を行う。
〔1〕メッセージの処理を行う。
〔2〕TCP接続を管理する。自己組織化を行う。
(4)次に、Tella Gateサーバントの機能について説明する。
(4−1)Message Cache
Tella Gateサーバントは、メッセージを受け取ったとき、メッセージのMessage GUIDとMessage Cacheを用いてメッセージのチェックを実行する。Message Cacheは、表3に示すテーブル形式で表現される。
受信メッセージのMessage GUIDとMessage Cache TableのMessage GUIDを比較し、一致するMessage GUIDを発見できなかった場合、受信メッセージを破棄する。
〔2〕受信メッセージがQueryの場合
受信メッセージのMessage GUIDとMessage Cache TableのMessage GUIDを比較し、一致するMessage GUIDを発見した場合、その受信メッセージは、既受信メッセージであるのでQuery Error(Loop)で応答する。また、新規受信メッセージである場合、Message Cache Tableに追加する。
〔3〕受信メッセージがQuery Hitの場合
受信メッセージのMessage GUIDとMessage Cache TableのMessage GUIDを比較し、一致するMessage GUIDを発見した場合、受信元IP:Portを参照し接続が確立していたら受信したQuery Hitを返信する。接続が確立していないまたは、一致Message GUIDが発見できない場合は、受信したQuery Hitを破棄する。
(4−2)Peer Digest Cache
Tella Gateサーバントは、1次近傍サーバント、2次近傍サーバントのPeer DigestをキャッシュするPeer Digest Cache:cache1 ,cache2 を持つ。各キャッシュは、表4に示すテーブル形式で表現される。
図17は本発明にかかるPong Proxy機能を示す模式図である。
〔Ping送信側(サーバントA)の手順〕
〔1〕サーバントBへPingを送信する。
〔2〕サーバントBから、Pongを受け取ったら、Header部のHop値を調べ、Hop=1の場合は〔3〕へ、Hop=2の場合は〔4〕へ進む。
〔3〕Pongに含まれるPeer Digestは、サーバントBのPeer Digestであり、サーバントBはサーバントAにとって1次近傍であるので、cacheA,1 に格納する。
〔4〕Pongに含まれるPeer Digestは、サーバントC,D,EのPeer
Digestであり、これらは、サーバントAにとって2次近傍と推測される。そこで、PongからTella Gate GUID,IP,Portを取り出し、cacheA,1 のエントリーと比較し、cacheA,1 に含まれていない場合(サーバントD,EのPeer Digest)、cacheA,2 に格納する。cacheA,1 に含まれている場合(サーバントCのPeer Digest)は破棄する。
〔Ping受信側(サーバントB)の手順〕
〔1〕自身のPeer Digest:digestB を含むPongで返答する。
〔2〕cacheB,1 ≠φである場合、cacheB,1 からランダムにMAXPong Proxyだけ選びだし、それぞれのPeer DigestをPongに埋め込み返答する(Pong Proxy機能)。その際、Header部のHopに1を加算する。
(4−4)Query Routing Protocol with Firework;QRPwF
図18はQRPwFを説明するための模式図である。
(手順)
〔1〕Queryを受け取ったサーバントは、自身がQueryを満たすコンテンツを所有していない場合、Lを、Query送信元サーバントを除いたcache1 で初期化する。
〔2〕L=φの場合、Query Error(Deadlock)をQuery送信元サーバントに返信して終了する。
〔3〕L≠φの場合、cache1 の各要素:Xに対し、
check(digestx ,w)={true,false} …(2)
を実行する。falseの場合、すなわち、1次近傍サーバントXのdigestx がQueryを満たすコンテンツを所有していない場合、LからサーバントXを削除し、Lをtrueとなるサーバントだけの集合に更新する。
〔4〕L≠φの場合、Lの全てのサーバントに対し、Queryを転送する。L=φの場合、cache1 からランダムに選択したN個のサーバントに、Queryを転送する。
(4−5)Backward Learning
図19はBackward Learningを説明する模式図である。
〔1〕Query Errorを受信した場合
Query Error発生元のサーバントXに対するcache1 のdigestx =(b0 ,…,bM-1 )を修正する。検索キーワードである単語wに対し、単語ベクトルwbを求め、以下のように修正する。
修正後、QRPwFを実行し新たな転送先を決定する。
〔2〕Query Hitを受信した場合
Query Hit送信元サーバントXとQuery Hit逆転送先サーバントYに対するcache1 のdigestz =(b0 ,…,bM-1 )(Z={X,Y})を修正する。検索キーワードである単語wに対し、単語ベクトルwbを求め以下のように修正する。
修正後、Query HitをサーバントYへ逆転送する。
Error(Deadlock)をそれぞれサーバントBへ返信している。さらに、サーバントDはサーバントCへQueryを転送する。サーバントCはサーバントDへQuery Error(Loop)で返信する。
(4−6)次に、Community Self−Organization Algorithm(コミュニティー自己組織化アルゴリズム)について説明する。
simxs0 ≧simxs1 ≧simxsN
(手順)
〔ステップS1〕現在のTCP接続数が最大TCP接続数以下のとき、サーバントXはサーバントs0 に対し、Hand Shakeメッセージを送信し、接続確立を要求する。
〔ステップS2〕上記〔ステップS1〕において、接続が拒否された場合、Sx からs0 を削除する。sの添字nをn=n−1とシフトする。
〔ステップS3〕Sx ≠φの場合、上記〔ステップS1〕へ戻る。Sx =φの場合は終了する。
〔ステップS4〕上記〔ステップS1〕において接続が確立した場合、サーバントs0 を1次近傍サーバント集合nbrx,1 に追加、2次近傍サーバント集合nbrx,2 から削除し、サーバントs0 のピア・ダイジェストdigests0をcacheB,1 に追加し、cache2 からは削除する。
〔ステップS5〕現在のTCP接続数が最大TCP接続数を越えている場合、上記〔ステップS4〕で追加したサーバントs0 を除いた1次近傍サーバント集合nbrx,1 −s0 からランダムにサーバントZを選び、1次近傍サーバント集合nbrx,1 からサーバントZ、cacheB,1 からcache2 を除去し、TCP接続を切断する。
(5)次に、応用事例(Tella Scope)について説明する。
(5−1)Tella Scope
Tella Scopeは、Tella Gateを利用したドキュメント・コンテンツ共有システムである。
(1)File GUID
(2)File Name
(3)Tella Gate IP:Port
(4)File Size
(5)TTL
(6)Hop
を得る。ユーザは、結果リストからファイルを選択し、ダウンロードを開始する。
(5−2)Tella Gate
Tella Gateには、Tella Scopeからの接続を管理するTella
Scopeサーバが組み込まれている。
(6)次に、本発明のピア・ツウ・ピアネットワークにおける分散情報共有・検索システムの性能の評価について説明する。
(6−1)初期トポロジー
図24に示すランダムネット(L=Lmax =4)を初期状態とする。サーバント数は500である。なお、Lは現在のTCP接続数、Lmax は最大TCP接続数を示す。
(6−2)コンテンツ
コンテンツ集合を、C={c0 ,…,c499 }とする。コンテンツcn はキーワードnが割り当てられる。さらに、コンテンツ集合をC={G0 ,…,G4 }と等分割する。Gi の要素数は120とし、Gi はGi+1 と重複した要素を持つ。但し、G5 =G0 である。
(6−3)コミュニティー
各サーバントは、Gi の要素のみを生成または要求する。従って、Gi はコミュニティーの属性に対応する。
(6−4)Peer Digest
Peer Digestのビット列のサイズをM=2000とする。このとき、false positive rate(非特許文献1)の理論値は0.160となる。
(6−5)UOM,DOM
コンテンツの生成は、UOM(Upload Only Member)でのみ行われる。コンテンツの要求は、DOM(Download Only Member)によって行われる。全サーバント数に対するUOMの割合を10%とした。
(6−6)容量指数:α
α≒保存できるコンテンツ数/Gi のコンテンツ数 …(5)
α=1のとき、Gi の要素を全て保存できる。α<1の場合、コンテンツは、LRU(Least Recently Used)に従って削除される。
(6−7)メッセージバッファ:mb
1ステップで処理できるメッセージの数であり、受信メッセージ数がmbを越えた場合、超過メッセージは破棄される。
(6−8)メッセージ・サイズ
メッセージ・サイズを表5に示す〔Peer Digestのサイズは、2000bit(=250byte)であるが、実装時の値を考慮した〕。ここでは、Byeメッセージは省略している。
各サーバントは、Query,Pingを10step,1000step毎に送信する。また、自己組織化アルゴリズムを、1000step毎に実行する。
2 識別子の判定
3 Ping
4,16 Pong
5 Query
6 Query Error
7 Query Hit
8 Pong Proxy
9,11,15 Message Cache Check
10 Peer Digest Cache
12 Search Query
13 Backward Learning
14 QRPwF
17 Query Error(Loop)
18 Query Hit(Return)
19 Query(Forward)
20 Query Error(Deadlock)
21 Query Hit(Backward)
30 Tella Gateサーバント
31 サーバントエンジン部
32 サーチエンジン部
33 共有情報
34 Message Cache
35 Peer Digest Cache(1)
36 Peer Digest Cache(2)
41,47,51,52,58,59 Tella Scope
42,45,53,56 Tella Gate
43,46,54,57 Tella Scopeサーバ
44,55 LAN又はインターネット
Claims (16)
- Tella GateプロトコルによるTella Gateサーバントを、該サーバントと嗜好の類似したサーバントとネットワーク上で近くなるように自己組織的に再配置させることにより、ネットワークの通信負荷を抑制しつつ、コンテンツの発見率を向上させるピア・ツウ・ピアネットワークにおける分散情報共有・検索方法であって、
前記Tella Gateプロトコルは、該サーバントの記憶装置に保存されているテキストから出現頻度の高いN MAX 個の単語より所定長のビット列であるピア・ダイジェストを作成かつ該サーバントの1次近傍サーバントと交換し、該サーバントのピア・ダイジェストと交換により取得・保持したピア・ダイジェストの比較により、該サーバントと嗜好の類似したサーバントがネットワーク上で近くなるように接続を確立することにより配置を自己組織化し、Tella Gateサーバントの識別用に用いられるTella Gate GUIDと、メッセージの識別に用いられるMessage GUIDを経路制御および経路制御学習に用い、コンテンツの識別に用いられるFile GUIDを発見したコンテンツをダウンロードする際に用いることを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。 - 請求項1記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、前記Tella Gate GUIDは、Tella Gateユーザまたは管理者のメールアドレスから、一方向性ハッシュ関数によって計算され、前記Message GUIDは、時間情報、疑似乱数から一方向性ハッシュ関数によって計算され、前記File GUIDは、コンテンツのバイナリーデータから、一方向性ハッシュ関数によって計算されることを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
- 請求項1記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、Tella Gate ネットに接続が確立したサーバントは、TCPフレームのデータ部にメッセージを格納して公開コンテンツのためのメッセージを交換することを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
- 請求項1記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、Tella Gateプロトコルの機能の一つとしてのPong ProxyがPingとPongによって達成され、Pingを受け取ったサーバントは、Pingを転送する代わりに、Pong Proxyの機能により、前記Pingを受け取ったサーバントの1次近傍サーバントに代わってPongを返信して、該1次近傍サーバントの先に取得したピア・ダイジェストを送信することを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
- 請求項4記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、サーバントAはサーバントBにPingを送信し、サーバントBは、まず自身のピア・ダイジェストであるdigestB を含むPongを返信し、次に、サーバントBは自身の1次近傍サーバント集合nbrB,1 からランダムに所定数のサーバントを選び、先に取得したこれらのピア・ダイジェストを含むPongをサーバントAにそれぞれ返すことにより、サーバントAは2次近傍サーバント集合nbrA,2 であるサーバントD,Eのピア・ダイジェストdigestD,E を収集することができ、サーバントAは、digestB ,digestD,E をそれぞれ、1次近傍サーバント、2次近傍サーバントのピア・ダイジェストキャッシュであるcacheA,1 ,cacheA,2 に記憶しておくことを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
- 請求項1記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、前記Tella Gateプロトコルは、Queryの経路制御にQRPwF(QRP with Firework)を用いることを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
- 請求項1記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、前記Tella Gateプロトコルは、経路制御学習(Backward Learning)を行うことを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
- 請求項7記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、前記経路制御学習(Backward Learning)は、Queryを受信したサーバントがコンテンツを発見した場合には、Quary Hitを、コンテンツが発見できず、転送先が無い場合は、Query Error Deadlock、すでに受け取ったことのあるQueryを再び受信した場合は、Query Error Loopを返信し、Query Hit,Query Errorを受け取ったサーバントは、これに基づいて、ピア・ダイジェストを修正することを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
- 請求項1記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、前記Tella Gateプロトコルは、ネットワーク上でコミュニティーを自己組織化するアルゴリズム(Community Self−Organization Algorithm)を有することによって、検索効率を向上させることを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
- 請求項9記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、前記コミュニティーを自己組織化するアルゴリズムは、(a)L≦Lmax のとき、サーバントXはサーバントs0 に対しHand Shakeメッセージを送信し、接続確立を要求し、(b)上記(a)において、接続が拒否された場合、Sx からs0 を削除し、sn の添字をn=n−1とシフトし、(c)Sx ≠φの場合、上記(a)へ戻り、S=φの場合、終了し、(d)上記(a)において接続が確立した場合、サーバントs0 を1次近傍サーバント集合nbrx,1 に追加、2次近傍サーバント集合nbrx,2 から削除し、サーバントs0 のピア・ダイジェストdigests0をcachex,1 へ追加し、cachex,2 から削除し、(e)L>Lmax の場合、上記(d)で追加したサーバントs0 を除いた1次近傍サーバント集合nbrx,1 −s0 から、ランダムにサーバントZを選び、(f)1次近傍サーバント集合nbrx,1 からサーバントZ、cachex,1 からサーバントZのピア・ダイジェストdigestz を削除し、サーバントZとのTCP接続を切断することを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
ただし、
L:現在のTCP接続数
Lmax :最大のTCP接続数
cachex,1 :サーバントXの1次近傍サーバントのピア・ダイジェストを記憶するキャッシュ
cachex,2 :サーバントXの2次近傍サーバントのピア・ダイジェストを記憶するキャッシュ
Sx :サーバントXの2次近傍サーバントSを嗜好類似度simXYの大きい順にソートした順序付き集合
Sx ={s0 ,s1 ,…,sN }
simXs0 ≧simXs1 ≧simXsN
φ:空集合 - (a)Tella Gateサーバントの記憶装置に保存されているテキストから出現頻度の高いN MAX 個の単語から所定長のビット列に変換されたユーザの嗜好を反映するピア・ダイジェストと、
(b)前記ユーザの嗜好情報であるピア・ダイジェストと先に取得・保持している該サーバントの1次近傍サーバントのピア・ダイジェストを、該Tella Gateサーバントの1次近傍サーバントと交換する機能を有するPong Proxy(ポン・プロキシー)手段と、
(c)検索要求に含まれる単語とPong Proxyにより取得・保持したピア・ダイジェストの比較により検索要求の経路を決定する経路制御(Query Routing Protocol with Firework)手段と、
(d)検索要求の成功・不成功により経路制御表の学習を行う経路制御学習(Backward Learning)手段とを備え、
(e)該サーバントのピア・ダイジェストとPong Proxyにより取得・保持した2次近傍サーバントのピア・ダイジェスト間で類似度を計算し、類似度の高い2次近傍サーバントと接続を確立することにより、ネットワーク上でコミュニティーを自己組織化する手段とを具備することを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索システム。 - 請求項11記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索システムにおいて、前記ピア・ダイジェストは、該サーバントの記憶装置に保存されているテキストから出現頻度の高いN MAX 個の単語を抽出し、ユーザの嗜好を表すM−bitのビット列またはM/8次元のchar型ベクターのブルーム・フィルタ(Bloom Filter)に変換することによって表されることを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索システム。
- 請求項11記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索システムにおいて、Tella Gateプロトコルは、Tella Gateサーバントの識別用に用いられるTella Gate GUIDと、メッセージの識別に用いられるMessage GUIDを、経路制御および経路制御学習に用い、コンテンツの識別に用いられるFile GUIDを発見したコンテンツをダウンロードする際に用いることを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索システム。
- 請求項11記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索システムにおいて、Tella Gate ネットに接続が確立したサーバントは、TCPフレームのデータ部にメッセージを格納して公開コンテンツのためのメッセージを交換する手段を具備することを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索システム。
- 請求項11記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索システムにおいて、Tella Gateプロトコルの機能の一つとしてのPong ProxyがPingとPongによって達成され、Pingを受け取ったサーバントは、Pingを転送する代わりに、Pong Proxyの機能により、前記Pingを受け取ったサーバントの1次近傍サーバントに代わってPongを返信して、該1次近傍サーバントの先に取得したピア・ダイジェストを送信する手段を具備することを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索システム。
- 請求項11記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索システムにおいて、サーバントAはサーバントBにPingを送信し、サーバントBは、まず自身のピア・ダイジェストであるdigestB を含むPongを返信し、次いで、サーバントBは自身の1次近傍サーバント集合nbrB,1 からランダムに所定数のサーバントを選び、先に取得したこれらのピア・ダイジェストを含むPongをサーバントAにそれぞれ返すことにより、サーバントAは2次近傍サーバント集合nbrA,2 であるサーバントD,Eのピア・ダイジェストdigestD,E を収集することができ、サーバントAは、digestB ,digestD,E をそれぞれ、1次近傍サーバント、2近傍サーバントのピア・ダイジェストを記憶するキャッシュであるcacheA,1 ,cacheA,2 に記憶する手段とを具備することを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003345735A JP4300292B2 (ja) | 2003-10-03 | 2003-10-03 | ピア・ツウ・ピアネットワークにおける分散情報共有・検索方法及びそのシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003345735A JP4300292B2 (ja) | 2003-10-03 | 2003-10-03 | ピア・ツウ・ピアネットワークにおける分散情報共有・検索方法及びそのシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005115453A JP2005115453A (ja) | 2005-04-28 |
JP4300292B2 true JP4300292B2 (ja) | 2009-07-22 |
Family
ID=34538916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003345735A Expired - Lifetime JP4300292B2 (ja) | 2003-10-03 | 2003-10-03 | ピア・ツウ・ピアネットワークにおける分散情報共有・検索方法及びそのシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4300292B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007034734A (ja) | 2005-07-27 | 2007-02-08 | Sony Corp | データ流通システム、データ流通方法、サーバ、及び端末装置 |
KR100678957B1 (ko) | 2005-08-31 | 2007-02-06 | 삼성전자주식회사 | 네트워크 상에서 존재하는 네트워크 장치들간의 멀티미디어데이터를 공유하는 장치 및 그 방법 |
JP2009129178A (ja) * | 2007-11-22 | 2009-06-11 | Hitachi Ltd | 情報検索システムおよびプログラム |
JP5415352B2 (ja) * | 2010-05-07 | 2014-02-12 | Kddi株式会社 | オーバレイネットワークを用いたユーザ嗜好に適応するコンテンツ配信方法、ピアノード及びプログラム |
US9350809B2 (en) * | 2011-01-31 | 2016-05-24 | Nokia Technologies Oy | Method and apparatus for automatically determining communities of interest, for use over an ad-hoc mesh network, based on context information |
CN103581224B (zh) * | 2012-07-25 | 2018-05-22 | 腾讯科技(深圳)有限公司 | 推送信息的方法和装置 |
US11645368B2 (en) | 2016-12-30 | 2023-05-09 | Google Llc | Hash-based dynamic restriction of content on information resources |
-
2003
- 2003-10-03 JP JP2003345735A patent/JP4300292B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2005115453A (ja) | 2005-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sarshar et al. | Percolation search in power law networks: Making unstructured peer-to-peer networks scalable | |
Broder et al. | Network applications of bloom filters: A survey | |
Hildrum et al. | Distributed object location in a dynamic network | |
CN101232415B (zh) | 对等网络节点访问装置、方法和系统 | |
CN1692616B (zh) | 对等环境中的网络流量控制 | |
US20090182842A1 (en) | Method And System For Redirecting Data Requests In Peer-To-Peer Data Networks | |
CA2590345A1 (en) | Bidirectional data transfer optimization and content control for networks | |
CN103873602A (zh) | 一种网络资源命名方法与生成装置 | |
JP4300292B2 (ja) | ピア・ツウ・ピアネットワークにおける分散情報共有・検索方法及びそのシステム | |
Cai et al. | Foreseer: a novel, locality-aware peer-to-peer system architecture for keyword searches | |
JP2006252384A (ja) | 検索システム、検索サーバ、及び、ネットワークサーバ | |
Liu et al. | Efficient resource discovery in self‐organized unstructured peer‐to‐peer networks | |
Bhagat et al. | Content-based file sharing in peer-to-peer networks using threshold | |
US20110264802A1 (en) | Optimized mirror for p2p identification | |
Ng et al. | Peer Clustering and Firework Query Model in Peer-to-Peer Networks | |
Lv et al. | pservice: Peer-to-peer based web services discovery and matching | |
Zuo et al. | Critical link-aware P2P search for internet videos in semantic overlay network | |
Kojima | Self-organization approach of communities for P2P networks | |
JP2004127074A (ja) | P2pネットワークにおけるファイル検索方法、端末、プログラム、および記録媒体 | |
Yu et al. | SNet: skip graph based semantic web services discovery | |
Perera et al. | Broadcast Updates with Local Look-up Search (BULLS) a new peer-to-peer protocol | |
Liu et al. | Double‐layer P2P networks supporting semantic search and keeping scalability | |
Portegys | Spores: A Push and Pull Peer-to-Peer File Sharing Approach. | |
Ahmed et al. | Collaborative Web Hosting: Challenges and Research Directions | |
Ishak et al. | Exploiting query feedbacks for efficient query routing in unstructured peer-to-peer networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050502 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080624 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080815 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081118 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090108 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090324 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4300292 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |