説明

情報処理装置および情報処理方法

【課題】ネットワークを構成するリンクを流れるトラフィック量の推定を行うに際して、ネットワークにかかる負荷を低減させることが可能な技術を提供する。
【解決手段】情報処理装置100は、リンク情報と各トラフィック処理量とに基づいて、各ノードペア間を流れるパケット量に対するパケットのうちでノードを流れるパケット量の割合を各要素に有する行列を、そのノードに対応する各寄与行列として計算する寄与行列計算部123と、各ノードに対応する各寄与行列に基づいて、各ノードに対応する各トラフィック処理量を各ノードペアに割り振ることによってトラフィック量を推定する推定部124と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置および情報処理方法に関するものである。より詳細には、ネットワークのリンクを流れるトラフィック量を推定する技術に関するものである。
【背景技術】
【0002】
ネットワークの各リンク伝送時間を推定し、任意の経路でパケットが通過するのに要する時間を推定する技術がある(例えば、特許文献1または特許文献2参照)。これらの技術によれば、ホストが探索用パケットを送出し、そのパケットがネットワーク内の複数ルータを経由してホストに戻ってくるまでの往復時間を得る処理を行う。ホストは、この処理を繰り返し実行することによってネットワークの種々の経路についての往復時間を求めることができる。また、ホストは、この往復時間から、各リンクにおける伝送時間を変数とした連立1次方程式を立て、学習されたニューラルネットによって近似解を求めることができる。近似解は、任意の経路のパケットの通過時間として算出される。これらの技術を用いれば、ネットワークの各リンクの伝送時間が求められているので、トラフィック伝送量の多いリンクを推定し、そのリンクを避けることによって伝送遅延の少ないルーティングを行うことが可能となる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2000−32038号公報
【特許文献2】特開2000−49863号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、これらの技術を用いてルーティングを行うこととした場合には、少なくとも、以下の4点が問題となる。
【0005】
第1に、ホストがネットワーク内に複数の(あるいは多数の)探索用パケットを流すことによって、ネットワークにかかる負荷を増大させる可能性があるという問題がある。
【0006】
第2に、ホストがリンクの伝送時間を算出するためのデータを揃えるまでに時間がかかるという問題がある。ホストが経路の往復時間を求めるために多数の探索用パケットを流し、その探索用パケットが戻ってくるまで待機する必要があるからである。この問題は、ネットワークが大きく、かつ、複雑になるほど顕著になる。
【0007】
第3に、ネットワークが大きくなるほど、連立1次方程式によって求められる近似解の現実の値からの誤差が大きくなるという問題がある。ホストがネットワーク内に複数の探索用パケットを流すことにより、ネットワーク内の各ルータにかかる負荷が増大し、接続されているリンク数の多いルータには特に大きな負荷がかかることになる。ルータに対する負荷が増大し、ルータによるパケットに対する処理に時間がかかれば、パケットの往復時間が、厳密にはリンクの伝送時間だけからなるとは言えなくなる。これに加えて、リンクの伝送時間は時々刻々変化するものであり、例えば、ネットワークが大きく複雑であるほど、探索用パケットが多く必要になる。よって、それぞれの探索用パケットが処理される時刻は異なってくる。
【0008】
第4に、ネットワークの構造変化に対して速やかに対応できないという問題がある。ルータ数またはリンク数の増減やリンクの付け替えなどによってネットワークの構造が変わった場合には、ホストは、連立1次方程式を立てるために必要十分な経路を改めて求めなければならない。
【0009】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、主として、ネットワークを構成するリンクを流れるトラフィック量の推定を行うに際して、ネットワークにかかる負荷を低減させることが可能な技術を提供することにある。
【課題を解決するための手段】
【0010】
上記問題を解決するために、本発明のある観点によれば、複数のノード間がリンクによって相互に接続されることによって構成されるネットワークに接続され、複数のノードから任意に2つのノードを選択して得られる各ノードペア間のリンクを流れるパケット量であるトラフィック量を推定する情報処理装置であって、リンクによる各ノード間の接続関係を示すリンク情報を取得するリンク情報取得部と、同一期間内に各ノードを流れたパケット量を当該ノードに対応する各トラフィック処理量として計算する処理量計算部と、リンク情報と各トラフィック処理量とに基づいて、各ノードペア間を流れるパケット量に対する当該パケットのうちでノードを流れるパケット量の割合を各要素に有する行列を、当該ノードに対応する各寄与行列として計算する寄与行列計算部と、各ノードに対応する各寄与行列に基づいて、各ノードに対応する各トラフィック処理量を各ノードペアに割り振ることによってトラフィック量を推定する推定部と、を備えることを特徴とする、情報処理装置が提供される。
【0011】
推定部は、各ノードペアに割り振る各トラフィック処理量として寄与行列の各要素値に比例する値を使用することとしてもよい。
【0012】
推定部は、寄与行列の要素値の総和が大きいノードから順に、当該ノードに対応するトラフィック処理量を各ノードペアに割り振ることとしてもよい。
【0013】
推定部は、寄与行列の非零の要素数が大きいノードから順に、当該ノードに対応するトラフィック処理量を各ノードペアに割り振ることとしてもよい。
【0014】
推定部は、推定したトラフィック量から各ノードを流れたパケット量であるトラフィック処理量を計算し、計算したトラフィック処理量と処理量計算部によって計算されたトラフィック処理量との大小関係を判断し、計算したトラフィック処理量のほうが大きいと判断した場合には、当該ノードを含むノードペアに対して割り振るトラフィック処理量を減少させ、計算したトラフィック処理量のほうが小さいと判断した場合には、当該ノードを含むノードペアに対して割り振るトラフィック処理量を増加させることによって、再度トラフィック量の割り振りを行うこととしてもよい。
【発明の効果】
【0015】
以上説明したように本発明によれば、主として、ネットワークを構成するリンクを流れるトラフィック量の推定を行うに際して、ネットワークにかかる負荷を低減させることが可能となる。
【図面の簡単な説明】
【0016】
【図1】ネットワークの構成を説明するための図である。
【図2】本実施形態に係る情報処理装置の機能構成を示す図である。
【図3】ネットワークと情報処理装置との構成例を示す図である。
【図4】情報処理装置が実行する経路情報の取得から寄与行列の計算までの処理の流れを示すフローチャートである。
【図5】ルータごとのトラフィック処理量のデータ例を示す図である。
【図6】ルーティングテーブルのデータ例を示す図である。
【図7】情報処理装置が実行するトラフィック量推定処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0017】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0018】
<第1本実施形態>
[概要の説明]
図1は、ネットワークの構成を説明するための図である。図1に示すように、ネットワーク200’は、各ノード(ノードN1〜N5)が連携して送信元から送信先にパケットの送信を行うものである。パケットとは、送信元から送信先に送信されるデータの単位として使用する。また、ここでは、ネットワーク200’は、5つのノードによって構成されることとしているが、ノードの数は特に限定されるものではない。また、ノードの一例としては、ルータを使用することができるが、ノードは特にルータに限定されるものではなく、ネットワーク200’を構成する装置であってパケットの送受信を行うものを適宜使用することができる。
【0019】
ノードペアとは、任意のノードの組を示すものであり、直接的にリンクによって接続されているノード同士のみを意味するものではない。例えば、ノードN1とノードN2との組、ノードN3とノードN4との組のみではなく、例えば、ノードN1とノードN4との組、ノードN3とノードN5との組などもノードペアと称する。ノードの一例としてルータを使用する場合には、上記したノードペアを特にルータペアと称する。本実施形態では、ノードのトラフィック処理量と寄与行列とを用いてノードペアごとのトラフィック量を推定する。ノードのトラフィック処理量とは、例えば、ノードが処理するパケットの量であり、例えば、ノードが処理する単位時間あたりのパケットの量を意味するものとする。寄与行列については後述する。ノードペアごとのトラフィック量とは、例えば、ノードペア間において送受信されるパケットの量であり、例えば、ノードペア間において送受信される単位時間あたりのパケットの量を意味するものとする。
【0020】
ところが、このノードのトラフィック処理量と寄与行列との情報からだけでは何通りもの推定量の候補が計算される。そこで、「ノードペアごとのトラフィック量が可能な限り均等になるようにノードのトラフィック処理量を割り当てる」という条件を満たすようにトラフィック量を推定することによって推定量の候補を絞ることにする。この条件は、ネットワーク200’が大きくなるほどノードペアごとのトラフィック量は均一になるという考え方に基づいている。
【0021】
[寄与行列の説明]
寄与行列は、ルータごとに作成される行列であり、例えば、ノードkの寄与行列と言った場合には、その{i,j}要素は、ノードiから始まりノードjで終端するトラフィック量に対するkを通るトラフィック量の割合を示すものである。ノードiから始まりノードjで終端するパケットがすべてノードkを通る場合には、{i,j}要素は、「1」となり、ノードkが関与しない(ノードiから始まりノードjで終端するパケットがノードkを通らない)場合には、「0」となる。ネットワーク200内のルーティング方法が決まれば、ネットワーク200内の全寄与行列も一意に定まる。例えば、図1に示したノードN5の寄与行列Δは、次のように示される。
【0022】
【数1】

