(57)【要約】【課題】メッセージの中身に応じて、メッセージ転送の効率化を実施できる情報転送システムを提供する。【解決手段】メッセージを転送先のノード１００との間で送受信する通信部１０１と、宛先のノード１００について、メッセージの属性に応じて変化しうる距離である論理的距離を測定する論理的距離測定部１０４と、論理的距離測定部１０４で計測した論理的距離を、メッセージの属性と宛先のノード１００の識別符号と転送先のノード１００のネットワークアドレスとに対応付けて格納する論理的距離格納部１０３と、転送するメッセージの宛先のノード１００とそのメッセージの属性に従って、論理的距離を用いて、メッセージの転送先のノード１００を決定する転送先決定部１０２と、を備える。【選択図】図１
2009218728.tif 000002
【特許請求の範囲】
【請求項１】
メッセージを転送先のノードとの間で送受信する通信手段と、
宛先のノードについて、メッセージの属性に応じて変化しうる距離である論理的距離を測定する論理的距離測定手段と、
前記論理的距離測定手段で計測した論理的距離を、前記メッセージの属性と前記宛先のノードの識別符号と前記転送先のノードのネットワークアドレスとに対応付けて格納する論理的距離格納手段と、
転送するメッセージの宛先のノードとそのメッセージの属性に従って、前記論理的距離を用いて、前記メッセージの転送先のノードを決定する転送先決定手段と、
を備えることを特徴とする情報転送装置。
【請求項２】
前記宛先のノードについて、前記メッセージの属性に依存しない距離である物理的距離を測定する物理的距離測定手段と、
前記物理的距離を、前記宛先のノードの識別符号と前記転送先のノードのネットワークアドレスとに対応付けて格納する物理的距離格納手段と、
をさらに備え、
前記転送先決定手段は、前記論理的距離および前記物理的距離を用いて、前記メッセージの転送先のノードを決定する
ことを特徴とする請求項１に記載の情報転送装置。
【請求項３】
メッセージを変形する規則を表すデータを格納する変形規則格納手段と、
転送すべきメッセージを転送する前に、前記変形する規則に従って前記メッセージを変形するメッセージ変形手段と、
をさらに備えることを特徴とする請求項１または２に記載の情報転送装置。
【請求項４】
前記論理的距離は、前記メッセージを転送先のノードに送信してからその応答を受信するまでの応答時間、前記メッセージが宛先のノードに到達するまでに中継するノードの数、または、前記メッセージが宛先のノードに到達するまでの経路の最小の通信帯域のうちの少なくとも１つを含むことを特徴とする請求項１ないし３のいずれか１項に記載の情報転送装置。
【請求項５】
宛先のノードについて、メッセージの属性に応じて変化しうる距離である論理的距離を測定する論理的距離測定ステップと、
前記論理的距離測定ステップで測定した論理的距離を、前記メッセージの属性と前記宛先のノードの識別符号と転送先のノードのネットワークアドレスとに対応付けて格納する論理的距離格納ステップと、
転送するメッセージの宛先のノードとそのメッセージの属性に従って、前記論理的距離を用いて、前記メッセージの転送先のノードを決定する転送先決定ステップと
前記転送先決定ステップで決定した転送先にメッセージを送信する送信ステップと、
を備えることを特徴とする情報転送方法。
【請求項６】
前記宛先のノードについて、前記メッセージの属性に依存しない距離である物理的距離を測定する物理的距離測定ステップと、
前記物理的距離を、前記宛先のノードの識別符号と前記転送先のノードのネットワークアドレスとに対応付けて格納する物理的距離格納ステップと、
をさらに備え、
前記転送先決定ステップは、前記論理的距離および前記物理的距離に基づいて、前記メッセージの転送先のノードを決定する
ことを特徴とする請求項５に記載の情報転送方法。
【請求項７】
転送すべきメッセージを転送する前に、メッセージを変形する規則に従って前記メッセージを変形するメッセージ変形ステップをさらに備えることを特徴とする請求項５または６に記載の情報転送方法。
【請求項８】
前記転送先決定ステップは、前記論理的距離に含まれる、前記メッセージを転送先のノードに送信してからその応答を受信するまでの応答時間、前記メッセージが宛先のノードに到達するまでに中継するノードの数、または、前記メッセージが宛先のノードに到達するまでの経路の最小の通信帯域のうちの少なくとも１つに基づいて、前記メッセージの転送先のノードを決定することを特徴とする請求項５ないし７のいずれか１項に記載の情報転送方法。
【請求項９】
コンピュータを、
メッセージを転送先のノードとの間で送受信する通信手段と、
宛先のノードについて、メッセージの属性に応じて変化しうる距離である論理的距離を測定する論理的距離測定手段と、
前記論理的距離測定手段で計測した論理的距離を、前記メッセージの属性と前記宛先のノードの識別符号と前記転送先のノードのネットワークアドレスとに対応付けて格納する論理的距離格納手段と、
転送するメッセージの宛先のノードとそのメッセージの属性に従って、前記論理的距離を用いて、前記メッセージの転送先のノードを決定する転送先決定手段
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はピアツーピア(peer-to-peer, P2P)ネットワークにおける情報転送装置、情報転送方法およびプログラムに関する。
【背景技術】
【０００２】
ピアツーピアネットワーク（Peer to Peer。略称P2P。peer-to-peerともいう）は一般に、定まったクライアント、サーバをもたず、ネットワーク上の他のコンピュータ（ノードともいう）に対してクライアントとしてもサーバとしても働くようなノードの集合によって形成される、コンピュータネットワークの形態の一つである。
【０００３】
ピアツーピアネットワークには、すべてのノードがお互いに直接通信できない場合においても、あるノードが通信を中継することで任意のノードと通信できる場合がある。ピアツーピアネットワークの具体的方式としては、ＤＨＴ(Distributed Hash Table：分散ハッシュテーブル)方式やグヌーテラ（Gnutella）方式が知られている。ＤＨＴ方式の一例が、特許文献５に記載されている。 グヌーテラ方式の一例が、特許文献３に記載されている。
【０００４】
このようなピアツーピアネットワークにおいては、メッセージをいかに効率よく転送するかが重要である。転送先のノードの選択によっては、メッセージの最終宛先への到達までに時間がかかったり、メッセージが無駄な経路を通ることでピアツーピアネットワークの他のメッセージの転送に悪影響、例えばメッセージ遅延やメッセージ消失、 を及ぼすことがある。また、ピアツーピアネットワーク以外のネットワーク、例えばＩＰ（Internet Protocol）ネットワークに、例えば遅延やロスや帯域制限などの悪影響を及ぼしたりする。
【０００５】
特許文献１には、ネットワークに新たなピアが接続されたときに、転送するグループ情報を生成する方法が記載されている。特許文献１の技術では、ネットワークを介して相互に接続された複数のピアの各々は、新たなピアの接続を受けた際に、自分、既存グループの代表ピア及び新たなピアの３者間のネットワーク上の距離の比較に基づいて、新たなピアをグループ分けしたグループ情報を作成する。自分からデータを発信する場合は、グループ情報に基づいてグループ分けしたグループ毎の宛先情報と自分を登録した経路情報を生成し、各グループの代表ピアにデータと共に発信する。ここでネットワーク上の距離とは「ＰＩＮＧ」に対するレスポンス時間や回線速度のことである。
【０００６】
特許文献２には、ピアツーピア型となるコラボレーションにおける接続相手を容易に発見して招待し、更に資料や会議ログの配信とアプリケーションの共有を行うことが記載されている。特許文献２の技術は、会議主催者ピアマシンのＵＲＬ（Uniform Resource Locator）を電子メール上に記載して複数の会議参加者ピアマシンに送信し、また会議主催者ピアマシンからの通信テストにより最短時間位置の会議参加者ピアを検索してデータを配信させる。この配信後に残りの会議参加者ピアに配信済みの会議参加者ピアマシンが自己のミラーであることを通知して、会議主催者ピアおよびミラーからの通信テストにより最短時間位置の会議参加者ピアマシンを検索してデータを配信させることを配信完了まで繰り返す。
【０００７】
その他、特許文献４には、利用者の嗜好を示す意味情報をキーワードとしてコンテンツを検索し、利用者および必要により同じ嗜好の他の利用者にリアルタイムに配信するコンテンツ配信方法が記載されている。
【０００８】
また、異なる種類のノードが混在するＰ２Ｐ型データ交換ネットワークにおいて、自ノードに最適のデータ形式をもつデータを発見できる可能性を高くし、検索時間を短縮する方法が特許文献６に記載されている。特許文献６の技術では、各ノードは、実データ、メタデータ（属性情報、形式情報）、元データ所在情報を記憶する。検索要求メッセージを取得すると、形式相違データ検索部は、検索条件に合致するデータが見つからない場合、検索条件のうちデータ形式の条件を除く条件を満たすデータを検索する。データ形式以外の条件を満たすデータが見つかった場合、元データ所在情報を参照して、データ形式を変換する前のデータが所在する元データ記憶装置に対して検索要求メッセージを通知する。
【０００９】
特許文献７には、分散型データネットワークにおけるコンテンツ提供技術が記載されている。特許文献７の技術は、サーバ又はキャッシュのパフォーマンス特性を判別し、要求に応答してクライアントに配信するべきデータの正確度レベルを判別する。データの正確度の判別は、（ｉ）判別した少なくとも１つのサーバ又は少なくとも１つのキャッシュのパフォーマンス特性、および（ii）クライアントに関連する少なくとも１つの嗜好に基づく。パフォーマンス特性は、サーバ又はキャッシュの負荷を有し、データの正確度レベルは、要求に応答してクライアントに配信するべきパーソナライゼーションのレベルを有する。
【特許文献１】国際公開第２００４／０３０２７３号パンフレット
【特許文献２】特開２００３−０８５１１１号公報
【特許文献３】特開２００４−０２１７７０号公報
【特許文献４】特開２００４−１２７０３６号公報
【特許文献５】特開２００４−２６６７９６号公報
【特許文献６】特開２００７−１０２４５９号公報
【特許文献７】特表２００７−５２５７６４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ピアツーピアネットワークにおけるメッセージ転送の効率化に関して、関連する技術の情報転送システムの一例が、参考文献１（M. Parker他、「Optimizing neighbors by objective functions in peer-to-peer networks」、Global Telecommunications Conference 2005、2005年11月）、および参考文献２（H. Duan他、「Proximity Neighbor Selection in Structured P2P Network」、Sixth IEEE International Conference on Computer and Information Technology、2006年9月）に記載されている。この関連する技術の情報転送システムは、通信手段と、転送手段と、経路表格納手段と、物理的距離格納手段と、物理的距離測定手段とから構成されている。
【００１１】
このような構成を有する情報転送システムは次のように動作する。あるノードが別のノードからメッセージを受信した際には、経路表格納手段の経路表を参照して、必要であればメッセージをさらに別のノードに転送する。このとき、転送先のノードには複数の候補があり、その候補からどのノードを選択してもシステム全体の動作には影響がない場合がある。その場合、物理的距離格納手段に格納されたネットワーク距離である物理的距離の情報を参考にして、可能であれば物理的距離の近いノードにメッセージを転送することができる。
【００１２】
物理的距離は、物理的距離測定手段が過去のメッセージの受信記録から測定し、物理的距離格納手段に格納する。ネットワーク距離とは、地理的な距離であったり、ＩＰネットワーク上の距離であったり、オーバレイネットワーク上の距離であったりする。
【００１３】
関連する技術の情報転送システムにおいては、物理的距離を測定してメッセージを転送する際の効率化を実現している。しかし、すべてまたは一部のノードを人間が操作することにより情報の流通を実現するようなピアツーピアネットワークにおいては、次のような問題がある。
【００１４】
第１の問題点は、ノードを人間が操作していることに起因する遅延がある場合に、効率化が働かないということである。人間がノードを操作することにより情報の流通を実現するようなピアツーピアネットワークにおいては、情報の発信、返信、転送などの送信先が人間の裁量によって決まる。また、実施タイミングが人間の裁量によって決まり、場合によっては実施されなかったりする。
【００１５】
関連する技術においては、物理的距離測定手段が測定する距離は、ネットワークレベルのＲＴＴ（Round Trip Time：応答時間）、ＩＰネットワークのホップ数、オーバレイネットワークのホップ数などの物理的距離である。人間の操作が介在する場合、それによって距離が左右される。そのため、人間が操作して返答（転送）メッセージを送信するメッセージに対しては、最も速く到達する経路を選択することはできなかった。
【００１６】
第２の問題点は、メッセージの中身に応じた転送の効率化はできないということである。その理由は、物理的距離測定手段が測定する距離はノードの距離であり、メッセージの中身に関わらず一定であるためである。
【００１７】
本発明は上記のような事情に鑑みてなされたもので、メッセージの中身に応じて、メッセージ転送の効率化を実施できる情報転送装置を提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明の第１の観点に係る情報転送装置は、
メッセージを転送先のノードとの間で送受信する通信手段と、
宛先のノードについて、メッセージの属性に応じて変化しうる距離である論理的距離を測定する論理的距離測定手段と、
前記論理的距離測定手段で計測した論理的距離を、前記メッセージの属性と前記宛先のノードの識別符号と前記転送先のノードのネットワークアドレスとに対応付けて格納する論理的距離格納手段と、
転送するメッセージの宛先のノードとそのメッセージの属性に従って、前記論理的距離を用いて、前記メッセージの転送先のノードを決定する転送先決定手段と、
を備えることを特徴とする。
【００１９】
本発明の第２の観点に係る情報転送方法は、
宛先のノードについて、メッセージの属性に応じて変化しうる距離である論理的距離を測定する論理的距離測定ステップと、
前記論理的距離測定ステップで測定した論理的距離を、前記メッセージの属性と前記宛先のノードの識別符号と転送先のノードのネットワークアドレスとに対応付けて格納する論理的距離格納ステップと、
転送するメッセージの宛先のノードとそのメッセージの属性に従って、前記論理的距離を用いて、前記メッセージの転送先のノードを決定する転送先決定ステップと
前記転送先決定ステップで決定した転送先にメッセージを送信する送信ステップと、
を備えることを特徴とする。
【００２０】
本発明の第３の観点に係るプログラムは、コンピュータを、
メッセージを転送先のノードとの間で送受信する通信手段と、
宛先のノードについて、メッセージの属性に応じて変化しうる距離である論理的距離を測定する論理的距離測定手段と、
前記論理的距離測定手段で計測した論理的距離を、前記メッセージの属性と前記宛先のノードの識別符号と前記転送先のノードのネットワークアドレスとに対応付けて格納する論理的距離格納手段と、
転送するメッセージの宛先のノードとそのメッセージの属性に従って、前記論理的距離を用いて、前記メッセージの転送先のノードを決定する転送先決定手段
として機能させることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、メッセージの中身（属性）に応じて、メッセージ転送の効率化ができる。
【発明を実施するための最良の形態】
【００２２】
（実施の形態１）
以下、本発明に係る情報転送装置について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付し、その説明は繰り返さない。図１は本発明の実施の形態１に係る情報転送システムの構成例を示すブロック図である。複数のノード１００がネットワーク２００に接続し、ピアツーピア型ネットワークを構成する。実施の形態１のノード（コンピュータ）は、通信部１０１と、転送先決定部１０２と、論理的距離格納部１０３と、論理的距離測定部１０４とから構成されている。
【００２３】
通信部１０１は、他のノード１００とネットワーク２００を介して通信するインタフェースを備える。メッセージを受信した際には、そのメッセージを転送先決定部１０２と、論理的距離測定部１０４とに出力する。転送先決定部１０２からメッセージの転送要求を受けた際には、そのメッセージを指定された転送先に送信する。
【００２４】
転送先決定部１０２は、通信部１０１からメッセージを入力し、メッセージの宛先情報を元に論理的距離格納部１０３から転送先候補を取得する。さらに、転送先候補のそれぞれのノードについて、論理的距離格納部１０３からそのメッセージの属性に対応する論理的距離を取得し、最も論理的距離が小さい転送先を選択する。
【００２５】
論理的距離格納部１０３は、ピアツーピアネットワークの維持に必要な経路表を保持する。ピアツーピアネットワークの種類によっては、任意のメッセージの受信により経路表を更新したり、経路表を更新するための特殊なメッセージを適宜送信したりする。
【００２６】
論理的距離とは、メッセージの属性ごとに定められる、宛先ノードまでの距離である。メッセージの属性とは、メッセージの形式、内容、表現方法、種類などの特性を表す情報である。例えば、メッセージの符号化方式、データ長、メッセージのデータを扱うプログラム、メッセージの主題、分野、コメント／応答／問い合わせ／回答／依頼／確認などの種類等々である。
【００２７】
ここで、メッセージの種類情報とは、メッセージの総数よりも十分次元の小さい特徴情報であり、例えば、メッセージの中身に構造がなければ、 ハッシュ関数を用いて小さい特徴データとしてもよい。メッセージの種類情報は、メッセージのヘッダ部分に記述されていたり、メッセージの中身が構造化されている場合には、その構造の特徴情報を利用したりする。
【００２８】
論路的距離を定める属性は１つとは限らず、組み合わせの属性に距離が対応づけられてもよい。例えば、符号化方式とデータ長の組に対して論理的距離を定義してもよい。
【００２９】
宛先ノードまでの距離は、例えば、宛先ノードにメッセージが到達するまでに経由する中継ノードの数（ホップ数）、メッセージを転送してから応答（受信確認または回答）を受けるまでの時間、または、宛先ノードまでの経路のうち最も小さい伝送帯域（ビットレート）、などである。距離が時間で測られる場合、中継するノードにおける人間の操作遅延時間を含む。論理的距離の算出は、メッセージが既に送信した要求メッセージに対する応答である返答メッセージであった場合に、既に送信した要求メッセージの送信時刻と現時刻の差分を返答遅延とし、過去に計算した返答遅延の最近何件分かにおける、もしくは、過去一定時間における、平均値を論理的距離とすることで算出してもよい。あるノードにおける宛先ノードまでの論理的距離は、転送先のノードによって異なる。また、メッセージの属性によって異なる。
【００３０】
論理的距離とは、ノードを操作する人間の振舞を含むノード間の距離であり、ネットワーク上の位置情報や人間の操作を含めた処理遅延から推定される。論理的距離は、一般的には数値を用いるが、ベクトルで表現することもできる。すなわち、応答時間とホップ数の組などで表してもよい。
【００３１】
図２は、論理的距離と、宛先ノード、転送先ノードおよびメッセージの属性の関係を表す概念図である。論理的距離は、メッセージの属性、宛先ノードおよび転送先ノードの組に対して定められる。メッセージの属性と宛先ノードが与えられると、メッセージ属性−宛先ノード平面の１点が定められる。その点を通って転送先ノード軸に平行な線上の各点の値として、転送先ノードごとの論理的距離が対応づけられる。
【００３２】
図３は、あるメッセージ属性についてみた論理的距離のデータの例を示す。メッセージ属性αについて、宛先ノードａ、ｂ、ｃ．．．に対して、転送先ノードＡ、Ｂ、Ｃ．．．ごとに論理的距離Ｌ１１、Ｌ１２、．．．が定められる。ノードの情報には、例えば、ノードのＩＰアドレスやノードの識別子を用いる。転送先ノードは、例えば、ＩＰアドレスで指定される。宛先ノードはユニークな識別子で示される。宛先ノードのＩＰアドレスは動的に変化するかもしれない。
【００３３】
図３の論理的距離の表は、図２に示す空間で、メッセージ属性がαである点を通る宛先ノード−転送先ノードの平面に相当する。論理的距離Ｌ１１、Ｌ１２、．．．の中には、値がないものもあり得る。値がないとは、過去にその点に該当するメッセージ転送がない、転送したが応答（受信確認）がない、転送したが途中で消滅した、というような場合である。
【００３４】
また、宛先ノードとしてブロードキャストを定めてもよい。ブロードキャストの場合の論理的距離は、その転送先ノードに転送した場合に、応答があったものの平均応答時間、応答時間の逆数の総和の逆数、応答があったものの平均ホップ数、などで定義できる。
【００３５】
図４は、ある宛先ノードについてみた論理的距離のデータの例を示す。宛先ノードｎについて、メッセージ属性α、β、γ、．．．に対して、転送先ノードＡ、Ｂ、Ｃ．．．ごとに論理的距離Ｋ１１、Ｋ２１、．．．が定められる。この表は、図２に示す空間で、宛先ノードがｎである点を通る転送先ノード−メッセージ属性の平面に相当する。図３と図４のうち、メッセージ属性、宛先ノード、転送先ノードの３つが同じ組み合わせに対応する論理的距離ＬijとＫlmは同じ値である。
【００３６】
メッセージの属性については、ネットワーク全体で考え得るすべてを網羅する必要はない。そのノードで着目する属性について論理的距離を分類すればよい。したがって、メッセージの属性のセットは、ノードごとに異なる可能性がある。そのノードで着目しない属性については、「その他」としてまとめてもよい。
【００３７】
転送先ノードとしてブロードキャストを定めてもよい。この場合のブロードキャストが、そのノードからのすべての転送先とすると、ブロードキャストに対応する論理的距離は、いわばそのノードにおけるピアツーピア経路のメッセージ属性ごとの到達率と効率を表すと考えられる。
【００３８】
図１に戻って、論理的距離測定部１０４は、通信部１０１から入力したメッセージと、そのメッセージを転送した結果から、メッセージの属性、宛先ノード、転送先ノードごとの距離（論理的距離）を計測する。そして、論理的距離を、例えば図３または図４のような形式で論理的距離格納部１０３に格納する。
【００３９】
論理的距離は、例えば、過去のメッセージ転送の実績から、メッセージの属性、宛先ノード、転送先ノードごとの平均、あるいは、直近のある期間またはあるメッセージ個数の移動平均として求めることができる。移動平均を直近の１つのメッセージとすれば、最後に転送したときの値となる。その場合、受信確認をまだ受信していない間は、メッセージを転送してからの経過時間としてもよい。
【００４０】
通信部１０１では、他のノード１００からメッセージを中継する場合は、宛先情報に自ノードが含まれていれば宛先情報から自ノードを削除し、自ノードを登録した経路情報を生成して、指定された転送先ノードにデータと共に発信する。オペレータによってそのノードにメッセージが入力された場合も、メッセージを入力された通信部１０１は、そのメッセージを転送先決定部１０２と、論理的距離測定部１０４とに出力する。転送先決定部１０２は、そのメッセージの属性と宛先ノードから論理的距離を参照して、転送先ノードを決定する。
【００４１】
図５は、実施の形態１に係る論理的距離計測の動作の一例を示すフローチャートである。通信部１０１でメッセージを送信して、その応答を受信すると（ステップＳ１）、論理的距離測定部１０４は、そのメッセージの属性、宛先ノード、および転送先ノードについて、論理的距離を算出する（ステップＳ２）。論理的距離は前述のとおり、メッセージ属性、宛先ノード、および転送先ノードごとの過去の平均、または移動平均などである。
【００４２】
論理的距離の算出は、例えば、メッセージが既に送信した要求メッセージに対する応答である返答メッセージであった場合に、既に送信した要求メッセージの送信時刻と現時刻の差分を返答遅延として、過去に計算した返答遅延の最近何件分かにおける、もしくは、過去一定時間における、平均値を論理的距離とすることで算出することができる。
【００４３】
要求メッセージと返答メッセージの対応を付けるためには、メッセージのヘッダ部分に要求識別子を挿入しておいたり、メッセージの中身が構造化されている場合には、その構造を利用したりする。また、要求メッセージと返答メッセージの代わりに、通知メッセージと確認メッセージを用いることもできる。さらに、メッセージのヘッダ部に挿入されたノードの非活性度情報、例えば、ノードが人間に操作された最後の時刻からの経過時間、を論理的距離とすることもできる。
【００４４】
論理的距離測定部１０４は、算出した論理的距離を論理的距離格納部１０３に格納する（ステップＳ３）。例えば、図３または図４に示すようなデータのうち、該当する論理的距離ＬijまたはＫlmを、追加または更新する。
【００４５】
図６は、実施の形態１に係るメッセージ転送の動作の一例を示すフローチャートである。メッセージが生成されるか、または、メッセージを受信すると、通信部１０１は転送先決定部１０２および論理的距離測定部１０４に出力する（ステップＳ１１）。
【００４６】
転送先決定部１０２は、論理的距離格納部１０３からメッセージの宛先と属性に対応する論理的距離を参照し、転送先ノードを決定する（ステップＳ１２）。このとき、論理的距離がベクトルの場合は、ベクトルの要素から所定の評価関数で算出される値に基づいて、転送先ノードを決定する。そして、通信部１０１に転送先ノードを指示する。
【００４７】
通信部１０１は、宛先情報に自ノードが含まれていれば宛先情報から自ノードを削除し、自ノードを登録した経路情報を生成して、指定された転送先ノードにメッセージデータと共に送信する（ステップＳ１３）。転送先ノードは、メッセージの属性と宛先ノードに対応する論理的距離に基づいて決定されているので、そのノードから転送可能な転送先ノードのうち、メッセージ属性に応じて、宛先ノードに最も速く到達する転送先であることが期待できる。
【００４８】
実施の形態１の情報転送システムによれば、メッセージの中身（属性）に応じた メッセージ転送の効率化ができる。すなわち、ある種類のメッセージについては反応が早い、もしくは、反応があるノードと、反応が遅い、もしくは、反応がないノードを区別して、転送の効率化を実現できる。また、論理的距離を中継ノードのオペレータの操作遅延を含む距離とすることによって、人間の操作に起因する遅延も考慮したメッセージ転送の効率化が可能である。 
【００４９】
（実施の形態２）
実施の形態２は、論理的距離に加えて物理的距離を用いて転送先ノードを決定する場合である。物理的距離とは、メッセージの属性によっては変化しないノード間距離である。図７は、本発明の実施の形態２に係る情報転送システムの構成例を示すブロック図である。実施の形態２のノード１００は、実施の形態１の構成に加えて、物理的距離格納部１０５および物理的距離測定部１０６を備える。
【００５０】
通信部１０１は、メッセージを受信した際には、そのメッセージを転送先決定部１０２と、論理的距離測定部１０４および物理的距離測定部１０６とに出力する。
【００５１】
物理的距離格納部１０５は、物理的距離測定部１０６から入力される物理的距離を宛先ノードおよび転送先ノードの情報と対にして格納し、宛先ノードの情報をキーにして物理的距離を転送先決定部１０２に出力する。
【００５２】
物理的距離とは、ノードの位置に基づくノード間の距離であり、任意の位置情報やネットワークの通信遅延から推定される。物理的距離は、一般的には数値を用いるが、座標空間を想定したベクトルで表現することもできる。ノードの情報には、例えば、ノードのＩＰアドレスやノードの識別子を用いる。
【００５３】
物理的距離測定部１０６は、通信部１０１からメッセージを入力し、物理的距離を測定して物理的距離を物理的距離格納部１０５に出力する。物理的距離は、例えば、メッセージのＲＴＴ遅延を測定して、過去何回かのＲＴＴ（Round Trip Time）遅延の平均値とする。物理的距離は、すべてのメッセージ属性について総合した平均的な値である。
【００５４】
図８は、物理的距離のデータの例を示す。宛先ノードａ、ｂ、ｃ、．．．と、転送先ノードＡ、Ｂ、Ｃ、．．．の組に対して、物理的距離Ｐ１１、Ｐ１２、Ｐ１３、．．．が定められる。ノードの情報は、図３の論理的距離と同様である。物理的距離の測度（応答時間またはホップ数など）は、論理的距離と同じである場合も異なる場合もあり得る。
【００５５】
物理的距離Ｐ１１、Ｐ１２、．．．の中には、値がないものもあり得る。値がないとは、過去にその点に該当するメッセージ転送がない、転送したが応答（受信確認）がない、転送したが途中で消滅した、というような場合である。
【００５６】
図７に戻って、通信部１０１からメッセージを入力し、メッセージの宛先情報を元に論理的距離格納部１０３から転送先候補を取得する。また、転送先候補のそれぞれのノードについて、 物理的距離格納部１０５から物理的距離を取得し、さらに、転送先候補のそれぞれのノードについて、論理的距離格納部１０３からそのメッセージの属性に対応する論理的距離を取得する。そして、物理的距離と論理的距離を、例えば、線形的に合成して一次元の距離に変換し、転送先候補を一次元の距離で近い順に何件か絞り込み、絞り込んだ転送先候補それぞれについて、通信部１０１に転送要求を送る。
【００５７】
図９は、実施の形態２に係る距離を計測する動作の一例を示すフローチャートである。実施の形態２では、論理的距離に加えて物理的な距離を計測する。通信部１０１でメッセージを送信して、その応答を受信すると、メッセージを論理的距離測定部１０４および物理的距離測定部１０６に出力する（ステップＳ１）。論理的距離の測定（ステップＳ２）および格納（ステップＳ３）は、実施の形態１と同様である。物理的距離測定部１０６は、通信部１０１からメッセージを受け取り物理的距離を算出する（ステップＳ４）。
【００５８】
物理的距離の算出は、メッセージがＡＣＫと呼ばれる既に送信したメッセージに対する受領確認のメッセージであった場合に、既に送信したメッセージの送信時刻と現時刻の差分をＲＴＴ遅延とし、過去に計算したＲＴＴ遅延の最近何件分かにおける、もしくは、過去一定時間における平均値を、物理的距離とすることで算出する。また、物理的距離の算出は、メッセージに含まれる送信元からの距離情報を物理的距離としたり、ホップ数の最近何件分かにおける、もしくは、過去一定時間における、平均値を物理的距離とすることで算出することもできる。あるいはさらに、物理的距離の算出は、メッセージのＩＰヘッダに含まれるＴＴＬ（Time to Live）値を最大ＴＴＬ値から引いた差分を物理的距離としたり、差分の最近何件分かにおける、もしくは、過去一定時間における、平均値を物理的距離とすることで算出することもできる。
【００５９】
物理的距離測定部１０６は、算出した物理的距離を物理的距離格納部１０５に格納する（ステップＳ５）。物理的距離格納部１０５に格納される物理的距離はノードの情報、すなわち、ノード識別子や、ＩＰアドレスとポ一ト番号の組などと関連づけられて格納される。物理的距離の格納には、通常はノードの情報から物理的距離を瞬時に検索できるようにハッシュテーブルやＤＢＭＳ（Data Base Management System）などを用いる。
【００６０】
以上では、物理的距離格納部１０５に格納される物理的距離は単一の数値であるという前提で説明したが、ＲＴＴ遅延を元に、例えば二次元空間上の位置を推定する技術があり、それを用いる場合は、物理的距離格納部１０５に格納される物理的距離はベクトルになってもよい。その場合は、転送先決定部１０２が一意的な距離を算出する際にスカラー化することになる。
【００６１】
図１０は、実施の形態２に係るメッセージ転送の動作の一例を示すフローチャートである。メッセージが生成されるか、または、メッセージを受信すると、通信部１０１は転送先決定部１０２および論理的距離測定部１０４に出力する（ステップＳ２１）。
【００６２】
転送先決定部１０２は、論理的距離格納部１０３からメッセージの宛先と属性に対応する論理的距離を参照する（ステップＳ２２）。また、物理的距離格納部１０５からメッセージの宛先に対応する物理的距離を参照する（ステップＳ２３）。
【００６３】
転送先決定部１０２は、転送先ノードの候補ごとに、論理的距離および物理的距離を用いて、所定の評価関数または評価の規則によって転送先ノード候補の順位を決め、転送先の候補を絞り込む（ステップＳ２４）。複数の距離から一意的な距離を算出する方法としては、加重平均などの線形的に合成する方法と、非線形関数を適用してから合成する方法と、ルールによって合成する方法とがある。一意的な距離で転送先候補を絞り込む方法としては、転送先候補を距離の近い順に並べ上位何件かを選択する方法と、距離がある数値より小さいノードを選択する方法とがある。また、論理的距離と物理的距離を、応答時間とホップ数などのように異なる測度を組み合わせて用いることもできる。
【００６４】
転送先決定部１０２は絞り込まれた転送先候補毎に、通信部１０１に転送要求を発行し、通信部１０１はメッセージを転送先ノードに送信する（ステップＳ２５）。通信部１０１は、宛先情報に自ノードが含まれていれば宛先情報から自ノードを削除し、自ノードを登録した経路情報を生成して、指定された転送先ノードにメッセージデータと共に送信する。
【００６５】
転送先ノードは、メッセージの属性と宛先ノードに対応する論理的距離および物理的距離に基づいて決定されているので、そのノードから転送可能な転送先ノードのうち、メッセージ属性に応じて、宛先ノードに最も速く到達する転送先であることが期待できる。
【００６６】
実施の形態２の情報転送システムによれば、メッセージの中身（属性）に応じた メッセージ転送の効率化ができる。論理的距離を中継ノードのオペレータの操作遅延を含む距離とすることによって、人間の操作に起因する遅延も考慮したメッセージ転送の効率化が可能である。論理的距離と物理的距離を組み合わせることによって、論理的距離だけでは、到達時間の変動が大きいような場合に、変動を緩和できる可能性がある。
【００６７】
（実施の形態３）
実施の形態３では、メッセージを転送先および／または宛先に応じて、変形して転送する。図１１は、本発明の実施の形態３に係る情報転送システムの構成例を示すブロック図である。実施の形態３のノードは、実施の形態２の構成に加えて、メッセージ変形部１０７と、変形規則格納部１０８とを備える。
【００６８】
メッセージ変形部１０７は、転送先決定部１０２からメッセージを受け取り、転送先決定部１０２から受け取ったメッセージを変形するための規則を変形規則格納部１０８から取得する。転送先決定部１０２から受け取ったメッセージを変形するための規則が存在すれば、その規則のすべてまたは一部を用いてメッセージを変形し、転送先決定部１０２に出力する。転送先決定部１０２はメッセージを転送する際に、元のメッセージだけでなく、メッセージ変形部１０７によって変形されたメッセージも転送する。
【００６９】
このとき、すべての変形されたメッセージを転送せず、一部に絞ったり、転送先毎に絞り方を変えたり、元のメッセージの転送を抑制したりしてもよい。転送先毎に絞り方を変える際は、物理的距離および論理的距離の情報を使ってもよい。変形規則格納部１０８が格納する規則には、例えば、メッセージを別の言語や別のフォーマットまたは符号に変換したり、メッセージにメタ情報やコメントなどの付随情報を追加したり、何かを問い合わせるメッセージであれば、部分的に回答したりする規則がある。
【００７０】
図１２は、変形規則の例を示す。例えば、１行目の規則は、宛先ノードがａ、ｂまたはｄの場合、転送先ノードにかかわらず（ａｎｙ）、Ｐｒｉｃｅ（ａｐｐｌｅ，Ｘ）という問い合わせメッセージを、Ｐｒｉｃｅ（りんご，Ｘ）に変換することを示す。
【００７１】
図１３は、実施の形態３に係るメッセージ転送の動作の一例を示すフローチャートである。ステップＳ２１〜ステップＳ２４の動作は、実施の形態２と同様である。転送先ノードが決定されたところで、メッセージ変形部１０７は、変形規則格納部１０８から宛先ノードおよび転送先ノードに対応する変形規則を参照する（ステップＳ３５）。
【００７２】
対応する変形規則があれば（ステップＳ３６；ＹＥＳ）、その変形規則に従って、メッセージを変形する（ステップＳ３７）。変形規則がなければ（あるいは、メッセージが変形規則の条件に該当しなければ）（ステップＳ３６；ＮＯ）、メッセージはそのままとする。そして、通信部１０１は変形したメッセージまたは元のメッセージを転送先ノードに送信する（ステップＳ３８）。
【００７３】
本実施の形態３では、メッセージ変形部１０７が変形規則格納部１０８に格納された規則を使ってメッセージを変形し、転送先決定部１０２がそのメッセージを転送するというように構成されているため、送信者の意図しないメッセージが流通し新たな発見が生まれたり、１つのノードが返答できないような要求メッセージに対して、複数のノードの協調動作によってメッセージが返答されたりする。また、変形のしかたによって、その後の論理的距離が変化する。そこで、メッセージが速く伝達するように、変形規則を適切に設定することにより、情報転送の効率が向上することが期待できる。
【００７４】
（具体例１）
具体例を用いて実施の形態２の動作を説明する。具体例１では、Ｇｎｕｔｅｌｌａ方式に適用する場合について説明するが、ＰａｓｔｒｙなどのＤＨＴ方式に適用する場合についても同様である。
【００７５】
図７に示す構成において、通信部１０１はＴＣＰ（Transmission Control Protocol）やＵＤＰ（User Datagram Protocol）のソケットを開き、メッセージの送受信を可能とする。メッセージは、ＴＣＰ／ＩＰ（Internet Protocol）やＵＤＰ／ＩＰのヘッダとは別に、ピアツーピアネットワーク用のヘッダを有し、その他の部分をボディと呼ぶ。ピアツーピアネットワーク用のヘッダには最低限宛先の情報が含まれる。ただし、ブロードキャスト型のメッセージの場合は、宛先すら含まれない場合がある。以下では、ランダムグラフ型のネットワークにおいて、ブロードキャスト型のメッセージを用いて通信する例を説明する。
【００７６】
このようなネットワークにおいて、一般的には、ピアツーピアネットワーク用のヘッダはＨＴＬ（Hop To Live：残存ホップ数）情報を含み、ピアツーピアネットワーク上でノードがメッセージを転送するたびに、その数値が１減少し、０に到達した時点で転送を止める。また、ピアツーピアネットワーク用のヘッダは、送信元のノード情報、例えば、ＩＰアドレスとポート番号の組、も含むことがある。
【００７７】
論理的距離格納部１０３に格納される経路表の構成要素は、基本的には制限がなく、存在するであろう任意のノード情報が格納される。このようなピアツーピアネットワークは、しばしば「非構造化ネットワーク」と呼ばれる。転送先決定部１０２はメッセージを通信部１０１から受信した際には、論理的距離格納部１０３からノード情報を取得し、その中からランダムに選択した、例えば５つの、ノードにメッセージを転送する。このとき、完全なランダムではなく、物理的距離と論理的距離を用いて近いノードに優先的に転送することで、ピアツーピアネットワークの効率を向上する。
【００７８】
物理的距離は例えば、ピアツーピアネットワーク上でのホップ数とする。物理的距離測定部１０６は、メッセージを受信すると、そのヘッダから送信元のノード情報と、ＨＴＬを取得する。物理的距離は、ＨＴＬの最大値（もしくは０）からヘッダの中のＨＴＬを引いたものとし、物理的距離格納部１０５に格納する。このとき、直前の例えば１０回分の物理的距離を別途記憶し、その平均値を物理的距離格納部１０５に格納してもよい。
【００７９】
物理的距離格納部１０５に格納される物理的距離を連想配列の要素の形（キー，値）で表現すると、（ノード情報，ホップ数）となる。例えば、ノード情報が”１９２．１６８．１２．３４：５６７８”で、ホップ数が５であるとすると、（”１９２．１６８．１２．３４：５６７８”，５）となる。
【００８０】
論理的距離も物理的距離と同様に、ピアツーピアネットワーク上でのホップ数とすることができ、その計算はメッセージのボディまで解析することで実現する。例えば、メッセージのボディは述語論理の形で書かれるとする。例えば、あるノードがＰｒｉｃｅ（ａｐｐｌｅ，Ｘ）という問いを送信し、別のあるノードからそれに対する答え、例えば、Ｐｒｉｃｅ（ａｐｐｌｅ，１１０）を受信したとする。論理的距離測定部１０４がこのメッセージを受信すると、物理的距離測定部１０６と同様にホップ数を計算し、論理的距離格納部１０３に格納する。
【００８１】
論理的距離格納部１０３に格納される論理的距離は２つのキーをもち、（キー１，キー２，値）の形で表現すると、（ノード情報，述語情報，ホップ数）となる。例えば、ノード情報が”１９２．１６８．１２．３４：５６７８”で、述語情報が”Ｐｒｉｃｅ”で、ホップ数が６であるとすると、（”１９２．１６８．１２．３４：５６７８”，”Ｐｒｉｃｅ”，６）となる。論理的距離格納部１０３に格納する際のノード情報は、メッセージの送信元だけでなく、直前の転送元であったり、もしくは、任意の転送途中のノードであったりしてもよい。
【００８２】
論理的距離をホップ数ではなく、応答までの時間とするには、論理的距離測定部１０４は、自ノードがＰｒｉｃｅ（ｏｒａｎｇｅ，Ｘ）という問いを送信したことを、通信部１０１から受信、もしくは、その他の方法で受信したことを知ったときの時刻を送信時刻として記憶する。メッセージのヘッダに応答先のノード情報が含まれ、論理的距離測定部１０４はメッセージを受信した際に、先に送信した問いに対する答え、例えば、Ｐｒｉｃｅ（ｏｒａｎｇｅ，９０）、であることが分かったとする。このメッセージの受信時刻から問いの送信時刻を引くことで、述語「Ｐｒｉｃｅ」に関する応答の遅延を測定することができる。
【００８３】
転送先決定部１０２が例えば、Ｐｒｉｃｅ（ｇｒａｐｅ，Ｘ）というメッセージを転送する際には、物理的距離格納部１０５に格納されている物理的距離と、論理的距離格納部１０３に格納されている述語「Ｐｒｉｃｅ」に関する論理的距離とを取得し、その平均値を一意的な距離とし、その距離が小さいノードに優先的にメッセージを転送する。
【００８４】
論理的距離の意味を強めたい場合は、単なる平均ではなく、重み付き平均にすることもでき、非線形に結合することもできる。論理的距離と物理的距離は異なる単位であってもよい。論理的距離はホップ数や応答までの時間以外にも、応答メッセージの中身の質によって変化させることもでき、例えば、応答が気に入ったかを受信した人間が判断したり、 応答の数や量によって判断することもできる。
【００８５】
（具体例２）
実施の形態３の具体例を説明する。具体例１との構成の違いは、図１１に示すようにメッセージ変形部１０７と変形規則格納部１０８を有する点である。メッセージのボディが述語論理の形で書かれるとする。例えば、そのような変換規則として、Ｐｒｉｃｅ（ａｐｐｌｅ，Ｘ）→ Ｐｒｉｃｅ（りんご，Ｘ）や、Ｐｒｉｃｅ（ａｐｐｌｅ，Ｘ）→ Ｐｒｉｃｅ２（ｆｒｕｉｔ，Ｘ） や、Ｐｒｉｃｅ（Ｙ，Ｘ）→ ＷａｎｎａＢｕｙ（Ｙ，Ｘ）などの規則があり得る（図１２参照）。
【００８６】
転送先決定部１０２がメッセージを転送するたびに、メッセージ変形部１０７は変形規則格納部１０８に格納された規則を参照して、そのメッセージを複数のメッセージに展開する。転送先決定部１０２はすべてのメッセージを転送するか、一部のメッセージをランダムに選択して転送するか、メッセージとノードの組で距離を計算して、距離の小さいものをいくつか転送する。
【００８７】
述語情報が変わるようなメッセージを転送する場合は、いわゆる転送を行わず、再送信する場合もある。その場合は、応答が返ってきた際は、必要に応じて再応答し、元の問いの送信ノードに伝わるようにする。また本実施例において、変形規則格納部１０８を使わずに、オペレータが入力する規則によって、転送の度にメッセージを変形することもできる。
【００８８】
図１４は、図１、図７または図１１に示す情報転送システムにおけるノード１００のハードウェア構成の一例を示すブロック図である。ノード１００は、図１４に示すように、制御部１１、主記憶部１２、外部記憶部１３、操作部１４、表示部１５、計時部１６および送受信部１７を備える。主記憶部１２、外部記憶部１３、操作部１４、表示部１５、計時部１６および送受信部１７はいずれも内部バス１０を介して制御部１１に接続されている。
【００８９】
制御部１１はＣＰＵ（Central Processing Unit）等から構成され、外部記憶部１３に記憶されている要素集団抽出用プログラム５００に従って、前述のノード１００の処理を実行する。
【００９０】
主記憶部１２はＲＡＭ（Random-Access Memory）等から構成され、外部記憶部１３に記憶されている情報転送用プログラムをロードし、制御部１１の作業領域として用いられる。
【００９１】
外部記憶部１３は、フラッシュメモリ、ハードディスク、ＤＶＤ−ＲＡＭ（Digital Versatile Disc Random-Access Memory）、ＤＶＤ−ＲＷ（Digital Versatile Disc ReWritable）等の不揮発性メモリから構成され、前記の処理を制御部１１に行わせるための情報転送用プログラムを予め記憶し、また、制御部１１の指示に従って、このプログラムが記憶するデータを制御部１１に供給し、制御部１１から供給されたデータを記憶する。図１、図７または図１１の論理的距離格納部１０３、物理的距離格納部１０５および変形規則格納部１０８は、外部記憶部１３に構成される。要素集団抽出処理を行っているときは、それらのデータの一部は主記憶部１２に記憶されて制御部１１の作業に用いる。
【００９２】
操作部１４はキーボード及びマウスなどのポインティングデバイス等と、キーボード及びポインティングデバイス等を内部バス１０に接続するインターフェース装置から構成されている。操作部１４を介して、宛先ノードや転送先ノード、論理的距離のためのメッセージ属性、および変形規則などのデータが入力され、制御部１１に供給される。
【００９３】
表示部１５は、ＣＲＴ（Cathode Ray Tube）又はＬＣＤ（Liquid Crystal Display）などから構成され、論理的距離、物理的距離、変形規則、転送結果などを表示する。
【００９４】
計時部１６は、時刻または基準となる時点からの経過時間を計り、制御部１１に供給する。制御部１１は、計時部１６の時刻情報から、メッセージを送信した時刻、メッセージを受信した時刻、および経過時間を知ることができる。
【００９５】
送受信部１７は、無線送受信機、無線モデム又は網終端装置、及びそれらと接続するシリアルインタフェース又はＬＡＮ（Local Area Network）インタフェースから構成されている。送受信部１７を介し、ネットワーク２００を経由して他のノードにメッセージを転送し、また他のノードからメッセージを受信する。
【００９６】
図１、図７または図１１の通信部１０１、転送先決定部１０２、論理的距離測定部１０４、物理的距離測定部１０６およびメッセージ変形部１０７の処理は、情報転送用プログラムが、制御部１１、主記憶部１２、外部記憶部１３、計時部１６および送受信部１７などを資源として用いて処理することによって実行する。
【００９７】
その他、本発明の好適な変形として、以下の構成が含まれる。
【００９８】
本発明の第１の観点に係る情報転送装置について、好ましくは、
前記宛先のノードについて、前記メッセージの属性に依存しない距離である物理的距離を測定する物理的距離測定手段と、
前記物理的距離を、前記宛先のノードの識別符号と前記転送先のノードのネットワークアドレスとに対応付けて格納する物理的距離格納手段と、
をさらに備え、
前記転送先決定手段は、前記論理的距離および前記物理的距離を用いて、前記メッセージの転送先のノードを決定する
ことを特徴とする。
【００９９】
さらに、メッセージを変形する規則を表すデータを格納する変形規則格納手段と、
転送すべきメッセージを転送する前に、前記変形する規則に従って前記メッセージを変形するメッセージ変形手段と、
を備えてもよい。
【０１００】
好ましくは、前記論理的距離は、前記メッセージを転送先のノードに送信してからその応答を受信するまでの応答時間、前記メッセージが宛先のノードに到達するまでに中継するノードの数、または、前記メッセージが宛先のノードに到達するまでの経路の最小の通信帯域のうちの少なくとも１つを含む。
【０１０１】
本発明の第２の観点に係る情報転送方法について、好ましくは、
前記宛先のノードについて、前記メッセージの属性に依存しない距離である物理的距離を測定する物理的距離測定ステップと、
前記物理的距離を、前記宛先のノードの識別符号と前記転送先のノードのネットワークアドレスとに対応付けて格納する物理的距離格納ステップと、
をさらに備え、
前記転送先決定ステップは、前記論理的距離および前記物理的距離に基づいて、前記メッセージの転送先のノードを決定する
ことを特徴とする。
【０１０２】
さらに、転送すべきメッセージを転送する前に、メッセージを変形する規則に従って前記メッセージを変形するメッセージ変形ステップを備えてもよい。
【０１０３】
好ましくは、前記転送先決定ステップは、前記論理的距離に含まれる、前記メッセージを転送先のノードに送信してからその応答を受信するまでの応答時間、前記メッセージが宛先のノードに到達するまでに中継するノードの数、または、前記メッセージが宛先のノードに到達するまでの経路の最小の通信帯域のうちの少なくとも１つに基づいて、前記メッセージの転送先のノードを決定することを特徴とする。
【０１０４】
以上、説明したように、本発明の第１の効果は、人間の操作に起因する遅延も考慮したメッセージ転送の効率化ができることにある。例えば、ある要求メッセージに対して人間が返答メッセージを作成する場合に、その遅延をピアツーピアネットワークにおけるメッセージを転送に反映できることにある。その理由は、人間の操作に起因する遅延を測定し、メッセージ転送の際の転送先選択の判断基準に加えるためである。
【０１０５】
本発明の第２の効果は、メッセージの中身に応じたメッセージ転送の効率化ができることにある。これにより、ある種類のメッセージについては反応が早い、もしくは、反応があるノードと、反応が遅い、もしくは、反応がないノードを区別して、転送の効率化を実現できることにある。その理由は、ノードのみに対応する距離を測定して格納するのではなく、ノードとメッセージの属性とを組した対ごとに距離を測定して格納するためである。
【０１０６】
その他、前記のハードウエア構成やフローチャートは一例であり、任意に変更及び修正が可能である。
【０１０７】
制御部１１、主記憶部１２、外部記憶部１３、計時部１６、送受信部１７及び内部バス１０などから構成される情報転送装置の処理を行う中心となる部分は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。たとえば、前記の動作を実行するための情報転送用プログラムを、コンピュータが読み取り可能な記録媒体（フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等）に格納して配布し、当該コンピュータプログラムをコンピュータにインストールすることにより、前記の処理を実行する情報転送装置（ノード１００）を構成してもよい。また、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置に当該コンピュータプログラムを格納しておき、通常のコンピュータシステムがダウンロード等することで情報転送装置を構成してもよい。
【０１０８】
また、情報転送装置の機能を、ＯＳ（オペレーティングシステム）とアプリケーションプログラムの分担、またはＯＳとアプリケーションプログラムとの協働により実現する場合などには、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。
【０１０９】
また、搬送波にコンピュータプログラムを重畳し、通信ネットワークを介して配信することも可能である。たとえば、通信ネットワーク上の掲示板(ＢＢＳ：Bulletin Board System)に情報転送用プログラムを掲示し、ネットワークを介して情報転送用プログラムを配信してもよい。そして、情報転送用プログラムを起動し、ＯＳの制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行できるように構成してもよい。
【産業上の利用可能性】
【０１１０】
本発明によれば、ネットワーク上の情報流通といった用途に適用できる。 また、ネットワーク上の情報制御や学習といった用途にも適用可能である。
【図面の簡単な説明】
【０１１１】
【図１】本発明の実施の形態１に係る情報転送システムの構成例を示すブロック図である。
【図２】実施の形態に係る論理的距離と、宛先ノード、転送先ノードおよびメッセージの属性の関係を表す概念図である。
【図３】メッセージ属性についてみた論理的距離のデータの例を示す図である。
【図４】宛先ノードについてみた論理的距離のデータの例を示す図である。
【図５】実施の形態１に係る論理的距離計測の動作の一例を示すフローチャートである。
【図６】実施の形態１に係るメッセージ転送の動作の一例を示すフローチャートである。
【図７】本発明の実施の形態２に係る情報転送システムの構成例を示すブロック図である。
【図８】物理的距離のデータの例を示す図である。
【図９】実施の形態２に係る距離を計測する動作の一例を示すフローチャートである。
【図１０】実施の形態２に係るメッセージ転送の動作の一例を示すフローチャートである。
【図１１】本発明の実施の形態３に係る情報転送システムの構成例を示すブロック図である。
【図１２】変形規則の例を示す図である。
【図１３】実施の形態３に係るメッセージ転送の動作の一例を示すフローチャートである。
【図１４】ノードのハードウェア構成の一例を示すブロック図である。
【符号の説明】
【０１１２】
１１  制御部
１２  主記憶部
１３  外部記憶部
１６  計時部
１７  送受信部
１００  ノード
１０１  通信部
１０２  転送先決定部
１０３  論理的距離格納部
１０４  論理的距離測定部
１０５  物理的距離格納部
１０６  物理的距離測定部
１０７  メッセージ変形部
１０８  変形規則格納部
【図１】
2009218728.tif 000003
【図２】
2009218728.tif 000004
【図３】
2009218728.tif 000005
【図４】
2009218728.tif 000006
【図５】
2009218728.tif 000007
【図６】
2009218728.tif 000008
【図７】
2009218728.tif 000009
【図８】
2009218728.tif 000010
【図９】
2009218728.tif 000011
【図１０】
2009218728.tif 000012
【図１１】
2009218728.tif 000013
【図１２】
2009218728.tif 000014
【図１３】
2009218728.tif 000015
【図１４】
2009218728.tif 000016