説明

通信ノード装置

【課題】複数の仮想通信ノードの構成を、負荷に応じて動的に最適化することによって、良好な通信品質を維持することができる通信ノード装置を提供することにある。
【解決手段】通信ノード装置は、仮想ルータ210,220,230による通信品質を監視する状態把握機能部と、仮想ルータの資源を登録し管理する仮想ルータ用資源管理機能部と、仮想ルータの各々の資源を追加、削減、若しくは改造する処理、新たな仮想通信ノードを構築する処理、及び、前記複数の仮想通信ノードのいずれかを解消する処理を実行する仮想ルータ構築・解消機能部及び仮想ルータ資源追加・削除機能部とを有し、通信品質情報に基づき、登録された空き資源を用いて、複数の仮想通ルータのいずれかの資源を追加、削減、若しくは改造する処理、新たな仮想通信ノードを構築する処理、及び、前記複数の仮想通信ノードのいずれかを解消する処理のいずれか一つ以上を実行させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想的に複数の通信ノードが存在するかのように動作する通信ノード装置に関するものである。
【背景技術】
【0002】
仮想化技術を用いて複数の通信ノードが存在するかのように動作する(すなわち、複数の仮想通信ノードを構築する)ことができる通信ノード装置が、種々提案されている。
【0003】
特許文献1(特開2004−343191号公報)は、ブロードバンドアクセスルータ(通信ノード装置)の中に複数台の仮想ルータ(仮想通信ノード)が存在し、仮想ルータ毎に異なるインターネットサービスプロバイダ(ISP)に接続することができるシステムを提案している。このシステムは、仮想ルータ毎に通信セッション数を計測し、新たな接続要求があった場合に、最も負荷が小さい仮想ルータを用いてISPに接続することで、通信品質の向上を図っている。
【0004】
特許文献2(特開2009−265894号公報)は、複数の仮想マシン(仮想通信ノード)を有する通信ノード装置において、障害発生時に通信フローを切断することなくサービスを再起動する技術を提案している。この通信ノード装置は、再起動前から使用されている旧仮想マシンと再起動後に使用される新仮想マシンを有し、再起動が行われたときには、旧仮想マシンと新仮想マシンとの間で通信フローを割り振り、通信トラヒックの処理を新仮想マシンに移行して、障害からの回復を図っている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−343191号公報(例えば、図1及び要約)
【特許文献2】特開2009−265894号公報(例えば、図1、要約、段落0022、段落0092)
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1が提案するシステムでは、仮想通信ノードの性能が固定されているので、その性能を超える通信セッションに対しては、仮想通信ノードは、通信品質の劣化を伴う対応、又は、通信セッションの拒否という対応をとらざるを得ず、良好な通信品質を維持できない場合があるという問題がある。
【0007】
また、特許文献2が提案する通信ノード装置では、再起動の原因となる障害が、負荷増大に対する性能不足であった場合には、新たな仮想マシンを構築して、そこに通信セッションを移動しても、再び不具合が発生するだけであり、再起動の原因は本質的に解決されず、良好な通信品質を維持できない場合があるという問題がある。
【0008】
そこで、本発明は、上記従来技術の課題を解決するためになされたものであり、その目的は、複数の仮想通信ノードの構成を動的に最適化することによって、良好な通信品質を維持することができる通信ノード装置を提供することにある。
【課題を解決するための手段】
【0009】
本発明に係る通信ノード装置は、それぞれが通信機能を持つ複数の仮想通信ノードを有する通信ノード装置であって、前記複数の仮想通信ノードによる通信品質を監視する第1機能部と、前記複数の仮想通信ノードの資源を登録し管理する第2機能部と、前記複数の仮想通信ノードの各々の資源を追加、削減、若しくは改造する処理、新たな仮想通信ノードを構築する処理、及び、前記複数の仮想通信ノードのいずれかを解消する処理を実行する第3機能部と、前記第1機能部によって観測された通信品質の情報に基づき、前記第2機能部に登録された空き資源を用いて、前記第3機能部に、前記複数の仮想通信ノードのいずれかの資源を追加、削減、若しくは改造する処理、新たな仮想通信ノードを構築する処理、及び、前記複数の仮想通信ノードのいずれかを解消する処理のいずれか一つ以上を実行させる第4機能部とを有することを特徴としている。
【発明の効果】
【0010】
本発明に係る通信ノード装置によれば、複数の仮想通信ノードの構成を、負荷に応じて動的に最適化することによって、通信ノード装置の実効的な性能を向上させ、その結果、良好な通信品質を維持することができるという効果がある。
【図面の簡単な説明】
【0011】
【図1】第1の実施形態に係る通信ノード装置としての物理ルータの構成を概略的に示すブロック図である。
【図2】図1に示される制御部の構成を概略的に示すブロック図である。
【図3】第1の実施形態に係る物理ルータを複数台用いて構築されるネットワークの説明図である。
【図4】第2の実施形態に係る通信ノード装置としての物理ルータにおける制御部(資源割当機能部)の構成を概略的に示すブロック図である。
【図5】図4に示される資源割当機能部が保有する資源割当テーブルの一例を示す図である。
【発明を実施するための形態】
【0012】
《1》第1の実施形態
《1−1》第1の実施形態の構成
[物理ルータの説明]
図1は、第1の実施形態に係る通信ノード装置としての物理ルータの構成を概略的に示すブロック図である。また、図2は、図1に示される制御ブロック400の構成を概略的に示すブロック図である。
【0013】
通信ノード装置は、ルータ及びスイッチを主要な構成としている。図1には、通信ノード装置が、物理ルータである場合を示す。図1には、1台の物理ルータの内部に、仮想通信ノードとしての仮想ルータが3台構築され(すなわち、仮想ルータ(1)210、仮想ルータ(2)220、及び仮想ルータ(3)230)、運用されている様子を示している。
【0014】
図1に示されるように、通信ノード装置としての物理ルータは、主要な構成として、入力ブロック100と、仮想ルータブロック200と、出力ブロック300と、制御ブロック400とを有している。ブロック100,200,300,400は、物理ルータが有する機能をブロックとして示したものである。
【0015】
[入力ブロック100の説明]
入力ブロック100は、入力物理インタフェース(「物理IFx−IN」とも記す。)110,120,130,140と、第1スイッチ111,121,131,141とを有している。ここで、「x」は、1以上、入力物理インタフェースの個数以下の整数である。図1の例では、入力ブロック100は、4個の入力物理インタフェース、すなわち、物理IF1−IN(110)、物理IF2−IN(120)、物理IF3−IN(130)、及び物理IF4−IN(140)と、4個の第1スイッチ111,121,131,141とを有している。ただし、入力物理インタフェースの個数、及び、第1スイッチの個数は、複数個であればよく、4個に限定されない。
【0016】
[仮想ルータブロック200の説明]
仮想ルータブロック200は、仮想ルータ(1)210と、仮想ルータ(2)220と、仮想ルータ(3)230とを有している。入力ブロック100の第1スイッチ111,121,131,141は、入力物理インタフェース110,120,130,140から入力したパケットを仮想ルータ(1)210、仮想ルータ(2)220、又は仮想ルータ(3)230のいずれに入力すべきか判定して、判定結果に従って、各パケットを仮想ルータ(1)210、仮想ルータ(2)220、又は仮想ルータ(3)230のいずれかに出力する。図1の例では、仮想ルータブロック200は、3個の仮想ルータを有しているが、仮想ルータブロック200に含まれる仮想ルータの個数は、3個に限定されない。
【0017】
[出力ブロック300の説明]
出力ブロック300は、第4スイッチ(読出しスイッチ)311,321,331,341と、出力物理インタフェース(「物理IFx−OUT」とも記す。)310,320,330,340とを有している。ここで、「x」は、1以上、出力物理インタフェースの個数以下の整数である。図14の例では、出力ブロック300は、4個の第4スイッチ311,321,331,341と、4個の出力物理インタフェース、すなわち、物理IF1−OUT(310)、物理IF2−OUT(320)、物理IF3−OUT(330)、及び物理IF4−OUT(340)とを有している。ただし、第4スイッチの個数は、及び、出力物理インタフェースの個数は、複数個であればよく、4個に限定されない。
【0018】
[仮想ルータ(1)210の説明]
仮想ルータブロック200の仮想ルータ(1)210は、入力物理インタフェース110,120,130,140の個数に対応する個数の入力バッファ211と、第2スイッチ(読出スイッチ)212と、ルータコア213と、第3スイッチ217と、出力物理インタフェース310,320,330,340の個数に対応する個数の出力バッファ218とを有している。第2スイッチ(読出スイッチ)212は、利用可能帯域又は優先度に応じて複数の入力バッファ211のいずれかからデータを読み出す。
【0019】
ルータコア213は、経路表・経路表探索機能部214を有している。経路表・経路表探索機能部214は、入力されたパケットの経路を示す経路表を内蔵し、経路表から経路を探索し、この探索結果に基づいて出力物理インタフェース310,320,330,340のいずれからパケットを出力すべきかを判断し、この判断結果に基づく動作指示を第3スイッチ217に出力する。また、ルータコア213は、各種のレイヤ3プロトコル処理を行うレイヤ3プロトコル処理機能部215と、通信量及び通信品質を監視し、監視結果を制御ブロック400に転送する通信量・品質監視機能部216とを有している。
【0020】
第3スイッチ217は、ルータコア213で処理されたパケットを適切な出力バッファ(複数個の出力バッファ218のいずれか)に転送する。
【0021】
出力バッファ218は、第4スイッチ(読出スイッチ)311,321,331,341のいずれかによってパケットが読み出されるまで、パケットを保持する。
【0022】
[仮想ルータ(2)220の説明]
仮想ルータブロック200の仮想ルータ(2)220は、仮想ルータ(1)210と同様の構成を有しており、同様の動作をする。
【0023】
[仮想ルータ(3)230の説明]
仮想ルータブロック200の仮想ルータ(3)230は、仮想ルータ(1)210及び仮想ルータ(2)220と同様の構成を有しており、同様の動作をする。
【0024】
[第4スイッチ(読出スイッチ)311,321,331,341の説明]
出力ブロック300の第4スイッチ(読出スイッチ)311,321,331,341は、3台の仮想ルータ210,220,230の出力バッファ218,228,238から、利用可能帯域や優先度に応じてパケットを読出し、このパケットを出力物理インタフェース310,320,330,340に送る。出力物理インタフェース310,320,330,340は、第4スイッチ(読出スイッチ)311,321,331,341を通して入力されたパケットを出力すべきかを判断して、出力すべき場合にパケットを出力する。
【0025】
[制御ブロック400の説明]
図2に示されるように、制御ブロック400は、第1の実施形態に係る物理ルータの全体を管理する全体制御機能部(第4機能部)410と、仮想ルータ用資源管理機能部(第2機能部)430と、仮想ルータ構築・解消機能部(第3機能部)440と、仮想ルータ資源追加・削減機能部(第3機能部)450と、状態把握機能部(第1機能部)460と、要求条件管理機能部470とを有している。
【0026】
仮想ルータ構築・解消機能部440は、例えば、新たな仮想網を構築するため、新たな仮想ノードが必要になった場合、仮想ルータ用資源管理機能部430から空き資源の利用許諾を受け、新たな仮想ノードを構築し、又は、既存の仮想網を閉鎖する際、既存の仮想ノードを解消する。また、仮想ルータ構築・解消機能部440は、仮想ノードを多重化(例えば、二重化又は三重化)するために、新たな仮想ノードを構築することができる。
【0027】
仮想ルータ資源追加・削除機能部450は、既存の仮想ルータに資源を追加したり、既存の仮想ルータの資源を解放したりする。
【0028】
仮想ルータ用資源管理機能部430は、仮想ルータ資源追加・削除機能部450による資源の追加及び解放、並びに、仮想ルータ構築・解消機能部440による新たな仮想ノードの構築、及び、既存の仮想網の閉鎖に伴う仮想ノードの解消の情報を管理する。
【0029】
状態把握機能部460は、通信量・品質監視機能部216,226,236からの通信に関する情報(情報A)又は各仮想ルータ210,220,230の健康状態情報(ヘルスデータ:情報B)を受け取り、管理する。なお、上記健康状態情報とは、当該ノードが正常に動作しているかを監視した情報であり、例えば、メモリエラーが発生した回数や、異常終了したプロセスの数、メモリやCPUの使用率、電源電圧の計測値等である。また、以降の記載では、上記情報Aと情報Bを併せて単に「状態情報」と記載する。
【0030】
要求条件管理機能部470は、個別のフローに対する要求条件の定義が内蔵され、通信量・品質監視機能部216,226,236が持つ通信品質が、要求条件に適合するかを監視し、適合させるための対策が必要であれば、全体制御機能部410に通知する。
【0031】
全体制御機能部410は、要求条件管理機能部470から得られた情報を元に、仮想ルータ210,220,230によるサービスの状況を判断し、仮想ルータ210,220,230に新たな資源を追加すべきと判断した際は、仮想ルータ資源追加・削減機能部450に仮想ルータ210,220,230のいずれかに対する資源の追加又は削減を実行させる。その際、全体制御機能部410は、仮想ルータ用資源管理機能部430に利用する資源の照会又は更新を行う。また、全体制御機能部410は、新たな仮想ルータを構築すべき場合、仮想ルータ用資源管理機能部440に照会して資源量を確認した上で、仮想ルータ構築・解消機能部440に命じて、構築を実行し、また、仮想ルータが不要になった際は、仮想ルータ構築・解消機能部440に命じて仮想ルータを解消させた上で、開放された資源を、仮想ルータ用資源管理機能部430に登録する。具体的な割当手法や割当アルゴリズム、そこで必要となる機能部間の情報信号の流れの例は、第2の実施形態で説明する。
【0032】
なお、図1の構成において、入力物理インタフェース100,120,130,140及び出力物理インタフェース310,320,330,340以外の構成は、論理的に等価な実装がされているだけで、物理的に同一の実装が行われているとは限らない。また、入力物理インタフェース100,120,130,140及び出力物理インタフェース310,320,330,340以外の構成は、ソフトウェアを利用することによって実装してもよい(「ソフト的な仮想ルータ」とも言う。)。例えば、第1スイッチ111,121,131,141、第2スイッチ212,222,232、第3スイッチ217,227,237、及び第4スイッチ311,321,331,341は、物理的には共通のデータバスであり、そのデータバスを用いて、ある仮想デバイスから他の仮想デバイスにデータを転送するという実装を行うことによって、構成できる。他の例として、複数の入力バッファ211,221,231は、1つの共有RAM(Random Access Memory)で実装することができる。
【0033】
さらに、複数のルータコア213,223,233は、1つのCPU、1つのデータバス、及び1つのメモリという物理デバイスにおいて、3つのルータプロセスを実行することで、論理的に3つの仮想ルータが存在するかのように見せることができる。ただし、FPGA(Field−Programmable Gate Array)等の変更可能な物理ロジックデバイスと複数のCPUや複数のメモリによって構築されたハードウェア処理で大半の処理を行う柔軟性の高いハードウェアルータとして構築することもできる(「ハード的な仮想ルータ」と言う。)。仮想ルータの実装方法として、ソフト的な仮想ルータと、ハード的な仮想ルータの間に、多数の中間解があり、どの構成であってもよい。
【0034】
《1−2》第1の実施形態の動作
図3は、第1の実施形態に係る通信ノード装置である物理ルータを複数台用いて構築されるネットワーク(網)の説明図である。第1の実施形態では、例えば、物理ルータ1,2,3,4は、IPキャリアが保有しており、これらの物理ルータによって、物理網5が構成される。ここで、物理ルータ1,2,3,4の各々は、例えば、図1に示される物理ルータの構成を持つ。図3には、物理ルータ1はユーザ1の端末とキャッシュサーバに接続可能であり、物理ルータ3はユーザ2の端末に接続可能であり、物理ルータ4は、サーバに接続可能である場合が示されている。また、物理ルータは、センサネットワークのセンサ、デジタルサイネージ、ゲーム端末、RFID(Radio Frequency IDentification)機能等の通信機能を持つデバイス等と接続可能である。
【0035】
図3に示されるように、物理ルータ1,2,3,4の内部に構築される仮想ルータ(1)210は、通常のインターネットトラヒック全般を取り扱い、いわゆるインターネットサービス網(IPトラヒック網)11を実現する。
【0036】
また、物理ルータ1,2,3,4の内部に構築される別の仮想ルータ(2)220は、特定の企業のトラヒックだけを扱い、その企業にVPN(Virtual Private Network)12を提供する。VPNの代表例として、専用線VPN及びインターネットVPNがある。専用線VPNは、特定の企業の会社内に設置したルータを、IPキャリアから借りたIP専用線に接続することによって構築することができる。専用線VPNは、通信品質を確保できるが、会社内に設置したルータの管理及び運用が必要である。インターネットVPNでは、ルータは、インターネットサービスのルータをそのまま用い、データの暗号化によって秘話性を実現している。そのため、インターネットVPNでは、一般的に、利用者が希望する通信品質やオリジナルサービスを実現することは困難である。ところが、本発明を適用することによって、IPキャリアは、コストをかけることなく、特定の企業に専用の仮想ルータを提供し、通信品質や希望するオリジナルサービスを提供することが可能となる。
【0037】
また、物理ルータ1,2,3,4の内部に構築される更に別の仮想ルータ(3)230は、IPキャリアがオンラインゲームの提供事業者向けに構築して提供したもので、オンラインゲームに特化した専用の仮想網13を提供し、オンラインゲームの特殊な要求条件(低遅延等)を満たす通信サービスを提供する。本実施形態は、各仮想ルータの構成やプロトコルは自由に変更できるので、仮想ルータで暗号化や演算処理など特殊でオリジナルな上位レイヤ処理を行うこともできる。更に、仮想ノードは、必ずしもIPルータである必要はない。仮想ノードは、IPと異なるプロトコルのノードでも構わない。
【0038】
次に、本発明の具体的な運用例を説明する。図3に示される網での運用が行われていたと仮定する。ここで、ある物理ルータの制御ブロック400の状態把握機能部460が、いずれかの物理ルータ内の仮想ルータ(3)230の通信量・品質監視機能部236が、通信量増加を観測し、通信品質が低下しつつあることを観測した場合を説明する。
【0039】
要求条件管理機能部470は、状態把握機能部460の情報と、事前に契約された要求通信品質情報を照合し、品質低下への対応の判断が必要であれば、全体制御機能部410に通知する。
【0040】
この通知を受けた全体制御機能部410は、しばらく様子を見るか、通信品質改善の具体的対応をとるかを判断する。全体制御機能部410は、後者(具体的な対応をとる)と判断した場合には、その原因を解析し、
条件〈R1〉「空き資源を仮想ルータ(3)230に追加することで通信品質の改善が可能である。」、及び、
条件〈R2〉「契約上、資源の追加が可能である。」の両方を満足するならば、仮想ルータ資源追加・削除機能部450に命じて仮想ルータ(3)230に資源を追加する。
【0041】
ここで、通信品質劣化の原因が、レイヤ3プロトコル処理機能部215,225,235の性能不足である場合に、ソフト的な仮想ルータによる「資源の追加」は、コンピューティング資源(例えば、CPUタイム)の追加で実現することができる。また、通信品質劣化の原因が、レイヤ3プロトコル処理機能部215,225,235の性能不足である場合に、ハード的な仮想ルータによる「資源の追加」は、空いているFPGAのロジックで、ボトルネックとなっている処理の専用のロジックを増設し、並列度を高めて処理速度を向上させたり、パイプライン処理をする方式に改造したりすることによって実現することができる。
言い換えれば、状態把握機能部460が、仮想通信ノードのレイヤ3プロトコル処理(レイヤ3処理)がボトルネックとなって通信品質の劣化を招いていると判断したときには、全体制御機能部410は、仮想ルータ構築・解消機能部440又は仮想ルータ資源追加・削減機能部450に、
〈M1〉レイヤ3処理を行うためのCPUタイムを増加させる対策、
〈M2〉レイヤ3処理を行うCPUを増加させる対策、
〈M3〉レイヤ3処理に用いるメモリやバス占有時間を増加させる対策、
〈M4〉レイヤ3処理を行うハードウェアロジックを追加することによって、複数のハードウェアロジックで並列処理を行う対策、及び
〈M5〉レイヤ3処理を行うハードウェアロジックを追加し、パイプライン処理可能な構成を構築して対応する対策
のいずれか1つ以上の対策を実行させる。
【0042】
また、通信品質劣化の原因が、経路表・経路表探索機能部214,224,234にあるならば、同様に、検索のCPU割当時間を増加させたり、並列検索の並列度を増やすように、テーブルを分割して検索用ロジック数を増加させたりすることによって「資源の追加」を実現することができる。
言い換えれば、状態把握機能部460が、仮想通信ノードのパケットの経路表検索又はパケット転送処理がボトルネックとなって通信品質の劣化を招いていると判断したときには、全体制御機能部410は、仮想ルータ構築・解消機能部440又は仮想ルータ資源追加・削減機能部450に、
〈M11〉経路検索処理又はパケット転送処理を行うためのCPUタイムを増加させる対策、
〈M12〉経路検索処理又はパケット転送処理を行うCPUを増加させる対策、
〈M13〉経路検索処理又はパケット転送処理に用いるメモリやバス占有時間を増加させる対策、
〈M14〉経路検索処理又はパケット転送処理を行うハードウェアロジックを追加することによって、複数のハードウェアロジックで並列処理を行う対策、及び
〈M15〉経路検索処理又はパケット転送処理を行うハードウェアロジックを追加し、パイプライン処理可能な構成として対応する対策
のいずれか1つ以上の対策を実行させる。
【0043】
また、通信品質劣化の原因が、到着トラヒックのバースト性に基づくものならば、入力バッファ211,221,231のメモリ量を増加させることによって「資源の追加」を実現することができる。言い換えれば、状態把握機能部460が、仮想通信ノードにおける処理が、パケットの到着間隔の狭まりに基づくものであると判断した場合、又は、特異な到着率特性に基づくものであると判断した場合には、全体制御機能部410は、仮想ルータ構築・解消機能部440又は仮想ルータ資源追加・削減機能部450に、キューイングメモリ量を増加させるように、仮想通信ノードに資源の割り当てを行うことで対応する対策を実行させることができる。
【0044】
逆に、性能に余裕があり、資源を減らしても大丈夫な場合、全体制御機能部410は、仮想ルータ資源追加・削除機能部450に命じて資源を解放し、その結果を仮想ルータ用資源管理機能部430に登録し、他の仮想ルータが利用可能とする。仮想ルータ用資源管理機能部430は、他の仮想ルータが資源の追加を必要とする場合に、資源に余裕があれば資源を融通する。
【0045】
仮想ルータ構築・解消機能部440は、例えば、新たな仮想網を構築するため、新たな仮想ノードが必要になった場合、仮想ルータ用資源管理機能部430から空き資源の利用許諾を受け、新たな仮想ノードを構築し、又は、既存の仮想網を閉鎖する際、仮想ノードを解消する。また、仮想ルータ構築・解消機能部440は、仮想ノードを多重化(例えば、二重化又は三重化)するために、新たな仮想ノードを構築することができる。また、仮想ルータ構築・解消機能部440は、仮想ノードに大幅な修正を加える際、既存の仮想ノードに修正を加えるのではなく、新たに仮想ノードを構築し、トラヒックを新たに仮想ノードに全て移動する、といった作業に用いる。なお、仮想ルータ構築・解消機能部440は、第2の従来技術のようにシステムを止めることなく、全く同じ仮想ルータを再起動させるのに用いることも可能である。
【0046】
《1−3》第1の実施形態の効果
以上に説明したように、第1の実施形態に係る通信ノード装置である物理ルータによれば、要求条件に応じて動的に仮想ノードの資源の追加若しくは削除、又は、新たな仮想ノードの構築若しくは削除を行うことができ、適切な網サービス品質を提供することができる。
【0047】
また、第1の実施形態に係る通信ノード装置である物理ルータによれば、利用しない資源を解放することで、省電力を実現することができる。
【0048】
また、第1の実施形態に係る通信ノード装置は、仮想通信ノードが特定のISPにしか接続できない場合であっても使用できる。
【0049】
また、第1の実施形態に係る通信ノード装置は、常時複数の仮想通信ノードが動作するシステムに適用できる。
【0050】
《1−4》第1の実施形態の変形例
上記第1の実施形態における説明では、品質低下に対する対応方法(対策)として、M1〜M5あるいは、M11〜M15という複数の方法を示した。しかし、
(1)品質低下に対する対応方法を、これらの対策の内のいずれか1つではなく、複数の対策を組合わせて実現することもできる。
(2)また、品質低下に対する対応方法として、上記複数の対策の内のどの組合せを採用するのが最適であるかは、一意には決まらない。例えば、
(ケース1)仮想網1で、特定プロトコルの通信でのパケット損失が対策の閾値付近にあり、且つ、仮想網3で、遅延時間の最悪値が対策の閾値付近にある場合、
(ケース2)仮想網1で、特定プロトコルの通信でのパケット損失が対策の閾値付近にある場合、又は、仮想網3で、遅延時間の最悪値が対策の閾値付近にある場合、
(ケース3)上記ケース1に加えて、仮想網2でもオリジナルの上位レイヤ処理で品質劣化が発生しつつある場合など、状況に応じて、最適な対応方法は異なる。
また、上記『最適』の定義として、同一の性能を達成するのに、未使用の資源を最大化する対処方法を『最適』とするポリシもあれば、消費電力を最小にする対処方法を『最適』とするポリシもある。消費電力を最小にする手法として、具体的には、例えば、状態把握機能部460が、どの資源の追加・削除、どの様な処理の実行によって、どれだけ消費電力が変動するかといった情報を収集し、資源割当機能部420が、割当をする際に、その収集された情報を用いて、消費電力最小化の計算を行う手法がある。また、実測前に事前に計算や実験で得た値を、仮想ルータ用資源管理機能部430に蓄積しておき、資源割当機能部420が、割当をする際に、計算や実験で得た値を利用する方法もある。
【0051】
(3)また、最適な対応方法の別のアプローチとして、仮想網内部での通信経路の最適化で、上位レイヤ処理をしているルータを別のルータにしたり、キャッシュでのデータ保持により、品質が向上できる場合がある。加えて、近年の通信では、ユーザ端末、サーバ、キャッシュ以外に、センサネットワークのセンサ、デジタルサイネージ、ゲーム端末、RFID(Radio Frequency IDentification)機能等の通信機能を持つデバイス等、多くのものがネットワークに接続され、サーバも分散的に配置される場合がある。このため、これら多数の資源間での通信と連携によって得られるサービスに対する要求が存在すると考えられる。例えば、全国に配置された花粉センサ、風力計、温度計、及び分散配置された気象予報計算サーバを用いて、数時間後の花粉飛散情報を予測計算して街角のデジタルサイネージに表示する花粉飛散注意サービスが考えられる。この様な場合、「計測資源、通信に用いる資源、計算資源、表示資源のいずれをどれだけ用い、どの経路で伝達するか」といった条件によって、消費電力や実行速度に差が出るため、条件を最適化することが必要になる。この様な花粉飛散注意サービスの場合、図3に符号11〜13で示す仮想ネットワークに加えて、新たな仮想ネットワークが、仮想ルータと、前記資源群(センサ、通信機能付きの各種デバイス、デジタルサイネージ等)によって構築される。サーバは、使用するセンサや、計算に用いられるサーバ、表示するデジタルサイネージやユーザ端末の場所から、どのルータにどれだけの資源を割当て、どの経路でどれだけの伝送資源を用意すれば良いかを計算する。計算結果に基づいて、サーバは、仮想ネットワークを構築する。この仮想ネットワークの構築は、サーバから、ノードの制御ブロック400内の全体制御機能部410に要求が出され、全体制御機能部410が、仮想ルータ構築・解消機能部440に仮想ルータの構築を指示することで実現される。これらに関して、最適な方法を得るために、局所探索法、焼きなまし法、遺伝的アルゴリズム法、タブーサーチ法等の既知の最適化手法の1つ以上を用いることができる。
【0052】
なお、最適解を得るには、膨大な計算時間が必要であり、通常、ある一定時間内に得られた准最適解を使用する。ただし、その場合でも、モデルでの計算上の値と、実測値とは異なる場合があり課題となる。そこで、准最適解での運用実績を記憶して、次回、似た状況(又は同じ状況)ではその解を用いて計算時間をなくしたり、初期解として計算を始めることで、計算精度の向上を図ることができる。
【0053】
また、最適解を得るための処理を行いながら(最適解を得るため運用中も)、
(1)余裕のある範囲で、資源量を変化させ、より良い解を探す方法、
(2)空き資源で、仮想ノードを作り、初期解を計算結果として、資源量を変化させて、より良い解(他の解)を探す方法を、採用することもできる。
ここで、上記(1)に関して、例えば、全体制御機能部410が、状態把握機能部460からの情報を元に、サービス品質が要求条件を満たすことを確認しつつ、仮想ルータ資源追加・削除機能部450に対して、資源量の変化を指示し、その結果であるサービス品質や消費電力、バッファ使用量などの情報を状態把握機能部460で観測して、より良い解を探すことができる。上記(2)に関しては、例えば、全体制御機能部410が、仮想ルータ構築・解消機能部440に命じて、仮想ノードを作り、仮想ネットワークを構築し、ユーザトラヒックを第1スイッチ131で、この新たな仮想ネットワークにも放送的に流し、運用中の仮想ネットワークとあたかも同じ様な仮想ネットワークを作り、全体制御機能部410が仮想ルータ資源追加・削除機能部450に対して、資源量の変化を指示し、その結果であるサービス品質や消費電力、バッファ使用量等の情報を状態把握機能部460で観測して、より良い解を探すことができる。
【0054】
《2》第2の実施形態
《2−1》第2の実施形態の構成
図4は、第2の実施形態に係る通信ノード装置としての物理ルータにおける制御部(資源割当機能部)の構成を概略的に示すブロック図である。図5は、図4に示される資源割当機能部420が保有する資源割当テーブルの一例を示す図である。図4において、図2の構成と同一又は対応する構成には、同じ符号を付す。
【0055】
第2の実施形態に係る通信ノード装置は、資源割当を行う際に必要となる資源割当機能部420を有する点が、第1の実施形態に係る通信ノード装置と異なる。他の点については、第2の実施形態は、第1の実施形態と同じである。したがって、第2の実施形態の説明には、図1及び図2をも参照する。
【0056】
第2の実施形態に係る通信ノード装置の資源割当機能部420は、全体制御機能部410a(図2における全体制御機能部410に対応)の内部に実装することができる。ただし、資源割当機能部420を、全体制御機能部の外部に実装して、資源割当機能部420を全体制御機能部との間で通信を行ってもよい。
【0057】
図4に示されるように、資源割当機能部420は、入出力インタフェース部422と、資源割当テーブル部424と、資源追加・削除判断機能部423と、制御機能部421とを有している。
【0058】
また、資源割当機能部420は、外部機能部である、仮想ルータ用資源管理機能部430と、仮想ルータ構築・解消機能部440と、仮想ルータ資源追加・削減機能部450と、状態把握機能部460と、要求条件管理機能部470と、連携して動作する。
【0059】
状態把握機能部460は、資源割当機能部420内の資源追加・削除判断機能部423に対して、通信品質情報や仮想ルータの健康状態情報(ヘルスデータ)を出力する。資源追加・削除判断機能部423は、要求条件管理機能部470から、仮想ノードが提供すべき通信品質の情報を入力し、資源の追加や削除の必要性を判断する。
【0060】
状態把握機能部460は、入出力に非線形なヒステリシスを持たせ、僅かな入力の変化では追加や削除を要求せず、ある程度大きな変化が生じるまでは動作しない設定とすると安定的な動作に好適である。なお、状態把握機能部460は、要求条件や結果によっては、資源の追加又は削除ではなく、仮想ルータの構築又は削除を指示する場合もある。
【0061】
資源追加・削除判断機能部423は、資源の追加又は削除が必要である判断した場合に、全体制御機能部410にその結果を通知する。制御機能部421は、状態把握機能部460から状態情報を受け取り、要求条件管理機能部470から要求条件を受け取り、仮想ルータ構築・解消機能部440から各通信サービスに許される資源量情報を受け取る。これと並行して、制御機能部421は、仮想ルータ用資源管理機能部430から、資源の利用状態の情報を受け取る。
【0062】
制御機能部421が受け取った情報は、資源割当テーブル部424を用いて資源割当を行う。各通信サービスに許される資源量情報とは、例えば、仮想ルータ(2)220を使用するVPNのユーザ企業は、支払金額とその対価として契約で定めた〈R11〉最低保障資源量、〈R12〉優先利用資源量、〈R13〉最大利用可能資源量である。
【0063】
制御機能部421は、資源割当テーブル部424の資源割当テーブルを用いて、これらの量を計算し、結果に従って、仮想ルータ資源追加・削減機能部423に対して資源の追加又は削除を命じる。その結果は、仮想ルータ用資源管理機能部430に通知され、情報が更新される。
【0064】
《2−2》第2の実施形態の動作
図5に第2の実施形態の動作を示す。各機能部と入出力信号は、構成の説明に示したので、ここでは、資源割当の具体的な手法について説明する。図5に示すように、各仮想ルータは、利用可能な資源に関して、〈R11〉最低保障資源量、〈R12〉優先利用資源量、〈R13〉最大利用可能資源量が契約などで定められている。これらの量は、仮想ルータ毎に異なる。仮想ルータの番号をVとしたときに、番号Vの仮想ルータにおける〈R11〉最低保障資源量、〈R12〉優先利用資源量、〈R13〉最大利用可能資源量をそれぞれ、最低保障資源量Rmin(V)、優先利用資源量Rpre(V)、最大利用可能資源量Rmax(V)で表現する。
【0065】
通信量がゼロのとき、各仮想ルータの割当資源量R(V)は、最低保障資源量Rmin(V)である。これを次式に表す。
R(V)=Rmin(V)
【0066】
通信量が増え、R(V)=Rmin(V)では、通信品質が担保できなくなる可能性があるとき、仮想ルータの割当資源量R(V)が優先利用資源量Rpre(V)を超えない範囲内で、割当資源量R(V)を増加させる。これを次式に表す。
R(V)≦Rpre(V)
【0067】
それでも資源が足りない場合、他の仮想ルータがもし優先利用資源を使いきっていなければ、仮想ルータの割当資源量R(V)が最大利用可能資源量Rmax(V)までの範囲で、割当資源量R(V)を増加させる。これを次式に表す。
R(V)≦Rmax(V)
ただし、この資源は、他の仮想ルータが必要な場合、直ちに返却しなければならない。
【0068】
また、複数の仮想ルータ、例えば、仮想ルータ(1)210と仮想ルータ(2)220が共に、優先利用資源量Rpre(1)及び優先利用資源量Rpre(2)を超える資源の利用を希望し、仮想ルータ(3)230に、未使用の優先利用資源があれば、これを、仮想ルータ(1)210と仮想ルータ(2)220で分け合って使うことができる。
【0069】
未使用の優先利用資源の分け方としては、単純に2分割する方法、両者のRmax(RpreやRminでもよい)の大きさの比率に応じて割当てる方法、などが可能である。
【0070】
このように、仮想ノード毎に設定される最低保障資源量、優先利用資源量、及び最大利用可能資源量を、資源の種類毎に設定し、資源の利用量を通信品質のボトルネックの要因に応じて変化させてもよい。具体的には、CPU資源(CPUタイム、CPU個数)、メモリ量、バス占有時間、ハードウェアロジック(FPGAゲート量)などのうちの1つ以上を含む資源項目毎に、これらを割当てることが可能である。
【0071】
全体制御機能部410aが上記割当を行う際、要求される通信品質に応じて最も有効な資源の割当を行うことが好適である。例えば、VPNでの暗号化や複合化の処理能力がボトルネックとなっている場合、これらのコード・デコード用ハード資源を用いるが好適で、経路検索処理能力が不足している場合、CPUを増やして並列検索することが好適である。
【0072】
この方法は、PON(Passive Optical Network)の動的帯域割当手法(Dynamic Bandwidth AIlocation)と類似しているが、本実施の形態ここでは、帯域ではなく、ルータの処理性能に関わる資源やハードの割当を行っている点が異なる。そのため、状況に応じて割当てるのに好適な資源が異なり、その制御を行う点が従来技術と異なる。
【0073】
《2−3》第2の実施形態の効果
以上に説明したように、第2の実施形態に係る通信ノード装置によれば、要求条件に応じて動的に仮想ノードの資源の追加若しくは削除、又は、新たな仮想ノードの構築若しくは削除を行うことができ、適切な網サービス品質を提供することができる。
【0074】
また、第2の実施形態に係る通信ノード装置によれば、利用しない資源を解放することで、省電力を実現することができる。
【0075】
さらに、第2の実施形態に係る通信ノード装置によれば、好適な資源割当が可能となる。
【符号の説明】
【0076】
100 入力ブロック、 110,120,130,140 物理インタフェース、 111,121,131,141 第1スイッチ、 200 仮想ルータブロック、 210 仮想ルータ(1)、 220 仮想ルータ(2)、 230 仮想ルータ(3)、 211,221,231 入力バッファ、 212,222,232 第2スイッチ(読出スイッチ)、 213,223,233 ルータコア、 214,224,234 経路表・経路表探索機能部、 215,225,235 レイヤ3プロトコル処理、 216,226,236 通信量・品質監視機能部、 217,227,237 第3スイッチ、 218,228,238 出力バッファ、 300 出力ブロック、 310,320,330,340 出力物理インタフェース(物理IFx−OUT)、 311,321,331,341 第4スイッチ(読出しスイッチ)、 400 制御ブロック、 410 全体制御機能部(第4機能部)、 420 資源割当機能部、 430 仮想ルータ用資源管理機能部(第2機能部)、 440 仮想ルータ構築・解消機能部(第3機能部)、 450 仮想ルータ資源追加・削減機能部(第3機能部)、 460 状態把握機能部(第1機能部)、 470 要求条件管理機能部。