【0023】
ここで、経路選択には、最短経路法を採用し、経路が複数存在する場合には分岐点において経路ごとに等分配することとしている。また、ノードN2とノードN4との間のトラフィック量は、経路(ノードN2、ノードN3およびノードN4の順に通過する経路)と経路(ノードN2、ノードN5およびノードN4の順に通過する経路)とに二分されるので、{2,4}および{4,2}要素は、それぞれ「0.5」となる。一方、ノードN1およびノードN4との間で送受信されるパケットは、必ずノードN5を通るので、{1,4}および{4,1}要素は、「1」となる。{i,j}要素は、Δi,jと表すこととする。
【0024】
また、ノードiから始まりノードjで終端するトラフィック量を{i,j}要素とする行列をTi,jと表せば、ノードkを通るトラフィック処理量tは、次のように、要素ごとの積の和という形式で示される。
【0025】
【数2】

【0026】
以下においては、ノードによって構成されるネットワーク200’の一例として、ルータによって構成されるネットワーク200(例えば、図2または図3参照)を使用する場合について説明する。
【0027】
[構成の説明]
図2は、本実施形態に係る情報処理装置の機能構成を示す図である。図2を参照して、本実施形態に係る情報処理装置の機能構成について説明する。
【0028】
図2に示すように、情報処理装置100は、ネットワーク200に接続されている。ネットワーク200は、複数のルータ間がリンクによって相互に接続されることによって構成されている(図3参照)。情報処理装置100は、複数のルータから任意に2つのルータを選択して得られる各ルータペア間のリンクを流れるパケット量であるトラフィック量を推定する。情報処理装置100は、記憶部110と制御部120と通信部130とを備えるものである。パケット量としては、パケットの数を使用することとしてもよいし、パケットのデータ量を使用することとしてもよい。
【0029】
記憶部110は、例えば、HDD(Hard Disk Drive)等の記憶装置などによって構成される。記憶部110は、制御部120によって実行されるプログラムを記憶する機能や、プログラムが使用するデータを記憶する機能を有するものである。
【0030】
制御部120は、例えば、CPU(Central Processing Unit)などによって構成され、CPUによって、記憶部110が記憶するプログラムがRAM(Random Access Memory)などに展開され、展開されたプログラムが実行されることによってその機能が実現される。制御部120は、経路情報取得制御部121、リンク情報取得部122、寄与行列計算部123、推定部124、処理量計算部125などを備える。
【0031】
通信部130は、例えば、通信装置等によって構成され、ネットワーク200内のルータと通信を行うことが可能である。通信部130は、経路情報送信要求送信部131、経路情報受信部132、トラフィックデータ送信要求送信部133、トラフィックデータ受信部134などを備えるものである。
【0032】
トラフィックデータ受信部134は、SNMP(Simple Network Management Protocol)のMIB(Management Information Base)情報のうちトラフィック処理量をネットワーク200内のすべてのルータから定期的に受信する。トラフィックデータ受信部134は、受信したトラフィック処理量を処理量計算部125に出力する。
【0033】
処理量計算部125は、トラフィックデータ受信部134から出力されたトラフィック処理量から同一期間内に各ルータを流れたパケット量をそのルータに対応する各トラフィック処理量として計算する。同一期間は、その開始時刻も同一であることが好ましいが、期間の長さは、例えば、10秒間、5分間、1時間など、どのような長さであってもよい。処理量計算部125は、計算したトラフィック処理量を推定部124に出力する。
【0034】
経路情報受信部132は、ネットワーク200内のすべてのルータからルーティングテーブル(経路情報)を受信し、受信したルーティングテーブルをリンク情報取得部122に出力する。
【0035】
リンク情報取得部122は、経路情報受信部132から出力されたルーティングテーブルに基づいて、ネットワーク200内の各ルータ間のリンクによる接続関係を示すリンク情報を取得して、取得したリンク情報を寄与行列計算部123に出力する。リンク情報取得部122は、必要となるリンク情報が取得できない場合には、経路情報取得制御部121に対してルーティングテーブルの送信を求めるルータを識別するための識別情報を出力する。
【0036】
経路情報取得制御部121は、ネットワーク200内のルータからルーティングテーブルを取得するための制御を行うものである。経路情報取得制御部121は、例えば、リンク情報取得部122から出力された識別情報によって識別されるルータに対して経路情報送信要求を送信するように経路情報送信要求送信部131を指示する。
【0037】
経路情報送信要求送信部131は、経路情報取得制御部121からの指示に従って、経路情報送信要求を送信する。経路情報送信要求を受信したルータは、ルーティングテーブルを送信し、送信されたルーティングテーブルが、経路情報受信部132によって受信される。
【0038】
寄与行列計算部123は、リンク情報と各トラフィック処理量とに基づいて、各ルータペア間を流れるパケット量に対するそのパケットのうちでルータを流れるパケット量の割合を各要素に有する行列を、そのルータに対応する各寄与行列として計算する。寄与行列計算部123は、計算した寄与行列を推定部124に出力する。
【0039】
推定部124は、各ルータに対応する各寄与行列に基づいて、各ルータに対応する各トラフィック処理量を各ルータペアに割り振ることによってトラフィック量を推定する。推定部124は、推定するルータペアのトラフィック量を、ルータペアごとのトラフィック量が可能な限り均等になるように割り振る(※1)ことが好ましい。これは、ネットワーク200の規模が大きくなればなるほどルータペアごとのトラフィック量は均一になるという考えに基づくものである。また、これを実現するために、例えば、推定部124は、各ルータペアに割り振る各トラフィック処理量として寄与行列の各要素値に比例する値を使用することができる。
【0040】
これは、条件(※1)に反するようにも受け取れる。しかし、ルータペア間{i,j}のトラフィック(ルータペア間{i,j}を流れるパケット)が複数の経路を通ってルーティングされる場合、分岐した経路上にあるルータkについての寄与行列Δi,jは、1より小さい。したがって、ルータkについてのトラフィック処理量の割り振りは、ルータペア間{i,j}のトラフィックに対するルータkによる関与が、他の成分「1」に相当するルータペア間のトラフィックに対するルータkによる関与よりも小さい分少なくなる。これは、トラフィック処理量を可能な限り均等に割り振った結果であり、別経路のルータについてのトラフィック処理量がルータペア{i,j}に割り振られるので、ルータペア{i,j}に対して割り振られるトラフィック処理量が少ないということにはならない。
【0041】
また、推定部124は、寄与行列の要素値の総和が大きいルータから順に、そのルータに対応するトラフィック処理量を各ルータペアに割り振ることとしてもよい。あるいは、推定部124は、寄与行列の非零の要素数(S)が大きいルータから順に、そのルータに対応するトラフィック処理量を各ルータペアに割り振ることとしてもよい。これは、ネットワーク200の規模が大きくなるほどルータペアごとのトラフィック量は均一になると一応は考えられるものの、ネットワーク200全体に流れるトラフィック量のうちSの小さいルータ同士をルータペアとするトラフィック量は相対的に小さいという仮定(※2)に基づくものである。Sの小さいルータに対する割り振りを劣位に置くことで、Sの小さいルータ同士をルータペアとするトラフィック量が小さくなるという効果が得られる。
【0042】
推定部124は、推定したトラフィック量から各ルータを流れたパケット量であるトラフィック処理量を計算し、計算したトラフィック処理量と処理量計算部125によって計算されたトラフィック処理量との大小関係を判断してもよい。推定部124は、計算したトラフィック処理量のほうが大きいと判断した場合には、そのルータを含むルータペアに対して割り振るトラフィック処理量を減少させ、計算したトラフィック処理量のほうが小さいと判断した場合には、そのルータを含むルータペアに対して割り振るトラフィック処理量を増加させることとしてもよい。このようにして、再度トラフィック量の割り振りを行うこととしてもよい。そうすれば、計算したトラフィック処理量と処理量計算部125によって計算されたトラフィック処理量との差が小さくすることができ、再度のトラフィック量の割り振りを繰り返せば、さらにその差を小さくしていくことができる。
【0043】
推定部124は、推定したトラフィック量を推定データとして出力する。推定部124は、処理量計算部125から出力されていないトラフィック処理量があれば、そのトラフィック処理量に対応するルータにトラフィックデータ送信要求を送信するための指示をトラフィックデータ送信要求送信部133に出力することができる。
【0044】
トラフィックデータ送信要求送信部133は、推定部124から出力された指示に従って、トラフィックデータ送信要求をルータに送信する。トラフィックデータ送信要求を受信したルータは、トラフィック処理量を送信し、送信されたトラフィック処理量はトラフィックデータ受信部134によって受信される。
【0045】
図3は、ネットワークと情報処理装置との構成例を示す図である。図4は、情報処理装置が実行する経路情報の取得から寄与行列の計算までの処理の流れを示すフローチャートである。図5は、ルータごとのトラフィック処理量のデータ例を示す図である。図6は、ルーティングテーブルのデータ例を示す図である。
【0046】
[動作の説明]
図2〜図7を参照して、情報処理装置100が実行するトラフィック量推定処理の動作例について説明する。説明の都合上、ネットワーク200内のルータ数をNとする。また、経路情報の一例として、ルータが持つルーティングテーブルを使用することとする。図4は、経路情報の取得から寄与行列の計算までの処理の流れを示すフローチャートである。まず、図4を参照して、情報処理装置100による経路情報の取得から寄与行列の計算までの処理について説明する。
【0047】
以下のステップS101〜ステップS104は、ネットワーク200内の各ルータの寄与行列Δの計算に関連するものである。まず、経路情報受信部132は、各ルータの持つルーティングテーブルを取得する(ステップS101)。リンク情報取得部122は、経路情報受信部132によって受信されたルーティングテーブルに基づいて、各ルータのリンク情報を取得する(ステップS102)。このリンク情報とは、各ルータがどのルータに対してリンクを持っているか、すなわち、各ルータがどのルータに対してパケットを送信できるかを示すものである。
【0048】
経路情報取得制御部121は、データが揃っているか否か、すなわち、各ルータのリンク情報が取得されているか否かを判断する(ステップS103)。経路情報取得制御部121は、データが揃っていないと判断した場合には(ステップS103で「No」)、ステップS101に戻る。ステップS101に戻った場合には、経路情報送信要求送信部131は、リンク情報取得部122で必要となるルーティングテーブルを持つルータに対して経路情報送信要求パケットを送信し、経路情報受信部132は、経路情報送信要求パケットに対する応答として、そのルータから経路情報を受信する。
【0049】
経路情報取得制御部121は、データが揃っていると判断した場合には(ステップS103で「Yes」)、寄与行列計算部123は、各ルータの寄与行列{Δα:α∈1,・・・,N}を計算する。ステップS101〜ステップS103は、例えば、ルーティングテーブルに変化がある度に実行されるものである。
【0050】
図7は、トラフィックデータと寄与行列との取得からトラフィック量の推定までの処理の流れを示すフローチャートである。まず、図7を参照して、情報処理装置100によるトラフィックデータと寄与行列との取得からトラフィック量の推定までの処理について説明する。
【0051】
推定部124は、処理量計算部125が計算したトラフィック処理量を取得する(ステップS201)。ここでいうトラフィック処理量は、各ルータが同一期間に処理したパケットの量、すなわち、各ルータの同一期間におけるトラフィック処理量{tα:α∈1,・・・,N}を意味するものである。各ルータの同一期間におけるトラフィック処理量をトラフィック処理量として使用することとするが、上記の同一期間とは、厳密に同一の期間である必要はなく、略同一の期間であればよい。続いて、推定部124は、寄与行列計算部123が計算した寄与行列Δを取得する(ステップS202)。
【0052】
推定部124は、ステップS201およびステップS202において取得されるデータが揃っているか否かを判断する(ステップS203)。推定部124は、データが揃っていないと判断した場合には(ステップS203で「No」)、ステップS201に戻る。推定部124が、トラフィック処理量が揃っていないと判断した場合には、トラフィックデータ送信要求送信部133は、揃っていないトラフィック処理量のもとになるトラフィックデータを持つルータに対してトラフィックデータ送信要求を送信する。トラフィックデータ受信部134は、そのトラフィックデータ送信要求に対する応答として、トラフィックデータを受信して処理量計算部125に出力する。処理量計算部125は、トラフィックデータからトラフィック処理量を計算して推定部124に出力する。
【0053】
推定部124は、寄与行列が揃っていないと判断した場合には、寄与行列計算部123から寄与行列が出力されるのを待つ。
【0054】
推定部124は、データが揃っていると判断した場合には(ステップS203で「Yes」)、ステップS204以降においてルータペアのトラフィック量の推定を行う。推定部124は、各ルータのトラフィック処理量を割り振るために用いる、Δαのコピー{Δfα:1≦α≦N}をルータごとに用意する。Δfαの要素値が、ルータαのトラフィック処理量をルータペアのトラフィック量に割り振る際に使用される係数となる。この要素値は、ステップS210において適宜修正される。
【0055】
推定部124は、各ルータの寄与行列Δについての非零の要素数Sを計算し、計算したSに基づいてルータの順番a[1]=k1、a[2]=k2、・・・、a[N]=kNを決める。ここで、a[1]〜a[N]は、例えば、値を設定できる配列であり、k1〜kNは、ルータを識別するための値である。推定部124は、例えば、Sの大きいルータから順にk1、k2、・・・、kNとし、そのSをそれぞれSk1、Sk2、・・・、SkNと表現する。推定部124は、このk1、k2、・・・、kNの順にトラフィック処理量を割り振る。
【0056】
推定部124は、ルータk1のトラフィック処理量tk1をΔfk1の分布に従って割り振る(ステップS205)。推定部124は、例えば、ルータk1のトラフィック処理量tk1をΔfk1の分布に従ってΔfk1i,jに比例した割合で割り振る。トラフィック処理量が割り振られることによって得られるトラフィック量は、式(1)のTのように行列で表される。ここでは、トラフィック処理量tk1を割り振ることによって得られるトラフィック量は、N×Nの行列Tk1と表現することとする。
【0057】
ステップS206の繰り返し処理では、推定部124は、残りのルータk2、k3、・・・、kNのトラフィック処理量を割り振ることとなる。ここで、a[2]=k2、a[3]=k3、・・・、a[N]=kNとし、ステップS206が開始される際に実行される初期処理はn=2(nに2を代入)、ステップS206を継続するための継続条件はn≦N、ステップS206が繰り返されるたびに実行される終端処理はn=n+1(nを1増加)とする。
【0058】
推定部124は、ステップS206の繰り返し処理の中で、a[n]で指定されるルータについて割り振るトラフィック処理量ta[n]を計算する(ステップS207)。計算式は、例えば、次に示すようになる。
【0059】
【数3】

