JP7077543B2 - 通信装置,及び通信装置の通信制御方法 - Google Patents

通信装置,及び通信装置の通信制御方法 Download PDF

Info

Publication number
JP7077543B2
JP7077543B2 JP2017149889A JP2017149889A JP7077543B2 JP 7077543 B2 JP7077543 B2 JP 7077543B2 JP 2017149889 A JP2017149889 A JP 2017149889A JP 2017149889 A JP2017149889 A JP 2017149889A JP 7077543 B2 JP7077543 B2 JP 7077543B2
Authority
JP
Japan
Prior art keywords
content
request message
value
keyword
message
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.)
Active
Application number
JP2017149889A
Other languages
English (en)
Other versions
JP2019029930A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017149889A priority Critical patent/JP7077543B2/ja
Publication of JP2019029930A publication Critical patent/JP2019029930A/ja
Application granted granted Critical
Publication of JP7077543B2 publication Critical patent/JP7077543B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、通信装置,及び通信装置の通信制御方法に関する。
Information-Centric Networking(ICN)と呼ばれる新しいネットワークアーキテクチャが注目されつつある。ICNではネットワークを介してコンテンツを得る場合に、取得を要求するコンテンツを名前(コンテンツ名)で指定したコンテンツ要求メッセージをネットワークへ送信する。
特開2004-274737号公報 特開2010-62618号公報
コンテンツ名が不明である場合に、コンテンツの要求元がキーワードを含むコンテンツの要求メッセージをネットワークへ送信することが考えられる。この場合、ネットワークにおいて要求メッセージを中継する中継ノードは、キーワードに対応するコンテンツの存在場所へ向かう経路情報を有し、経路情報に基づいて要求メッセージを転送する。
コンテンツの存在場所は、要求メッセージの受信に応じて、キーワードに対応するコンテンツを含む応答メッセージをコンテンツの要求元へ向けて送信する。応答メッセージは、要求メッセージの経路を逆に辿って要求元に受信される。
キーワードに対応するコンテンツの存在場所がネットワーク上に多数存在し、各中継ノードの経路テーブルに各存在場所に向かう複数の経路情報(分岐する経路情報)が登録される場合があり得る。この場合、1つの要求メッセージが各中継ノードで分岐して広範囲に拡散することで、ネットワーク上に大量のトラフィックが発生するという問題が起こり得る。
本発明は、コンテンツ要求メッセージの伝搬範囲やトラフィック量を抑えることのできる通信装置及び通信装置の通信制御方法を提供することを目的とする。
一つの態様は、キーワードと複数の出力先との対応関係を記憶する記憶部と、キーワード及び被分配値を含むコンテンツ要求メッセージが受信された場合に、前記対応関係に基づいて前記コンテンツ要求メッセージの出力先を決定する決定部と、所定の分配ルールに従って前記被分配値を前記複数の出力先に分配する分配部と、前記複数の出力先のうち前記分配部によって分配された値が所定値を下回る出力先以外の出力先から、分配された値が新たな被分配値として含まれた前記コンテンツ要求メッセージを送信する送信部と、を含む通信装置である。
他の態様は、上記した通信装置と同様の特徴を有する通信装置の通信制御方法、キーワードに対応するコンテンツを有する装置や方法、コンテンツ要求メッセージを送信するコンテンツの要求元の装置や方法などを含む。
一側面では、コンテンツ要求メッセージの伝搬範囲やトラフィック量を抑えることができる。
図1はICNが適用された通信システムの一例を示す。 図2は参考例の説明図である。 図3は実施形態に係る通信システムの構成例を示す。 図4はノードとして動作可能な通信装置の構成例を示す。 図5はコンテンツの要求メッセージのフォーマット例を示す。 図6は要求メッセージに対する応答メッセージのフォーマット例を示す。 図7は動作例1の説明図である。 図8は動作例1を説明するシーケンス図である。 図9は動作例2の説明図である。 図10は動作例2を説明するシーケンス図である。 図11は動作例3の説明図である。 図12は動作例3を説明するシーケンス図である。 図13は、動作例3におけるリクエスタの処理例を示すフローチャートである。 図14は、変形例を示すフローチャートである。
実施形態に係る通信装置は、例えば、キーワードと複数の出力先との対応関係を記憶する記憶部と、キーワード及び被分配値を含むコンテンツ要求メッセージが受信された場合に、前記対応関係に基づいて前記コンテンツ要求メッセージの出力先を決定する決定部を含む。前記通信装置は、さらに、所定の分配ルールに従って前記被分配値を前記複数の出力先に分配する分配部を含む。前記通信装置は、さらに、前記複数の出力先のうち前記分配部によって分配された値が所定値を下回る出力先以外の出力先から、分配された値が新たな被分配値として含まれた前記コンテンツ要求メッセージを送信する送信部を含む。
通信装置によれば、コンテンツ要求メッセージの複数の出力先が決定され、各出力先に被分配値が分配された結果において、分配された値が所定値を下回る出力先からコンテンツ要求メッセージが送信されない。よって、コンテンツ要求メッセージの伝搬範囲が抑えられるともに、トラフィック量が抑えられる。これによって、ネットワークに過大な負荷がかかるのを回避できる。また、ネットワークリソースの有効利用を図ったり、要求メッセージの送信が他のトラフィックに影響を与えるのを回避したりすることができる。所定値は例えば正の整数である。例えば、分配される値が0の場合(所定値=1を下回る)に送信が停止されるようにする。
前記被分配値は、コンテンツ要求メッセージの伝搬範囲の規制によるトラフィック量削減を目的として使用される場合、被分配値自体に意味がなくてもよい。もっとも、被分配値は、例えば、前記キーワードに対応するコンテンツの数量を示す値としても良い。この場合、例えば、通信装置が前記コンテンツ要求メッセージの各出力先に分配された値に応じた数量のコンテンツを前記各出力先から受信し、前記各出力先から受信されたコンテンツを前記コンテンツ要求メッセージの送信元へ向けて送信する中継部をさらに含む構成を採用しても良い。
上記構成が採用される場合、キーワードに対応するコンテンツを有する装置が、コンテンツの数量を示す値に応じた数量のコンテンツをコンテンツ要求メッセージへ向けて送信するように、コンテンツを有する装置を制御できる。これによって、コンテンツの要求メ
ッセージの要求元へ送信されるコンテンツの数量を規制(制限)でき、コンテンツの送信によって発生するトラフィック量を抑えることができる。また、コンテンツの要求元の処理負荷を抑止し、一定時間以内でコンテンツの収集結果や演算結果を得ることができる。「コンテンツの数量」は、コンテンツの数及び量の少なくとも一方を示す。コンテンツの量は、コンテンツのデータ量(データサイズ)であり、例えばバイト数やビット数で表現し得る。コンテンツの数やバイト数をまとめて「要求数」と呼ぶこともある。
通信装置が適用する分配ルールは適宜選択できる。例えば、通信装置に含まれる前記分配部は、例えば、前記複数の出力先に対して決められた所定の割合で前記被分配値を分配してもよい。或いは、前記分配部は、前記複数の出力先のそれぞれが有するリンク速度の割合に従って前記被分配値を分配してもよい。
通信装置は、以下のような転送制御部をさらに含んでもよい。転送制御部は、前記キーワードを含むメッセージを前記決定部が決定した各出力先から転送する。また、転送制御部は、前記各出力先から前記キーワードに対応するコンテンツの数量を含む前記メッセージの応答メッセージを受信し前記メッセージの送信元へ向けて転送する。上記構成が採用される場合、コンテンツ要求メッセージの送信元は、コンテンツ要求メッセージの送信前に、上記メッセージを送信して、コンテンツ要求メッセージの送信によって得られるコンテンツの数量を知ることができる。コンテンツの数量に応じて被分配値(コンテンツの数量を示す値)を設定できる。
前記メッセージは、指定ホップ数をさらに含むことができる。指定ホップ数は、前記メッセージの中継が許容される回数を示す。この場合、転送制御部は、前記メッセージを受信した場合に、前記指定ホップ数の値を減算又は加算する。また、転送制御部は、減算又は加算結果が所定値となる場合に前記メッセージの送信を停止する。また、転送制御部は、前記減算又は加算結果が所定値とならない場合に前記キーワードを含むとともに前記減算又は加算結果が新たな指定ホップ数に設定された前記メッセージを前記判定部によって決定された各出力先から送信する。指定ホップ数を用いて転送制御部が上記処理を行うことで前記メッセージの伝搬範囲を規制して、トラフィック量が徒に増加するのを回避することができる。
また、コンテンツ要求メッセージの送信元となる通信装置は、以下の構成を採用することができる。すなわち、通信装置は、キーワード及びコンテンツの数量を示す値を含むコンテンツ要求メッセージをネットワークへ送信する送信部を含む。さらに、通信装置は、前記コンテンツの数量を示す値に応じた数量を有するとともに前記キーワードに対応するコンテンツを前記ネットワークから受信する受信部を含む。上記構成によれば、コンテンツの数量が指定されることで、その数量以上のコンテンツに係るトラフィックが生じるのを回避することができる。すなわち、トラフィック量を抑えることができる。
コンテンツ要求メッセージの送信元となる通信装置に関して、さらに、以下の構成を採用できる。前記送信部は、前記コンテンツ要求メッセージを送信する前に、前記キーワードを含むメッセージを前記ネットワークへ送信する。前記受信部は、前記キーワードを含むコンテンツの数量を示す情報を含む前記メッセージの応答メッセージを前記ネットワークから受信する。このような構成を採用することで、キーワードに対応するコンテンツの数量を事前に知ることができ、トラフィック量が抑えられるように、コンテンツの数量の指定を行うことができる。
また、前記メッセージが中継される毎に減算又は加算され、減算又は加算結果が所定値になった場合に前記メッセージの中継を停止する処理に用いる指定ホップ数をさらに含む前記メッセージを前記送信部は送信する構成を採用してもよい。この場合、前記メッセー
ジの伝搬範囲を抑えて、前記メッセージの転送に係るトラフィック量を抑えることができる。
以下、図面を参照して、実施形態に係る通信装置,及び通信装置の通信制御方法について説明する。実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。図1は、ICNが適用された通信システムの一例を示す。通信システムは、ネットワーク1に接続される端末(クライアント)2と、サーバ3とを含む。ネットワーク1は、複数のネットワークノード4(以下「ノード4」)を含む。
サーバ3は、情報提供者から得られたコンテンツを記憶している。端末2は情報要求者の端末であり、コンテンツの取得を所望している。ICNでは、コンテンツの要求メッセージ(Interestと呼ばれる)において、取得を希望するコンテンツの名前を指定する。図1の例では、コンテンツ名は“/fj/video1”であり、要求メッセージにコンテンツ名が含まれる。
端末2からの要求メッセージは、ネットワーク1を形成するノード4によって中継され、サーバ3に到達する。要求メッセージを受信したサーバ3はコンテンツを含む応答メッセージ(Dataと呼ばれる)を端末2宛てに送信する。複数のノード4のうち、コンテンツを中継するノード4は、キャッシュメモリを有し、コンテンツのコピーをキャッシュメモリに記憶する。
コンテンツの要求メッセージ(Interest)に含まれるコンテンツ名(図1では "/fj/video1")については、下記を前提とする。
・コンテンツ名は、コンテンツ(例:データ、ファイル等)の名前を表す。例えば、コンテンツ名は階層構造で定義される。
・特定の1つのコンテンツに対するコンテンツ名はネットワーク上で一意だが、そのコンテンツのキャッシュ(コピー)が複数の場所にある可能性がある。
ICNでは、サーバ3がコンテンツ名をネットワーク1に広告し、各ノード4がコンテンツ名による経路テーブルを作成する。経路テーブルの作成によって、コンテンツ名による要求メッセージのルーティングが可能となる。
ICNに準拠又は適合するネットワーク1において、コンテンツ名を指定した要求メッセージがルーティングされる場合に、経路上のノード4に指定されたコンテンツのキャッシュ(コピー)が記憶されている場合がある。この場合、ノード4は要求メッセージにより要求されたコンテンツのコピーを要求メッセージの送信元に送信し、要求メッセージをサーバ3へ向けて転送しない。
図1では、サーバ3にコンテンツのオリジナルがあり、コンテンツのキャッシュ(コピー)がネットワーク1内のノード4にあるケースを示す。この場合、コンテンツのコピーを有するノード4は、情報要求者からの当該のコンテンツ名を指定したコンテンツ要求に対し、コンテンツのコピーを含む応答メッセージを生成して要求元に送信する。
コンテンツ名が判明している場合に、クライアントはICNを用いてコンテンツを取得することができる。目的のコンテンツ名が不明である場合、取得を所望するコンテンツに関連した情報、例えばキーワードを用いてコンテンツ名を特定する。実施形態では、一例として、コンテンツ名の探索用のキーワードを指定し、関連するコンテンツを一括して取得する方法について説明する。
実施形態に係る通信制御方法を用いたコンテンツ収集方法の適用先としては、例えば、
Internet of Things(IoT)の分野において、特定の条件にマッチするセンサデータを一括して収集することが考えられる。例えば、或る地域内にある各地点の降水量情報を一括して収集することが考えられる。或いは、多数のセンサデータから集めた情報により最大値、最小値、平均値等を導出することが考えられる。例えば、或る地域内にある温度センサの情報から上記或る地域における最大温度を抽出する場合が考えられる。
<参考例>
実施形態の説明の前に、参考例について説明する。参考例では、プロデューサ(コンテンツの提供者)が、保持するコンテンツのキーワードを事前にネットワークに広告し、各ノードはキーワードに基づく経路テーブルを作成する。リクエスタ(コンテンツの要求者)がキーワードを指定して要求メッセージをネットワークに送信する。すると、本要求メッセージはキーワードを基にルーティングされてプロデューサに届く。プロデューサは、対応するコンテンツを含む応答メッセージを送信する。応答メッセージは、要求メッセージの送信経路を逆に辿ってリクエスタに到達する。
図2は参考例の説明図である。キーワードとはコンテンツと関連づけられた関連語である。一般に、1つのコンテンツは複数のキーワードを持ち、逆に1つのキーワードは異なる場所にある複数のコンテンツに付与される。この場合、次のような手順でコンテンツ収集が行われる。
(1)プロデューサP1,プロデューサP2,プロデューサP3,プロデューサP4は、保持するコンテンツのキーワード(図2の参考例では“X”)を事前にネットワークに広告する。広告されたキーワードを受信するN1,ノードN2及びノードN3はキーワードに基づく経路テーブルを作成する。
(2)リクエスタは、指定されたキーワード“X”を含む要求メッセージを送信する。
(3)ノードN1,ノードN2及びノードN3は、キーワードで要求メッセージをルーティングする。要求メッセージは、“X”の広告を受信した方向と逆方向に送信される。この結果、広告の受信方向が複数ある場合、要求メッセージがコピーされ、各受信方向に対応する複数のネットワークインタフェース(Faceと呼ばれる)から送出される。最終的に、要求メッセージは、広告元である複数のプロデューサP1,プロデューサP2,プロデューサP3,プロデューサP4に届く。
(4)要求メッセージに対応するコンテンツ“X”を含む応答メッセージが、プロデューサP1,プロデューサP2,プロデューサP3,プロデューサP4から送信される。応答メッセージは、要求メッセージの経路を逆方向に辿り、ノードN1,ノードN2及びノードN3で合成されて、最終的に1つの応答メッセージとしてリクエスタに到達する。
上記した参考例では、1つのキーワードに合致するコンテンツの数や存在箇所が複数の場合がある。この場合に、要求メッセージの拡散範囲や到達範囲が広範となり、無駄な要求メッセージや応答メッセージのトラフィックが発生する可能性があった。
また、1つのキーワードに合致するコンテンツの数が複数存在する場合、膨大な数やデータ量のコンテンツをリクエスタに送信するトラフィックが発生する場合が起こり得る。このトラフィックにはリクエスタにとって無用のコンテンツを含む応答メッセージも含まれており、無駄なトラフィックである。以下に説明する実施形態では、キーワードに基づいて要求メッセージのルーティングを行うネットワークにおいて、要求メッセージの拡散範囲が無駄に広がるのを回避できる通信装置,及び通信装置の通信制御方法について説明する。
<通信システムの構成>
図3は実施形態に係る通信システムの構成例を示す。通信システムは、リクエスタ12と、複数のプロデューサ13と、ネットワーク1を形成する複数のノード14とを含む。リクエスタ12,プロデューサ13,ノード14のそれぞれは通信装置である。リクエスタ12は「第1装置」の一例であり、プロデューサ13は「第2装置」の一例であり、ノード14は「中継装置」の一例である。
図3の例では、複数のプロデューサ13の例示として、プロデューサ13Aと、プロデューサ13Bと、プロデューサ13Cと、プロデューサ13Dとが例示されている。ノード14は、要求メッセージや応答メッセージ(コンテンツ)の中継ノードとして動作する。
プロデューサ13は、単数又は複数のコンテンツを有することができる。図3の例では、プロデューサ13Aと、プロデューサ13Bと、プロデューサ13Cと、プロデューサ13Dとは、キーワード“X”に対応する複数種類のコンテンツを有している。キーワード“X”に対応する複数のコンテンツはプロデューサ13間で同一であっても異なっていてもよい。
プロデューサ13A,プロデューサ13B,プロデューサ13C及びプロデューサ13Dのそれぞれは、キーワード“X”の広告メッセージをネットワーク1へ送信する。広告メッセージはノード14によって中継され、ネットワーク1内で伝搬する。広告メッセージを受信するノード14は、広告メッセージを受信した通信インタフェース(以下、「フェイス(Face)」という)とキーワードとの対応関係を経路テーブルに登録する(学習する)。
要求メッセージは、例えば、他のノードと接続されたフェイスに転送される。その結果、図3では、ノード14a,ノード14b,ノード14cの経路テーブルにキーワード“X”とキーワード“X”に対応する出力先の通信インタフェースとの対応関係を示すエントリが登録される。図3には、ノード14aが有する経路テーブルが図示されており、キーワード“X”についての要求メッセージを複数の出力先の一例であるフェイスF2及びフェイスF3から出力する内容が登録されている。
図3の例では、広告の結果として、ノード14aを頂点とし、各プロデューサ13を末端とするツリーが形成されている。ツリーはリクエスタ12から送信されるキーワード“X”を含むコンテンツの要求メッセージの伝搬経路となる。
<ノードの構成例>
図4はノード14として動作可能な通信装置の構成例を示す。通信装置20は、通信機能を有する情報処理装置(コンピュータ)である。通信装置20として、サーバマシン、パーソナルコンピュータ、ワークステーションなどの専用又は汎用のコンピュータを適用することができる。但し、上記以外のコンピュータが適用される場合もあり得る。
通信装置20は、バスを介して相互に接続されたCPU21と、メモリ22と、データ通信用の複数の通信インタフェース25と、管理用の通信インタフェース26とを含む。
メモリ22は、主記憶装置23と補助記憶装置24とを含む。主記憶装置23はプログラムの展開領域、CPU21の作業領域、データやプログラムの記憶領域、通信データのバッファ領域などとして使用される。主記憶装置23は、例えばRandom Access Memory(RAM)、RAMとRead Only Memory(ROM)との組み合わせで形成される。
補助記憶装置24はデータやプログラムの記憶領域として使用される。補助記憶装置24は、例えば、ハードディスクドライブ(HDD)、Solid State Drive(SSD)、フ
ラッシュメモリ、Electrically Erasable Programmable Read-Only Memory(EEPRO
M)などの不揮発性記憶媒体で形成される。メモリ22,主記憶装置23,補助記憶装置24は、「記憶装置」、「記憶媒体」、「メモリ」、「記憶部」の一例である。
通信インタフェース25及び通信インタフェース26は、パケット(データ)の送受信を司る。通信インタフェース25及び通信インタフェース26として、例えばネットワークインタフェースカード(NIC)を適用できる。
CPU21は、メモリ22に記憶されたプログラムを実行して、ノード14としての処理を行う。例えば、CPU21は、プロデューサ13からの広告メッセージを受信してフェイスとキーワードとの関係を学習し、経路テーブルに登録する処理を行う。或いは、CPU21は、要求メッセージの中継処理や、応答メッセージ(コンテンツ)の中継処理や、コンテンツのコピー(キャッシュ)を記憶する処理などを行う。
さらに、CPU21は、要求メッセージの受信時に対応するキャッシュが記憶されているかを確認し、キャッシュがある場合にキャッシュを要求元に送信する処理を行う。メモリ22は、経路テーブルや、キャッシュ(コンテンツのコピー)を記憶する。メモリ22は、「キーワードと出力先との対応関係を記憶する記憶部」の一例である。
CPU21は、「制御装置」、「制御部」、「コントローラ」、「決定部」、「分配部」、「送信部」、「中継部」、「転送制御部」の一例である。CPU21は、MPU(Microprocessor)、プロセッサとも呼ばれる。CPU21は、単一のプロセッサに限定される訳ではなく、マルチプロセッサ構成であってもよい。また、単一のソケットで接続される単一のCPUがマルチコア構成を有していても良い。CPU21で行われる処理の少なくとも一部は、マルチコア又は複数のCPUで実行されても良い。CPU21で行われる処理の少なくとも一部は、CPU以外のプロセッサ、例えば、Digital Signal Processor(DSP)、Graphics Processing Unit(GPU)、数値演算プロセッサ、ベクトルプロセッサ、画像処理プロセッサ等の専用プロセッサで行われても良い。
また、CPU21によって行われる処理の少なくとも一部は、集積回路(IC)、その他のディジタル回路で行われても良い。また、集積回路やディジタル回路はアナログ回路を含んでいても良い。集積回路は、LSI、Application Specific Integrated Circuit
(ASIC)、プログラマブルロジックデバイス(PLD)を含む。PLDは、Complex Programmable Logic Device(CPLD)及びField-Programmable Gate Array(FPGA)を含む。CPU21で行われる処理の少なくとも一部は、プロセッサと集積回路との組み合わせにより実行されても良い。組み合わせは、例えば、マイクロコントローラ(MCU)、SoC(System-on-a-chip)、システムLSI、チップセットなどと呼ばれる。
また、通信装置20は、リクエスタ12として動作する通信装置として使用できる。この場合、CPU21は、プログラムの実行によって、通信装置20がリクエスタ12として動作するための処理を行う。例えば、コンテンツの要求メッセージを生成して送信する処理や、要求メッセージに対する応答メッセージ(コンテンツ)を受信する処理などを行う。リクエスタ12として動作する通信装置20のCPU21は、「生成部」、「送信部」及び「受信部」の一例である。
さらに、通信装置20は、プロデューサ13として動作する通信装置として使用できる。この場合、CPU21は、プログラムの実行によって、通信装置20がプロデューサ13として動作するための処理を行う。例えば、コンテンツの要求メッセージを受けて、対
応するコンテンツをメモリ22から読み出し、コンテンツを含む応答メッセージを生成して送信する処理をCPU21は行う。或いは、コンテンツの広告メッセージを生成して送信する処理をCPU21は行う。プロデューサ13として動作する通信装置20のCPU21は、「処理部」の一例である。
<メッセージフォーマット>
次に、実施形態で使用されるメッセージのフォーマット例を説明する。図5はコンテンツの要求メッセージのフォーマット例を示す。図6は要求メッセージに対する応答メッセージのフォーマット例を示す。コンテンツの要求メッセージは、「コンテンツ要求メッセージ」、「メッセージ」の一例である。要求メッセージは、ヘッダ部と、“Name”フィールドとを含む。ヘッダ部は“Hops”フィールドと“Reqts”フィールドとを含む。
Hopsフィールドには、要求メッセージを中継するノード14の数(ホップ数)を示す値(指定ホップ数の一例)が記憶される。リクエスタ12が要求メッセージを送信する時に、所望の値をセットして送信する。値が全て“1”(all 1)である場合は、値がない(
セットされていない、no_set)こと、すなわちHopsフィールドが無効であることを意味する。Hopsフィールドの値が全て“1”の場合、要求メッセージを受信したノード14(CPU21)は、Hopsフィールドの値に関する処理を行わない。
これに対し、Hopsフィールドの値が“all 1”以外の値(整数値)である場合には、要
求メッセージを受信したノード14(CPU21)は、Hopsフィールドの値を1つ減らしてから中継を行う。従って、Hopsフィールドの値は、ノード14で中継される毎にデクリメント(1つ減算)される。Hopsフィールドの値が0である要求メッセージを受信したノード14は、要求メッセージの中継(転送)を行わない。
なお、HopsフィールドとReqtsフィールドとのいずれか一方に有効な値がセットされ、
双方に有効な値がセットされることはない。Hopsフィールドは、要求メッセージ(主としてコンテンツ数を調べる要求メッセージ)の到達範囲をホップ数で制限するために使用される。
Reqtsフィールドには、リクエスタ12が要求するコンテンツの数、またはデータ量(
例えばバイト数)を示す情報(値)が記憶される。値は、例えば整数値と単位(個 or バイト)とで形成される。Reqtsフィールドの値は、「被分配値」、「キーワードに対応す
るコンテンツの数量を示す値」の一例である。
なお、Hopsフィールドと同様に、値が“all 1”である場合は、値がない(セットされ
ていない.no_set)こと、すなわちReqtsフィールドが無効であることを意味する。Reqtsフィールドが“all 1”である場合、ノード14は、Reqtsフィールドの値に対する処理を行わない。
これに対し、Reqtsフィールドの値が“all 1”以外の値(整数値)である場合は、ノード14(のCPU21)は、要求メッセージを2以上のフェイス(経路)から送信する場合に、適用が決まっている分配ルールに基づいて、Reqtsフィールドの値を各フェイス(
経路)に分配する。各経路へ送信される要求メッセージ中のReqtsフィールドの値は分配
された値となる。CPU21は、分配の結果として割り当てられた値が所定値以下である(0の場合も含む)経路については、対応するフェイスから要求メッセージを送信しない。
Nameフィールドは、要求種別と指定キーワードとが少なくとも記述される可変長のフィールドである。要求種別と指定キーワードとは、記号“/”で区切られる。要求種別
は、“kw_contents”(キーワードに合致するコンテンツの要求)と、“kw_number”(キーワードに合致するコンテンツの数の要求)との2種類である。指定キーワードは、複数のキーワードを演算子(&, OR, etc.)で結合して表現する。Nameの表記例を以下に示す