【特許請求の範囲】
【請求項1】
それぞれが通信機能を持つ複数の仮想通信ノードを有する通信ノード装置であって、
前記複数の仮想通信ノードによる通信品質を監視する第1機能部と、
前記複数の仮想通信ノードの資源を登録し管理する第2機能部と、
前記複数の仮想通信ノードの各々の資源を追加、削減、若しくは改造する処理、新たな仮想通信ノードを構築する処理、及び、前記複数の仮想通信ノードのいずれかを解消する処理を実行する第3機能部と、
前記第1機能部によって観測された通信品質の情報に基づき、前記第2機能部に登録された空き資源を用いて、前記第3機能部に、前記複数の仮想通信ノードのいずれかの資源を追加、削減、若しくは改造する処理、新たな仮想通信ノードを構築する処理、及び、前記複数の仮想通信ノードのいずれかを解消する処理のいずれか一つ以上を実行させる第4機能部と
を有することを特徴とする通信ノード装置。
【請求項2】
前記通信ノード装置は、1又は複数台の物理ルータであり、
前記複数の仮想通信ノードは、複数の仮想ルータである
ことを特徴とする請求項1に記載の通信ノード装置。
【請求項3】
前記第1機能部が、仮想通信ノードのレイヤ3処理がボトルネックとなって通信品質の劣化を招いていると判断したときには、
前記第4機能部は、前記第3機能部に、
前記レイヤ3処理を行うためのCPUタイムを増加させる対策、
前記レイヤ3処理を行うCPUを増加させる対策、
前記レイヤ3処理に用いるメモリやバス占有時間を増加させる対策、
前記レイヤ3処理を行うハードウェアロジックを追加することによって、複数のハードウェアロジックで並列処理を行う対策、及び
前記レイヤ3処理を行うハードウェアロジックを追加し、パイプライン処理可能な構成を構築して対応する対策
のいずれか1つ以上の対策を実行させる
ことを特徴とする請求項1又は2に記載の通信ノード装置。
【請求項4】
前記第1機能部が、仮想通信ノードのパケットの経路表検索又はパケット転送処理がボトルネックとなって通信品質の劣化を招いていると判断したときには、
前記第4機能部は、前記第3機能部に、
前記経路検索処理又は前記パケット転送処理を行うためのCPUタイムを増加させる対策、
前記経路検索処理又は前記パケット転送処理を行うCPUを増加させる対策、
前記経路検索処理又は前記パケット転送処理に用いるメモリやバス占有時間を増加させる対策、
前記経路検索処理又は前記パケット転送処理を行うハードウェアロジックを追加することによって、複数のハードウェアロジックで並列処理を行う対策、及び
前記経路検索処理又は前記パケット転送処理を行うハードウェアロジックを追加し、パイプライン処理可能な構成として対応する対策
のいずれか1つ以上の対策を実行させる
ことを特徴とする請求項1又は2に記載の通信ノード装置。
【請求項5】
前記第1機能部が、仮想通信ノードにおける処理がボトルネックとなって通信品質の劣化を招いていると判断したときには、
前記第4機能部は、前記第3機能部に、
処理を行うためのCPUタイムを増加させる処理を行う対策、
処理を行うCPUを増加させる対策、
処理に用いるメモリやバス占有時間を増加させる対策、
処理を行うハードウェアロジックを追加することによって、複数のハードウェアロジックで並列処理を行う対策、及び
処理を行うハードウェアロジックを追加し、パイプライン処理可能な構成として対応する対策
のいずれか1つ以上の対策を実行させる
ことを特徴とする請求項1又は2に記載の通信ノード装置。
【請求項6】
前記第1機能部が、仮想通信ノードにおける処理が、パケットの到着間隔の狭まりに基づくものである場合、又は、特異な到着率特性に基づくものである場合には、
前記第4機能部は、前記第3機能部に、
キューイングメモリ量を増加させるように、仮想通信ノードに資源の割り当てを行うことで対応する対策を実行させる
ことを特徴とする請求項1又は2に記載の通信ノード装置。
【請求項7】
前記第3機能部は、
仮想ノードヘの資源割当を行う際、仮想ノード毎に、最低保障資源量、優先利用資源量、及び最大利用可能資源量を設定し、
第1機能部が監視する通信量がゼロのとき、各仮想通信ノードの割当資源量R(V)を、R(V)=Rmin(V)とし、
R(V)=Rmin(V)では、通信品質が担保できなくなる可能性があるときには、R(V)≦Rpre(V)の範囲で資源を増加させ、
R(V)≦Rpre(V)の範囲で資源が足りない場合には、他の仮想通信ノードがもし優先利用資源を使いきっていなければ、R(V)≦Rmax(V)の範囲で利用資源を増加させる
ことを特徴とする請求項1から6までのいずれか1項に記載の通信ノード装置。
【請求項8】
仮想ノード毎に設定される前記最低保障資源量、前記優先利用資源量、及び前記最大利用可能資源量を、資源の種類毎に設定し、資源の利用量を通信品質のボトルネックの要因に応じて変化させることを特徴とする請求項7に記載の通信ノード装置。
【請求項9】
前記資源の種類は、CPUタイム、CPU個数、メモリ量、バス占有時間、及びハードウェアロジックのうちの1つ以上を含むことを特徴とする請求項8に記載の通信ノード装置。
【請求項10】
前記複数の対応の内で、同一の性能を得られる複数の対応の候補がある場合、前記第4機能部は、前記第3機能部に、前記複数の対応の候補の中で、対応後の残り資源量を最大とする対応、又は、消費電力が最小となる対応を実行させることを特徴とする請求項3から6までのいずれか1項に記載の通信ノード装置。
【請求項11】
前記第4機能部は、前記第3機能部が実行する対応の選択に際し、上記対応に加え、通信経路の最適化、各ノードで行う処理内容の分担量の変更、外部記憶装置、外部処理装置、外部の通信機能を持つ、センサ及びデジタルサイネージの少なくとも一方を含むデバイスで行う処理を含めた対応を実行させることを特徴とする請求項3から6までのいずれか1項に記載の通信ノード装置。
【請求項12】
前記第4機能部は、前記第3機能部が実行する対応の選択に際し、上記対応に加え、通信経路の最適化、各ノードで行う処理内容の分担量の変更、外部記憶装置又は外部処理装置で行う処理を含めた対応を実行させることを特徴とする請求項3から6までのいずれか1項に記載の通信ノード装置。
【請求項13】
前記第4機能部は、前記第3機能部が実行する対応の選択に際し、局所探索法、焼きなまし法、遺伝的アルゴリズム法、及びタブーサーチ法の内の1つ以上を用いて最適な対応を選択することを特徴とする請求項3から6までのいずれか1項に記載の通信ノード装置。
【請求項14】
前記第4機能部は、前記第3機能部が実行する対応の選択に際し、一度得た状況とその際の対応を記憶し、次回、似た状況ではその対応を前記第3機能部に実行させる、又は、その対応を初期解として計算してより良い解を探して使用することを特徴とする請求項3から6までのいずれか1項に記載の通信ノード装置。
【請求項15】
前記第4機能部は、前記第3機能部が実行する対応の選択に際し、資源量を変化させて、解を探す処理を実行することを特徴とする請求項3から6までのいずれか1項に記載の通信ノード装置。
【請求項16】
前記第4機能部は、前記第3機能部が実行する対応の選択に際し、空き資源で仮想ノードを作らせ、初期解を計算結果として、資源量を変化させて、解を探す処理を実行することを特徴とする請求項3から6までのいずれか1項に記載の通信ノード装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−175418(P2012−175418A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−35698(P2011−35698)
【出願日】平成23年2月22日(2011.2.22)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(独立行政法人情報通信研究機構「高度通信・放送研究開発委託研究/ダイナミックネットワーク技術の研究開発課題ア スケラーブルネットワーク構造最適化に関する技術」、産業技術力強化法第19条の適用を受ける特許出願)
【出願人】(000000295)沖電気工業株式会社 (6,645)
【Fターム(参考)】