受信したトラフィックと、転送テーブルに登録されたエントリとをマッチングし、当該トラフィックに包含される情報と当該エントリに包含される情報とが一致すると、当該トラフィックを、当該エントリに規定された経路に転送する複数の通信機器と、前記複数の通信機器の各々が持つ転送テーブルにエントリを登録し、前記各通信機器に対して経路情報を決定する制御サーバーとを含み、前記各通信機器は、前記制御サーバーからの一連の制御指示に対して、前記制御サーバーからの制御指示内容の検証を行い、検証結果を保持し、前記制御サーバーは、前記各通信機器から検証結果を取得し、前記各通信機器からの検証結果を基にして、前記各通信機器において一連の制御が実行可能かどうか判断し、一連の制御が実行可能であれば、前記各通信機器に対して一連の制御の実行を促す通信制御システム。請求項1に記載の通信制御システムであって、前記各通信機器は、前記制御サーバーからの一連の制御指示に従って、一旦、一連の制御を実行し、前記制御サーバーは、前記制御サーバーからの制御指示内容が異常であると判断した場合、前記各通信機器に対して、実行結果のロールバックの実行を促す通信制御システム。請求項1又は2に記載の通信制御システムであって、前記各通信機器は、前記制御サーバーから、転送テーブルへの新規エントリの追加指示の制御命令を受け取った際、前記転送テーブルを参照し、前記転送テーブルに空きエントリがあるかどうかを確認し、空きエントリがある場合、前記転送テーブルに包括一部包括関係にあるエントリがあるかどうかを確認し、包括一部包括関係にあるエントリがある場合、当該エントリの優先度を確認し、前記制御サーバーからの制御命令を実行する通信制御システム。請求項3に記載の通信制御システムであって、前記各通信機器は、空きエントリがない場合、もしくは包括一部包括関係にあるエントリの有無を確認した場合、一連の制御を待機状態にして、前記制御サーバーからの指示を待ち、前記制御サーバーから新たな制御命令を受け取り、新たな制御命令が処理実行である場合、前記制御サーバーからの制御命令に従って、前記転送テーブルにエントリを追加し、新たな制御命令がロールバック指示である場合、前記制御サーバーからの制御命令に従って、前記転送テーブルにはエントリを追加せず、ロールバック関数に従った処理を行う通信制御システム。請求項1乃至4のいずれか一項に記載の通信制御システムにおいて、通信機器及び制御サーバーのいずれかとして使用される計算機。制御サーバーから、複数の通信機器の各々が持つ転送テーブルにエントリを登録し、前記各通信機器に対して経路情報を決定することと、前記各通信機器において、受信したトラフィックと、転送テーブルに登録されたエントリとをマッチングし、当該トラフィックに包含される情報と当該エントリに包含される情報とが一致すると、当該トラフィックを、当該エントリに規定された経路に転送することと、前記各通信機器において、前記制御サーバーからの一連の制御指示に対して、前記制御サーバーからの制御指示内容の検証を行い、検証結果を保持することと、前記制御サーバーにおいて、前記各通信機器から検証結果を取得し、前記各通信機器からの検証結果を基にして、前記各通信機器において一連の制御が実行可能かどうか判断し、一連の制御が実行可能であれば、前記各通信機器に対して一連の制御の実行を促すこととを含む通信制御方法。請求項6に記載の通信制御方法であって、前記各通信機器において、前記制御サーバーからの一連の制御指示に従って、一旦、一連の制御を実行することと、前記制御サーバーにおいて、前記制御サーバーからの制御指示内容が異常であると判断した場合、前記各通信機器に対して、実行結果のロールバックの実行を促すこととを更に含む通信制御方法。請求項6又は7に記載の通信制御方法であって、前記各通信機器において、前記制御サーバーから、転送テーブルへの新規エントリの追加指示の制御命令を受け取った際、前記転送テーブルを参照し、前記転送テーブルに空きエントリがあるかどうかを確認することと、空きエントリがある場合、前記転送テーブルに包括一部包括関係にあるエントリがあるかどうかを確認することと、包括一部包括関係にあるエントリがある場合、当該エントリの優先度を確認することと、前記制御サーバーからの制御命令を実行することとを更に含む通信制御方法。請求項8に記載の通信制御方法であって、前記各通信機器において、空きエントリがない場合、もしくは包括一部包括関係にあるエントリの有無を確認した場合、一連の制御を待機状態にして、前記制御サーバーからの指示を待つことと、前記制御サーバーから新たな制御命令を受け取ることと、新たな制御命令が処理実行である場合、前記制御サーバーからの制御命令に従って、前記転送テーブルにエントリを追加することと、新たな制御命令がロールバック指示である場合、前記制御サーバーからの制御命令に従って、前記転送テーブルにはエントリを追加せず、ロールバック関数に従った処理を行うこととを更に含む通信制御方法。請求項6乃至9のいずれか一項に記載の通信制御方法を、通信機器及び制御サーバーのいずれかとして機能する計算機に実行させるためのプログラムを記憶した記憶媒体。<第1実施形態>以下に、本発明の第1実施形態について添付図面を参照して説明する。[ネットワークシステムの構成]図1は、本発明が実施されるネットワークシステムの構成例を示すものである。このネットワークシステムは、制御サーバー101と、通信機器102と、端末103を含む。ここでは、通信機器102として、通信機器102A~102Dを示す。また、端末103として、端末103A、103Bを示す。制御サーバー101は、端末103間のエンド間の通信経路を、通信機器102から収集したトポロジーtopology:接続形態構成情報を基に計算し、端末103間のトラフィックを転送するためのエントリを、通信機器102の転送テーブルに対して登録する。また、制御サーバー101は、トポロジー構成情報の変化や使用可能帯域の変化等による経路の変更を基に、通信機器102の転送テーブルのエントリの書換や削除等を行う。通信機器102通信機器102A~102Dは、ネットワークトポロジーを構成しており、ネットワークのエンド間のトラフィックを伝送する。通信機器102の転送テーブルは、ネットワークを流れるトラフィックの検索情報とその一致したトラフィックの転送先を指定したエントリで構成され、制御サーバー101から制御される。端末103端末103A、103Bは、エンド間のトラフィックの送受信を行う。[ハードウェアの例示]制御サーバー101の例として、PCパソコン、シンクライアントサーバー、アプライアンスappliance、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。通信機器102の例として、オープンフロースイッチを想定している。オープンフロースイッチとして使用可能な機器の例として、ルータ、スイッチングハブ等の中継機器や、ゲートウェイ、プロキシ、ファイアウォール並びにロードバランサ等の中継用の計算機等が考えられる。例えば、通信機器102は、マルチレイヤスイッチmulti-layerswitchでも良い。マルチレイヤスイッチは、サポートするOSI参照モデルの層毎に、更に細かく分類されている。主な種別としては、ネットワーク層第3層のデータを読むレイヤ3スイッチ、トランスポート層第4層のデータを読むレイヤ4スイッチ、アプリケーション層第7層のデータを読むレイヤ7スイッチアプリケーションスイッチがある。端末103の例として、PC、シンクライアント端末、アプライアンス、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機、又は、携帯電話機、カーナビカーナビゲーションシステム、ガジェット電子機器、携帯ゲーム機、家庭用ゲーム機、双方向テレビ、デジタルチューナー、デジタルレコーダー、情報家電informationhomeappliance、OAOfficeAutomation機器等が考えられる。端末103は、車両や船舶、航空機等の移動体に搭載されていても良い。なお、制御サーバー101、通信機器102、及び端末103は、物理マシン上に構築された仮想マシンVirtualMachineVMでも良い。制御サーバー101、通信機器102、及び端末103の各々を接続するネットワークの例として、インターネット、LANLocalAreaNetwork、無線LANWirelessLAN、WANWideAreaNetwork、バックボーンBackbone、ケーブルテレビCATV回線、固定電話網、携帯電話網、WiMAXIEEE802.16a、3G3rdGeneration、専用線leaseline、IrDAInfraredDataAssociation、Bluetooth登録商標、シリアル通信回線、データバス等が考えられる。但し、実際には、これらの例に限定されない。[通信機器の構成]図2は、通信機器102の構成例を示すものである。通信機器102は、制御サーバーインタフェース部1021と、トランザクション管理部1022と、テーブル操作部1023と、テーブル検索部1024と、転送テーブル1025と、データ転送部1026と、インタフェース1027を備える。ここでは、インタフェース1027として、インタフェース1027A、1027Bを示す。制御サーバーインタフェース部1021は、制御サーバー101との制御チャネルを終端して、制御サーバー101からの制御命令を取り出したり、実行結果を返送したり、トランザクションtransaction結果に対する問い合わせの受付返送をしたりする。なお、トランザクションとは、関連する複数の処理を一つの処理単位としてまとめたものである。この制御命令の例として、オープンフロープロトコルメッセージOpenFlowProtocolMessageの1つであり、コントローラからスイッチのフローテーブルにエントリを登録するためのFlowModメッセージ等が考えられる。トランザクション管理部1022は、制御命令毎にトランザクションとして保持し、その実行結果やその命令に対する検証結果を保持し、制御サーバー101からの問い合わせに対して応答したり、トランザクションの実行命令に対して実行したりする。実行待ちのトランザクションを実行する手法には、広く一般に使用されている2フェーズコミットの手法を使用することができる。テーブル操作部1023は、転送テーブル1025に対してエントリの登録書換削除を実行するブロックである。テーブル検索部1024は、トランザクション管理部1022からの命令に従って、転送テーブル1025の登録済みエントリに対して、新規エントリが包含関係や一部包含関係になっていないか、包含一部包含関係のエントリがそのエントリに対して、高低の検索優先度のいずれかを確認し、その結果をトランザクション管理部1022に返す。転送テーブル1025は、図3に示す通り、エントリは番号で管理されており、その番号の順に検索優先度が決まっている、また、図4のような検索情報例えば、送信元送信先IPアドレス、出力ポート等の情報を有する。ここでは、転送テーブル1025は、エントリ番号と、送信元IPアドレスと、送信先IPアドレスと、出力ポートの情報を有する。出力ポートは、インタフェース1027インタフェース1027A、1027Bを示す。データ転送部1026は、インタフェース1027インタフェース1027A、1027Bから入力されたトラフィックから検索キーを抽出し、その検索キーを転送テーブル1025に対して検索実行し、その検索結果に従ってトラフィックを転送する。インタフェース1027インタフェース1027A、1027Bは、通信機器102の通信用のインタフェースであり、図1のように他の通信機器102や端末103と接続を行い、トラフィックの受信と送信を行う。ここでは、制御サーバーインタフェース部1021、トランザクション管理部1022、テーブル操作部1023、テーブル検索部1024、転送テーブル1025、データ転送部1026は、プログラムで駆動される処理装置等のハードウェアと、そのハードウェアを駆動して所望の処理を実行させるプログラム等のソフトウェアと、そのソフトウェアや各種データを格納する記憶装置によって実現されるものとする。但し、実際には、これらの例に限定されない。上記の処理装置の例として、CPUCentralProcessingUnit、マイクロプロセッサmicroprocessor、マイクロコントローラ、或いは、同様の機能を有する半導体集積回路IntegratedCircuitIC等が考えられる。但し、実際には、これらの例に限定されない。上記の記憶装置の例として、RAMRandomAccessMemory、ROMReadOnlyMemory、EEPROMElectricallyErasableandProgrammableReadOnlyMemoryやフラッシュメモリ等の半導体記憶装置、HDDHardDiskDriveやSSDSolidStateDrive等の補助記憶装置、又は、DVDDigitalVersatileDiskやSDメモリカードSecureDigitalmemorycard等のリムーバブルディスクや記憶媒体メディア等が考えられる。但し、実際には、これらの例に限定されない。また、制御サーバーインタフェース部1021、データ転送部1026、及びインタフェース1027は通信機能を持つ。制御サーバーインタフェース部1021、データ転送部1026、及びインタフェース1027の通信機能を実現するハードウェアの例として、NICNetworkInterfaceCard等のネットワークアダプタや、アンテナ等の通信装置、接続口コネクタ等の通信ポート等が考えられる。但し、実際には、これらの例に限定されない。[転送テーブルへのエントリ登録の際の動作待機あり]図6を用いて、通信経路の一貫性を保つための動作について説明する。ここでは、制御サーバー101は、通信機器102に、図4の形式のエントリーデータを送信する。通信機器102は、受信したエントリーデータを転送テーブル1025に格納する。1ステップS101通信機器102において、制御サーバーインタフェース部1021は、制御サーバー101から、制御チャネル経由で、新規エントリの追加指示の制御命令を受け取り、トランザクション管理部1022に渡す。トランザクション管理部1022は、制御命令に含まれるトランザクション番号をキーに、図5のトランザクション状態テーブルに状態を検証待ちとして登録する。ここでは、トランザクション状態テーブルは、コントローラIDと、トランザクション番号と、制御命令と、状態と、ロールバック方法の情報を有する。コントローラIDは、制御サーバーの識別情報である。制御サーバー101が1台しかなく一意に特定できる場合、コントローラIDの情報はなくても良い。トランザクション状態テーブルの検証待ちトランザクションを、検証中の状態に変更して、転送テーブル1025のエントリをテーブル検索部1024に送付する。2ステップS102テーブル検索部1024は、転送テーブル1025を参照し、転送テーブル1025に空きエントリがあるかどうかを確認する。テーブル検索部1024は、空きエントリがある場合、ステップS104の処理へ移行する。また、テーブル検索部1024は、空きエントリがない場合、ステップS103の処理へ移行する。3ステップS103テーブル検索部1024は、空きエントリがない場合、転送テーブル1025に空きエントリがないことを、トランザクション管理部1022に通知する。トランザクション管理部1022は、状態を空きエントリなしとして、ステップS106の処理へ移行し、トランザクションを待機状態にする。4ステップS104テーブル検索部1024は、空きエントリがある場合、転送テーブル1025に包括関係や一部包括関係にあるエントリがあるコンフリクトがあるかどうかを確認する。テーブル検索部1024は、包括関係や一部包括関係にあるエントリがあるコンフリクトがある場合、当該エントリの優先度も確認する。テーブル検索部1024は、包括関係や一部包括関係にあるエントリがあるコンフリクトがある場合、ステップS105の処理へ移行する。また、テーブル検索部1024は、包括関係や一部包括関係にあるエントリがないコンフリクトがない場合、ステップS106の処理へ移行し、トランザクションを待機状態にする。5ステップS105テーブル検索部1024は、包括関係や一部包括関係にあるエントリがあるコンフリクトがある場合、包括関係や一部包括関係にあるエントリがあるコンフリクトがあることを、トランザクション管理部1022に通知する。トランザクション管理部1022は、状態を包括一部包括関係ありコンフリクトありとして、ステップS106の処理へ移行し、トランザクションを待機状態にする。6ステップS106テーブル検索部1024は、トランザクションを待機状態にして、制御サーバー101からの指示を待つ。制御サーバー101は、自動的に、トランザクション番号をキーに、処理検証結果を確認し、その結果を基に制御サーバー101内で判断を行う。このとき、トランザクション完了を、通信機器102から制御サーバー101に通知することも可能である。7ステップS107制御サーバーインタフェース部1021は、制御サーバー101から、制御チャネル経由で、新たな制御命令を受け取り、トランザクション管理部1022に渡す。制御サーバーインタフェース部1021は、制御サーバー101からの制御命令に従って処理を行う。制御命令が処理実行であれば、ステップS108の処理へ移行する。制御命令がロールバック指示であれば、ステップS109の処理へ移行する。8ステップS108制御サーバーインタフェース部1021は、制御命令が処理実行である場合、制御サーバー101からの制御命令に従って、転送テーブル1025にエントリを反映させる。9ステップS109制御サーバーインタフェース部1021は、制御命令がロールバック指示である場合、制御サーバー101からの制御命令に従って、転送テーブル1025にはエントリを反映させず、登録されたロールバック関数に従った処理を行う。<第2実施形態>本実施形態では、図6のステップS106、ステップS107において、トランザクション番号を制御のINDEX索引とする代わりに、転送テーブル1025のエントリを制御のINDEXとする。転送テーブルのエントリとは、IPアドレス等の検索情報である。同じ検索情報が存在すると特定が難しくなるため、転送テーブルのエントリ検索情報には重複しない情報を使用すると好適である。これにより、トランザクション番号を省略することが可能になる。<第3実施形態>本実施形態では、図7に示す通り、トランザクション管理部1022は、空きエントリがない場合や、包括関係や一部包括関係にあるエントリがないコンフリクトがない場合に、処理を待機するのではなく、そのまま制御命令を実行する。この場合、実行した結果、処理検証結果を確認でき、ロールバックすることも可能である。[転送テーブルへのエントリ登録の際の動作待機なし]図7を用いて、本実施形態において、通信経路の一貫性を保つための動作について説明する。なお、図7のステップS201~S205は、図6のステップS101~S105と同じである。1ステップS201通信機器102において、制御サーバーインタフェース部1021は、制御サーバー101から、制御チャネル経由で、新規エントリの追加指示の制御命令を受け取り、トランザクション管理部1022に渡す。トランザクション管理部1022は、制御命令に含まれるトランザクション番号をキーに、図5のトランザクション状態テーブルに状態を検証待ちとして登録する。トランザクション状態テーブルの検証待ちトランザクションを、検証中の状態に変更して、転送テーブルのエントリをテーブル検索部1024に送付する。2ステップS202テーブル検索部1024は、転送テーブル1025を参照し、転送テーブル1025に空きエントリがあるかどうかを確認する。テーブル検索部1024は、空きエントリがある場合、ステップS204の処理へ移行する。また、テーブル検索部1024は、空きエントリがない場合、ステップS203の処理へ移行する。3ステップS203テーブル検索部1024は、空きエントリがない場合、転送テーブル1025に空きエントリがないことを、トランザクション管理部1022に通知する。トランザクション管理部1022は、状態を空きエントリなしとして、ステップS206の処理へ移行する。4ステップS204テーブル検索部1024は、空きエントリがある場合、転送テーブル1025に包括関係や一部包括関係にあるエントリがあるコンフリクトがあるかどうかを確認する。なお、テーブル検索部1024は、包括関係や一部包括関係にあるエントリがあるコンフリクトがある場合、当該エントリの優先度も確認する。テーブル検索部1024は、包括関係や一部包括関係にあるエントリがあるコンフリクトがある場合、ステップS205の処理へ移行する。また、テーブル検索部1024は、包括関係や一部包括関係にあるエントリがないコンフリクトがない場合、ステップS206の処理へ移行する。5ステップS205テーブル検索部1024は、包括関係や一部包括関係にあるエントリがあるコンフリクトがある場合、包括関係や一部包括関係にあるエントリがあるコンフリクトがあることを、トランザクション管理部1022に通知する。トランザクション管理部1022は、状態を包括一部包括関係ありコンフリクトありとして、ステップS206の処理へ移行する。6ステップS206制御サーバーインタフェース部1021は、制御サーバー101からの制御命令に従って処理を行う。制御サーバーインタフェース部1021は、制御命令が処理実行である場合、制御サーバー101からの制御命令に従って、転送テーブル1025にエントリを反映させる。また、制御サーバーインタフェース部1021は、制御命令がロールバック指示である場合、制御サーバー101からの制御命令に従って、転送テーブル1025にはエントリを反映させず、登録されたロールバック関数に従った処理を行う。制御サーバー101は、トランザクション番号をキーに、処理検証結果を確認し、その結果を基に制御サーバー101内で判断を行う。このとき、トランザクション完了を、通信機器102から制御サーバー101に通知することも可能である。<第4実施形態>本実施形態では、図8に示す通り、通信機器102は、複数の制御サーバー101制御サーバー101A、101Bから制御を受ける。この場合、図9に示す通りのトランザクション状態テーブルになる。本実施形態では、トランザクションは、コントローラIDとトランザクション番号の組で管理される。コントローラIDは、制御サーバーの識別情報である。ここでは、制御サーバー101AのコントローラIDを1とし、制御サーバー101BのコントローラIDを2とする。<第5実施形態>本実施形態では、トランザクション番号には、制御サーバー101がイニシエーターinitiatorとなるトランザクションに関しては、制御サーバー101が独自に生成した番号を使用し、通信機器102がイニシエーターとなるトランザクションについては、通信機器102が独自に生成した番号を使用する。通信機器102がイニシエーターとなるトランザクションの例として、インタフェースの状態の変化や、トラフィック受信を制御サーバー101へ通知するトランザクション等がある。<第6実施形態>本実施形態では、制御サーバー101が複数の通信機器102群を制御するため、制御サーバー101がイニシエーターとなって行うトランザクションも、通信機器102がイニシエーターとなって行うトランザクションも、制御サーバー101では、通信機器102とトランザクション番号の組で管理される。<第7実施形態>本実施形態では、通信機器102は、トランザクション番号を独自に生成し、通信機器102のIDが変更されたときや、接続先制御サーバー101が変更されたときには、トランザクション番号を新たに振り直す。このとき、トランザクション番号には、ランダムな番号を使用する。<第8実施形態>本実施形態では、通信機器102は、同一トランザクションの実行に複数の処理が存在するとき、それらの複数の処理の順序を守って処理を行う。<追記>なお、上記の各実施形態は、組み合わせて実施することも可能である。<まとめ>以上のように、本発明は、通信機器と分離された制御サーバーから通信機器の転送テーブルを追加書換削除することにより、端末間のトラフィックの認可経路QoS等を制御する通信システムにおいて、一貫性を保って複数の通信機器の転送テーブルに対する操作を行うことにより、端末間の通信の接続性を確保するための通信機器の制御方式に関する。本発明は、制御サーバーからの通信機器の転送テーブルのエントリ等の登録書換削除を行うときに、通信機器間での状態不一致を抑止し、意図しないトラフィックのループや廃棄をなくし、通信の信頼性を向上することを目的とする。本発明の手法では、制御サーバー101が行った通信機器102に対する転送テーブルのエントリの登録書換削除やインタフェースのUP/DOWNの制御等の制御指示に対して、通信機器102で制御サーバー101からの制御指示内容の検証を行い、通信機器102でその検証結果を保持し、制御サーバー101がその検証結果を取得し、複数の通信機器102からの検証結果を基にして、一連の制御が実行可能かどうか判断した後に、複数の通信機器102での実行を促す。もしくは、制御サーバー101からの指示に従って、通信機器102はいったん実行し、制御サーバー101は制御命令が異常であると判断した場合、通信機器102に対して、実行結果をロールバックする。以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。なお、本出願は、日本出願番号2010-001292に基づく優先権を主張するものであり、日本出願番号2010-001292における開示内容は引用により本出願に組み込まれる。