(例1)
/kw_contents/?kw=printer&kw=repair
→指定キーワード"printer"及び指定キーワード"repair"にマッチするコンテンツを要求(例2)
/kw_number/?kw=tokyoORkw=osaka
→指定キーワード"tokyo"又は指定キーワード"osaka"にマッチするコンテンツの数を要求
上述したように、各コンテンツの存在場所(図3の例では各プロデューサ13)からキーワードがルーティング情報として広告され、各ノード14はキーワードに対するルーティングテーブル(経路テーブル)を形成する。
各ノード14は、要求メッセージの受信時には、Nameフィールドに記述された指定キーワードにマッチする出力インタフェース(フェイス)が経路テーブルの参照によって決定され、決定されたフェイスから要求メッセージが送信される。但し、指定キーワードにマッチするフェイスが経路テーブルに登録されていても、ヘッダ部の値で要求メッセージが送信されない場合がある。
なお、Nameフィールドの値はノード14で書替えられることはない。Reqtsフィー
ルドは、要求メッセージ(主としてキーワードに合致するコンテンツの要求メッセージ)の到達範囲を、コンテンツの数、またはデータ量(バイト数)で制限するために用いる。
図6に示すように、応答メッセージは、ヘッダ部(Hopsフィールド及びReqtsフィール
ド)と、Nameフィールドと、“Content”フィールドとを含む。Contentフィールド以外(Hops, Reqts, Name)は、要求メッセージと同様であるので説明を省略する。但し、
これらのフィールドには、宛先ノードにおいて要求メッセージからコピーされた値が設定される。HopsフィールドとNameフィールドとの各値は、リクエスタ12へ向かう経路上のノード14によって書替えられることはない。
Reqtsフィールドの値は、応答メッセージの合成に伴って、合成対象の応答メッセージ
中のReqtフィールドの値がマージされた値となる。ノード14は、要求メッセージを受信したフェイス(送信元フェイス)を記憶しておき、応答メッセージのルーティングは、要求メッセージの送信元フェイスを出力先のフェイスとして特定することで行われる。
Contentフィールドは可変長のフィールドであり、コンテンツの要求(要求メッセージ
で“Name=/kw_contents/...”)に対しては、キーワードに合致するコンテンツを複数個
入れることが可能となっている。要求メッセージの宛先ノード(プロデューサ13)が要求メッセージで要求された数のコンテンツを入れる。ノード14では、応答メッセージがマージされる毎に、各応答メッセージのContentフィールドに入っている全コンテンツが
本フィールドにまとめられる。
コンテンツの数の要求(要求メッセージで“Name=/kw_number/...”)に対しては、キ
ーワードに合致するコンテンツの数が入れられる。要求メッセージの宛先ノード(プロデューサ13)が要求メッセージで要求されたキーワードに合致するコンテンツの数を入れる。ノード14では、応答メッセージがマージされる毎に、マージされる応答メッセージ中のコンテンツ数の和がContentフィールドに入れられる。
<動作例>
以下、実施形態に係る通信システムの動作例を説明する。
<<動作例1>>
動作例1では、ノード14での要求数の分配ルールが「均等」であり、プロデューサ13でのコンテンツ選択ルールが「ランダム」である。図7は動作例1の説明図であり、図8は動作例1を説明するシーケンス図である。
[1] 要求数の決定、要求メッセージの送信
リクエスタ12(のCPU21)は、収集を所望するコンテンツの数“100”を含むコンテンツの要求メッセージをネットワークに送信する(図7(1),図8<1>)。この場合、要求メッセージに含まれるパラメータは、Hops=no_set、Reqts=100[個]、Name=/kw_contents/?kw=X (キーワード“X”に対応するコンテンツの取得要求)である。
[2] 要求数メッセージの中継
要求メッセージを受信するノード14のCPU21は、経路テーブルを参照して要求メッセージを送信するフェイス(通信インタフェース25)を決定する。例えば、ノード14aでは、要求メッセージを送信するフェイスとして、フェイスF2及びフェイスF3が決定される。
要求メッセージの転送経路が分岐する場合、CPU21は、Reqsフィールドに設定されているコンテンツ数を各経路(フェイスF2及びフェイスF3)に均等に分割して中継する。ノード14aでは、コンテンツ数“100”の要求メッセージを受信している。このため、フェイスF2及びフェイスF3のそれぞれから送出される要求メッセージ中のコンテンツ数は、分配ルール=均等分配に従ってコンテンツ数“50”となる(図7(2)及び(3),図8<2>及び<3>)。
フェイスF2から送出される要求メッセージはノード14bに受信され、フェイスF3から送出される要求メッセージはノード14cに受信される。ノード14bでは、要求メッセージの転送先がフェイスF2及びフェイスF3に分岐する。このため、ノード14bのCPU21は、コンテンツ数“50”を分配ルール=均等に従ってフェイスF2及びフェイスF3に分配する。この結果、CPU21は、コンテンツ数が“25”に更新された要求メッセージをフェイスF2及びフェイスF3のそれぞれから送出する(図7(4)及び(5),図8<4>及び<5>)。
ノード14cでも、要求メッセージの転送先がフェイスF2及びフェイスF3に分岐する。このため、ノード14cのCPU21は、コンテンツ数“50”を分配ルール=均等に従ってフェイスF2及びフェイスF3に分配する。この結果、CPU21は、コンテンツ数は“25”を含む要求メッセージをフェイスF2及びフェイスF3のそれぞれから送出する(図7(6)及び(7),図8<6>及び<7>)。
[3] 応答メッセージの送信、リクエスタでの受信
ノード14bから送信された要求メッセージは、プロデューサ13A及びプロデューサ13Bにて受信される。プロデューサ13A及びプロデューサ13Bはキーワード“X”に対応するコンテンツを有しており、コンテンツはメモリ22に記憶されている。
この場合、プロデューサ13A及びプロデューサ13BのCPU21は、要求メッセージで指定された数“25”のコンテンツをコンテンツの選択ルール=ランダムに従って、無作為に選択する。CPU21は、選択したコンテンツをメモリ22から読み出し、読み出したコンテンツを含む応答メッセージを生成する。CPU21は、要求メッセージの受信元(ノード14b)に送信する(図7(8)及び(9),図8<8>及び<9>)。な
お、キーワード“X”に対応するコンテンツが25個に満たない場合、対応する全てのコンテンツが応答メッセージに含められる。よって、応答メッセージに含まれるコンテンツの数は指定されたコンテンツ数に応じた数(指定されたコンテンツ数以下の数)となる。
ノード14cから送信された要求メッセージは、プロデューサ13C及びプロデューサ13Dにて受信される。プロデューサ13C及びプロデューサ13DのCPU21は、プロデューサ13A及びプロデューサ13BのCPU21と同様の処理を行う。この結果、ランダムに選択された25個のコンテンツを含む応答メッセージがプロデューサ13C及びプロデューサ13Dから要求メッセージの送信元(ノード14c)に送信される(図7(10)及び(11),図8<10>及び<11>)。
ノード14bでは、CPU21がプロデューサ13A及びプロデューサ13Bからの応答メッセージの合成処理を行う(図8<12>)。すなわち、CPU21は、各応答メッセージ中のコンテンツ数“25”をマージしたコンテンツ数“50”を含むとともに、各応答メッセージ中のコンテンツを含む応答メッセージを生成する。CPU21は、要求メッセージの受信元(ノード14a)に送信する(図7(12),図8<13>)。
ノード14cでは、CPU21がプロデューサ13C及びプロデューサ13Dからの応答メッセージの合成処理を行う(図8<14>)。すなわち、CPU21は、各応答メッセージ中のコンテンツ数“25”をマージしたコンテンツ数“50”を含むとともに、各応答メッセージ中のコンテンツを含む応答メッセージを生成する。CPU21は、要求メッセージの受信元(ノード14a)に送信する(図7(13),図8<15>)。
ノード14aでは、CPU21がノード14b及びノード14cからの応答メッセージの合成処理を行う(図8<16>)。すなわち、CPU21は、コンテンツ数“50”がマージされたコンテンツ数“100”を含み、且つ各応答メッセージ中のコンテンツを含む応答メッセージを生成し、要求メッセージの受信元(リクエスタ12)に送信する(図7(14),図8<17>)。リクエスタ12は、キーワード“X”に対応する100個のコンテンツを含む応答メッセージを受信する。
<<動作例2>>
動作例2では、ノード14での要求数分配ルールを「リンク速度の比率」、プロデューサでのコンテンツ選択ルールを「キーワードとの相関度」とした場合に対応する実施例である。図9は動作例2の説明図であり、図10は動作例2を説明するシーケンス図である。
[1] 要求数の決定、要求メッセージの送信
リクエスタ12がコンテンツの要求メッセージをネットワーク1に送信する(図9(1),図10<1>)。要求メッセージ中のパラメータは動作例1と同じである。
[2] 要求数メッセージの中継
動作例2に係る通信システムにおける、各リンク速度(帯域)は図9に示す通りである。例えば、リクエスタ12とノード14aとの間のリンク速度10Mbpsであり、ノード14aとノード14bとの間のリンク速度は1Mbpsである。
ノード14a,ノード14b,ノード14cは、要求メッセージを分岐する(複数の出力先(フェイス)から送信する)場合、コンテンツ数量をリンク速度の比率に応じて分配する。
例えば、ノード14aでは、要求メッセージ中のコンテンツ数“100”を2つの経路
に分岐させる。2つの経路はフェイスF2(ノード14への方向:1Mbps)と、フェイスF3(ノード14cへの方向:4Mbps)である。なお、ノード14a,ノード14b及びノード14cは、動作例1(図7)と同様に、要求メッセージの出力先であるフェイスF2及びフェイスF3を有している(図9での図示は省略)。
ノード14aのCPU21は、リンク速度の割合(比率)が1:4であるのに応じて、コンテンツ数“100”のうちのコンテンツ数“20”をフェイスF2に分配し、コンテンツ数“80”をフェイスF3に分配する。CPU21は、コンテンツ数“20”が新たなコンテンツ数としてReqtsフィールドに設定された要求メッセージをフェイスF2から
送信する(図9(2),図10<2>)。また、CPU21は、コンテンツ数“80”
が新たなコンテンツ数としてReqtsフィールドに設定された要求メッセージをフェイスF
3から送信する(図9(3),図10<3>)。
ノード14bのCPU21は、リンク速度の割合(比率)が1:4であるのに応じて、コンテンツ数“4”をフェイスF2に分配し、コンテンツ数“16”をフェイスF3に分配する。ノード14bのCPU21は、新たなコンテンツ数を設定した要求メッセージをフェイスF2及びフェイスF3から送信する(図9(4)及び(5),図10<4>及び<5>)。
ノード14cのCPU21は、リンク速度の割合(比率)が1:4であるのに応じて、コンテンツ数“16”をフェイスF2に分配し、コンテンツ数“64”をフェイスF3に分配する。ノード14cのCPU21は、新たなコンテンツ数を設定した要求メッセージをフェイスF2及びフェイスF3から送信する(図9(6)及び(7),図10<6>及び<7>)。
[3]応答メッセージの送信、リクエスタでの受信
各プロデューサ13のメモリ22には、キーワード“X”に対応する複数のコンテンツと、各コンテンツとキーワード“X”との相関度を示す値とが記憶されている。相関度は、例えば、コンテンツ中でのキーワードの出現回数を示す値である。
要求メッセージを受信したプロデューサ13は、要求メッセージで指定されたコンテンツ数に応じた数の、キーワード“X”と合致(マッチ)するコンテンツを含む応答メッセージを生成して送信する。
図9に示す例では、プロデューサ13Aに対してコンテンツ数“4”が指定され、プロデューサ13Bに対してコンテンツ数“16”が指定されている。また、プロデューサ13Cに対してコンテンツ数“16”が指定され、プロデューサ13Bに対してコンテンツ数“64”が指定されている。
各プロデューサ13のCPU21は、指定されたコンテンツ数を上限として、キーワード“X”に対応するコンテンツを選択する。このとき、CPU21は、キーワード“X”との相関度が高い順でコンテンツを選出する。
各プロデューサ13からの応答メッセージは、各ノード14で合成され最終的にリクエスタ12で受信される(図9(8)~(14),図10<8>~<17>)。この動作は、動作例1と同じであるので説明を省略する。
動作例2では、キーワードとの相関度に基づく優先順位でコンテンツが選択される例を示した。相関度の決め方としては、コンテンツの中でのキーワードの出現回数、コンテンツの中の文脈での使われ方、キーワードの出現場所(例、コンテンツのタイトルに出現)
、などで決定する。このコンテンツ選択ルールは、各プロデューサ13が事前に静的にメモリ22などに記憶しておくことが考えられる。或いは、リクエスタ12が要求メッセージの中にコンテンツ選択ルールを含め、各プロデューサ13は要求メッセージ中のコンテンツ選択ルールに従ってコンテンツ選択を行うのでもよい。
<<動作例3>>
動作例3として、リクエスタ12がキーワード“X”にマッチするコンテンツの数を事前にネットワーク1から入手する動作例を説明する。動作例3は、動作例1及び動作例2の前処理に該当する。
図11は動作例3の説明図であり、図12は動作例3を説明するシーケンス図である。図13は、動作例3におけるリクエスタ12の処理例を示すフローチャートである。
[1]コンテンツ数の要求メッセージの送信
リクエスタ12のCPU21は、ネットワーク1でキーワードにマッチするコンテンツの数を事前に調べるために、コンテンツ数の要求メッセージを生成する(図13のOP001)。要求メッセージに含めるパラメータとしては、例えば、Hops=10(指定ホップ数
が10)、Reqts=no_set(Reqsフィールド無効)、Name=/kw_number/?kw=X (キーワード
“X”に対応するコンテンツの数の取得要求)、とする。
リクエスタ12のCPU21は、要求メッセージを送信する(図11(1),図12<1>,図13のOP002)。その後、要求メッセージの応答メッセージを待機する状態となる(図13のOP003)。
[2]要求メッセージの中継
ノード14a,ノード14b,ノード14cのCPU21は、要求メッセージを受信すると、指定ホップ数を1減算(デクリメント)する。ノード14a,ノード14b,ノード14cのCPU21は、減算によって指定ホップ数が0になったら要求メッセージの送信を停止する。これにより、コンテンツ数の要求メッセージの伝搬範囲を制限してトラフィック量を抑えることができる。なお、指定ホップ数を加算し加算結果が所定値になったら要求メッセージの送信を停止するようにしてもよい。
要求メッセージの出力先は、経路テーブルを参照し、キーワードに対応する出力先(フェイス)を特定することで行う。但し、動作例1、2と異なり、経路が分岐する場合(複数のフェイスから要求メッセージを送信する場合)でも、ReqtsフィールドやNameフィー
ルドの値は変更されない。
動作例3では、ノード14aからノード14b及びノード14cへ向けて要求メッセージが送信される(図11(2)及び(3),図12<2>及び<3>)。また、ノード14bからプロデューサ13A及びプロデューサ13Bへ向けて要求メッセージが送信される(図11(4)及び(5),図12<4>及び<5>)。また、ノード14cからプロデューサ13C及びプロデューサ13Dへ向けて要求メッセージが送信される(図11(6)及び(7),図12<6>及び<7>)。
[3]応答メッセージの送信、リクエスタでの受信
プロデューサ13は、キーワードに合致(マッチ)するコンテンツ、及びコンテンツの数をメモリ22に記憶している。動作例3では、プロデューサ13Aは、キーワードに対応する10個のコンテンツを有し、プロデューサ13Bは、キーワードに対応する50個のコンテンツを有している。また、プロデューサ13Cは、キーワードに対応するコンテンツが0であり、プロデューサ13Dは、キーワードに対応する100個のコンテンツを
有している。
要求メッセージを受けたプロデューサ13は、要求メッセージで指定されたキーワードに合致するコンテンツの数を含む応答メッセージを生成して送信する。ノード14bのCPU21は、プロデューサ13A及びプロデューサ13Bからの応答メッセージを受信し(図11(8)及び(9),図12<8>及び<9>)、応答メッセージを合成する(図12<12>)。このとき、CPU21は、コンテンツ数“10”とコンテンツ数“50”との和であるコンテンツ数“60”を求め、合成した応答メッセージに含める。
ノード14cのCPU21は、プロデューサ13C及びプロデューサ13Dからの応答メッセージを受信し(図11(10)及び(11),図12<10>及び<11>)、応答メッセージを合成する(図12<14>)。このとき、CPU21は、コンテンツ数“0”とコンテンツ数“100”との和であるコンテンツ数“100”を求め、合成した応答メッセージに含める。
ノード14aのCPU21は、ノード14b及びノード14cから応答メッセージを受信し(図11(12)及び(13),図12<13>及び<15>)、応答メッセージを合成する(図12<16>)。このとき、CPU21は、コンテンツ数“60”とコンテンツ数“100”との和であるコンテンツ数“160”を求め、合成した応答メッセージに含める。ノード14aのCPU21は、合成した応答メッセージをリクエスタ12へ送信する。リクエスタ12は、キーワードに対応するコンテンツの数が160個であることをしることができる。
具体的には、リクエスタ12のCPU21は、応答メッセージを受信すると(図13、OP003のYes)、応答メッセージ中のコンテンツ数“160”をキーワードに対応するコンテンツの数に設定し、メモリ22に記憶する(図13、OP004)。
[4]要求数の決定、コンテンツ要求メッセージの送信
リクエスタ12のCPU21は、コンテンツの要求メッセージを生成する(OP005)。このとき、CPU21は、OP004で設定したコンテンツ数に基づいて、実際に要求するコンテンツ数を決定する。例えば、ネットワーク1から得られたコンテンツ数“160”の20%(32)を設定する。但し、20%以外の割合でもよい。
リクエスタ12のCPU21は、コンテンツ要求メッセージを送信し(OP006)、応答メッセージを待機する(OP007)。そして、応答メッセージの受信によって、応答メッセージに含まれた実際のコンテンツを取得することができる。
動作例3では、事前にコンテンツ数を調査して、所望量のコンテンツが得られるコンテンツの要求メッセージを生成する。これによって、無駄なトラフィックの発生を回避したり、リクエスタ12での受信処理の負荷が上昇するのを回避したりすることができる。
<<動作例4>>
また、実施形態におけるリクエスタ12が、通信システムの状態に基づいて、ネットワーク1から取得するコンテンツ数をダイナミックに変えることも考えられる。例えば、一定時間以内にコンテンツ取得を完結させるために、リクエスタ12のCPU21は、以下の処理を行う。
すなわち、CPU21は、ネットワークの混雑度やノード14の負荷に基づいて、混雑度や負荷が小さい(低い)程、コンテンツの取得を要求する数量(要求数)が大きくなるように決定する。混雑度は、例えば、ネットワークへデータを送信してからデータの応答
が返ってくるまでのラウンドトリップタイム(RTT)である。ノード14の負荷は、例えばノード14のCPU21の使用率などである。
図14は、動作例4に係る処理を示すフローチャートである。ネットワーク1には図示しない管理サーバが接続されている。管理サーバは、ネットワーク1の負荷情報(各リンクの使用率の移動平均)と、ノード14の負荷情報(ネットワーク1の各ノード14のCPU使用率の移動平均)とを定期的に計測及び記録する。
図14の処理は、例えば定期的に実行される。但し、開始タイミングは適宜選択可能である。OP011では、リクエスタ12のCPU21は、管理サーバにネットワーク1の負荷情報(ネットワーク負荷情報)、或いはノード14の負荷情報(ノード負荷情報)の問い合わせメッセージを送信する。ここでは、一例としてネットワーク負荷情報が応答される場合について説明するが、逆でもよい。
OP012では、CPU21は問い合わせの応答メッセージ(ネットワーク負荷情報)を待機する。応答メッセージが受信されると処理がOP013に進む。OP013では、CPU21は、ネットワーク負荷情報(応答値)を応答メッセージから取り出し、パラメータ“Load”の値として設定する。応答値は、例えば0以上1以下の値をとる。
OP014では、CPU21はコンテンツの要求メッセージを生成する。このとき、CPU21は、1からパラメータ“Load”の値を減じた値をコンテンツの要求数(C_num)
に乗じる。C_numの値は、要求数の最大値であり、“Load”の値が小さい程、要求数は増
える。OP015では、コンテンツの要求メッセージを送信し、OP016で応答メッセージを待機し、応答メッセージが受信されると図14の処理を終了する。
このようにして、ネットワーク1の負荷やノード14の負荷(ネットワークに係る負荷の一例)を考慮して、取得を要求するコンテンツの数量(要求数)を決定するので、要求メッセージの送信に伴うネットワーク1への負荷を軽減できる。
<実施形態の効果>
実施形態によれば、リクエスタ12が、キーワードと被分配値(コンテンツ数)とを含むコンテンツの要求メッセージをネットワーク1に送信する。ネットワーク1のノード14において、コンテンツの要求メッセージを複数の出力先(フェイス)へ送信する場合に、被分配値(コンテンツ数)が所定の分配ルールに従って各出力先に分配される。このとき、分配された値が所定値を下回る(分配された値が0の場合を含む)出力先に関しては、要求メッセージの送信が行われない。よって、コンテンツの要求メッセージの伝搬範囲(拡散範囲)やトラフィック量を抑えることができる。
また、各プロデューサ13は、コンテンツ数を上限として、キーワードに対応するコンテンツを含む応答メッセージを生成し、リクエスタ12へ向けて送信する。これによって、コンテンツの送信に伴うトラフィック量をコンテンツ数に応じた範囲に抑えることができる。また、リクエスタ12のコンテンツの受信に伴う処理負荷を抑止し、一定時間以内でコンテンツの収集結果や演算結果を得ることを可能にする。
<変形例>
実施形態は、以下のような変形が可能である。例えば、実施形態において、Reqtsフィ
ールドの値は、コンテンツ数を示す値であった。但し、Reqtsフィールドの値は、コンテ
ンツのデータ量(バイト数やビット数)を示す値であってもよい。データ量を指定することで、リクエスタ12へのコンテンツの送信に伴って発生するトラフィック量を抑えることができる。
また、分配ルールとして、実施形態では、均等分配、リンク速度(帯域)の比率に応じた分配率での分配を例示した。これら以外の分配ルールとしては、出力先(経路先)のコンテンツ数の比率に応じた分配や、経路先のコンテンツのキーワードとの相関度に応じて分配などが考えられる。
経路先のコンテンツ数や相関度を分配に使う場合、プロデューサ13がキーワードを広告する場合に、キーワードに合致するコンテンツの数、あるいはキーワードとコンテンツとの相関度を合わせて広告する。各ノード14は、コンテンツの数や相関度を経路テーブルの出力先(インタフェース)の情報と関連付けて記憶する。そして、コンテンツの要求メッセージの受信時に参照する。分配ルールは、例えば、各ノード14に対し事前にスタティックに記憶させる。但し、リクエスタ12が要求メッセージの中に分配ルールを定義し各ノード14が要求メッセージ中の分配ル-ルに従うようにしても良い。実施形態にて説明した構成は例示であり、適宜組み合わせることができる。
1・・・ネットワーク
12・・・リクエスタ
13・・・プロデューサ
14・・・ノード
20・・・通信装置
21・・・CPU
22・・・メモリ