【0060】
式(2)の右辺第2項は、ルータa[n−1]についてまで割り振ったトラフィック量Tn−1のうちルータa[n]において処理する量を示し、これをtから差し引いた量がルータa[n]について割り振れるトラフィック処理量ta[n]となる。
【0061】
推定部124は、ステップS205における割り振り処理と同様の手法によって、トラフィック処理量ta[n]をΔfa[n]の分布に従って割り振る(ステップS208)。推定部124は、例えば、トラフィック処理量ta[n]をΔfa[n]の分布に従ってΔfa[n]i,jに比例した割合で割り振る。推定部124は、トラフィック処理量ta[n]が割り振られることによって得られた各値をTn−1の各要素に追加する。このようにして更新した後のトラフィック量はTとなる。
【0062】
推定部124は、ステップS206の繰り返し処理によって得られたTから計算される各ルータのトラフィック処理量とtαとの差が所定の範囲に収まっているか否かを判断する(ステップS209)。そのために、まず、推定部124は、例えば、Tから各ルータのトラフィック量{uα:1≦α≦N}を次のように計算する。
【0063】
【数4】

【0064】
推定部124は、例えば、計算したuαとトラフィック処理量tαとの差(あるいは差の2乗によって得られるd)が所定の範囲内に収まっているか否かを判断する。推定部124は、例えば、計算したuαとトラフィック処理量tαとの差の2乗によって得られるdとして次の式を使用することができる。
【0065】
【数5】

