(57)【要約】【課題】嗜好の類似したサーバントを、ネットワーク上で近くなるように自己組織的に再配置することにより、ネットワークの通信負荷を抑制しつつ、コンテンツの発見率を向上させることができるピア・ツウ・ピアネットワークにおける分散情報共有・検索方法及びそのシステムを提供する。【解決手段】Ｔｅｌｌａ  ＧａｔｅプロトコルによるＴｅｌｌａ  Ｇａｔｅサーバントを、このサーバントと嗜好の類似したサーバントとネットワーク上で近くなるように自己組織的に再配置することにより、ネットワークの通信負荷を抑制しつつ、コンテンツの発見率を向上させる。【選択図】図２０
2005115453.tif 000002
【特許請求の範囲】
【請求項１】
Ｔｅｌｌａ  ＧａｔｅプロトコルによるＴｅｌｌａ  Ｇａｔｅサーバントを、該サーバントと嗜好の類似したサーバントとネットワーク上で近くなるように自己組織的に再配置させることにより、ネットワークの通信負荷を抑制しつつ、コンテンツの発見率を向上させることを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
【請求項２】
請求項１記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、前記Ｔｅｌｌａ  Ｇａｔｅプロトコルは、テキストから出現頻度の高いＮMAX 個の単語よりピア・ダイジェストを作成することを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
【請求項３】
請求項１記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、前記Ｔｅｌｌａ  Ｇａｔｅプロトコルは、Ｔｅｌｌａ  Ｇａｔｅサーバントの識別用に用いられるＴｅｌｌａ  Ｇａｔｅ  ＧＵＩＤと、メッセージの識別に用いられるＭｅｓｓａｇｅ  ＧＵＩＤと、コンテンツの識別に用いられるＦｉｌｅ  ＧＵＩＤとを用いることを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
【請求項４】
請求項３記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、前記Ｔｅｌｌａ  Ｇａｔｅ  ＧＵＩＤは、Ｔｅｌｌａ  Ｇａｔｅユーザまたは管理者のメールアドレスから、一方向性ハッシュ関数によって計算され、前記Ｍｅｓｓａｇｅ  ＧＵＩＤは、時間情報、疑似乱数から一方向性ハッシュ関数によって計算され、前記Ｆｉｌｅ  ＧＵＩＤは、コンテンツのバイナリーデータから、一方向性ハッシュ関数によって計算されことを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
【請求項５】
請求項１記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、Ｔｅｌｌａ  Ｇａｔｅ  ネットに参加したサーバントは、ＴＣＰフレームのデータ部にメッセージを格納して公開コンテンツのためのメッセージを交換することを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
【請求項６】
請求項１記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、Ｐｉｎｇを受け取ったサーバントは、Ｐｉｎｇを転送する代わりに、Ｐｏｎｇ  Ｐｒｏｘｙの機能により、前記Ｐｉｎｇを受け取ったサーバントの１次近傍サーバントに代わってＰｏｎｇを返信して、該１次近傍サーバントのピア・ダイジェストを送信することを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
【請求項７】
請求項６記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、サーバントＡはサーバントＢにＰｉｎｇを送信し、サーバントＢは、まず自身のピア・ダイジェストであるｄｉｇｅｓｔB を含むＰｏｎｇを返信し、次に、サーバントＢは自身の１次近傍サーバント集合ｎｂｒB,1 からランダムにＮ個のサーバントを選び、これらのピア・ダイジェストを含むＰｏｎｇをサーバントＡにそれぞれ返すことにより、サーバントＡは２次近傍サーバント集合ｎｂｒA,2 であるサーバントＤ，Ｅのピア・ダイジェストｄｉｇｅｓｔD,E を収集することができ、サーバントＡは、ｄｉｇｅｓｔB ，ｄｉｇｅｓｔD,E をそれぞれ、１次近傍サーバント、２次近傍サーバントのピア・ダイジェストキャッシュであるｃａｃｈｅA,1 ，ｃａｃｈｅA,2 に記憶しておくことを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
【請求項８】
請求項１記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、前記Ｔｅｌｌａ  Ｇａｔｅプロトコルは、Ｑｕｅｒｙの経路制御にＱＲＰｗＦ（ＱＲＰ  ｗｉｔｈ  Ｆｉｒｅｗｏｒｋ）を用いることを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
【請求項９】
請求項１記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、前記Ｔｅｌｌａ  Ｇａｔｅプロトコルは、経路制御学習（Ｂａｃｋｗａｒｄ  Ｌｅａｒｎｉｎｇ）を行うことを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
【請求項１０】
請求項９記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、前記経路制御学習（Ｂａｃｋｗａｒｄ  Ｌｅａｒｎｉｎｇ）は、Ｑｕｅｒｙを受信したサーバントがコンテンツを発見した場合には、Ｑｕａｒｙ  Ｈｉｔを、コンテンツが発見できず、転送先が無い場合は、Ｑｕｅｒｙ  Ｅｒｒｏｒ（Ｄｅａｄｌｏｃｋ）、すでに受け取ったことのあるＱｕｅｒｙを再び受信した場合は、Ｑｕｅｒｙ  Ｅｒｒｏｒ（Ｌｏｏｐ）を返信し、Ｑｕｅｒｙ  Ｈｉｔ，Ｑｕｅｒｙ  Ｅｒｒｏｒを受け取ったサーバントは、これに基づいて、ピア・ダイジェストを修正することを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
【請求項１１】
請求項１記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、前記Ｔｅｌｌａ  Ｇａｔｅプロトコルは、ネットワーク上でコミュニティーを自己組織化するアルゴリズム（Ｃｏｍｍｕｎｉｔｙ  Ｓｅｌｆ−Ｏｒｇａｎｉｚａｔｉｏｎ  Ａｌｇｏｒｉｔｈｍ）を有することを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
【請求項１２】
請求項１記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法において、前記コミュニティーを自己組織化するアルゴリズムは、（ａ）Ｌ≦Ｌmax のとき、サーバントＸはサーバントｓ0 に対しＨａｎｄ  Ｓｈａｋｅメッセージを送信し、接続確立を要求し、（ｂ）上記（ａ）において、接続が拒否された場合、Ｓx からｓ0 を削除し、ｓn の添字をｎ＝ｎ−１とシフトし、（ｃ）Ｓx ≠φの場合、上記（ａ）へ戻り、Ｓ＝φの場合、終了し、（ｄ）上記（ａ）において接続が確立した場合、サーバントｓ0 を１次近傍サーバント集合ｎｂｒx,1 に追加、２次近傍サーバント集合ｎｂｒx,2 から削除し、サーバントｓ0 のピア・ダイジェストｄｉｇｅｓｔs0をｃａｃｈｅx,1 へ追加し、ｃａｃｈｅx,2 から削除し、（ｅ）Ｌ＞Ｌmax の場合、上記（ｄ）で追加したサーバントｓ0 を除いた１次近傍サーバント集合ｎｂｒx,1 −ｓ0 から、ランダムにサーバントＺを選び、（ｆ）１次近傍サーバント集合ｎｂｒx,1 からサーバントＺ、ｃａｃｈｅx,1 からサーバントＺのピア・ダイジェストｄｉｇｅｓｔz を削除し、サーバントＺとのＴＣＰ接続を切断することを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索方法。
ただし、
Ｌ：現在のＴＣＰ接続数
Ｌmax ：最大のＴＣＰ接続数
ｃａｃｈｅx,1 ：サーバントＸの１次近傍サーバントのピア・ダイジェストを記憶するキャッシュ
ｃａｃｈｅx,2 ：サーバントＸの２次近傍サーバントのピア・ダイジェストを記憶するキャッシュ
Ｓx ：サーバントＸの２次近傍サーバントＳを嗜好類似度ｓｉｍXYの大きい順にソートした順序付き集合
Ｓx ＝｛ｓ0 ，ｓ1 ，…，ｓN ｝
ｓｉｍXs0 ≧ｓｉｍXs1 ≧ｓｉｍXsN 
φ：空集合
【請求項１３】
（ａ）ユーザの嗜好を反映するピア・ダイジェストと、
（ｂ）ユーザの嗜好情報を交換する機能を有するＰｏｎｇ  Ｐｒｏｘｙ（ポン・プロキシー）手段と、
（ｃ）検索要求の経路制御（Ｑｕｅｒｙ  Ｒｏｕｔｉｎｇ  Ｐｒｏｔｏｃｏｌ  ｗｉｔｈ  Ｆｉｒｅｗｏｒｋ）手段と、
（ｄ）経路制御学習（Ｂａｃｋｗａｒｄ  Ｌｅａｒｎｉｎｇ）手段とを備え、
（ｅ）ネットワーク上でコミュニティーを自己組織化する手段とを具備することを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索システム。
【請求項１４】
請求項１３記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索システムにおいて、前記ピア・ダイジェストは、ユーザの嗜好を表すＭ−ｂｉｔのビット列またはＭ／８次元のｃｈａｒ型ベクターのブルーム・フィルタ（Ｂｌｏｏｍ  Ｆｉｌｔｅｒ）によって表されることを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索システム。
【請求項１５】
請求項１３記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索システムにおいて、前記Ｔｅｌｌａ  Ｇａｔｅプロトコルは、Ｔｅｌｌａ  Ｇａｔｅサーバントの識別用に用いられるＴｅｌｌａ  Ｇａｔｅ  ＧＵＩＤと、メッセージの識別に用いられるＭｅｓｓａｇｅ  ＧＵＩＤと、コンテンツの識別に用いられるＦｉｌｅ  ＧＵＩＤとを有することを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索システム。
【請求項１６】
請求項１３記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索システムにおいて、Ｔｅｌｌａ  Ｇａｔｅ  ネットに参加したサーバントは、ＴＣＰフレームのデータ部にメッセージを格納して公開コンテンツのためのメッセージを交換する手段を具備することを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索システム。
【請求項１７】
請求項１３記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索システムにおいて、Ｐｉｎｇを受け取ったサーバントは、Ｐｉｎｇを転送する代わりに、Ｐｏｎｇ  Ｐｒｏｘｙの機能により、前記Ｐｉｎｇを受け取ったサーバントの１次近傍サーバントに代わってＰｏｎｇを返信して、該１次近傍サーバントのピア・ダイジェストを送信する手段を具備することを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索システム。
【請求項１８】
請求項１３記載のピア・ツウ・ピアネットワークにおける分散情報共有・検索システムにおいて、サーバントＡはサーバントＢにＰｉｎｇを送信し、サーバントＢは、まず自身のピア・ダイジェストであるｄｉｇｅｓｔB を含むＰｏｎｇを返信し、次いで、サーバントＢは自身の１次近傍サーバント集合ｎｂｒB,1 からランダムにＮ個のサーバントを選び、これらのピア・ダイジェストを含むＰｏｎｇをサーバントＡにそれぞれ返すことにより、サーバントＡは２次近傍サーバント集合ｎｂｒA,2 であるサーバントＤ，Ｅのピア・ダイジェストｄｉｇｅｓｔD,E を収集することができ、サーバントＡは、ｄｉｇｅｓｔB ，ｄｉｇｅｓｔD,E をそれぞれ、１次近傍サーバント、２近傍サーバントのピア・ダイジェストを記憶するキャッシュであるｃａｃｈｅA,1 ，ｃａｃｈｅA,2 に記憶する手段とを具備することを特徴とするピア・ツウ・ピアネットワークにおける分散情報共有・検索システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ピア・ツウ・ピアネットワークにおける分散情報共有・検索方法及びそのシステムに関するものである。
【背景技術】
【０００２】
まず、最初に本発明にかかる用語の説明を行う。
【０００３】
（１）Ｓｅｒｖｅｎｔ（サーバント）とは、サーバー（Ｓｅｒｖｅｒ）とクライアント（Ｃｌｉｅｎｔ）双方の機能を持つ、プログラムまたはソフトウェアを言う。
【０００４】
（２）Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ（Ｐ２Ｐ）型の通信方式、つまり、ピア・ツウ・ピアネットワークとは、中央制御装置がなく、すべてのノードがネットワークに平等にアクセス可能なＬＡＮ（ローカルエリアネットワーク）を言う。
【０００５】
（３）１次近傍サーバントとは、直接ＴＣＰ接続が確立しているサーバントをいう。この１次近傍サーバントの集合をｎｂｒ1 で表す。図１の場合は、サーバントＡの１次近傍サーバントは、ｎｂｒA,1 ＝｛Ｂ，Ｃ，Ｄ，Ｅ｝である。
【０００６】
（４）２次近傍サーバントとは、１次近傍サーバントの１次近傍関係にあるサーバントをいう。ただし、自身と自身の１次近傍サーバントに含まれるサーバントを除く。この２次近傍サーバントの集合をｎｂｒ2 で表す。図１の場合、サーバントＡの２次近傍サーバントは、ｎｂｒA,2 ＝｛Ｆ，Ｇ，Ｈ｝である。
【０００７】
（５）ＧＵＩＤ（Ｇｌｏｂａｌｌｙ  Ｕｎｉｑｕｅ  ＩＤｅｎｔｉｆｉｒｅ）とは、インターネット上で一意となるＩＤを言う。
【０００８】
近年、ブロードバンド環境の普及によって、Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ（Ｐ２Ｐ：ピア・ツウ・ピア）型の通信方式が定着しつつある。現在、Ｐ２Ｐソフトウェアは、ＣＤやＤＶＤなどのデジタルメディアから違法に作成された、ｍｐ３やｍｐｅｇなどのマルチメディアコンテンツの交換ツールとして普及している。そのため、Ｐ２Ｐに対する社会的イメージは悪い。しかし、Ｐ２Ｐシステムは、処理分散、耐故障性など従来のサーバー（Ｓｅｒｖｅｒ）／クライアント（Ｃｌｉｅｎｔ）型とは異なる特性を備え、分散検索、ナレッジマネージメントなどへの応用が期待できる。
【非特許文献１】Ｂ．Ｂｌｏｏｍ，“Ｓｐａｃｅ／ｔｉｍｅ  ｔｒａｄｅ−ｏｆｆｓ  ｉｎ  ｈａｓｈ  ｃｏｄｉｎｇ  ｗｉｔｈ  ａｌｌｏｗａｂｌｅ  ｅｒｒｏｒｓ”，Ｃｏｍｍｕｎ．ＡＣＭ，Ｖｏｌ．１３，Ｎｏ．７，ｐｐ．４２２−４２６，１９７０．
【非特許文献２】Ｌ．Ｆａｎ  ａｎｄ  Ｐ．Ｃａｏ  ａｎｄ  Ｊ．Ａｌｍｅｉｄａ  ａｎｄ  Ａ．Ｂｒｏｄｅｒ，“Ｓｕｍｍａｒｙ  ｃａｃｈｅ：Ａ  ｓｃａｌａｂｌｅ  ｗｉｄｅ−ａｒｅａ  Ｗｅｂ  ｃａｃｈｅ  ｓｈａｒｉｎｇ  ｐｒｏｔｏｃｏｌ”，ＩＥＥＥ／ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｎｅｔｗｏｒｋｉｎｇ，Ｖｏｌ．８，Ｎｏ．３，ｐｐ．２８１−２９３，２０００．
【非特許文献３】ＲＦＣ−Ｇｎｕｔｅｌｌａ，ｈｔｔｐ：／／ｒｆｃ−ｇｎｕｔｅｌｌａ．ｓｏｕｒｃｅｆｏｒｇｅ．ｎｅｔ／
【非特許文献４】Ｊｏｒｎ  Ｄａｖｉｄｓｅｎ  ａｎｄ  Ｈｏｌｇｅｒ  Ｅｂｅｌ  ａｎｄ  Ｓｔｅｆａｎ  Ｂｏｒｎｈｏｌｄｔ，“Ｅｍｅｒｇｅｎｃｅ  ｏｆ  ａ  Ｓｍａｌｌ  Ｗｏｒｌｄ  ｆｏｒｍ  Ｌｏｃａｌ  Ｉｎｔｅｒａｃｔｉｏｎｓ：Ｍｏｄｅｌｉｎｇ  Ａｃｑｕａｉｎｔａｎｃｅ  Ｎｅｔｗｏｒｋｓ”，Ｐｈｙｓｉｃａｌ  Ｒｅｖｉｅｗ  Ｌｅｔｔｅｓ，Ｖｏｌ．８８，Ｎｏ．１２，２００２．（下線付きのｏにはウムラウトが付く）
【非特許文献５】Ｒ．Ａｌｂｅｒｔ，Ｈ．Ｊｅｏｎｇ  ａｎｄ  Ａ．Ｌ．Ｂａｒａｂａｓｉ，“Ｅｒｒｏｒ  ａｎｄ  ａｔｔａｃｋ  ｔｏｌｅｒａｎｃｅ  ｏｆ  ｃｏｍｐｌｅｘ  ｎｅｔｗｏｒｋｓ”，Ｎａｔｕｒｅ，Ｖｏｌ．４０６，ｐｐ．３７８−３８１，２０００．（下線付きのａにはアクサン・テギュが付く）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、Ｐ２Ｐシステムには、ネットワーク負荷の増大とそれに伴う通信コストの増大、コンテンツ発見の困難さなどの技術的課題が残されている。
【００１０】
本発明では、上記状況に鑑みて、コンテンツ発見を容易にするために、ユーザの嗜好に着目し、嗜好の類似したサーバントを、ネットワーク上で近くなるように自己組織的に再配置することにより、ネットワークの通信負荷を抑制しつつ、コンテンツの発見率を向上させることができるピア・ツウ・ピアネットワークにおける分散情報共有・検索方法及びそのシステムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、上記目的を達成するために、テラ・ゲート（Ｔｅｌｌａ  Ｇａｔｅ）プロトコルを提案する。かかるＴｅｌｌａ  Ｇａｔｅプロトコルを実装したＴｅｌｌａ  Ｇａｔｅサーバントは以下の機能を持つ。
（１）ユーザの嗜好を表現する（ピア・ダイジェスト：Ｐｅｅｒ  Ｄｉｇｅｓｔ）。
（２）ユーザの嗜好情報をサーバント同士で交換する機能ポング・プロキシー（Ｐｏｎｇ  Ｐｒｏｘｙ）を有する。
（３）検索要求（Ｑｕｅｒｙ）の転送先を決定し、その経路制御（ｒｏｕｔｉｎｇ）を可能とする（Ｑｕｅｒｙ  Ｒｏｕｔｉｎｇ  Ｐｒｏｔｏｃｏｌ  ｗｉｔｈ  Ｆｉｒｅｗｏｒｋ：ＱＲＰｗＦ）。
（４）経路制御学習（Ｂａｃｋｗａｒｄ  Ｌｅａｒｎｉｎｇ）ができる。
（５）Ｃｏｍｍｕｎｉｔｙ  Ｓｅｌｆ−Ｏｒｇａｎｉｚａｔｉｏｎ  Ａｌｇｏｒｉｔｈｍによりネットワーク上でコミュニティーを自己組織化することができる。
【００１２】
そして、計算機実験によってその有効性を確認した。
【００１３】
最後に、応用例として分散検索システム：Ｔｅｌｌａ  Ｓｃｏｐｅを提案する。
【発明の効果】
【００１４】
本発明によれば、ユーザの嗜好の類似したサーバントを、ネットワーク上で近くに配置することによって、ネットワークの通信負荷を抑制しつつ、コンテンツ発見率を向上させることができる。また、サーバントの配置は、ローカル通信により自己組織的に行われる。
【００１５】
よって、従来の分散ファイル共有システムにおけるコンテンツの発見は、ネットワークに多大な負荷を与える通信コストの高いものであったが、本発明によれば、ユーザの嗜好によってネットワークにコミュニティーを自己組織化させ、情報共有・検索のコストを低減させることができる。
【発明を実施するための最良の形態】
【００１６】
Ｔｅｌｌａ  ＧａｔｅプロトコルによるＴｅｌｌａ  Ｇａｔｅサーバントを、該サーバントと嗜好の類似したサーバントとネットワーク上で近くなるように自己組織的に再配置することにより、ネットワークの通信負荷を抑制しつつ、コンテンツの発見率を向上させる。
【００１７】
以下、本発明の実施例を図を参照しながら説明する。
【実施例】
【００１８】
（１）まず、本発明にかかるピア・ダイジェスト（Ｐｅｅｒ  Ｄｉｇｅｓｔ）について説明する。
【００１９】
このピア・ダイジェストは、ユーザの嗜好を表すＭ−ｂｉｔのビット列またはＭ／８次元のｃｈａｒ型ベクターのＢｌｏｏｍ  Ｆｉｌｔｅｒ（ブルーム・フィルタ）（上記非特許文献１）によって表される。
【００２０】
（１−１）ピア・ダイジェストの計算方法
以下に、ピア・ダイジェストの求め方について述べる。
【００２１】
まず、はじめに記号の説明を行う。
【００２２】
〔１〕Ｗは単語集合であり、Ｗ＝｛ｗ0 ，…，ｗN ｝で表される。ただし、出現頻度順にソートされた順序付き集合でｆｒｅｑ（ｗ0 ）≧…≧ｆｒｅｑ（ｗN ）である。ｆｒｅｑ（・）は、単語の出現頻度を示す。
【００２３】
〔２〕ｄｉｇｅｓｔはピア・ダイジェストのことであり、
ｄｉｇｅｓｔ＝（ｂ0 ，…，ｂM-1 ）（ｂm ＝｛０，１｝）である。
【００２４】
〔３〕ｈk は一方向性ハッシュ関数であり、０≦ｈk ≦Ｍ−１（ｋ＝１，…，Ｋ）で表される。
【００２５】
〔４〕ｗｂは単語ベクトルであり、単語ｗを一方向性ハッシュ関数ｈk によって変換して得られるＫ次元ベクトルであり、ｗｂ＝（ｗｂ1 ，…，ｗｂK ）＝〔ｈ1 （ｗ），…，ｈK （ｗ）〕で表される。
【００２６】
図２はピア・ダイジェストを求める手順を示すフローチャートである。
（ステップＳ１）：ｄｏｃ，ｐｄｆ，ｐｓなどのファイルは、前処理としてｗｖＷａｒｅ，ｐｄｆｔｏｔｅｘｔ，ｐｓ２ｔｅｘｔなどのフィルターによりテキストに変換する。また、ｈｔｍｌなどのマークアップ言語に関しては、タグフィルタによりタグを除去する（前処理によるテキストへの変換）。
（ステップＳ２）：文章から単語を切り出す（単語の抽出）。日本語文章に関してはＣｈａＳｅｎなどの形態素解析器によって、名詞、未知語のみを抽出する。また、英語に関しては、大文字／小文字変換、ｓｔｏｐ  ｗｏｒｄ除去、ｓｔｅｍｍｉｎｇ処理を施す。
（ステップＳ３）：ステップＳ２によって抽出された単語Ｗn から単語集合Ｗを作成する。ｎ＝０とする。
（ステップＳ４）：一方向性ハッシュ関数ｈk によって単語ｗn を単語ベクトルｗｂに変換する。ｗｂ＝〔ｈ1 （ｗn ），…，ｈK （ｗn ）〕。
（ステップＳ５）ｄｉｇｅｓｔのｗｂk 目のビットを１とする。つまり、ｂwbk ＝１（ｋ＝１，…，Ｋ）とする。
（ステップＳ６）ｎが最大値ＮMAX の場合、すなわち、ｎ＝ＮMAX ならば終了する。それ以外ならば、ｎ＝ｎ＋１として、上記ステップＳ４へ戻る（ステップＳ７）。
【００２７】
以上の手順によって、テキストから出現頻度の高いＮMAX 個の単語からｄｉｇｅｓｔを作成することができる。ただし、単語の文字コードはＵＴＦ−８とする。
【００２８】
一方向性ハッシュ関数の具体例として、Ｔｅｌｌａ  ＧａｔｅではＭＤ５を用いる。ＭＤ５は任意の文字列から１６０ｂｉｔのビット列を生成する。これを、３２ｂｉｔ毎に分割することにより、４次元の単語ベクトル：ｗｂ∈Ｒ4 を得ることができる（上記非特許文献２）。
【００２９】
（１−２）嗜好類似度
ユーザ間の嗜好の近さを計るために、ユーザＡとユーザＢの嗜好類似度：ｓｉｍABを、以下のように定義する。
【００３０】
ｓｉｍAB≒〔ｃｏｕｎｔ（ｄｉｇｅｓｔA ∧ｄｉｇｅｓｔB ）〕／Ｍ        …（１）
ここで、∧はビットＡＮＤ演算であり、関数ｃｏｕｎｔは、ビットが１の要素を数え上げる関数である。０≦ｓｉｍAB≦１であり、ｄｉｇｅｓｔA とｄｉｇｅｓｔB が一致したときに、ｓｉｍAB＝１が成立する。
（２）次に、Ｔｅｌｌａ  Ｇａｔｅプロトコルについて説明する。
（２−１）Ｇｌｏｂａｌｌｙ  Ｕｎｉｑｕｅ  ＩＤｅｎｔｉｆｉｅｒ（ＧＵＩＤ）
Ｔｅｌｌａ  Ｇａｔｅプロトコルでは、３種類のＧＵＩＤを使用する。
〔１〕Ｔｅｌｌａ  Ｇａｔｅ  ＧＵＩＤ（２５ｂｙｔｅ＝２００ｂｉｔ）
Ｔｅｌｌａ  Ｇａｔｅサーバントの識別用に用いられるＧＵＩＤであり、Ｔｅｌｌａ  Ｇａｔｅユーザまたは管理者のメールアドレスから、一方向性ハッシュ関数ｓｈａ１によって計算される。
〔２〕Ｍｅｓｓａｇｅ  ＧＵＩＤ（２５ｂｙｔｅ＝２００ｂｉｔ）
メッセージの識別に用いられるＧＵＩＤであり、Ｔｅｌｌａ  Ｇａｔｅ  ＧＵＩＤ、時間情報、疑似乱数を、Ｔｅｌｌａ  Ｇａｔｅ  ＧＵＩＤ：時間情報：疑似乱数のように、コロン（：）区切りでテキスト化し、一方向性ハッシュ関数ｓｈａ１によって計算する。
〔３〕Ｆｉｌｅ  ＧＵＩＤ（２５ｂｙｔｅ＝２００ｂｉｔ）
コンテンツの識別に用いられるＧＵＩＤであり、コンテンツのバイナリーデータから、一方向性ハッシュ関数ｓｈａ１によって計算される。
（２−２）Ｈａｎｄ  Ｓｈａｋｅ
Ｔｅｌｌａ  ＧａｔｅサーバントをＴｅｌｌａ  Ｇａｔｅ  Ｎｅｔに接続するために、入り口となるサーバントとの間で接続を確立することをＨａｎｄ  Ｓｈａｋｅという。具体的にはＴＣＰのデータ部に図３のメッセージを入れて、接続を要求する。
【００３１】
このメッセージを受け取ったサーバントは、接続を受入れる場合には、図４のメッセージを返信する。
【００３２】
また、接続を拒否する場合は、Ｐｅｅｒ  Ｄｉｇｅｓｔ  Ｃａｃｈｅ：ｃｈａｃｅ1 ，ｃｈａｃｅ2 （後述）からランダムにＴｅｌｌａ  Ｇａｔｅサーバントを選択し、ＩＰ：Ｐｏｒｔ（後述）を含む図５のリダイレクトメッセージを返信する。
（２−３）Ｔｅｌｌａ  Ｇａｔｅフレーム
Ｔｅｌｌａ  Ｇａｔｅ  Ｎｅｔに参加したサーバントは、ＴＣＰフレームのデータ部にメッセージを格納してコンテンツ共有のためのメッセージを交換する。Ｔｅｌｌａ  Ｇａｔｅのメッセージは、図６に示すように、ヘッダー（Ｈｅａｄｅｒ）とペイロード（Ｐａｙｌｏａｄ）で構成される。
【００３３】
ペイロードに格納するデータの種別（Ｄｅｓｃｒｉｐｔｏｒ：ディスクリプタ、記述子）とその概要を表１に示す。
【００３４】
【表１】
2005115453.tif 000003
（２−３−１）Ｈｅａｄｅｒ
Ｔｅｌｌａ  ＧａｔｅフレームのＨｅａｄｅｒ（ヘッダー）は、図７に示すように、２７ｂｙｔｅに固定され、以下のように構成される。
〔１〕Ｍｅｓｓａｇｅ  ＧＵＩＤ
上記（２−１）参照
〔２〕Ｐａｙｌｏａｄ  Ｄｅｓｃｒｉｐｔｏｒ（１ｂｙｔｅ＝８ｂｉｔ）
メッセージの種別と対応コードを表２に示す。
【００３５】
【表２】
2005115453.tif 000004
〔３〕ＴＴＬ（１ｂｙｔｅ＝８ｂｉｔ）
Ｔｅｌｌａ  Ｇａｔｅ  Ｎｅｔ内の生存時間（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）であり、各サーバントは、受け取ったメッセージのＴＴＬ値を判断し、ＴＴＬ値が１よりも大きかったらそのメッセージを次のサーバントに転送し、ＴＴＬ値が１よりも小さかったら転送しない。各サーバントでは、１回転送する毎にＴＴＬ値を１減算する。最大値は２２５である。
〔４〕Ｈｏｐ（１ｂｙｔｅ＝８ｂｉｔ）
転送された回数を示し、各サーバントがメッセージを転送する時に、ＴＴＬ値を１減算すると同時に、Ｈｏｐに１加算する。最大値は２２５である。
〔５〕Ｐａｙｌｏａｄ  Ｌｅｎｇｔｈ（４ｂｙｔｅ＝３２ｂｉｔ）
ヘッダーに続くデータ部の長さを示し、単位は、ｂｙｅであり、最大４，２９４，９６７，２９６ｂｙｅである。
（２−３−２）Ｐｉｎｇ
Ｐｉｎｇは、Ｔｅｌｌａ  Ｇａｔｅ  Ｎｅｔ上で、１次近傍サーバントと２次近傍サーバントの共有情報を要求するメッセージである。
【００３６】
ＰｉｎｇのＴＴＬ値は１である。各サーバントは、送られてきたＰｉｎｇに対しＰｏｎｇで応答する。また、Ｐｉｎｇを転送する代わりに、Ｐｏｎｇ  Ｐｒｏｘｙの機能により、自身の１次近傍サーバントに代わってＰｏｎｇを返信する（後述）。
（２−３−３）Ｐｏｎｇ
Ｐｉｎｇに応答するメッセージであり、図８に示すように、Ｐｉｎｇに対して自分の存在を明示し、自分の共有情報を伝えるメッセージである。
【００３７】
ここで、図８における、
〔１〕Ｔｅｌｌａ  Ｇａｔｅ  ＧＵＩＤは、Ｐｏｎｇ返答するサーバント、またはＰｏｎｇ  ＰｒｏｘｙによりＰｏｎｇ返答を代行する１次接続サーバントのＴｅｌｌａ  Ｇａｔｅ  ＧＵＩＤである。
【００３８】
〔２〕ＩＰ（４ｂｙｔｅ＝３２ｂｉｔ）は、Ｐｏｎｇ返答するサーバント、またはＰｏｎｇ  ＰｒｏｘｙによりＰｏｎｇ返答を代行する１次接続サーバントの接続を受入れるＩＰアドレスである。
【００３９】
リトルエイディアン表記：
１ｂｙｔｅ：１ｂｙｔｅ：１ｂｙｔｅ：１ｂｙｔｅ＝８ｂｉｔ：８ｂｉｔ：８ｂｉｔ：８ｂｕｔ＝２５５．２５５．２５５．２５５
〔３〕Ｐｏｒｔ（２ｂｙｔｅ＝１６ｂｉｔ）
Ｐｏｎｇ返答するサーバント、またはＰｏｎｇ  ＰｒｏｘｙによりＰｏｎｇ返答を代行する１次接続サーバントの接続を受入れるＴＣＰポート番号であり、最大６５５３５番である。
〔４〕Ｐｅｅｒ  Ｄｉｇｅｓｔ（ピア・ダイジェスト）
Ｐｏｎｇ返答するサーバント、またはＰｏｎｇ  ＰｒｏｘｙによりＰｏｎｇ返答を代行する１次接続サーバントのＰｅｅｒ  Ｄｉｇｅｓｔである。
（２−３−４）Ｂｙｅ
切断を伝えるメッセージであり、Ｂｙｅメッセージを送信後、ＴＣＰ接続を閉じる。
（２−３−５）Ｑｕｅｒｙ（クエリー）
Ｔｅｌｌａ  Ｇａｔｅ  Ｎｅｔに対してコンテンツの検索を要求するメッセージであり、Ｑｕｅｒｙを受け取ったサーバントは、自分の共有情報を検索し、ヒットすればＱｕｅｒｙ  Ｈｉｔ（クエリー・ヒット）で応答する。また、ヒットしない場合は、Ｑｕｅｒｙ  Ｒｏｕｔｉｎｇ  Ｐｒｏｔｏｃｏｌ  ｗｉｔｈ  Ｆｉｒｅｗｏｒｋ（後述）を用いて、Ｑｕｅｒｙを他のサーバントに転送する。
【００４０】
ここで、図９における、
〔１〕Ｔｅｌｌａ  Ｇａｔｅ  ＧＵＩＤは、検索要求を創出したサーバントのＴｅｌｌａ  Ｇａｔｅ  ＧＵＩＤである。
【００４１】
〔２〕Ｓｅａｒｃｈ  Ｃｒｉｔｅｒｉａ〔サーチ基準〕は、検索キーワードであり、この検索キーワードはＮＵＬＬ（’＼０’＝０ｘ００）で区切られ、ＡＮＤ条件として検索が実行される。フィールドは、ＮＵＬＬで終了する。また、文字コードはＵＴＦ−８とする。
【００４２】
検索要求は、図９に示すように、個々の要求（検索キーワード）が異なるために可変長データとなる。
（２−３−６）Ｑｕｅｒｙ  Ｈｉｔ（クエリー・ヒット）
Ｑｕｅｒｙに対する応答メッセージであり、受け取ったＱｕｅｒｙに基づく検索結果、ヒットした場合にはＱｕｅｒｙ  Ｈｉｔを返信する。図１０に示すように、検索結果はサーバントの共有情報や検索条件によりその内容が異なるため、可変長データとなる。
【００４３】
ここで、図１０における、
〔１〕Ｔｅｌｌａ  Ｇａｔｅ  ＧＵＩＤは、Ｑｕｅｒｙ  ＨｉｔしたサーバントのＴｅｌｌａ  Ｇａｔｅ  ＧＵＩＤである。
【００４４】
〔２〕ＩＰ（４ｂｙｔｅ＝３２ｂｉｔ）は、Ｑｕｅｒｙ  ＨｉｔしたサーバントのＩＰアドレスである。
【００４５】
リトルエイディアン表記：
１ｂｙｔｅ：１ｂｙｔｅ：１ｂｙｔｅ：１ｂｙｔｅ＝８ｂｉｔ：８ｂｉｔ：８ｂｉｔ：８ｂｕｔ＝２５５．２５５．２５５．２５５
〔３〕Ｐｏｒｔ（２ｂｙｔｅ＝１６ｂｉｔ）
Ｑｕｅｒｙ  ＨｉｔしたサーバントのＰｏｒｔ番号であり、最大６５５３６である。
【００４６】
〔４〕Ｎｕｍｂｅｒ  ｏｆ  Ｈｉｔｓ（１ｂｙｔｅ＝８ｂｉｔ）
Ｑｕｅｒｙ  Ｈｉｔの数であり、最大２５５である。
【００４７】
〔５〕Ｒｅｓｕｌｔ  Ｓｅｔ
検索結果である。この検索結果は、コンテンツ毎に１件ずつＮＵＬＬ（’＼０’＝０ｘ００）で終わるテーブル・データとして図１１に示すＲｅｓｕｌｔ  Ｓｅｔに格納する。検索結果が複数のコンテンツの場合は、Ｒｅｓｕｌｔ  Ｓｅｔにコンテンツの件数分繰り返し格納する。
【００４８】
ここで、図１１における、
〔１〕Ｆｉｌｅ  ＧＵＩＤ（２０ｂｙｔｅ＝１６０ｂｉｔ）は、ヒットしたコンテンツのＦｉｌｅ  ＧＵＩＤである。
【００４９】
〔２〕Ｓｉｚｅ（４ｂｙｔｅ＝３２ｂｉｔ）は、ヒットしたコンテンツのサイズ（ｂｙｔｅ）である。なお、最大４，２９４，９６７，２９５＝４Ｔｂｙｔｅである。
〔３〕Ｆｉｌｅ  Ｎａｍｅは、ヒットしたコンテンツのファイル名であり、文字コードはＵＴＦ−８とする。
（２−３−７）Ｑｕｅｒｙ  Ｅｒｒｏｒ（クエリー・エラー）
Ｑｕｅｒｙに対しＤｅａｄｌｏｃｋ（デッドロック）またはＬｏｏｐ（ループ）が発生した場合の応答メッセージであり、図１２に示すように、データ部はＱｕｅｒｙと同じであるが、ヘッダーのコードが異なる。なお、Ｄｅａｄｌｏｃｋは受け取ったＱｕｅｒｙに対する検索結果がヒットなしで、かつＱｕｅｒｙの転送先がないこと、Ｌｏｏｐは既に同じＱｕｅｒｙを受け取っていることを意味する。
（２−４）メッセージ処理のフローチャート
図１３は本発明にかかるメッセージ処理のフローチャートである。
【００５０】
この図において、１はメッセージ、２は識別子の判定、３はＰｉｎｇ、４，１６はＰｏｎｇ、５はＱｕｅｒｙ、６はＱｕｅｒｙ  Ｅｒｒｏｒ、７はＱｕｅｒｙ  Ｈｉｔ、８はＰｏｎｇ  Ｐｒｏｘｙ、９，１１，１５はＭｅｓｓａｇｅ  Ｃａｃｈｅ  Ｃｈｅｃｋ、１０はＰｅｅｒ  Ｄｉｇｅｓｔ  Ｃａｃｈｅ、１２はＳｅａｒｃｈ  Ｑｕｅｒｙ、１３はＢａｃｋｗａｒｄ  Ｌｅａｒｎｉｎｇ、１４はＱＲＰｗＦ、１７はＱｕｅｒｙ  Ｅｒｒｏｒ（Ｌｏｏｐ）、１８はＱｕｅｒｙ  Ｈｉｔ（Ｒｅｔｕｒｎ）、１９はＱｕｅｒｙ（Ｆｏｒｗａｒｄ）、２０はＱｕｅｒｙ  Ｅｒｒｏｒ（Ｄｅａｄｌｏｃｋ）、２１はＱｕｅｒｙ  Ｈｉｔ（Ｂａｃｋｗａｒｄ）である。
【００５１】
この図に示すように、受け取ったメッセージ１に対する返答であるＰｉｎｇ３，Ｐｏｎｇ４，Ｑｕｅｒｙ５，Ｑｕｅｒｙ  Ｈｉｔ７，Ｑｕｅｒｙ  Ｅｒｒｏｒ６に対する処理が、図１３に示すように行われる。詳細は後述する。
（２−５）コンテンツのダウンロード
コンテンツのダウンロードは、ＴＣＰ／ＩＰのＨＴＴＰプロトコルを利用する。ダウンロードは、サーバント間同士で直接ＨＴＴＰプロトコルを利用して行う。
〔１〕ダウンロードの要求
接続を許可されたサーバントは、ＨＴＴＰプロトコルに従ってファイルのダウンロードを要求する。この時のＨＴＴＰコマンドを図１４に示す。
（１）〈Ｆｉｌｅ  ＧＵＩＤ〉
Ｑｕｅｒｙ  Ｈｉｔによって通知されたＦｉｌｅ  ＧＵＩＤである。
（２）〈Ｆｉｌｅ  Ｎａｍｅ〉
Ｑｕｅｒｙ  Ｈｉｔによって通知されたＦｉｌｅ  Ｎａｍｅである。
〔２〕ダウンロード要求に対するレスポンス
ダウンロード要求を受けたサーバントは、ＨＴＴＰプロトコルに従って応答を返す。その応答を図１５に示す。
【００５２】
図１５において、Ｓｉｚｅは、転送されるファイルのサイズである。
〔３〕コンテンツのダウンロード
上記〔２〕のレスポンスに続いてファイル・データが送信される。
〔４〕終了処理
上記〔２〕で送信されたＣｏｎｔｅｎｔ−ｌｅｎｇｔｈまで完了したら、ソケットを閉じる。
（３）次に、Ｔｅｌｌａ  Ｇａｔｅサーバントのシステム構成について説明する。
【００５３】
図１６はＴｅｌｌａ  Ｇａｔｅサーバントの基本構造を示す図である。
【００５４】
この図において、３０はＴｅｌｌａ  Ｇａｔｅサーバントであり、このＴｅｌｌａ  Ｇａｔｅサーバント３０は、サーバントエンジン部３１、サーチエンジン部３２、共有情報３３、Ｍｅｓｓａｇｅ  Ｃａｃｈｅ３４、Ｐｅｅｒ  Ｄｉｇｅｓｔ  Ｃａｃｈｅ（１）３５、Ｐｅｅｒ  Ｄｉｇｅｓｔ  Ｃａｃｈｅ（２）３６を有している。
（３−１）Ｓｅａｒｃｈ  Ｅｎｇｉｎｅ
サーチエンジン部３２の機能は以下の通りである。
〔１〕公開コンテンツからＰｅｅｒ  Ｄｉｇｅｓｔを作成する。
〔２〕検索要求に対する応答（Ｑｕｅｒｙ  Ｒｅｓｕｌｔ）を行う。
（３−２）Ｓｅｒｖｅｎｔ  Ｅｎｇｉｎｅ
サーバントエンジン部３１はＴｅｌｌａ  Ｇａｔｅサーバント３０の管理を行う。
〔１〕メッセージの処理を行う。
〔２〕ＴＣＰ接続を管理する。自己組織化を行う。
（４）次に、Ｔｅｌｌａ  Ｇａｔｅサーバントの機能について説明する。
（４−１）Ｍｅｓｓａｇｅ  Ｃａｃｈｅ
Ｔｅｌｌａ  Ｇａｔｅサーバントは、メッセージを受け取ったとき、メッセージのＭｅｓｓａｇｅ  ＧＵＩＤとＭｅｓｓａｇｅ  Ｃａｃｈｅを用いてメッセージのチェックを実行する。Ｍｅｓｓａｇｅ  Ｃａｃｈｅは、表３に示すテーブル形式で表現される。
【００５５】
【表３】
2005115453.tif 000005
〔１〕受信メッセージがＰｏｎｇの場合
受信メッセージのＭｅｓｓａｇｅ  ＧＵＩＤとＭｅｓｓａｇｅ  Ｃａｃｈｅ  ＴａｂｌｅのＭｅｓｓａｇｅ  ＧＵＩＤを比較し、一致するＭｅｓｓａｇｅ  ＧＵＩＤを発見できなかった場合、受信メッセージを破棄する。
〔２〕受信メッセージがＱｕｅｒｙの場合
受信メッセージのＭｅｓｓａｇｅ  ＧＵＩＤとＭｅｓｓａｇｅ  Ｃａｃｈｅ  ＴａｂｌｅのＭｅｓｓａｇｅ  ＧＵＩＤを比較し、一致するＭｅｓｓａｇｅ  ＧＵＩＤを発見した場合、その受信メッセージは、既受信メッセージであるのでＱｕｅｒｙ  Ｅｒｒｏｒ（Ｌｏｏｐ）で応答する。また、新規受信メッセージである場合、Ｍｅｓｓａｇｅ  Ｃａｃｈｅ  Ｔａｂｌｅに追加する。
〔３〕受信メッセージがＱｕｅｒｙ  Ｈｉｔの場合
受信メッセージのＭｅｓｓａｇｅ  ＧＵＩＤとＭｅｓｓａｇｅ  Ｃａｃｈｅ  ＴａｂｌｅのＭｅｓｓａｇｅ  ＧＵＩＤを比較し、一致するＭｅｓｓａｇｅ  ＧＵＩＤを発見した場合、受信元ＩＰ：Ｐｏｒｔを参照し接続が確立していたら受信したＱｕｅｒｙ  Ｈｉｔを返信する。接続が確立していないまたは、一致Ｍｅｓｓａｇｅ  ＧＵＩＤが発見できない場合は、受信したＱｕｅｒｙ  Ｈｉｔを破棄する。
（４−２）Ｐｅｅｒ  Ｄｉｇｅｓｔ  Ｃａｃｈｅ
Ｔｅｌｌａ  Ｇａｔｅサーバントは、１次近傍サーバント、２次近傍サーバントのＰｅｅｒ  ＤｉｇｅｓｔをキャッシュするＰｅｅｒ  Ｄｉｇｅｓｔ  Ｃａｃｈｅ：ｃａｃｈｅ1 ，ｃａｃｈｅ2 を持つ。各キャッシュは、表４に示すテーブル形式で表現される。
【００５６】
【表４】
2005115453.tif 000006
（４−３）Ｐｏｎｇ  Ｐｒｏｘｙ
図１７は本発明にかかるＰｏｎｇ  Ｐｒｏｘｙ機能を示す模式図である。
【００５７】
Ｐｉｎｇ−Ｐｏｎｇによって、各サーバントは１次近傍サーバントのＰｅｅｒ  Ｄｉｇｅｓｔを収集することができる。さらに、Ｐｏｎｇ  Ｐｒｏｘｙにより、Ｐｉｎｇを受け取ったサーバントが、自身の１次近傍サーバントのＰｅｅｒ  ＤｉｇｅｓｔもＰｏｎｇによってＰｉｎｇ送出サーバントに返信するため、Ｐｉｎｇ送出サーバントが２次近傍サーバントのＰｅｅｒ  Ｄｉｇｅｓｔを収集することを可能にする。
【００５８】
以下に、Ｐｏｎｇ  Ｐｒｏｘｙによる２次近傍サーバントのＰｅｅｒ  Ｄｉｇｅｓｔ収集手順を述べる。
【００５９】
まず、記号の説明を行う。
【００６０】
ｃａｃｈｅX,d はサーバントＸのｄ次Ｐｅｅｒ  Ｄｉｇｅｓｔ  Ｃａｃｈｅである。
【００６１】
ＭＡＸPong ProxyはＰｏｎｇ  Ｐｒｏｘｙによって代理返信するＰｏｎｇの最大数である。
〔Ｐｉｎｇ送信側（サーバントＡ）の手順〕
〔１〕サーバントＢへＰｉｎｇを送信する。
〔２〕サーバントＢから、Ｐｏｎｇを受け取ったら、Ｈｅａｄｅｒ部のＨｏｐ値を調べ、Ｈｏｐ＝１の場合は〔３〕へ、Ｈｏｐ＝２の場合は〔４〕へ進む。
〔３〕Ｐｏｎｇに含まれるＰｅｅｒ  Ｄｉｇｅｓｔは、サーバントＢのＰｅｅｒ  Ｄｉｇｅｓｔであり、サーバントＢはサーバントＡにとって１次近傍であるので、ｃａｃｈｅA,1 に格納する。
〔４〕Ｐｏｎｇに含まれるＰｅｅｒ  Ｄｉｇｅｓｔは、サーバントＣ，Ｄ，ＥのＰｅｅｒＤｉｇｅｓｔであり、これらは、サーバントＡにとって２次近傍と推測される。そこで、ＰｏｎｇからＴｅｌｌａ  Ｇａｔｅ  ＧＵＩＤ，ＩＰ，Ｐｏｒｔを取り出し、ｃａｃｈｅA,1 のエントリーと比較し、ｃａｃｈｅA,1 に含まれていない場合（サーバントＤ，ＥのＰｅｅｒ  Ｄｉｇｅｓｔ）、ｃａｃｈｅA,2 に格納する。ｃａｃｈｅA,1 に含まれている場合（サーバントＣのＰｅｅｒ  Ｄｉｇｅｓｔ）は破棄する。
〔Ｐｉｎｇ受信側（サーバントＢ）の手順〕
〔１〕自身のＰｅｅｒ  Ｄｉｇｅｓｔ：ｄｉｇｅｓｔB を含むＰｏｎｇで返答する。
〔２〕ｃａｃｈｅB,1 ≠φである場合、ｃａｃｈｅB,1 からランダムにＭＡＸPong Proxyだけ選びだし、それぞれのＰｅｅｒ  ＤｉｇｅｓｔをＰｏｎｇに埋め込み返答する（Ｐｏｎｇ  Ｐｒｏｘｙ機能）。その際、Ｈｅａｄｅｒ部のＨｏｐに１を加算する。
（４−４）Ｑｕｅｒｙ  Ｒｏｕｔｉｎｇ  Ｐｒｏｔｏｃｏｌ  ｗｉｔｈ  Ｆｉｒｅｗｏｒｋ；ＱＲＰｗＦ
図１８はＱＲＰｗＦを説明するための模式図である。
【００６２】
ＱＲＰｗＦ（Ｑｕｅｒｙ  Ｒｏｕｔｉｎｇ  Ｐｒｏｔｏｃｏｌ  ｗｉｔｈ  Ｆｉｒｅｗｏｒｋ）は検索要求（Ｑｕｅｒｙ）の転送先を決定する経路制御（ルーティング）方法である。
【００６３】
まず、記号の説明を行う。
【００６４】
ＬはＱｕｅｒｙを転送する候補サーバント集合である。
【００６５】
ｃｈｅｃｋ（ｄｉｇｅｓｔx ，ｗ）は単語ｗがサーバントＸのＰｅｅｒ  Ｄｉｇｅｓｔ：ｄｉｇｅｓｔx に含まれているかチェックする関数である。戻り値は、ｔｒｕｅまたはｆａｌｓｅである。ｄｉｇｅｓｔx がｗを含む場合、ｔｒｕｅを返す。
（手順）
〔１〕Ｑｕｅｒｙを受け取ったサーバントは、自身がＱｕｅｒｙを満たすコンテンツを所有していない場合、Ｌを、Ｑｕｅｒｙ送信元サーバントを除いたｃａｃｈｅ1 で初期化する。
〔２〕Ｌ＝φの場合、Ｑｕｅｒｙ  Ｅｒｒｏｒ（Ｄｅａｄｌｏｃｋ）をＱｕｅｒｙ送信元サーバントに返信して終了する。
〔３〕Ｌ≠φの場合、ｃａｃｈｅ1 の各要素：Ｘに対し、
ｃｈｅｃｋ（ｄｉｇｅｓｔx ，ｗ）＝｛ｔｒｕｅ，ｆａｌｓｅ｝            …（２）
を実行する。ｆａｌｓｅの場合、すなわち、１次近傍サーバントＸのｄｉｇｅｓｔx がＱｕｅｒｙを満たすコンテンツを所有していない場合、ＬからサーバントＸを削除し、Ｌをｔｒｕｅとなるサーバントだけの集合に更新する。
〔４〕Ｌ≠φの場合、Ｌの全てのサーバントに対し、Ｑｕｅｒｙを転送する。Ｌ＝φの場合、ｃａｃｈｅ1 からランダムに選択したＮ個のサーバントに、Ｑｕｅｒｙを転送する。
【００６６】
図１８の場合、サーバントＡからＱｕｅｒｙを受信したサーバントＢは、ｃｈｅｃｋ（ｄｉｇｅｓｔ，ｗ）がｔｒｕｅとなるサーバントＣ，Ｄ，ＦにＱｕｅｒｙを転送している。また、サーバントＦからサーバントＢへ、Ｑｕｅｒｙ  Ｅｒｒｏｒ（Ｄｅａｄｌｏｃｋ）が、サーバントＣからサーバントＤへＱｕｅｒｙ  Ｅｒｒｏｒ（Ｌｏｏｐ）が返信されている。
（４−５）Ｂａｃｋｗａｒｄ  Ｌｅａｒｎｉｎｇ
図１９はＢａｃｋｗａｒｄ  Ｌｅａｒｎｉｎｇを説明する模式図である。
【００６７】
Ｂａｃｋｗａｒｄ  Ｌｅａｒｎｉｎｇは、受信したＱｕｅｒｙ  Ｈｉｔ，Ｑｕｅｒｙ  Ｅｒｒｏｒによって、ｃａｃｈｅ1 のＱｕｅｒｙ  Ｈｉｔ，Ｑｕｅｒｙ  Ｅｒｒｏｒを送信したサーバントのｄｉｇｅｓｔを修正する機能である。
〔１〕Ｑｕｅｒｙ  Ｅｒｒｏｒを受信した場合
Ｑｕｅｒｙ  Ｅｒｒｏｒ発生元のサーバントＸに対するｃａｃｈｅ1 のｄｉｇｅｓｔx ＝（ｂ0 ，…，ｂM-1 ）を修正する。検索キーワードである単語ｗに対し、単語ベクトルｗｂを求め、以下のように修正する。
【００６８】
ｂwbk ＝０（ｋ＝１，…，Ｋ）                                          …（３）
修正後、ＱＲＰｗＦを実行し新たな転送先を決定する。
〔２〕Ｑｕｅｒｙ  Ｈｉｔを受信した場合
Ｑｕｅｒｙ  Ｈｉｔ送信元サーバントＸとＱｕｅｒｙ  Ｈｉｔ逆転送先サーバントＹに対するｃａｃｈｅ1 のｄｉｇｅｓｔz ＝（ｂ0 ，…，ｂM-1 ）（Ｚ＝｛Ｘ，Ｙ｝）を修正する。検索キーワードである単語ｗに対し、単語ベクトルｗｂを求め以下のように修正する。
【００６９】
ｂwbk ＝１（ｋ＝１，…，Ｋ）                                          …（４）
修正後、Ｑｕｅｒｙ  ＨｉｔをサーバントＹへ逆転送する。
【００７０】
図１９に例を示した。サーバントＢはサーバントＡからのＱｕｅｒｙを、サーバントＣ，Ｄ，Ｆに転送する。サーバントＣはＱｕｅｒｙ  Ｈｉｔを、サーバントＦはＱｕｅｒｙ  Ｅｒｒｏｒ（Ｄｅａｄｌｏｃｋ）をそれぞれサーバントＢへ返信している。さらに、サーバントＤはサーバントＣへＱｕｅｒｙを転送する。サーバントＣはサーバントＤへＱｕｅｒｙ  Ｅｒｒｏｒ（Ｌｏｏｐ）で返信する。
【００７１】
以上より、サーバントＢがサーバントＣ，Ｆに対して、サーバントＤがサーバントＣに対してｄｉｇｅｓｔの修正、すなわち、Ｂａｃｋｗａｒｄ  Ｌｅａｒｎｉｎｇを行う。
（４−６）次に、Ｃｏｍｍｕｎｉｔｙ  Ｓｅｌｆ−Ｏｒｇａｎｉｚａｔｉｏｎ  Ａｌｇｏｒｉｔｈｍ（コミュニティー自己組織化アルゴリズム）について説明する。
【００７２】
図２０は本発明にかかる自己組織化プロセスを示す模式図であり、図２０（ａ）は自己組織化以前の状態、図２０（ｂ）はステップＳ１（後述）、図２０（ｃ）はステップＳ５（後述）、図２０（ｄ）は自己組織化プロセスの以降の状態をそれぞれ示している。
【００７３】
まず、記号の説明を行う。
【００７４】
Ｓx は、サーバントＸの２次近傍サーバントを嗜好類似度ｓｉｍxsの大きい順にソートした順序付き集合を示す。
【００７５】
Ｓx ＝｛ｓ0 ，ｓ1 ，…ｓN ｝
ｓｉｍxs0 ≧ｓｉｍxs1 ≧ｓｉｍxsN 
（手順）
〔ステップＳ１〕現在のＴＣＰ接続数が最大ＴＣＰ接続数以下のとき、サーバントＸはサーバントｓ0 に対し、Ｈａｎｄ  Ｓｈａｋｅメッセージを送信し、接続確立を要求する。
〔ステップＳ２〕上記〔ステップＳ１〕において、接続が拒否された場合、Ｓx からｓ0 を削除する。ｓの添字ｎをｎ＝ｎ−１とシフトする。
〔ステップＳ３〕Ｓx ≠φの場合、上記〔ステップＳ１〕へ戻る。Ｓx ＝φの場合は終了する。
〔ステップＳ４〕上記〔ステップＳ１〕において接続が確立した場合、サーバントｓ0 を１次近傍サーバント集合ｎｂｒx,1 に追加、２次近傍サーバント集合ｎｂｒx,2 から削除し、サーバントｓ0 のピア・ダイジェストｄｉｇｅｓｔs0をｃａｃｈｅB,1 に追加し、ｃａｃｈｅ2 からは削除する。
〔ステップＳ５〕現在のＴＣＰ接続数が最大ＴＣＰ接続数を越えている場合、上記〔ステップＳ４〕で追加したサーバントｓ0 を除いた１次近傍サーバント集合ｎｂｒx,1 −ｓ0 からランダムにサーバントＺを選び、１次近傍サーバント集合ｎｂｒx,1 からサーバントＺ、ｃａｃｈｅB,1 からｃａｃｈｅ2 を除去し、ＴＣＰ接続を切断する。
（５）次に、応用事例（Ｔｅｌｌａ  Ｓｃｏｐｅ）について説明する。
（５−１）Ｔｅｌｌａ  Ｓｃｏｐｅ
Ｔｅｌｌａ  Ｓｃｏｐｅは、Ｔｅｌｌａ  Ｇａｔｅを利用したドキュメント・コンテンツ共有システムである。
【００７６】
Ｔｅｌｌａ  Ｓｃｏｐｅは、Ｔｅｌｌａ  Ｇａｔｅサーバントに対するユーザーインターフェース、ブラウザーである。Ｔｅｌｌａ  Ｓｃｏｐｅブラウザーを図２１に示す。
【００７７】
ブラウザーはタブ・ブラウザーで、Ｓｅａｒｃｈタブで検索キーワードを入力・検索できる。ユーザは検索結果として、
（１）Ｆｉｌｅ  ＧＵＩＤ
（２）Ｆｉｌｅ  Ｎａｍｅ
（３）Ｔｅｌｌａ  Ｇａｔｅ  ＩＰ：Ｐｏｒｔ
（４）Ｆｉｌｅ  Ｓｉｚｅ
（５）ＴＴＬ
（６）Ｈｏｐ
を得る。ユーザは、結果リストからファイルを選択し、ダウンロードを開始する。
（５−２）Ｔｅｌｌａ  Ｇａｔｅ
Ｔｅｌｌａ  Ｇａｔｅには、Ｔｅｌｌａ  Ｓｃｏｐｅからの接続を管理するＴｅｌｌａ  Ｓｃｏｐｅサーバが組み込まれている。
【００７８】
Ｔｅｌｌａ  Ｓｃｏｐｅサーバのアドレスを１２７．０．０．１とすることにより、ユーザ端末のＴｅｌｌａ  Ｓｃｏｐｅのみと接続が許可される、図２２に示すプライベート型が構築される。
【００７９】
図２２において、４１，４７はＴｅｌｌａ  Ｓｃｏｐｅ、４２，４５はＴｅｌｌａ  Ｇａｔｅ、４３，４６はＴｅｌｌａ  Ｓｃｏｐｅサーバ、４４はＬＡＮ又はインターネットである。
【００８０】
これに対し、図２３に示すように、Ｔｅｌｌａ  ＳｃｏｐｅサーバのアドレスにＮＩＣのアドレスを割り当てることにより多人数で１つのＴｅｌｌａ  Ｇａｔｅサーバントを共有する公開型を構築することができる。
【００８１】
図２３において、５１，５２，５８，５９はＴｅｌｌａ  Ｓｃｏｐｅ、５３，５６はＴｅｌｌａ  Ｇａｔｅ、５４，５７はＴｅｌｌａ  Ｓｃｏｐｅサーバ、５５はＬＡＮ又はインターネットである。
（６）次に、本発明のピア・ツウ・ピアネットワークにおける分散情報共有・検索システムの性能の評価について説明する。
【００８２】
本発明のＴｅｌｌａ  Ｇａｔｅプロトコルの有効性を確認するために、従来のＦｌｏｏｄｉｎｇアルゴリズムを用いたＧｎｕｔｅｌｌａプロトコル（上記非特許文献３）との比較を、シミュレーションにより行う。評価は、Ｑｕｅｒｙ  Ｈｉｔ率（ｓｕｃｃｅｓｓ  ｒａｔｅ）とネットワーク負荷によって行う。
【００８３】
以下に、シミュレーション条件を示す。
（６−１）初期トポロジー
図２４に示すランダムネット（Ｌ＝Ｌmax ＝４）を初期状態とする。サーバント数は５００である。なお、Ｌは現在のＴＣＰ接続数、Ｌmax は最大ＴＣＰ接続数を示す。
（６−２）コンテンツ
コンテンツ集合を、Ｃ＝｛ｃ0 ，…，ｃ499 ｝とする。コンテンツｃn はキーワードｎが割り当てられる。さらに、コンテンツ集合をＣ＝｛Ｇ0 ，…，Ｇ4 ｝と等分割する。Ｇi の要素数は１２０とし、Ｇi はＧi+1 と重複した要素を持つ。但し、Ｇ5 ＝Ｇ0 である。
（６−３）コミュニティー
各サーバントは、Ｇi の要素のみを生成または要求する。従って、Ｇi はコミュニティーの属性に対応する。
（６−４）Ｐｅｅｒ  Ｄｉｇｅｓｔ
Ｐｅｅｒ  Ｄｉｇｅｓｔのビット列のサイズをＭ＝２０００とする。このとき、ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ  ｒａｔｅ（非特許文献１）の理論値は０．１６０となる。
（６−５）ＵＯＭ，ＤＯＭ
コンテンツの生成は、ＵＯＭ（Ｕｐｌｏａｄ  Ｏｎｌｙ  Ｍｅｍｂｅｒ）でのみ行われる。コンテンツの要求は、ＤＯＭ（Ｄｏｗｎｌｏａｄ  Ｏｎｌｙ  Ｍｅｍｂｅｒ）によって行われる。全サーバント数に対するＵＯＭの割合を１０％とした。
（６−６）容量指数：α
α≒保存できるコンテンツ数／Ｇi のコンテンツ数                        …（５）
α＝１のとき、Ｇi の要素を全て保存できる。α＜１の場合、コンテンツは、ＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）に従って削除される。
（６−７）メッセージバッファ：ｍｂ
１ステップで処理できるメッセージの数であり、受信メッセージ数がｍｂを越えた場合、超過メッセージは破棄される。
（６−８）メッセージ・サイズ
メッセージ・サイズを表５に示す〔Ｐｅｅｒ  Ｄｉｇｅｓｔのサイズは、２０００ｂｉｔ（＝２５０ｂｙｔｅ）であるが、実装時の値を考慮した〕。ここでは、Ｂｙｅメッセージは省略している。
【００８４】
【表５】
2005115453.tif 000007
（６−９）タイム・ステップ
各サーバントは、Ｑｕｅｒｙ，Ｐｉｎｇを１０ｓｔｅｐ，１０００ｓｔｅｐ毎に送信する。また、自己組織化アルゴリズムを、１０００ｓｔｅｐ毎に実行する。
【００８５】
以下では、〔１〕α＝１．０，ｍｂ＝１００，〔２〕α＝０．２５，ｍｂ＝１００，〔３〕α＝０．２５，ｍｂ＝２０に対してシミュレーションを行った。
【００８６】
そのシミュレーション結果を図２５、図２６、図２７に示す。
【００８７】
まず、ネットワークトポロジーの変化について着目する。図２４に示すように、初期ネットワークでは、コミュニティー構造を発見することはできないが、図２５に示すように、自己組織化後にはコミュニティー構造が形成されていることがわかる。
【００８８】
つぎに、ネットワークの性能について比較する。
【００８９】
〔１〕α＝１．０，ｍｂ＝１００の場合、サーバントはメッセージを十分処理でき、かつ全てのコンテンツを保存することができるので、従来のＧｎｕｔｅｌｌａ、本発明のＴｅｌｌａ  Ｇａｔｅ双方ともＱｕｅｒｙ  Ｈｉｔ率は１．０に達する〔図２６（ａ）〕。しかし、従来のＧｎｕｔｅｌｌａの場合、Ｆｌｏｏｄｉｎｇアルゴリズムにより、Ｑｕｅｒｙが指数的に増加するために、初期段階においてネットワークを圧迫している〔図２７（ａ）〕。これに対し、本発明のＴｅｌｌａ  Ｇａｔｅでは、急激なネットワークの圧迫はない。しかし、全てのコンテンツを保存後においても、Ｐｅｅｒ  Ｄｉｇｅｓｔ交換のための通信コストが必要である。
【００９０】
〔２〕α＝０．２５，ｍｂ＝１００の場合、全てのコンテンツをローカルに保存することができない。そのため、サーバントはローカルに保存していないコンテンツについては、常にネットワークに検索要求を送信する必要がある。そのため、従来のＧｎｕｔｅｌｌａではネットワーク負荷はピーク時の値付近に収束している〔図２７（ｂ）〕。これに対し、本発明のＴｅｌｌａ  Ｇａｔｅでは若干の通信コストの増加で済んでいる。
【００９１】
〔３〕α＝０．２５，ｍｂ＝２０の場合、従来のＧｎｕｔｅｌｌａでは多くのＱｕｅｒｙが破棄され、Ｑｕｅｒｙ  Ｈｉｔ率を大きく下げている。これに対して、本発明のＴｅｌｌａ  ＧａｔｅではＱｕｅｒｙ  Ｈｉｔは１．０を維持し、ネットワーク負荷においても低い値を維持している。
【００９２】
本発明のＴｅｌｌａ  Ｇａｔｅの場合、同じ嗜好を持つサーバントが常に１，２Ｈｏｐ内に存在している（図２５）。また、嗜好が同じサーバント同士が多数接続している場合、ＱＲＰｗＦによってＱｕｅｒｙは複製・転送される。そのため、１〜３Ｈｏｐでコンテンツを発見する確立が高いと考えられる。コミュニティー構造とＱＲＰｗＦによってもたらされる効果を、コミュニティー効果と呼ぶことにする。
【００９３】
（７）上記したように、本発明では、ユーザの嗜好に着目し、ネットワーク上にコミュニティーを自己組織化するＴｅｌｌａ  Ｇａｔｅプロトコルを提案した。Ｔｅｌｌａ  Ｇａｔｅ  Ｎｅｔはコミュニティー効果によって、ネットワーク負荷を抑制しつつ、Ｑｕｅｒｙ  Ｈｉｔ率を維持できることを、シミュレーションによって確認した。
【００９４】
現在、Ｔｅｌｌａ  Ｇａｔｅプロトコルを実装したＴｅｌｌａ  Ｇａｔｅサーバントとブラウザー：Ｔｅｌｌａ  Ｓｃｏｐｅの開発を行っている（図２１）。  また、本発明で提案したＣｏｍｍｕｎｉｔｙ  Ｓｅｌｆ−Ｏｒｇｎｉｚａｔｉｏｎ  Ａｌｇｏｌｉｔｈｍは、高いｃｌｕｓｔｅｒ性を保証するものであり、実際ネットワークのｃｌｕｓｔｅｒｉｎｇ係数は高い（Ｃ＝０．１４）。Ｄａｖｉｄｓｅｎ（上記非特許文献４）は、局所相互作用によるＳｍａｌｌ−Ｗｏｒｌｄグラフの構成アルゴリズムを提案している。このアルゴリズムによって、自己組織化されるネットワークは、Ｓｃａｌｅ  Ｆｒｅｅ性（上記非特許文献５）も示し、より一般的なＳｍａｌｌ−Ｗｏｒｌｄグラフになることが分かっている。Ｄａｖｉｄｓｅｎのモデルには、本発明のシステムのような内部状態（サーバントのローカルディスク）はないが、両アルゴリズムには局所相互作用の類似性が認められる。
【００９５】
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づいて種々の変形が可能であり、これらを本発明の範囲から排除するものではない。
【産業上の利用可能性】
【００９６】
本発明のピア・ツウ・ピアネットワークにおける分散情報共有・検索方法及びそのシステムは、インターネットにおける情報配信・共有・検索の新しいプロトコルを提案しており、分散ナレッジマネージメント、配信、共有、検索などに好適であり、応用範囲は広い。
【図面の簡単な説明】
【００９７】
【図１】本発明にかかる１次、２次近傍サーバントの説明のための模式図である。
【図２】本発明にかかるピア・ダイジェストの作成フローチャートである。
【図３】本発明にかかるＨａｎｄＳｈａｋｅ要求のメッセージを示す図である。
【図４】本発明にかかるＨａｎｄＳｈａｋｅ要求に対する承諾の返答メッセージを示す図である。
【図５】本発明にかかるＨａｎｄＳｈａｋｅ要求に対する接続拒否の返答メッセージを示す図である。
【図６】本発明にかかるＴｅｌｌａ  Ｇａｔｅフレームを示す図である。
【図７】本発明にかかるＴｅｌｌａ  Ｇａｔｅヘッダーフレームを示す図である。
【図８】本発明にかかるＰｏｎｇのＰａｙｌｏａｄフレームを示す図である。
【図９】本発明にかかるＱｕｅｒｙのＰａｙｌｏａｄフレームを示す図である。
【図１０】本発明にかかるＱｕｅｒｙＨｉｔのＰａｙｌｏａｄフレームを示す図である。
【図１１】本発明にかかる検索結果のＰａｙｌｏａｄフレームを示す図である。
【図１２】本発明にかかる検索結果のＱｕｅｒｙＥｒｒｏｒのＰａｙｌｏａｄフレームを示す図である。
【図１３】本発明にかかるメッセージ処理フローチャートである。
【図１４】本発明にかかるダウンロード要求時のＨＴＴＰコマンドを示す図である。
【図１５】本発明にかかるダウンロード要求に対するレスポンスの形式を示す図である。
【図１６】本発明にかかるＴｅｌｌａ  Ｇａｔｅサーバントの基本構造を示す図である。
【図１７】本発明にかかるＰｏｎｇ  Ｐｒｏｘｙ機能を示す模式図である。
【図１８】本発明にかかるＱＲＰｗＦを説明するための模式図である。
【図１９】本発明にかかるＢａｃｋｗａｒｄ  Ｌｅａｒｎｉｎｇを説明する模式図である。
【図２０】本発明にかかる自己組織化プロセスを示す模式図である。
【図２１】本発明にかかるＴｅｌｌａ  Ｇａｔｅプロトコルを実装したＴｅｌｌａ  Ｇａｔｅサーバントとブラウザーを有するＴｅｌｌａ  Ｓｃｏｐｅを示す図である。
【図２２】本発明にかかるプライベート型通信システムの模式図である。
【図２３】本発明にかかる公開型通信システムの模式図である。
【図２４】本発明にかかる初期ネットワークトポロジーを示す図である。
【図２５】本発明にかかる自己組織化後のネットワークトポロジーを示す図である。
【図２６】本発明にかかるシステムの評価シミュレーション結果である成功率を示す図である。
【図２７】本発明にかかるシステムの評価シミュレーション結果であるネットワーク負荷を示す図である。
【符号の説明】
【００９８】
１    メッセージ
２    識別子の判定
３    Ｐｉｎｇ
４，１６    Ｐｏｎｇ
５    Ｑｕｅｒｙ
６    Ｑｕｅｒｙ  Ｅｒｒｏｒ
７    Ｑｕｅｒｙ  Ｈｉｔ
８    Ｐｏｎｇ  Ｐｒｏｘｙ
９，１１，１５    Ｍｅｓｓａｇｅ  Ｃａｃｈｅ  Ｃｈｅｃｋ
１０    Ｐｅｅｒ  Ｄｉｇｅｓｔ  Ｃａｃｈｅ
１２    Ｓｅａｒｃｈ  Ｑｕｅｒｙ
１３    Ｂａｃｋｗａｒｄ  Ｌｅａｒｎｉｎｇ
１４    ＱＲＰｗＦ
１７    Ｑｕｅｒｙ  Ｅｒｒｏｒ（Ｌｏｏｐ）
１８    Ｑｕｅｒｙ  Ｈｉｔ（Ｒｅｔｕｒｎ）
１９    Ｑｕｅｒｙ（Ｆｏｒｗａｒｄ）
２０    Ｑｕｅｒｙ  Ｅｒｒｏｒ（Ｄｅａｄｌｏｃｋ）
２１    Ｑｕｅｒｙ  Ｈｉｔ（Ｂａｃｋｗａｒｄ）
３０    Ｔｅｌｌａ  Ｇａｔｅサーバント
３１    サーバントエンジン部
３２    サーチエンジン部
３３    共有情報
３４    Ｍｅｓｓａｇｅ  Ｃａｃｈｅ
３５    Ｐｅｅｒ  Ｄｉｇｅｓｔ  Ｃａｃｈｅ（１）
３６    Ｐｅｅｒ  Ｄｉｇｅｓｔ  Ｃａｃｈｅ（２）
４１，４７，５１，５２，５８，５９    Ｔｅｌｌａ  Ｓｃｏｐｅ
４２，４５，５３，５６    Ｔｅｌｌａ  Ｇａｔｅ
４３，４６，５４，５７    Ｔｅｌｌａ  Ｓｃｏｐｅサーバ
４４，５５    ＬＡＮ又はインターネット
【図１】
2005115453.tif 000008
【図２】
2005115453.tif 000009
【図３】
2005115453.tif 000010
【図４】
2005115453.tif 000011
【図５】
2005115453.tif 000012
【図６】
2005115453.tif 000013
【図７】
2005115453.tif 000014
【図８】
2005115453.tif 000015
【図９】
2005115453.tif 000016
【図１０】
2005115453.tif 000017
【図１１】
2005115453.tif 000018
【図１２】
2005115453.tif 000019
【図１３】
2005115453.tif 000020
【図１４】
2005115453.tif 000021
【図１５】
2005115453.tif 000022
【図１６】
2005115453.tif 000023
【図１７】
2005115453.tif 000024
【図１８】
2005115453.tif 000025
【図１９】
2005115453.tif 000026
【図２０】
2005115453.tif 000027
【図２２】
2005115453.tif 000028
【図２３】
2005115453.tif 000029
【図２４】
2005115453.tif 000030
【図２５】
2005115453.tif 000031
【図２６】
2005115453.tif 000032
【図２７】
2005115453.tif 000033
【図２１】
2005115453.tif 000034