Claims (14)

  1. キーワードと複数の出力先との対応関係を記憶する記憶部と、
    キーワード及び被分配値を含むコンテンツ要求メッセージが受信された場合に、前記対応関係に基づいて前記コンテンツ要求メッセージの出力先を決定する決定部と、
    所定の分配ルールに従って前記被分配値を前記決定部によって決定された各出力先に分配する分配部と、
    前記決定部によって決定された各出力先のうち前記分配部によって分配された値が所定値を下回る出力先以外の出力先から、分配された値が新たな被分配値として含まれた前記コンテンツ要求メッセージを送信する送信部と、
    を含む通信装置。
  2. 前記被分配値は前記キーワードに対応するコンテンツの数量を示す値であり、
    前記コンテンツ要求メッセージの各出力先に分配された値に応じた数量のコンテンツを前記各出力先から受信し、前記各出力先から受信されたコンテンツを前記コンテンツ要求メッセージの送信元へ向けて送信する中継部
    をさらに含む請求項1に記載の通信装置。
  3. 前記分配部は、前記決定部によって決定された各出力先に対して決められた所定の割合で前記被分配値を分配する
    請求項1又は2に記載の通信装置。
  4. 前記分配部は、前記決定部によって決定された各出力先のそれぞれが有するリンク速度の割合に従って前記被分配値を分配する
    請求項1又は2に記載の通信装置。
  5. 前記キーワードを含むメッセージを前記決定部によって決定された各出力先から送信するとともに、前記各出力先から前記キーワードに対応するコンテンツの数量を含む前記メッセージの応答メッセージを受信して前記メッセージの送信元へ向けて転送する転送制御部
    をさらに含む請求項1から4のいずれか1項に記載の通信装置。
  6. 指定ホップ数をさらに含む前記メッセージが受信された場合に、前記指定ホップ数の値を減算又は加算する処理と、減算又は加算結果が所定値となる場合に前記メッセージの送信を停止し、前記減算又は加算結果が所定値とならない場合に前記キーワードを含むとともに前記減算又は加算結果が新たな指定ホップ数に設定された前記メッセージを前記決定部によって決定された各出力先に送信する処理を前記転送制御部は行う
    請求項5に記載の通信装置。
  7. キーワードと複数の出力先との対応関係を記憶し、
    キーワード及び被分配値を含むコンテンツ要求メッセージが受信された場合に、前記対応関係に基づいて前記コンテンツ要求メッセージの出力先を決定し、
    所定の分配ルールに従って前記被分配値を前記決定された各出力先に分配し、
    前記決定された各出力先のうち前記分配された値が所定値を下回る出力先以外の出力先から、分配された値が新たな被分配値として含まれた前記コンテンツ要求メッセージを送信する
    ことを含む通信装置の通信制御方法。
  8. コンテンツと関連づけられた関連語であるキーワード及び前記コンテンツの数量を示す値を含むコンテンツ要求メッセージの生成部と、
    前記コンテンツ要求メッセージをネットワークへ送信する送信部と、
    前記コンテンツの数量を示す値に応じた数量を有するとともに前記キーワードに対応するコンテンツを前記ネットワークから受信する受信部と
    を含み、
    前記コンテンツの数量は、前記ネットワークに接続された複数のプロデューサから収集される複数のコンテンツの和を示し、前記複数のコンテンツの和は、前記コンテンツ要求メッセージが1又は2以上の中継ノードを通じて前記複数のプロデューサの夫々に転送される場合に前記1又は2以上の中継ノードにおいて分配される被分配値である
    通信装置。
  9. 前記送信部は、前記コンテンツ要求メッセージを送信する前に、前記キーワードを含むメッセージを前記ネットワークへ送信し、
    前記受信部は、前記キーワードを含むコンテンツの数量を示す情報を含む前記メッセージの応答メッセージを前記ネットワークから受信する
    請求項8に記載の通信装置。
  10. 前記メッセージが中継される毎に減算又は加算され、減算又は加算結果が所定値になった場合に前記メッセージの中継を停止する処理に用いる指定ホップ数をさらに含む前記メッセージを前記送信部は送信する
    請求項9に記載の通信装置。
  11. 前記生成部は、前記ネットワークに係る負荷情報に基づいて前記コンテンツ要求メッセージに含める前記コンテンツの数量を示す値を決定する
    請求項8から10のいずれか1項に記載の通信装置。
  12. キーワード及びコンテンツの数量を示す値を含む第1装置からのコンテンツ要求メッセージを中継する複数の中継装置と、
    前記キーワードに対応するコンテンツを有する複数の第2装置とを含み、
    前記複数の中継装置のそれぞれは、
    キーワードと第2装置へ向かう複数の出力先との対応関係を記憶する記憶部と、
    前記コンテンツ要求メッセージが受信された場合に、前記対応関係に基づいて前記コン
    テンツ要求メッセージの出力先を決定する決定部と、
    所定の分配ルールに従って前記コンテンツの数量を示す値を前記決定部によって決定された各出力先に分配する分配部と、
    前記決定部によって決定された各出力先のうち前記分配部によって分配された値が所定値を下回る出力先以外の出力先から、分配された値が新たなコンテンツの数量を示す値として含まれた前記コンテンツ要求メッセージを送信する送信部と、
    前記コンテンツ要求メッセージの各出力先に分配された値に応じた数量のコンテンツを前記各出力先から受信し、前記各出力先から受信されたコンテンツを前記第1装置へ向けて送信する中継部と、を含み、
    前記複数の第2装置のそれぞれは、
    前記コンテンツ要求メッセージ中のコンテンツの数量を示す値に応じた数量を有するともに前記キーワードに対応するコンテンツを複数のコンテンツの中から所定の選択ルールを用いて選択する処理部を含む
    通信システム。
  13. 前記処理部は、前記キーワードに対応するコンテンツをランダムに選択する
    請求項12に記載の通信システム。
  14. 前記処理部は、前記キーワードに対応するコンテンツを前記キーワードとの相関度に基づき選択する
    請求項12に記載の通信システム。