【0066】
推定部124は、Tから計算される各ルータのトラフィック処理量とtαとの差が所定の範囲に収まっていると判断した場合には、このTを推定量(推定データ)として出力する。推定部124は、Tから計算される各ルータのトラフィック処理量とtαとの差が所定の範囲に収まっていないと判断した場合には、ステップS210に進む。推定部124は、各ノードペアへのトラフィック処理量の割り振り量を修正するために、Δを更新すると(ステップS210)、ステップS205に戻って処理を継続する。
【0067】
[動作の具体例の説明]
図4〜図7を参照して、情報処理装置100が実行するトラフィック量推定処理の動作の具体例について説明する。ネットワーク200は、図3に示したように、ルータR1〜ルータR6によって構成されるものとして説明するが、ネットワーク200の構成はこれに限定されるものではない。図3に示した情報処理装置100は、図2に示した情報処理装置100に相当するものである。パケットは、ルータR1〜ルータR6の外側には送出されない状況を想定し、ルータR1〜ルータR6のそれぞれに接続しているリンクを通じてパケットの送受信を行うものとする。また、以下の推定で用いるルータペア間のトラフィック量の候補を6×6行列Tと表現する。
【0068】
情報処理装置100において、ルータR1〜ルータR6が処理したトラフィック処理量からルータペア間のトラフィック量を推定する。情報処理装置100は、トラフィックデータ受信部134においてSNMPのMIB情報のうちトラフィック処理量をルータR1〜ルータR6から定期的に受信している。トラフィックデータ受信部134によって受信された処理量計算部125に出力され、処理量計算部125によって同一期間内におけるトラフィック処理量が取得される。
【0069】
いま、例えば、処理量計算部125によって、ある時刻に観測された各ルータのトラフィック処理量{tα:1≦α≦6}が図5に示すような情報として取得されたとする。ただし、ルータαから始まりルータαで終端するパケットによるトラフィック処理量は含まれないこととする。したがって、Tの対角成分は「0」となり、すなわち、{Ti,i=0:1≦i≦6}となる。処理量計算部125によって取得されたトラフィック処理量は、推定部124に出力される。
【0070】
次に、寄与行列計算部123が寄与行列を計算する過程について説明する。ステップS101において、経路情報受信部132が、ルータR1〜ルータR6からそれぞれのルーティングテーブルを受信し、リンク情報取得部122は、経路情報受信部132によって受信されたルーティングテーブルに基づいて、リンク情報を取得する。ここでは、リンク情報取得部122は、最短経路法に基づいて経路選択を行うこととし、最短経路が複数存在する場合には、ノードペアごとに1つの経路を選択することとする。一例として、リンク情報取得部122がルータR5のリンク情報を取得する場合について説明する。ルータR5が持つルーティングテーブルが、図6に示すようなものであった場合、リンク情報取得部122は、Next Hop Nodeに基づいて、ルータR5がルータR4およびルータR6の2つのルータに対してリンクを張っていると判断することができる。つまり、リンク情報取得部122は、ルータR5のリンク情報として、ルータR4およびルータR6を識別するための情報をルーティングテーブルから取得することができる。
【0071】
リンク情報取得部122が各ルータについて同様にしてリンク情報を取得することができると、ステップS103の条件が満たされ、寄与行列計算部123は、ステップS104においてΔαを計算する。経路選択方法が最短経路法によるものであれば、ルータR1〜ルータR6の寄与行列{Δα:1≦α≦6}としては、次に示すような行列を挙げることができる。
【0072】
【数6】

