"それぞれが通信機能を持つ複数の仮想通信ノードを有する通信ノード装置であって、前記複数の仮想通信ノードによる通信品質を監視する第1機能部と、前記複数の仮想通信ノードの資源を登録し管理する第2機能部と、前記複数の仮想通信ノードの各々の資源を追加、削減、若しくは改造する処理、新たな仮想通信ノードを構築する処理、及び、前記複数の仮想通信ノードのいずれかを解消する処理を実行する第3機能部と、前記第1機能部によって観測された通信品質の情報に基づき、前記第2機能部に登録された空き資源を用いて、前記第3機能部に、前記複数の仮想通信ノードのいずれかの資源を追加、削減、若しくは改造する処理、新たな仮想通信ノードを構築する処理、及び、前記複数の仮想通信ノードのいずれかを解消する処理のいずれか一つ以上を実行させる第4機能部とを有することを特徴とする通信ノード装置。前記通信ノード装置は、1又は複数台の物理ルータであり、前記複数の仮想通信ノードは、複数の仮想ルータであることを特徴とする請求項1に記載の通信ノード装置。前記第1機能部が、仮想通信ノードのレイヤ3処理がボトルネックとなって通信品質の劣化を招いていると判断したときには、前記第4機能部は、前記第3機能部に、前記レイヤ3処理を行うためのCPUタイムを増加させる対策、前記レイヤ3処理を行うCPUを増加させる対策、前記レイヤ3処理に用いるメモリやバス占有時間を増加させる対策、前記レイヤ3処理を行うハードウェアロジックを追加することによって、複数のハードウェアロジックで並列処理を行う対策、及び前記レイヤ3処理を行うハードウェアロジックを追加し、パイプライン処理可能な構成を構築して対応する対策のいずれか1つ以上の対策を実行させることを特徴とする請求項1又は2に記載の通信ノード装置。前記第1機能部が、仮想通信ノードのパケットの経路表検索又はパケット転送処理がボトルネックとなって通信品質の劣化を招いていると判断したときには、前記第4機能部は、前記第3機能部に、前記経路検索処理又は前記パケット転送処理を行うためのCPUタイムを増加させる対策、前記経路検索処理又は前記パケット転送処理を行うCPUを増加させる対策、前記経路検索処理又は前記パケット転送処理に用いるメモリやバス占有時間を増加させる対策、前記経路検索処理又は前記パケット転送処理を行うハードウェアロジックを追加することによって、複数のハードウェアロジックで並列処理を行う対策、及び前記経路検索処理又は前記パケット転送処理を行うハードウェアロジックを追加し、パイプライン処理可能な構成として対応する対策のいずれか1つ以上の対策を実行させることを特徴とする請求項1又は2に記載の通信ノード装置。前記第1機能部が、仮想通信ノードにおける処理がボトルネックとなって通信品質の劣化を招いていると判断したときには、前記第4機能部は、前記第3機能部に、処理を行うためのCPUタイムを増加させる処理を行う対策、処理を行うCPUを増加させる対策、処理に用いるメモリやバス占有時間を増加させる対策、処理を行うハードウェアロジックを追加することによって、複数のハードウェアロジックで並列処理を行う対策、及び処理を行うハードウェアロジックを追加し、パイプライン処理可能な構成として対応する対策のいずれか1つ以上の対策を実行させることを特徴とする請求項1又は2に記載の通信ノード装置。前記第1機能部が、仮想通信ノードにおける処理が、パケットの到着間隔の狭まりに基づくものである場合、又は、特異な到着率特性に基づくものである場合には、前記第4機能部は、前記第3機能部に、キューイングメモリ量を増加させるように、仮想通信ノードに資源の割り当てを行うことで対応する対策を実行させることを特徴とする請求項1又は2に記載の通信ノード装置。前記第3機能部は、仮想ノードヘの資源割当を行う際、仮想ノード毎に、最低保障資源量、優先利用資源量、及び最大利用可能資源量を設定し、第1機能部が監視する通信量がゼロのとき、各仮想通信ノードの割当資源量RVを、RV=RminVとし、RV=RminVでは、通信品質が担保できなくなる可能性があるときには、RV≦RpreVの範囲で資源を増加させ、RV≦RpreVの範囲で資源が足りない場合には、他の仮想通信ノードがもし優先利用資源を使いきっていなければ、RV≦RmaxVの範囲で利用資源を増加させることを特徴とする請求項1から6までのいずれか1項に記載の通信ノード装置。仮想ノード毎に設定される前記最低保障資源量、前記優先利用資源量、及び前記最大利用可能資源量を、資源の種類毎に設定し、資源の利用量を通信品質のボトルネックの要因に応じて変化させることを特徴とする請求項7に記載の通信ノード装置。前記資源の種類は、CPUタイム、CPU個数、メモリ量、バス占有時間、及びハードウェアロジックのうちの1つ以上を含むことを特徴とする請求項8に記載の通信ノード装置。前記複数の対応の内で、同一の性能を得られる複数の対応の候補がある場合、前記第4機能部は、前記第3機能部に、前記複数の対応の候補の中で、対応後の残り資源量を最大とする対応、又は、消費電力が最小となる対応を実行させることを特徴とする請求項3から6までのいずれか1項に記載の通信ノード装置。前記第4機能部は、前記第3機能部が実行する対応の選択に際し、上記対応に加え、通信経路の最適化、各ノードで行う処理内容の分担量の変更、外部記憶装置、外部処理装置、外部の通信機能を持つ、センサ及びデジタルサイネージの少なくとも一方を含むデバイスで行う処理を含めた対応を実行させることを特徴とする請求項3から6までのいずれか1項に記載の通信ノード装置。前記第4機能部は、前記第3機能部が実行する対応の選択に際し、上記対応に加え、通信経路の最適化、各ノードで行う処理内容の分担量の変更、外部記憶装置又は外部処理装置で行う処理を含めた対応を実行させることを特徴とする請求項3から6までのいずれか1項に記載の通信ノード装置。前記第4機能部は、前記第3機能部が実行する対応の選択に際し、局所探索法、焼きなまし法、遺伝的アルゴリズム法、及びタブーサーチ法の内の1つ以上を用いて最適な対応を選択することを特徴とする請求項3から6までのいずれか1項に記載の通信ノード装置。前記第4機能部は、前記第3機能部が実行する対応の選択に際し、一度得た状況とその際の対応を記憶し、次回、似た状況ではその対応を前記第3機能部に実行させる、又は、その対応を初期解として計算してより良い解を探して使用することを特徴とする請求項3から6までのいずれか1項に記載の通信ノード装置。前記第4機能部は、前記第3機能部が実行する対応の選択に際し、資源量を変化させて、解を探す処理を実行することを特徴とする請求項3から6までのいずれか1項に記載の通信ノード装置。前記第4機能部は、前記第3機能部が実行する対応の選択に際し、空き資源で仮想ノードを作らせ、初期解を計算結果として、資源量を変化させて、解を探す処理を実行することを特徴とする請求項3から6までのいずれか1項に記載の通信ノード装置。しかしながら、特許文献1が提案するシステムでは、仮想通信ノードの性能が固定されているので、その性能を超える通信セッションに対しては、仮想通信ノードは、通信品質の劣化を伴う対応、又は、通信セッションの拒否という対応をとらざるを得ず、良好な通信品質を維持できない場合があるという問題がある。また、特許文献2が提案する通信ノード装置では、再起動の原因となる障害が、負荷増大に対する性能不足であった場合には、新たな仮想マシンを構築して、そこに通信セッションを移動しても、再び不具合が発生するだけであり、再起動の原因は本質的に解決されず、良好な通信品質を維持できない場合があるという問題がある。そこで、本発明は、上記従来技術の課題を解決するためになされたものであり、その目的は、複数の仮想通信ノードの構成を動的に最適化することによって、良好な通信品質を維持することができる通信ノード装置を提供することにある。本発明に係る通信ノード装置は、それぞれが通信機能を持つ複数の仮想通信ノードを有する通信ノード装置であって、前記複数の仮想通信ノードによる通信品質を監視する第1機能部と、前記複数の仮想通信ノードの資源を登録し管理する第2機能部と、前記複数の仮想通信ノードの各々の資源を追加、削減、若しくは改造する処理、新たな仮想通信ノードを構築する処理、及び、前記複数の仮想通信ノードのいずれかを解消する処理を実行する第3機能部と、前記第1機能部によって観測された通信品質の情報に基づき、前記第2機能部に登録された空き資源を用いて、前記第3機能部に、前記複数の仮想通信ノードのいずれかの資源を追加、削減、若しくは改造する処理、新たな仮想通信ノードを構築する処理、及び、前記複数の仮想通信ノードのいずれかを解消する処理のいずれか一つ以上を実行させる第4機能部とを有することを特徴としている。本発明に係る通信ノード装置によれば、複数の仮想通信ノードの構成を、負荷に応じて動的に最適化することによって、通信ノード装置の実効的な性能を向上させ、その結果、良好な通信品質を維持することができるという効果がある。《1》第1の実施形態《1-1》第1の実施形態の構成[物理ルータの説明]図1は、第1の実施形態に係る通信ノード装置としての物理ルータの構成を概略的に示すブロック図である。また、図2は、図1に示される制御ブロック400の構成を概略的に示すブロック図である。通信ノード装置は、ルータ及びスイッチを主要な構成としている。図1には、通信ノード装置が、物理ルータである場合を示す。図1には、1台の物理ルータの内部に、仮想通信ノードとしての仮想ルータが3台構築されすなわち、仮想ルータ1210、仮想ルータ2220、及び仮想ルータ3230、運用されている様子を示している。図1に示されるように、通信ノード装置としての物理ルータは、主要な構成として、入力ブロック100と、仮想ルータブロック200と、出力ブロック300と、制御ブロック400とを有している。ブロック100,200,300,400は、物理ルータが有する機能をブロックとして示したものである。[入力ブロック100の説明]入力ブロック100は、入力物理インタフェース物理IFx-INとも記す。110,120,130,140と、第1スイッチ111,121,131,141とを有している。ここで、xは、1以上、入力物理インタフェースの個数以下の整数である。図1の例では、入力ブロック100は、4個の入力物理インタフェース、すなわち、物理IF1-IN110、物理IF2-IN120、物理IF3-IN130、及び物理IF4-IN140と、4個の第1スイッチ111,121,131,141とを有している。ただし、入力物理インタフェースの個数、及び、第1スイッチの個数は、複数個であればよく、4個に限定されない。[仮想ルータブロック200の説明]仮想ルータブロック200は、仮想ルータ1210と、仮想ルータ2220と、仮想ルータ3230とを有している。入力ブロック100の第1スイッチ111,121,131,141は、入力物理インタフェース110,120,130,140から入力したパケットを仮想ルータ1210、仮想ルータ2220、又は仮想ルータ3230のいずれに入力すべきか判定して、判定結果に従って、各パケットを仮想ルータ1210、仮想ルータ2220、又は仮想ルータ3230のいずれかに出力する。図1の例では、仮想ルータブロック200は、3個の仮想ルータを有しているが、仮想ルータブロック200に含まれる仮想ルータの個数は、3個に限定されない。[出力ブロック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-OUT310、物理IF2-OUT320、物理IF3-OUT330、及び物理IF4-OUT340とを有している。ただし、第4スイッチの個数は、及び、出力物理インタフェースの個数は、複数個であればよく、4個に限定されない。[仮想ルータ1210の説明]仮想ルータブロック200の仮想ルータ1210は、入力物理インタフェース110,120,130,140の個数に対応する個数の入力バッファ211と、第2スイッチ読出スイッチ212と、ルータコア213と、第3スイッチ217と、出力物理インタフェース310,320,330,340の個数に対応する個数の出力バッファ218とを有している。第2スイッチ読出スイッチ212は、利用可能帯域又は優先度に応じて複数の入力バッファ211のいずれかからデータを読み出す。ルータコア213は、経路表経路表探索機能部214を有している。経路表経路表探索機能部214は、入力されたパケットの経路を示す経路表を内蔵し、経路表から経路を探索し、この探索結果に基づいて出力物理インタフェース310,320,330,340のいずれからパケットを出力すべきかを判断し、この判断結果に基づく動作指示を第3スイッチ217に出力する。また、ルータコア213は、各種のレイヤ3プロトコル処理を行うレイヤ3プロトコル処理機能部215と、通信量及び通信品質を監視し、監視結果を制御ブロック400に転送する通信量品質監視機能部216とを有している。第3スイッチ217は、ルータコア213で処理されたパケットを適切な出力バッファ複数個の出力バッファ218のいずれかに転送する。出力バッファ218は、第4スイッチ読出スイッチ311,321,331,341のいずれかによってパケットが読み出されるまで、パケットを保持する。[仮想ルータ2220の説明]仮想ルータブロック200の仮想ルータ2220は、仮想ルータ1210と同様の構成を有しており、同様の動作をする。[仮想ルータ3230の説明]仮想ルータブロック200の仮想ルータ3230は、仮想ルータ1210及び仮想ルータ2220と同様の構成を有しており、同様の動作をする。[第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を通して入力されたパケットを出力すべきかを判断して、出力すべき場合にパケットを出力する。[制御ブロック400の説明]図2に示されるように、制御ブロック400は、第1の実施形態に係る物理ルータの全体を管理する全体制御機能部第4機能部410と、仮想ルータ用資源管理機能部第2機能部430と、仮想ルータ構築解消機能部第3機能部440と、仮想ルータ資源追加削減機能部第3機能部450と、状態把握機能部第1機能部460と、要求条件管理機能部470とを有している。仮想ルータ構築解消機能部440は、例えば、新たな仮想網を構築するため、新たな仮想ノードが必要になった場合、仮想ルータ用資源管理機能部430から空き資源の利用許諾を受け、新たな仮想ノードを構築し、又は、既存の仮想網を閉鎖する際、既存の仮想ノードを解消する。また、仮想ルータ構築解消機能部440は、仮想ノードを多重化例えば、二重化又は三重化するために、新たな仮想ノードを構築することができる。仮想ルータ資源追加削除機能部450は、既存の仮想ルータに資源を追加したり、既存の仮想ルータの資源を解放したりする。仮想ルータ用資源管理機能部430は、仮想ルータ資源追加削除機能部450による資源の追加及び解放、並びに、仮想ルータ構築解消機能部440による新たな仮想ノードの構築、及び、既存の仮想網の閉鎖に伴う仮想ノードの解消の情報を管理する。状態把握機能部460は、通信量品質監視機能部216,226,236からの通信に関する情報情報A又は各仮想ルータ210,220,230の健康状態情報ヘルスデータ:情報Bを受け取り、管理する。なお、上記健康状態情報とは、当該ノードが正常に動作しているかを監視した情報であり、例えば、メモリエラーが発生した回数や、異常終了したプロセスの数、メモリやCPUの使用率、電源電圧の計測値等である。また、以降の記載では、上記情報Aと情報Bを併せて単に状態情報と記載する。要求条件管理機能部470は、個別のフローに対する要求条件の定義が内蔵され、通信量品質監視機能部216,226,236が持つ通信品質が、要求条件に適合するかを監視し、適合させるための対策が必要であれば、全体制御機能部410に通知する。全体制御機能部410は、要求条件管理機能部470から得られた情報を元に、仮想ルータ210,220,230によるサービスの状況を判断し、仮想ルータ210,220,230に新たな資源を追加すべきと判断した際は、仮想ルータ資源追加削減機能部450に仮想ルータ210,220,230のいずれかに対する資源の追加又は削減を実行させる。その際、全体制御機能部410は、仮想ルータ用資源管理機能部430に利用する資源の照会又は更新を行う。また、全体制御機能部410は、新たな仮想ルータを構築すべき場合、仮想ルータ用資源管理機能部440に照会して資源量を確認した上で、仮想ルータ構築解消機能部440に命じて、構築を実行し、また、仮想ルータが不要になった際は、仮想ルータ構築解消機能部440に命じて仮想ルータを解消させた上で、開放された資源を、仮想ルータ用資源管理機能部430に登録する。具体的な割当手法や割当アルゴリズム、そこで必要となる機能部間の情報信号の流れの例は、第2の実施形態で説明する。なお、図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つの共有RAMRandomAccessMemoryで実装することができる。さらに、複数のルータコア213,223,233は、1つのCPU、1つのデータバス、及び1つのメモリという物理デバイスにおいて、3つのルータプロセスを実行することで、論理的に3つの仮想ルータが存在するかのように見せることができる。ただし、FPGAField-ProgrammableGateArray等の変更可能な物理ロジックデバイスと複数のCPUや複数のメモリによって構築されたハードウェア処理で大半の処理を行う柔軟性の高いハードウェアルータとして構築することもできるハード的な仮想ルータと言う。。仮想ルータの実装方法として、ソフト的な仮想ルータと、ハード的な仮想ルータの間に、多数の中間解があり、どの構成であってもよい。《1-2》第1の実施形態の動作図3は、第1の実施形態に係る通信ノード装置である物理ルータを複数台用いて構築されるネットワーク網の説明図である。第1の実施形態では、例えば、物理ルータ1,2,3,4は、IPキャリアが保有しており、これらの物理ルータによって、物理網5が構成される。ここで、物理ルータ1,2,3,4の各々は、例えば、図1に示される物理ルータの構成を持つ。図3には、物理ルータ1はユーザ1の端末とキャッシュサーバに接続可能であり、物理ルータ3はユーザ2の端末に接続可能であり、物理ルータ4は、サーバに接続可能である場合が示されている。また、物理ルータは、センサネットワークのセンサ、デジタルサイネージ、ゲーム端末、RFIDRadioFrequencyIDentification機能等の通信機能を持つデバイス等と接続可能である。図3に示されるように、物理ルータ1,2,3,4の内部に構築される仮想ルータ1210は、通常のインターネットトラヒック全般を取り扱い、いわゆるインターネットサービス網IPトラヒック網11を実現する。また、物理ルータ1,2,3,4の内部に構築される別の仮想ルータ2220は、特定の企業のトラヒックだけを扱い、その企業にVPNVirtualPrivateNetwork12を提供する。VPNの代表例として、専用線VPN及びインターネットVPNがある。専用線VPNは、特定の企業の会社内に設置したルータを、IPキャリアから借りたIP専用線に接続することによって構築することができる。専用線VPNは、通信品質を確保できるが、会社内に設置したルータの管理及び運用が必要である。インターネットVPNでは、ルータは、インターネットサービスのルータをそのまま用い、データの暗号化によって秘話性を実現している。そのため、インターネットVPNでは、一般的に、利用者が希望する通信品質やオリジナルサービスを実現することは困難である。ところが、本発明を適用することによって、IPキャリアは、コストをかけることなく、特定の企業に専用の仮想ルータを提供し、通信品質や希望するオリジナルサービスを提供することが可能となる。また、物理ルータ1,2,3,4の内部に構築される更に別の仮想ルータ3230は、IPキャリアがオンラインゲームの提供事業者向けに構築して提供したもので、オンラインゲームに特化した専用の仮想網13を提供し、オンラインゲームの特殊な要求条件低遅延等を満たす通信サービスを提供する。本実施形態は、各仮想ルータの構成やプロトコルは自由に変更できるので、仮想ルータで暗号化や演算処理など特殊でオリジナルな上位レイヤ処理を行うこともできる。更に、仮想ノードは、必ずしもIPルータである必要はない。仮想ノードは、IPと異なるプロトコルのノードでも構わない。次に、本発明の具体的な運用例を説明する。図3に示される網での運用が行われていたと仮定する。ここで、ある物理ルータの制御ブロック400の状態把握機能部460が、いずれかの物理ルータ内の仮想ルータ3230の通信量品質監視機能部236が、通信量増加を観測し、通信品質が低下しつつあることを観測した場合を説明する。要求条件管理機能部470は、状態把握機能部460の情報と、事前に契約された要求通信品質情報を照合し、品質低下への対応の判断が必要であれば、全体制御機能部410に通知する。この通知を受けた全体制御機能部410は、しばらく様子を見るか、通信品質改善の具体的対応をとるかを判断する。全体制御機能部410は、後者具体的な対応をとると判断した場合には、その原因を解析し、条件R1空き資源を仮想ルータ3230に追加することで通信品質の改善が可能である。、及び、条件R2契約上、資源の追加が可能である。の両方を満足するならば、仮想ルータ資源追加削除機能部450に命じて仮想ルータ3230に資源を追加する。ここで、通信品質劣化の原因が、レイヤ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つ以上の対策を実行させる。また、通信品質劣化の原因が、経路表経路表探索機能部214,224,234にあるならば、同様に、検索のCPU割当時間を増加させたり、並列検索の並列度を増やすように、テーブルを分割して検索用ロジック数を増加させたりすることによって資源の追加を実現することができる。言い換えれば、状態把握機能部460が、仮想通信ノードのパケットの経路表検索又はパケット転送処理がボトルネックとなって通信品質の劣化を招いていると判断したときには、全体制御機能部410は、仮想ルータ構築解消機能部440又は仮想ルータ資源追加削減機能部450に、M11経路検索処理又はパケット転送処理を行うためのCPUタイムを増加させる対策、M12経路検索処理又はパケット転送処理を行うCPUを増加させる対策、M13経路検索処理又はパケット転送処理に用いるメモリやバス占有時間を増加させる対策、M14経路検索処理又はパケット転送処理を行うハードウェアロジックを追加することによって、複数のハードウェアロジックで並列処理を行う対策、及びM15経路検索処理又はパケット転送処理を行うハードウェアロジックを追加し、パイプライン処理可能な構成として対応する対策のいずれか1つ以上の対策を実行させる。また、通信品質劣化の原因が、到着トラヒックのバースト性に基づくものならば、入力バッファ211,221,231のメモリ量を増加させることによって資源の追加を実現することができる。言い換えれば、状態把握機能部460が、仮想通信ノードにおける処理が、パケットの到着間隔の狭まりに基づくものであると判断した場合、又は、特異な到着率特性に基づくものであると判断した場合には、全体制御機能部410は、仮想ルータ構築解消機能部440又は仮想ルータ資源追加削減機能部450に、キューイングメモリ量を増加させるように、仮想通信ノードに資源の割り当てを行うことで対応する対策を実行させることができる。逆に、性能に余裕があり、資源を減らしても大丈夫な場合、全体制御機能部410は、仮想ルータ資源追加削除機能部450に命じて資源を解放し、その結果を仮想ルータ用資源管理機能部430に登録し、他の仮想ルータが利用可能とする。仮想ルータ用資源管理機能部430は、他の仮想ルータが資源の追加を必要とする場合に、資源に余裕があれば資源を融通する。仮想ルータ構築解消機能部440は、例えば、新たな仮想網を構築するため、新たな仮想ノードが必要になった場合、仮想ルータ用資源管理機能部430から空き資源の利用許諾を受け、新たな仮想ノードを構築し、又は、既存の仮想網を閉鎖する際、仮想ノードを解消する。また、仮想ルータ構築解消機能部440は、仮想ノードを多重化例えば、二重化又は三重化するために、新たな仮想ノードを構築することができる。また、仮想ルータ構築解消機能部440は、仮想ノードに大幅な修正を加える際、既存の仮想ノードに修正を加えるのではなく、新たに仮想ノードを構築し、トラヒックを新たに仮想ノードに全て移動する、といった作業に用いる。なお、仮想ルータ構築解消機能部440は、第2の従来技術のようにシステムを止めることなく、全く同じ仮想ルータを再起動させるのに用いることも可能である。《1-3》第1の実施形態の効果以上に説明したように、第1の実施形態に係る通信ノード装置である物理ルータによれば、要求条件に応じて動的に仮想ノードの資源の追加若しくは削除、又は、新たな仮想ノードの構築若しくは削除を行うことができ、適切な網サービス品質を提供することができる。また、第1の実施形態に係る通信ノード装置である物理ルータによれば、利用しない資源を解放することで、省電力を実現することができる。また、第1の実施形態に係る通信ノード装置は、仮想通信ノードが特定のISPにしか接続できない場合であっても使用できる。また、第1の実施形態に係る通信ノード装置は、常時複数の仮想通信ノードが動作するシステムに適用できる。《1-4》第1の実施形態の変形例上記第1の実施形態における説明では、品質低下に対する対応方法対策として、M1~M5あるいは、M11~M15という複数の方法を示した。しかし、1品質低下に対する対応方法を、これらの対策の内のいずれか1つではなく、複数の対策を組合わせて実現することもできる。2また、品質低下に対する対応方法として、上記複数の対策の内のどの組合せを採用するのが最適であるかは、一意には決まらない。例えば、ケース1仮想網1で、特定プロトコルの通信でのパケット損失が対策の閾値付近にあり、且つ、仮想網3で、遅延時間の最悪値が対策の閾値付近にある場合、ケース2仮想網1で、特定プロトコルの通信でのパケット損失が対策の閾値付近にある場合、又は、仮想網3で、遅延時間の最悪値が対策の閾値付近にある場合、ケース3上記ケース1に加えて、仮想網2でもオリジナルの上位レイヤ処理で品質劣化が発生しつつある場合など、状況に応じて、最適な対応方法は異なる。また、上記最適の定義として、同一の性能を達成するのに、未使用の資源を最大化する対処方法を最適とするポリシもあれば、消費電力を最小にする対処方法を最適とするポリシもある。消費電力を最小にする手法として、具体的には、例えば、状態把握機能部460が、どの資源の追加削除、どの様な処理の実行によって、どれだけ消費電力が変動するかといった情報を収集し、資源割当機能部420が、割当をする際に、その収集された情報を用いて、消費電力最小化の計算を行う手法がある。また、実測前に事前に計算や実験で得た値を、仮想ルータ用資源管理機能部430に蓄積しておき、資源割当機能部420が、割当をする際に、計算や実験で得た値を利用する方法もある。3また、最適な対応方法の別のアプローチとして、仮想網内部での通信経路の最適化で、上位レイヤ処理をしているルータを別のルータにしたり、キャッシュでのデータ保持により、品質が向上できる場合がある。加えて、近年の通信では、ユーザ端末、サーバ、キャッシュ以外に、センサネットワークのセンサ、デジタルサイネージ、ゲーム端末、RFIDRadioFrequencyIDentification機能等の通信機能を持つデバイス等、多くのものがネットワークに接続され、サーバも分散的に配置される場合がある。このため、これら多数の資源間での通信と連携によって得られるサービスに対する要求が存在すると考えられる。例えば、全国に配置された花粉センサ、風力計、温度計、及び分散配置された気象予報計算サーバを用いて、数時間後の花粉飛散情報を予測計算して街角のデジタルサイネージに表示する花粉飛散注意サービスが考えられる。この様な場合、計測資源、通信に用いる資源、計算資源、表示資源のいずれをどれだけ用い、どの経路で伝達するかといった条件によって、消費電力や実行速度に差が出るため、条件を最適化することが必要になる。この様な花粉飛散注意サービスの場合、図3に符号11~13で示す仮想ネットワークに加えて、新たな仮想ネットワークが、仮想ルータと、前記資源群センサ、通信機能付きの各種デバイス、デジタルサイネージ等によって構築される。サーバは、使用するセンサや、計算に用いられるサーバ、表示するデジタルサイネージやユーザ端末の場所から、どのルータにどれだけの資源を割当て、どの経路でどれだけの伝送資源を用意すれば良いかを計算する。計算結果に基づいて、サーバは、仮想ネットワークを構築する。この仮想ネットワークの構築は、サーバから、ノードの制御ブロック400内の全体制御機能部410に要求が出され、全体制御機能部410が、仮想ルータ構築解消機能部440に仮想ルータの構築を指示することで実現される。これらに関して、最適な方法を得るために、局所探索法、焼きなまし法、遺伝的アルゴリズム法、タブーサーチ法等の既知の最適化手法の1つ以上を用いることができる。なお、最適解を得るには、膨大な計算時間が必要であり、通常、ある一定時間内に得られた准最適解を使用する。ただし、その場合でも、モデルでの計算上の値と、実測値とは異なる場合があり課題となる。そこで、准最適解での運用実績を記憶して、次回、似た状況又は同じ状況ではその解を用いて計算時間をなくしたり、初期解として計算を始めることで、計算精度の向上を図ることができる。また、最適解を得るための処理を行いながら最適解を得るため運用中も、1余裕のある範囲で、資源量を変化させ、より良い解を探す方法、2空き資源で、仮想ノードを作り、初期解を計算結果として、資源量を変化させて、より良い解他の解を探す方法を、採用することもできる。ここで、上記1に関して、例えば、全体制御機能部410が、状態把握機能部460からの情報を元に、サービス品質が要求条件を満たすことを確認しつつ、仮想ルータ資源追加削除機能部450に対して、資源量の変化を指示し、その結果であるサービス品質や消費電力、バッファ使用量などの情報を状態把握機能部460で観測して、より良い解を探すことができる。上記2に関しては、例えば、全体制御機能部410が、仮想ルータ構築解消機能部440に命じて、仮想ノードを作り、仮想ネットワークを構築し、ユーザトラヒックを第1スイッチ131で、この新たな仮想ネットワークにも放送的に流し、運用中の仮想ネットワークとあたかも同じ様な仮想ネットワークを作り、全体制御機能部410が仮想ルータ資源追加削除機能部450に対して、資源量の変化を指示し、その結果であるサービス品質や消費電力、バッファ使用量等の情報を状態把握機能部460で観測して、より良い解を探すことができる。《2》第2の実施形態《2-1》第2の実施形態の構成図4は、第2の実施形態に係る通信ノード装置としての物理ルータにおける制御部資源割当機能部の構成を概略的に示すブロック図である。図5は、図4に示される資源割当機能部420が保有する資源割当テーブルの一例を示す図である。図4において、図2の構成と同一又は対応する構成には、同じ符号を付す。第2の実施形態に係る通信ノード装置は、資源割当を行う際に必要となる資源割当機能部420を有する点が、第1の実施形態に係る通信ノード装置と異なる。他の点については、第2の実施形態は、第1の実施形態と同じである。したがって、第2の実施形態の説明には、図1及び図2をも参照する。第2の実施形態に係る通信ノード装置の資源割当機能部420は、全体制御機能部410a図2における全体制御機能部410に対応の内部に実装することができる。ただし、資源割当機能部420を、全体制御機能部の外部に実装して、資源割当機能部420を全体制御機能部との間で通信を行ってもよい。図4に示されるように、資源割当機能部420は、入出力インタフェース部422と、資源割当テーブル部424と、資源追加削除判断機能部423と、制御機能部421とを有している。また、資源割当機能部420は、外部機能部である、仮想ルータ用資源管理機能部430と、仮想ルータ構築解消機能部440と、仮想ルータ資源追加削減機能部450と、状態把握機能部460と、要求条件管理機能部470と、連携して動作する。状態把握機能部460は、資源割当機能部420内の資源追加削除判断機能部423に対して、通信品質情報や仮想ルータの健康状態情報ヘルスデータを出力する。資源追加削除判断機能部423は、要求条件管理機能部470から、仮想ノードが提供すべき通信品質の情報を入力し、資源の追加や削除の必要性を判断する。状態把握機能部460は、入出力に非線形なヒステリシスを持たせ、僅かな入力の変化では追加や削除を要求せず、ある程度大きな変化が生じるまでは動作しない設定とすると安定的な動作に好適である。なお、状態把握機能部460は、要求条件や結果によっては、資源の追加又は削除ではなく、仮想ルータの構築又は削除を指示する場合もある。資源追加削除判断機能部423は、資源の追加又は削除が必要である判断した場合に、全体制御機能部410にその結果を通知する。制御機能部421は、状態把握機能部460から状態情報を受け取り、要求条件管理機能部470から要求条件を受け取り、仮想ルータ構築解消機能部440から各通信サービスに許される資源量情報を受け取る。これと並行して、制御機能部421は、仮想ルータ用資源管理機能部430から、資源の利用状態の情報を受け取る。制御機能部421が受け取った情報は、資源割当テーブル部424を用いて資源割当を行う。各通信サービスに許される資源量情報とは、例えば、仮想ルータ2220を使用するVPNのユーザ企業は、支払金額とその対価として契約で定めたR11最低保障資源量、R12優先利用資源量、R13最大利用可能資源量である。制御機能部421は、資源割当テーブル部424の資源割当テーブルを用いて、これらの量を計算し、結果に従って、仮想ルータ資源追加削減機能部423に対して資源の追加又は削除を命じる。その結果は、仮想ルータ用資源管理機能部430に通知され、情報が更新される。《2-2》第2の実施形態の動作図5に第2の実施形態の動作を示す。各機能部と入出力信号は、構成の説明に示したので、ここでは、資源割当の具体的な手法について説明する。図5に示すように、各仮想ルータは、利用可能な資源に関して、R11最低保障資源量、R12優先利用資源量、R13最大利用可能資源量が契約などで定められている。これらの量は、仮想ルータ毎に異なる。仮想ルータの番号をVとしたときに、番号Vの仮想ルータにおけるR11最低保障資源量、R12優先利用資源量、R13最大利用可能資源量をそれぞれ、最低保障資源量RminV、優先利用資源量RpreV、最大利用可能資源量RmaxVで表現する。通信量がゼロのとき、各仮想ルータの割当資源量RVは、最低保障資源量RminVである。これを次式に表す。RV=RminV通信量が増え、RV=RminVでは、通信品質が担保できなくなる可能性があるとき、仮想ルータの割当資源量RVが優先利用資源量RpreVを超えない範囲内で、割当資源量RVを増加させる。これを次式に表す。RV≦RpreVそれでも資源が足りない場合、他の仮想ルータがもし優先利用資源を使いきっていなければ、仮想ルータの割当資源量RVが最大利用可能資源量RmaxVまでの範囲で、割当資源量RVを増加させる。これを次式に表す。RV≦RmaxVただし、この資源は、他の仮想ルータが必要な場合、直ちに返却しなければならない。また、複数の仮想ルータ、例えば、仮想ルータ1210と仮想ルータ2220が共に、優先利用資源量Rpre1及び優先利用資源量Rpre2を超える資源の利用を希望し、仮想ルータ3230に、未使用の優先利用資源があれば、これを、仮想ルータ1210と仮想ルータ2220で分け合って使うことができる。未使用の優先利用資源の分け方としては、単純に2分割する方法、両者のRmaxRpreやRminでもよいの大きさの比率に応じて割当てる方法、などが可能である。このように、仮想ノード毎に設定される最低保障資源量、優先利用資源量、及び最大利用可能資源量を、資源の種類毎に設定し、資源の利用量を通信品質のボトルネックの要因に応じて変化させてもよい。具体的には、CPU資源CPUタイム、CPU個数、メモリ量、バス占有時間、ハードウェアロジックFPGAゲート量などのうちの1つ以上を含む資源項目毎に、これらを割当てることが可能である。全体制御機能部410aが上記割当を行う際、要求される通信品質に応じて最も有効な資源の割当を行うことが好適である。例えば、VPNでの暗号化や複合化の処理能力がボトルネックとなっている場合、これらのコードデコード用ハード資源を用いるが好適で、経路検索処理能力が不足している場合、CPUを増やして並列検索することが好適である。この方法は、PONPassiveOpticalNetworkの動的帯域割当手法DynamicBandwidthAIlocationと類似しているが、本実施の形態ここでは、帯域ではなく、ルータの処理性能に関わる資源やハードの割当を行っている点が異なる。そのため、状況に応じて割当てるのに好適な資源が異なり、その制御を行う点が従来技術と異なる。《2-3》第2の実施形態の効果以上に説明したように、第2の実施形態に係る通信ノード装置によれば、要求条件に応じて動的に仮想ノードの資源の追加若しくは削除、又は、新たな仮想ノードの構築若しくは削除を行うことができ、適切な網サービス品質を提供することができる。また、第2の実施形態に係る通信ノード装置によれば、利用しない資源を解放することで、省電力を実現することができる。さらに、第2の実施形態に係る通信ノード装置によれば、好適な資源割当が可能となる。"