JP4300292B2 - ピア・ツウ・ピアネットワークにおける分散情報共有・検索方法及びそのシステム - Google Patents

ピア・ツウ・ピアネットワークにおける分散情報共有・検索方法及びそのシステム Download PDF

Info

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
Application number
JP2003345735A
Other languages
English (en)
Other versions
JP2005115453A (ja
Inventor
一浩 小島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
National Institute of Advanced Industrial Science and Technology AIST
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National Institute of Advanced Industrial Science and Technology AIST filed Critical National Institute of Advanced Industrial Science and Technology AIST
Priority to JP2003345735A priority Critical patent/JP4300292B2/ja
Publication of JP2005115453A publication Critical patent/JP2005115453A/ja
Application granted granted Critical
Publication of JP4300292B2 publication Critical patent/JP4300292B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ピア・ツウ・ピアネットワークにおける分散情報共有・検索方法及びそのシステムに関するものである。
まず、最初に本発明にかかる用語の説明を行う。
(1)Servent(サーバント)とは、サーバー(Server)とクライアント(Client)双方の機能を持つ、プログラムまたはソフトウェアを言う。
(2)Peer−to−Peer(P2P)型の通信方式、つまり、ピア・ツウ・ピアネットワークとは、中央制御装置がなく、すべてのノードがネットワークに平等にアクセス可能なLAN(ローカルエリアネットワーク)を言う。
(3)1次近傍サーバントとは、直接TCP接続が確立しているサーバントをいう。この1次近傍サーバントの集合をnbr1 で表す。図1の場合は、サーバントAの1次近傍サーバントは、nbrA,1 ={B,C,D,E}である。
(4)2次近傍サーバントとは、1次近傍サーバントの1次近傍関係にあるサーバントをいう。ただし、自身と自身の1次近傍サーバントに含まれるサーバントを除く。この2次近傍サーバントの集合をnbr2 で表す。図1の場合、サーバントAの2次近傍サーバントは、nbrA,2 ={F,G,H}である。
(5)GUID(Globally Unique IDentifire)とは、インターネット上で一意となるIDを言う。
近年、ブロードバンド環境の普及によって、Peer−to−Peer(P2P:ピア・ツウ・ピア)型の通信方式が定着しつつある。現在、P2Pソフトウェアは、CDやDVDなどのデジタルメディアから違法に作成された、mp3やmpegなどのマルチメディアコンテンツの交換ツールとして普及している。そのため、P2Pに対する社会的イメージは悪い。しかし、P2Pシステムは、処理分散、耐故障性など従来のサーバー(Server)/クライアント(Client)型とは異なる特性を備え、分散検索、ナレッジマネージメントなどへの応用が期待できる。
[非特許文献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]Jrn 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.(下線付きのにはウムラウトが付く)
[非特許文献5]R.Albert,H.Jeong and A.L.Barbasi,“Error and attack tolerance of complex networks”,Nature,Vol.406,pp.378−381,2000.(下線付きのにはアクサン・テギュが付く)
しかしながら、P2Pシステムには、ネットワーク負荷の増大とそれに伴う通信コストの増大、コンテンツ発見の困難さなどの技術的課題が残されている。
本発明では、上記状況に鑑みて、コンテンツ発見を容易にするために、ユーザの嗜好に着目し、嗜好の類似したサーバントを、ネットワーク上で近くなるように自己組織的に再配置することにより、ネットワークの通信負荷を抑制しつつ、コンテンツの発見率を向上させることができるピア・ツウ・ピアネットワークにおける分散情報共有・検索方法及びそのシステムを提供することを目的とする。
本発明は、上記目的を達成するために、テラ・ゲート(Tella Gate)プロトコルを提案する。かかるTella Gateプロトコルを実装したTella Gateサーバントは以下の機能を持つ。
(1)ユーザの嗜好を表現する(ピア・ダイジェスト:Peer Digest)。
(2)ユーザの嗜好情報をサーバント同士で交換する機能ポング・プロキシー(Pong Proxy)を有する。
(3)検索要求(Query)の転送先を決定し、その経路制御(routing)を可能とする(Query Routing Protocol with Firework:QRPwF)。
(4)経路制御学習(Backward Learning)ができる。
(5)Community Self−Organization Algorithmによりネットワーク上でコミュニティーを自己組織化することができる。
そして、計算機実験によってその有効性を確認した。
最後に、応用例として分散検索システム:Tella Scopeを提案する。
本発明によれば、ユーザの嗜好の類似したサーバントを、ネットワーク上で近くに配置することによって、ネットワークの通信負荷を抑制しつつ、コンテンツ発見率を向上させることができる。また、サーバントの配置は、ローカル通信により自己組織的に行われる。
よって、従来の分散ファイル共有システムにおけるコンテンツの発見は、ネットワークに多大な負荷を与える通信コストの高いものであったが、本発明によれば、ユーザの嗜好によってネットワークにコミュニティーを自己組織化させ、情報共有・検索のコストを低減させることができる。
Tella GateプロトコルによるTella Gateサーバントを、該サーバントと嗜好の類似したサーバントとネットワーク上で近くなるように自己組織的に再配置させることにより、ネットワークの通信負荷を抑制しつつ、コンテンツの発見率を向上させるピア・ツウ・ピアネットワークにおける分散情報共有・検索方法であって、前記Tella Gateプロトコルは、テキストから出現頻度の高いN MAX 個の単語よりピア・ダイジェストを作成し、かつ、Tella Gateサーバントの識別用に用いられるTella Gate GUIDと、メッセージの識別に用いられるMessage GUIDと、コンテンツの識別に用いられるFile GUIDとを用いる。
以下、本発明の実施例を図を参照しながら説明する。
(1)まず、本発明にかかるピア・ダイジェスト(Peer Digest)について説明する。
このピア・ダイジェストは、ユーザの嗜好を表すM−bitのビット列またはM/8次元のchar型ベクターのBloom Filter(ブルーム・フィルタ)(上記非特許文献1)によって表される。
(1−1)ピア・ダイジェストの計算方法
以下に、ピア・ダイジェストの求め方について述べる。
まず、はじめに記号の説明を行う。
〔1〕Wは単語集合であり、W={w0 ,…,wN }で表される。ただし、出現頻度順にソートされた順序付き集合でfreq(w0 )≧…≧freq(wN )である。freq(・)は、単語の出現頻度を示す。
〔2〕digestはピア・ダイジェストのことであり、
digest=(b0 ,…,bM-1 )(bm ={0,1})である。
〔3〕hk は一方向性ハッシュ関数であり、0≦hk ≦M−1(k=1,…,K)で表される。
〔4〕wbは単語ベクトルであり、単語wを一方向性ハッシュ関数hk によって変換して得られるK次元ベクトルであり、wb=(wb1 ,…,wbK )=〔h1 (w),…,hK (w)〕で表される。
図2はピア・ダイジェストを求める手順を示すフローチャートである。
(ステップ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)。
以上の手順によって、テキストから出現頻度の高いNMAX 個の単語からdigestを作成することができる。ただし、単語の文字コードはUTF−8とする。
一方向性ハッシュ関数の具体例として、Tella GateではMD5を用いる。MD5は任意の文字列から160bitのビット列を生成する。これを、32bit毎に分割することにより、4次元の単語ベクトル:wb∈R4 を得ることができる(上記非特許文献2)。
(1−2)嗜好類似度
ユーザ間の嗜好の近さを計るために、ユーザAとユーザBの嗜好類似度:simABを、以下のように定義する。
simAB≒〔count(digestA ∧digestB )〕/M
…(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のメッセージを入れて、接続を要求する。
このメッセージを受け取ったサーバントは、接続を受入れる場合には、図4のメッセージを返信する。
また、接続を拒否する場合は、Peer Digest Cache:chace1 ,chace2 (後述)からランダムにTella Gateサーバントを選択し、IP:Port(後述)を含む図5のリダイレクトメッセージを返信する。
(2−3)Tella Gateフレーム
Tella Gate Netに参加したサーバントは、TCPフレームのデータ部にメッセージを格納してコンテンツ共有のためのメッセージを交換する。Tella Gateのメッセージは、図6に示すように、ヘッダー(Header)とペイロード(Payload)で構成される。
ペイロードに格納するデータの種別(Descriptor:ディスクリプタ、記述子)とその概要を表1に示す。
(2−3−1)Header
Tella GateフレームのHeader(ヘッダー)は、図7に示すように、27byteに固定され、以下のように構成される。
〔1〕Message GUID
上記(2−1)参照
〔2〕Payload Descriptor(1byte=8bit)
メッセージの種別と対応コードを表2に示す。
〔3〕TTL(1byte=8bit)
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次近傍サーバントの共有情報を要求するメッセージである。
PingのTTL値は1である。各サーバントは、送られてきたPingに対しPongで応答する。また、Pingを転送する代わりに、Pong Proxyの機能により、自身の1次近傍サーバントに代わってPongを返信する(後述)。
(2−3−3)Pong
Pingに応答するメッセージであり、図8に示すように、Pingに対して自分の存在を明示し、自分の共有情報を伝えるメッセージである。
ここで、図8における、
〔1〕Tella Gate GUIDは、Pong返答するサーバント、またはPong ProxyによりPong返答を代行する1次接続サーバントのTella Gate GUIDである。
〔2〕IP(4byte=32bit)は、Pong返答するサーバント、またはPong ProxyによりPong返答を代行する1次接続サーバントの接続を受入れるIPアドレスである。
リトルエイディアン表記:
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を他のサーバントに転送する。
ここで、図9における、
〔1〕Tella Gate GUIDは、検索要求を創出したサーバントのTella Gate GUIDである。
〔2〕Search Criteria〔サーチ基準〕は、検索キーワードであり、この検索キーワードはNULL(’\0’=0x00)で区切られ、AND条件として検索が実行される。フィールドは、NULLで終了する。また、文字コードはUTF−8とする。
検索要求は、図9に示すように、個々の要求(検索キーワード)が異なるために可変長データとなる。
(2−3−6)Query Hit(クエリー・ヒット)
Queryに対する応答メッセージであり、受け取ったQueryに基づく検索結果、ヒットした場合にはQuery Hitを返信する。図10に示すように、検索結果はサーバントの共有情報や検索条件によりその内容が異なるため、可変長データとなる。
ここで、図10における、
〔1〕Tella Gate GUIDは、Query HitしたサーバントのTella Gate GUIDである。
〔2〕IP(4byte=32bit)は、Query HitしたサーバントのIPアドレスである。
リトルエイディアン表記:
1byte:1byte:1byte:1byte=8bit:8bit:8bit:8but=255.255.255.255
〔3〕Port(2byte=16bit)
Query HitしたサーバントのPort番号であり、最大65536である。
〔4〕Number of Hits(1byte=8bit)
Query Hitの数であり、最大255である。
〔5〕Result Set
検索結果である。この検索結果は、コンテンツ毎に1件ずつNULL(’\0’=0x00)で終わるテーブル・データとして図11に示すResult Setに格納する。検索結果が複数のコンテンツの場合は、Result Setにコンテンツの件数分繰り返し格納する。
ここで、図11における、
〔1〕File GUID(20byte=160bit)は、ヒットしたコンテンツのFile GUIDである。
〔2〕Size(4byte=32bit)は、ヒットしたコンテンツのサイズ(byte)である。なお、最大4,294,967,295=4Tbyteである。
〔3〕File Nameは、ヒットしたコンテンツのファイル名であり、文字コードはUTF−8とする。
(2−3−7)Query Error(クエリー・エラー)
Queryに対しDeadlock(デッドロック)またはLoop(ループ)が発生した場合の応答メッセージであり、図12に示すように、データ部はQueryと同じであるが、ヘッダーのコードが異なる。なお、Deadlockは受け取ったQueryに対する検索結果がヒットなしで、かつQueryの転送先がないこと、Loopは既に同じQueryを受け取っていることを意味する。
(2−4)メッセージ処理のフローチャート
図13は本発明にかかるメッセージ処理のフローチャートである。
この図において、1はメッセージ、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)である。
この図に示すように、受け取ったメッセージ1に対する返答であるPing3,Pong4,Query5,Query Hit7,Query Error6に対する処理が、図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に示す。
図15において、Sizeは、転送されるファイルのサイズである。
〔3〕コンテンツのダウンロード
上記〔2〕のレスポンスに続いてファイル・データが送信される。
〔4〕終了処理
上記〔2〕で送信されたContent−lengthまで完了したら、ソケットを閉じる。
(3)次に、Tella Gateサーバントのシステム構成について説明する。
図16はTella Gateサーバントの基本構造を示す図である。
この図において、30はTella Gateサーバントであり、このTella Gateサーバント30は、サーバントエンジン部31、サーチエンジン部32、共有情報33、Message Cache34、Peer Digest Cache(1)35、Peer Digest Cache(2)36を有している。
(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に示すテーブル形式で表現される。
〔1〕受信メッセージがPongの場合
受信メッセージの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に示すテーブル形式で表現される。
(4−3)Pong Proxy
図17は本発明にかかるPong Proxy機能を示す模式図である。
Ping−Pongによって、各サーバントは1次近傍サーバントのPeer Digestを収集することができる。さらに、Pong Proxyにより、Pingを受け取ったサーバントが、自身の1次近傍サーバントのPeer DigestもPongによってPing送出サーバントに返信するため、Ping送出サーバントが2次近傍サーバントのPeer Digestを収集することを可能にする。
以下に、Pong Proxyによる2次近傍サーバントのPeer Digest収集手順を述べる。
まず、記号の説明を行う。
cacheX,d はサーバントXのd次Peer Digest Cacheである。
MAXPong ProxyはPong Proxyによって代理返信するPongの最大数である。
〔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を説明するための模式図である。
QRPwF(Query Routing Protocol with Firework)は検索要求(Query)の転送先を決定する経路制御(ルーティング)方法である。
まず、記号の説明を行う。
LはQueryを転送する候補サーバント集合である。
check(digestx ,w)は単語wがサーバントXのPeer Digest:digestx に含まれているかチェックする関数である。戻り値は、trueまたはfalseである。digestx がwを含む場合、trueを返す。
(手順)
〔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を転送する。
図18の場合、サーバントAからQueryを受信したサーバントBは、check(digest,w)がtrueとなるサーバントC,D,FにQueryを転送している。また、サーバントFからサーバントBへ、Query Error(Deadlock)が、サーバントCからサーバントDへQuery Error(Loop)が返信されている。
(4−5)Backward Learning
図19はBackward Learningを説明する模式図である。
Backward Learningは、受信したQuery Hit,Query Errorによって、cache1 のQuery Hit,Query Errorを送信したサーバントのdigestを修正する機能である。
〔1〕Query Errorを受信した場合
Query Error発生元のサーバントXに対するcache1 のdigestx =(b0 ,…,bM-1 )を修正する。検索キーワードである単語wに対し、単語ベクトルwbを求め、以下のように修正する。
wbk =0(k=1,…,K) …(3)
修正後、QRPwFを実行し新たな転送先を決定する。
〔2〕Query Hitを受信した場合
Query Hit送信元サーバントXとQuery Hit逆転送先サーバントYに対するcache1 のdigestz =(b0 ,…,bM-1 )(Z={X,Y})を修正する。検索キーワードである単語wに対し、単語ベクトルwbを求め以下のように修正する。
wbk =1(k=1,…,K) …(4)
修正後、Query HitをサーバントYへ逆転送する。
図19に例を示した。サーバントBはサーバントAからのQueryを、サーバントC,D,Fに転送する。サーバントCはQuery Hitを、サーバントFはQuery
Error(Deadlock)をそれぞれサーバントBへ返信している。さらに、サーバントDはサーバントCへQueryを転送する。サーバントCはサーバントDへQuery Error(Loop)で返信する。
以上より、サーバントBがサーバントC,Fに対して、サーバントDがサーバントCに対してdigestの修正、すなわち、Backward Learningを行う。
(4−6)次に、Community Self−Organization Algorithm(コミュニティー自己組織化アルゴリズム)について説明する。
図20は本発明にかかる自己組織化プロセスを示す模式図であり、図20(a)は自己組織化以前の状態、図20(b)はステップS1(後述)、図20(c)はステップS5(後述)、図20(d)は自己組織化プロセスの以降の状態をそれぞれ示している。
まず、記号の説明を行う。
x は、サーバントXの2次近傍サーバントを嗜好類似度simxsの大きい順にソートした順序付き集合を示す。
x ={s0 ,s1 ,…sN
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を利用したドキュメント・コンテンツ共有システムである。
Tella Scopeは、Tella Gateサーバントに対するユーザーインターフェース、ブラウザーである。Tella Scopeブラウザーを図21に示す。
ブラウザーはタブ・ブラウザーで、Searchタブで検索キーワードを入力・検索できる。ユーザは検索結果として、
(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サーバが組み込まれている。
Tella Scopeサーバのアドレスを127.0.0.1とすることにより、ユーザ端末のTella Scopeのみと接続が許可される、図22に示すプライベート型が構築される。
図22において、41,47はTella Scope、42,45はTella Gate、43,46はTella Scopeサーバ、44はLAN又はインターネットである。
これに対し、図23に示すように、Tella ScopeサーバのアドレスにNICのアドレスを割り当てることにより多人数で1つのTella Gateサーバントを共有する公開型を構築することができる。
図23において、51,52,58,59はTella Scope、53,56はTella Gate、54,57はTella Scopeサーバ、55はLAN又はインターネットである。
(6)次に、本発明のピア・ツウ・ピアネットワークにおける分散情報共有・検索システムの性能の評価について説明する。
本発明のTella Gateプロトコルの有効性を確認するために、従来のFloodingアルゴリズムを用いたGnutellaプロトコル(上記非特許文献3)との比較を、シミュレーションにより行う。評価は、Query Hit率(success rate)とネットワーク負荷によって行う。
以下に、シミュレーション条件を示す。
(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メッセージは省略している。
(6−9)タイム・ステップ
各サーバントは、Query,Pingを10step,1000step毎に送信する。また、自己組織化アルゴリズムを、1000step毎に実行する。
以下では、〔1〕α=1.0,mb=100,〔2〕α=0.25,mb=100,〔3〕α=0.25,mb=20に対してシミュレーションを行った。
そのシミュレーション結果を図25、図26、図27に示す。
まず、ネットワークトポロジーの変化について着目する。図24に示すように、初期ネットワークでは、コミュニティー構造を発見することはできないが、図25に示すように、自己組織化後にはコミュニティー構造が形成されていることがわかる。
つぎに、ネットワークの性能について比較する。
〔1〕α=1.0,mb=100の場合、サーバントはメッセージを十分処理でき、かつ全てのコンテンツを保存することができるので、従来のGnutella、本発明のTella Gate双方ともQuery Hit率は1.0に達する〔図26(a)〕。しかし、従来のGnutellaの場合、Floodingアルゴリズムにより、Queryが指数的に増加するために、初期段階においてネットワークを圧迫している〔図27(a)〕。これに対し、本発明のTella Gateでは、急激なネットワークの圧迫はない。しかし、全てのコンテンツを保存後においても、Peer Digest交換のための通信コストが必要である。
〔2〕α=0.25,mb=100の場合、全てのコンテンツをローカルに保存することができない。そのため、サーバントはローカルに保存していないコンテンツについては、常にネットワークに検索要求を送信する必要がある。そのため、従来のGnutellaではネットワーク負荷はピーク時の値付近に収束している〔図27(b)〕。これに対し、本発明のTella Gateでは若干の通信コストの増加で済んでいる。
〔3〕α=0.25,mb=20の場合、従来のGnutellaでは多くのQueryが破棄され、Query Hit率を大きく下げている。これに対して、本発明のTella GateではQuery Hitは1.0を維持し、ネットワーク負荷においても低い値を維持している。
本発明のTella Gateの場合、同じ嗜好を持つサーバントが常に1,2Hop内に存在している(図25)。また、嗜好が同じサーバント同士が多数接続している場合、QRPwFによってQueryは複製・転送される。そのため、1〜3Hopでコンテンツを発見する確立が高いと考えられる。コミュニティー構造とQRPwFによってもたらされる効果を、コミュニティー効果と呼ぶことにする。
(7)上記したように、本発明では、ユーザの嗜好に着目し、ネットワーク上にコミュニティーを自己組織化するTella Gateプロトコルを提案した。Tella Gate Netはコミュニティー効果によって、ネットワーク負荷を抑制しつつ、Query Hit率を維持できることを、シミュレーションによって確認した。
現在、Tella Gateプロトコルを実装したTella Gateサーバントとブラウザー:Tella Scopeの開発を行っている(図21)。
また、本発明で提案したCommunity Self−Orgnization Algolithmは、高いcluster性を保証するものであり、実際ネットワークのclustering係数は高い(C=0.14)。Davidsen(上記非特許文献4)は、局所相互作用によるSmall−Worldグラフの構成アルゴリズムを提案している。このアルゴリズムによって、自己組織化されるネットワークは、Scale Free性(上記非特許文献5)も示し、より一般的なSmall−Worldグラフになることが分かっている。Davidsenのモデルには、本発明のシステムのような内部状態(サーバントのローカルディスク)はないが、両アルゴリズムには局所相互作用の類似性が認められる。
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づいて種々の変形が可能であり、これらを本発明の範囲から排除するものではない。
本発明のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法及びそのシステムは、インターネットにおける情報配信・共有・検索の新しいプロトコルを提案しており、分散ナレッジマネージメント、配信、共有、検索などに好適であり、応用範囲は広い。
本発明にかかる1次、2次近傍サーバントの説明のための模式図である。 本発明にかかるピア・ダイジェストの作成フローチャートである。 本発明にかかるHandShake要求のメッセージを示す図である。 本発明にかかるHandShake要求に対する承諾の返答メッセージを示す図である。 本発明にかかるHandShake要求に対する接続拒否の返答メッセージを示す図である。 本発明にかかるTella Gateフレームを示す図である。 本発明にかかるTella Gateヘッダーフレームを示す図である。 本発明にかかるPongのPayloadフレームを示す図である。 本発明にかかるQueryのPayloadフレームを示す図である。 本発明にかかるQuery HitのPayloadフレームを示す図である。 本発明にかかる検索結果のPayloadフレームを示す図である。 本発明にかかる検索結果のQuery ErrorのPayloadフレームを示す図である。 本発明にかかるメッセージ処理フローチャートである。 本発明にかかるダウンロード要求時のHTTPコマンドを示す図である。 本発明にかかるダウンロード要求に対するレスポンスの形式を示す図である。 本発明にかかるTella Gateサーバントの基本構造を示す図である。 本発明にかかるPong Proxy機能を示す模式図である。 本発明にかかるQRPwFを説明するための模式図である。 本発明にかかるBackward Learningを説明する模式図である。 本発明にかかる自己組織化プロセスを示す模式図である。 本発明にかかるTella Gateプロトコルを実装したTella Gateサーバントとブラウザーを有するTella Scopeを示す図である。 本発明にかかるプライベート型通信システムの模式図である。 本発明にかかる公開型通信システムの模式図である。 本発明にかかる初期ネットワークトポロジーを示す図である。 本発明にかかる自己組織化後のネットワークトポロジーを示す図である。 本発明にかかるシステムの評価シミュレーション結果である成功率を示す図である。 本発明にかかるシステムの評価シミュレーション結果であるネットワーク負荷を示す図である。
符号の説明
1 メッセージ
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)

  1. Tella GateプロトコルによるTella Gateサーバントを、該サーバントと嗜好の類似したサーバントとネットワーク上で近くなるように自己組織的に再配置させることにより、ネットワークの通信負荷を抑制しつつ、コンテンツの発見率を向上させるピア・ツウ・ピアネットワークにおける分散情報共有・検索方法であって、
    前記Tella Gateプロトコルは、該サーバントの記憶装置に保存されているテキストから出現頻度の高いN MAX 個の単語より所定長のビット列であるピア・ダイジェストを作成かつ該サーバントの1次近傍サーバントと交換し、該サーバントのピア・ダイジェストと交換により取得・保持したピア・ダイジェストの比較により、該サーバントと嗜好の類似したサーバントがネットワーク上で近くなるように接続を確立することにより配置を自己組織化し、Tella Gateサーバントの識別用に用いられるTella Gate GUIDと、メッセージの識別に用いられるMessage GUIDを経路制御および経路制御学習に用い、コンテンツの識別に用いられるFile GUIDを発見したコンテンツをダウンロードする際に用いることを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
  2. 請求項1記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、前記Tella Gate GUIDは、Tella Gateユーザまたは管理者のメールアドレスから、一方向性ハッシュ関数によって計算され、前記Message GUIDは、時間情報、疑似乱数から一方向性ハッシュ関数によって計算され、前記File GUIDは、コンテンツのバイナリーデータから、一方向性ハッシュ関数によって計算されることを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
  3. 請求項1記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、Tella Gate ネットに接続が確立したサーバントは、TCPフレームのデータ部にメッセージを格納して公開コンテンツのためのメッセージを交換することを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
  4. 請求項1記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、Tella Gateプロトコルの機能の一つとしてのPong ProxyがPingとPongによって達成され、Pingを受け取ったサーバントは、Pingを転送する代わりに、Pong Proxyの機能により、前記Pingを受け取ったサーバントの1次近傍サーバントに代わってPongを返信して、該1次近傍サーバントの先に取得したピア・ダイジェストを送信することを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
  5. 請求項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 に記憶しておくことを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
  6. 請求項1記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、前記Tella Gateプロトコルは、Queryの経路制御にQRPwF(QRP with Firework)を用いることを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
  7. 請求項1記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、前記Tella Gateプロトコルは、経路制御学習(Backward Learning)を行うことを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
  8. 請求項7記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、前記経路制御学習(Backward Learning)は、Queryを受信したサーバントがコンテンツを発見した場合には、Quary Hitを、コンテンツが発見できず、転送先が無い場合は、Query Error Deadlock、すでに受け取ったことのあるQueryを再び受信した場合は、Query Error Loopを返信し、Query Hit,Query Errorを受け取ったサーバントは、これに基づいて、ピア・ダイジェストを修正することを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
  9. 請求項1記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、前記Tella Gateプロトコルは、ネットワーク上でコミュニティーを自己組織化するアルゴリズム(Community Self−Organization Algorithm)を有することによって、検索効率を向上させることを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
  10. 請求項記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、前記コミュニティーを自己組織化するアルゴリズムは、(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接続数
    max :最大のTCP接続数
    cachex,1 :サーバントXの1次近傍サーバントのピア・ダイジェストを記憶するキャッシュ
    cachex,2 :サーバントXの2次近傍サーバントのピア・ダイジェストを記憶するキャッシュ
    x :サーバントXの2次近傍サーバントSを嗜好類似度simXYの大きい順にソートした順序付き集合
    x ={s0 ,s1 ,…,sN
    simXs0 ≧simXs1 ≧simXsN
    φ:空集合
  11. (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次近傍サーバントと接続を確立することにより、ネットワーク上でコミュニティーを自己組織化する手段とを具備することを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索システム。
  12. 請求項11記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索システムにおいて、前記ピア・ダイジェストは、該サーバントの記憶装置に保存されているテキストから出現頻度の高いN MAX 個の単語を抽出し、ユーザの嗜好を表すM−bitのビット列またはM/8次元のchar型ベクターのブルーム・フィルタ(Bloom Filter)に変換することによって表されることを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索システム。
  13. 請求項11記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索システムにおいて、Tella Gateプロトコルは、Tella Gateサーバントの識別用に用いられるTella Gate GUIDと、メッセージの識別に用いられるMessage GUIDを、経路制御および経路制御学習に用い、コンテンツの識別に用いられるFile GUIDを発見したコンテンツをダウンロードする際に用いることを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索システム。
  14. 請求項11記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索システムにおいて、Tella Gate ネットに接続が確立したサーバントは、TCPフレームのデータ部にメッセージを格納して公開コンテンツのためのメッセージを交換する手段を具備することを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索システム。
  15. 請求項11記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索システムにおいて、Tella Gateプロトコルの機能の一つとしてのPong ProxyがPingとPongによって達成され、Pingを受け取ったサーバントは、Pingを転送する代わりに、Pong Proxyの機能により、前記Pingを受け取ったサーバントの1次近傍サーバントに代わってPongを返信して、該1次近傍サーバントの先に取得したピア・ダイジェストを送信する手段を具備することを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索システム。
  16. 請求項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 に記憶する手段とを具備することを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索システム。
JP2003345735A 2003-10-03 2003-10-03 ピア・ツウ・ピアネットワークにおける分散情報共有・検索方法及びそのシステム Expired - Lifetime JP4300292B2 (ja)

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)

* Cited by examiner, † Cited by third party
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

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