【0073】
以下の説明においても、Δ〜ΔをそれぞれルータR1〜ルータR6の寄与行列とする。そして、寄与行列計算部123によって計算された寄与行列Δ〜Δが推定部124に出力される。
【0074】
続いて、推定部124の動作の具体例について図7を参照して(適宜他の図参照)、説明する。上記したように、ステップS201において処理量計算部125によってルータR1〜ルータR6のトラフィック処理量t〜tが取得され、ステップS202において寄与行列計算部123によって寄与行列Δ〜Δが取得されたとすると、ステップS203の条件を満たす。
【0075】
ここで、どの寄与行列Δαも対称行列、すなわち、{Δαi,j=Δαj,i:1≦i≦6, 1≦j≦6}であるから、簡単のために、以下で推定するルータペアのトラフィック量は、ルータペアの方向を区別しないこととする。よって、推定すべきTは、次のように示すことができる。
【0076】
【数7】

【0077】
推定すべきTが(5)式のように示される場合、推定部124は、T1,2,・・・T5,6の計15成分を推定することになる。
【0078】
ステップS204において、推定部124は、各ルータについてSを求める。例えば、ルータR1についてのΔの非零(例えば、「1」)の要素数は「10」であるから、推定部124は、ルータR1についての各SであるSの値を「10」と求める。同様にして、推定部124は、ルータR2〜ルータR6についての各SであるS〜Sの値を「10」「12」「12」「14」「22」と求める。したがって、推定部124は、トラフィック処理量を割り振る順番として、ルータR6、ルータR5、ルータR3、ルータR4、ルータR1、ルータR2と決定する。ここで、S=Sであり、S=Sであるので、ルータR1とルータR2とのうち、または、ルータR3とルータR4とのうち、どちらの順番を早めるかを決定する必要があるが、決定の仕方は特に限定されるものではない。
【0079】
推定部124は、ステップS205において、トラフィック処理量t=61を割り振る(図5参照)。推定部124は、Δαのコピー{Δfα:1≦α≦N}をルータごとに用意すると、Δf6は、次に示す通りとなる。
【0080】
【数8】