JP2017149889A 2017-08-02 2017-08-02 通信装置,及び通信装置の通信制御方法 Active JP7077543B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017149889A JP7077543B2 (ja) 2017-08-02 2017-08-02 通信装置,及び通信装置の通信制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017149889A JP7077543B2 (ja) 2017-08-02 2017-08-02 通信装置,及び通信装置の通信制御方法

Publications (2)

Publication Number Publication Date
JP2019029930A JP2019029930A (ja) 2019-02-21
JP7077543B2 true JP7077543B2 (ja) 2022-05-31

Family

ID=65478973

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017149889A Active JP7077543B2 (ja) 2017-08-02 2017-08-02 通信装置,及び通信装置の通信制御方法

Country Status (1)

Country Link
JP (1) JP7077543B2 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005182762A (ja) 2004-11-12 2005-07-07 Onkyo Corp ネットワーク型コンテンツ再生システム
JP2011135575A (ja) 2009-12-24 2011-07-07 Samsung Electronics Co Ltd コンテンツ名ベースの端末装置、そのルーティング方法、及びルーティングテーブルを用いるネットワーク装置
JP2014035601A (ja) 2012-08-07 2014-02-24 Kddi Corp サーバ装置、通信装置及びプログラム
JP2015216498A (ja) 2014-05-09 2015-12-03 Kddi株式会社 コンテンツ配信ネットワークの通信装置、クライアント装置及びプログラム
JP2016038909A (ja) 2014-08-11 2016-03-22 パロ アルト リサーチ センター インコーポレイテッド コンテンツ中心ネットワークにおける検証なしの確率的遅延転送技術
JP2017017505A (ja) 2015-06-30 2017-01-19 アズビル株式会社 クライアント装置
JP2017107454A (ja) 2015-12-10 2017-06-15 富士通株式会社 通信装置、サーバ装置及び通信システム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005182762A (ja) 2004-11-12 2005-07-07 Onkyo Corp ネットワーク型コンテンツ再生システム
JP2011135575A (ja) 2009-12-24 2011-07-07 Samsung Electronics Co Ltd コンテンツ名ベースの端末装置、そのルーティング方法、及びルーティングテーブルを用いるネットワーク装置
JP2014035601A (ja) 2012-08-07 2014-02-24 Kddi Corp サーバ装置、通信装置及びプログラム
JP2015216498A (ja) 2014-05-09 2015-12-03 Kddi株式会社 コンテンツ配信ネットワークの通信装置、クライアント装置及びプログラム
JP2016038909A (ja) 2014-08-11 2016-03-22 パロ アルト リサーチ センター インコーポレイテッド コンテンツ中心ネットワークにおける検証なしの確率的遅延転送技術
JP2017017505A (ja) 2015-06-30 2017-01-19 アズビル株式会社 クライアント装置
JP2017107454A (ja) 2015-12-10 2017-06-15 富士通株式会社 通信装置、サーバ装置及び通信システム