【0081】
式(6)に示すように、Δf6の要素値はすべて「1」となっている。また、いまは、T1,2〜T5,6の15成分についてのみ考えているので、推定部124は、その成分に相当する非零の要素数、すなわち、割り振るべき要素値を「11」と決定する。したがって、推定部124は、t/(割り振るべき要素値)=61/11=5.55を割り振ると、次に示すTのようになる。
【0082】
【数9】

【0083】
次に、推定部124は、ステップS206において、トラフィック処理量t,t,t,t,tを順次に割り振る。
【0084】
推定部124は、ステップS207において、ルータR5について割り振るトラフィック処理量tを計算する。式(2)により、推定部124は、t=t−Σi=1Σj=1(Δf5i,ji,j)=34−27.73=6.27と計算する。
【0085】
推定部124は、ステップS208において、ステップS207で算出したt=6.27をルータR6についてのトラフィック処理量tと同様に割り振る。Δf5i,jの各要素の非零の値はすべて「1」であり、割り振るべき要素数は、Δf51,5,Δf52,4,Δf52,5,Δf53,5,Δf54,5,Δf54,6,Δf54,7の7つであるから、推定部124は、t/(割り振るべき要素値)=6.27/7=0.90をT1,5,T2,4,T2,5,T3,5,T4,5,T4,6,T4,7に追加する。その結果は、Tは、次に示すようになる。
【0086】
【数10】

【0087】
同様にして、推定部124は、ルータR3、ルータR4、ルータR1、ルータR2についてのトラフィック処理量を振り分ける。振り分けた結果、推定部124は、次に示すような推定値Tを取得することができる。
【0088】
【数11】

【0089】
推定値Tを得たところでステップS206の繰り返し処理が終了したことになる。推定部124は、ステップS209において、式(3)からuαを計算し、uαとtαとの差dを式(4)によって計算する。ここでは、推定部124は、次の式を満たす場合に、Tをルータペアのトラフィック量と推定することにする。
【0090】
【数12】

【0091】
推定部124は、式(3)によって求めたuαを計算し、uαから式(4)により、d=1.1と求めることができる。このd=1.1は、ルータペアのトラフィック量としての条件(例えば、式(10))を満たさないので、推定部124は、ステップS210に進む。
【0092】
推定部124は、ステップS210において、式(9)のTよりΔを修正する。ここでは、推定部124は、式(11)から|cα|が最大となるルータkを求め、すべてのΔのk行目あるいはk列目のすべての要素に式(12)で示される値を乗じてΔを更新する。これにより、次のルータについてのトラフィック処理量の割り振りのサイクルにおいて、次のルータについてのトラフィック処理量が多く割り振られていた場合には少なく、逆に、少なく割り振られていた場合には多く割り振ることができるようになる。
【0093】
【数13】

【0094】
【数14】

【0095】
推定部124は、このようにして、ステップS205〜ステップS210を153回繰り返した結果、ルータペアのトラフィック量の推定値Tとして次に示すような結果が得られた。
【0096】
【数15】

【0097】
推定部124は、推定値Tが式(13)に示されるような値である場合には、式(3)と式(4)とからd=0.0000965と求めることができる。推定部124は、d=0.0000965の場合には、ステップS209において、式(10)を満たすと判断し、式(13)で示されるTを、ルータペアのトラフィック量の推定値として出力する。
【0098】
ここで、ルータペアのトラフィック量の推定値Tは、T1,2=0.45からT2,5=8.46まで幅がある。これは、寄与行列Δに合致するようにトラフィック処理量を割り振るとともに、上記した仮定(※2)に基づいてトラフィック処理量を割り振ったことが原因である。Sの大きいルータ、例えば、最初に割り振りを行ったルータR6についてのトラフィック処理量は、Δの要素値に従って割り当てられている。そのために、Δの非零の要素間においてはTの当該要素値の幅は小さい。しかし、Sの小さいルータ同士、例えば、ルータR1とルータR2との間のトラフィック量は、仮定(※2)からT1,2=0.45と小さな値に留まっている。
【0099】
[効果の説明]
以上のように、第1実施形態によれば、同一期間内における各ルータのトラフィック処理量からルータペアのトラフィック量がなるべく均等になるようにしてルータペアのトラフィック量の推定値を求めることができる。これにより、リンクを流れるトラフィック量を知り、トラフィック量の多いリンクへのルーティングを避け、逆にトラフィック量が少ないリンクへのルーティングを促すことによって輻輳を避け、遅延の少ないルーティングを行うことが可能になる。
【0100】
また、トラフィック量を推定するのに必要となるデータは、各ルータのトラフィック処理量と寄与行列とである。トラフィック処理量と寄与行列とは、各ルータから所定量ずつパケットを受け取ることによって取得することができる。探索用パケットの寿命を1つずつ増やして送出し、経路の往復時間を求める技術に比べれば、トラフィック量の推定に必要となるデータを得るためにネットワーク内に流すパケットの量を低減させることができる。
【0101】
さらに、トラフィック処理量と寄与行列とが揃えば、推定作業に移ることができるために、トラフィック量を推定するまでに要する時間も低減することができる。
【0102】
各ルータの同一期間内におけるトラフィック処理量を用いているので、推定したノードペアのトラフィック量には矛盾のない値で推定することができる。
【0103】
ルーティングプロトコルによってルーティングテーブルを取得することができ、ルーティングテーブルと各ルータによるルーティングルール(例えば、同一メトリックの経路には等分配するなど)から寄与行列を一意に定めることができる。よって、ルーティングテーブルが完成した時点で、ネットワーク構造の変化にも対応することが可能となる。
【0104】
[変形例]
上記では、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【0105】
例えば、本実施形態に係る情報処理装置は、各ノードによって構成されるあらゆるネットワークに接続して利用することが可能である。例えば、P2Pの仮想ネットワークの構造や無線アドホックネットワークに接続してトラフィック量を推定することができる。また、本実施形態に係る情報処理装置は、推定値から各リンクの輻輳具合を知ることができるので、リンクの伝送時間を推定することも可能である。
【符号の説明】
【0106】
100 情報処理装置
110 記憶部
120 制御部
121 経路情報取得制御部
122 リンク情報取得部
123 寄与行列計算部
124 推定部
125 処理量計算部
130 通信部
131 経路情報送信要求送信部
132 経路情報受信部
133 トラフィックデータ送信要求送信部
134 トラフィックデータ受信部
200 ネットワーク