Also Published As

Publication number Publication date
JP2019029930A (ja) 2019-02-21

Similar Documents

Publication Publication Date Title
JP3481054B2 (ja) ゲートウェイ装置、クライアント計算機およびそれらを接続した分散ファイルシステム
JP2003163678A (ja) 仮想ネットワーク名の解決方法
CN105373574B (zh) 用于可重构一体化内容流的系统和方法
CN105407128B (zh) 在ccn中的中间路由器上兴趣保持活动的方法及系统
US10367871B2 (en) System and method for all-in-one content stream in content-centric networks
KR102160494B1 (ko) 네트워크 노드, 엔드포인트 노드 및 관심 메시지 수신 방법
US10084696B2 (en) Aliasing of named data objects and named graphs for named data networks
US10536368B2 (en) Network-aware routing in information centric networking
JP7077543B2 (ja) 通信装置,及び通信装置の通信制御方法
CN103716319A (zh) 一种Web访问优化的装置和方法
CN115604106A (zh) 算力发布方法、算力更新方法及装置
US9781038B2 (en) Packet routing and forwarding in information centric networking
JP5598474B2 (ja) ネットワーク設計システム、ネットワーク設計方法、データ転送経路決定方法、ネットワーク設計プログラム
Cicerone et al. Engineering a new algorithm for distributed shortest paths on dynamic networks
Altmann et al. A P2P file sharing network topology formation algorithm based on social network information
JP6638472B2 (ja) 中継装置及び中継システム
JP3485915B1 (ja) ゲートウェイ装置、クライアント計算機およびプロキシサーバ計算機
Shen et al. Freeweb: P2p-assisted collaborative censorship-resistant web browsing
D’Angelo et al. Enhancing the computation of distributed shortest paths on power-law networks in dynamic scenarios
JP7165174B2 (ja) 情報処理装置、情報処理システム、情報処理方法、情報処理システムの製造方法、プログラム、及び記録媒体
Wen et al. Interest forwarding in CoLoR: A baseline implementation and performance evaluation
Das et al. Performance centric design of subnetwork-based diagonal mesh NoC
JP6678840B2 (ja) 制御機器、通信方法および通信プログラム
JP6081322B2 (ja) 転送したコンテンツを保存する通信装置
US20180013663A1 (en) Communication method, communication system, and communication apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210330

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220111

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: 20220419

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220502

R150 Certificate of patent or registration of utility model

Ref document number: 7077543

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150