【特許請求の範囲】
【請求項1】
複数のノード間がリンクによって相互に接続されることによって構成されるネットワークに接続され、前記複数のノードから任意に2つのノードを選択して得られる各ノードペア間のリンクを流れるパケット量であるトラフィック量を推定する情報処理装置であって、
前記リンクによる前記各ノード間の接続関係を示すリンク情報を取得するリンク情報取得部と、
同一期間内に各ノードを流れたパケット量を当該ノードに対応する各トラフィック処理量として計算する処理量計算部と、
前記リンク情報と前記各トラフィック処理量とに基づいて、各ノードペア間を流れるパケット量に対する当該パケットのうちでノードを流れるパケット量の割合を各要素に有する行列を、当該ノードに対応する各寄与行列として計算する寄与行列計算部と、
前記各ノードに対応する前記各寄与行列に基づいて、前記各ノードに対応する前記各トラフィック処理量を前記各ノードペアに割り振ることによって前記トラフィック量を推定する推定部と、
を備えることを特徴とする、情報処理装置。
【請求項2】
前記推定部は、
前記各ノードペアに割り振る前記各トラフィック処理量として前記寄与行列の各要素値に比例する値を使用する、
ことを特徴とする、請求項1に記載の情報処理装置。
【請求項3】
前記推定部は、
前記寄与行列の要素値の総和が大きいノードから順に、当該ノードに対応する前記トラフィック処理量を前記各ノードペアに割り振る、
ことを特徴とする、請求項2に記載の情報処理装置。
【請求項4】
前記推定部は、
前記寄与行列の非零の要素数が大きいノードから順に、当該ノードに対応する前記トラフィック処理量を前記各ノードペアに割り振る、
ことを特徴とする、請求項2に記載の情報処理装置。
【請求項5】
前記推定部は、
推定した前記トラフィック量から前記各ノードを流れたパケット量であるトラフィック処理量を計算し、計算した前記トラフィック処理量と前記処理量計算部によって計算された前記トラフィック処理量との大小関係を判断し、計算した前記トラフィック処理量のほうが大きいと判断した場合には、当該ノードを含むノードペアに対して割り振る前記トラフィック処理量を減少させ、計算した前記トラフィック処理量のほうが小さいと判断した場合には、当該ノードを含むノードペアに対して割り振る前記トラフィック処理量を増加させることによって、再度前記トラフィック量の割り振りを行う、
ことを特徴とする、請求項2に記載の情報処理装置。
【請求項6】
複数のノード間がリンクによって相互に接続されることによって構成されるネットワークに接続され、前記複数のノードから任意に2つのノードを選択して得られる各ノードペア間のリンクを流れるパケット量であるトラフィック量を推定する情報処理装置による情報処理方法であって、
前記リンクによる前記各ノード間の接続関係を示すリンク情報を取得するステップと、
同一期間内に各ノードを流れたパケット量を当該ノードに対応する各トラフィック処理量として計算するステップと、
前記リンク情報と前記各トラフィック処理量とに基づいて、各ノードペア間を流れるパケット量に対する当該パケットのうちでノードを流れるパケット量の割合を各要素に有する行列を、当該ノードに対応する各寄与行列として計算するステップと、
前記各ノードに対応する前記各寄与行列に基づいて、前記各ノードに対応する前記各トラフィック処理量を前記各ノードペアに割り振ることによって前記トラフィック量を推定するステップと、
を含むことを特徴とする、情報処理方法。




【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−45037(P2011−45037A)
【公開日】平成23年3月3日(2011.3.3)
【国際特許分類】
【出願番号】特願2009−193626(P2009−193626)
【出願日】平成21年8月24日(2009.8.24)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(平成19年度独立行政法人情報通信研究機構「ダイナミックネットワーク技術の研究開発」委託研究、産業技術力強化法第19条の適用を受けるもの)
【出願人】(000000295)沖電気工業株式会社 (6,645)
【Fターム(参考)】