(57)【特許請求の範囲】
【請求項１】
第１のネットワークサービスを実行するスイッチングノードと、
第２のネットワークサービスを実行する制御サーバと
を含み、
前記スイッチングノードは、
第１のプロセッサと、
第２のプロセッサと、
前記第１のプロセッサで処理するフレームの転送に使用する第１の内部バスと、
前記制御サーバに送信するフレームの転送に使用する第２の内部バスと、
前記第２のプロセッサに送信するフレームの転送に使用する第３の内部バスと、
入力されたフレームのヘッダ領域の複数の領域の情報のうち少なくとも1つの情報に基づいて、前記入力されたフレームの種類を確認し、前記入力されたフレームの種類に応じて、前記第１のネットワークサービスに関するフレームを前記第１の内部バスに転送して前記第１のプロセッサで処理し、前記第２のネットワークサービスに関するフレームを前記第３の内部バスに転送して前記第２のプロセッサに出力するフォワーディングエンジンと
を具備し、
前記第１の内部バスは、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）スイッチであり、
前記第２の内部バス及び前記第３の内部バスは、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）インターフェースであり、
前記第２のプロセッサは、入力されたフレームを、前記第３の内部バス、前記フォワーディングエンジン、及び前記第２の内部バスを介して前記制御サーバに出力し、前記入力されたフレームに応じた前記制御サーバによるフローテーブルの設定を制御し、
前記フォワーディングエンジンは、前記フローテーブルに基づいて、前記入力されたフレームの転送先を決定する
通信制御システム。
【請求項２】
請求項１に記載の通信制御システムであって、
前記第２のプロセッサは、
前記第２の内部バスを介して前記フォワーディングエンジンから受信したフレームに対して、前記制御サーバへの問合せを行うための情報を取得し、前記フレームの情報解析、及び変換を行う手段と、
前記受信したフレームについて、前記第２の内部バス及び前記フォワーディングエンジンを介して前記制御サーバへの問合せを行い、前記制御サーバから応答を受け取った場合、前記第１の内部バスを介して、前記フォワーディングエンジンに対して、前記第２のネットワークサービスに関する設定を行う手段と
を具備する
通信制御システム。
【請求項３】
第１のプロセッサと、
第２のプロセッサと、
前記第１のプロセッサで処理するフレームの転送に使用する第１の内部バスと、
制御サーバに送信するフレームの転送に使用する第２の内部バスと、
前記第２のプロセッサに送信するフレームの転送に使用する第３の内部バスと、
入力されたフレームのヘッダ領域の複数の領域の情報のうち少なくとも1つの情報に基づいて、前記入力されたフレームの種類を確認し、前記入力されたフレームの種類に応じて、第１のネットワークサービスに関するフレームを前記第１の内部バスに転送して前記第１のプロセッサで処理し、第２のネットワークサービスに関するフレームを前記第３の内部バスに転送して前記第２プロセッサに出力するフォワーディングエンジンと
を具備し、
前記第１の内部バスは、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）スイッチであり、
前記第２の内部バス及び前記第３の内部バスは、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）インターフェースであり、
前記第２のプロセッサは、入力されたフレームを、前記第３の内部バス、前記フォワーディングエンジン、及び前記第２の内部バスを介して前記制御サーバに出力し、前記入力されたフレームに応じた前記制御サーバによるフローテーブルの設定を制御し、
前記フォワーディングエンジンは、前記フローテーブルに基づいて前記入力されたフレームの転送先を決定する
スイッチングノード。
【請求項４】
請求項３に記載のスイッチングノードであって、
前記第２のプロセッサは、
前記第２の内部バスを介して前記フォワーディングエンジンから受信したフレームに対して、前記制御サーバへの問合せを行うための情報を取得し、前記フレームの情報解析、及び変換を行う手段と、
前記受信したフレームについて、前記第２の内部バス及び前記フォワーディングエンジンを介して前記制御サーバへの問合せを行い、前記制御サーバから応答を受け取った場合、前記第１の内部バスを介して、前記フォワーディングエンジンに対して、前記第２のネットワークサービスに関する設定を行う手段と
を具備する
スイッチングノード。
【請求項５】
スイッチングノード上のフォワーディングエンジンにより、入力されたフレームのヘッダ領域の複数の領域の情報のうち少なくとも1つの情報に基づいて、前記入力されたフレームの種類を確認することと、
前記入力されたフレームが第１のネットワークサービスに関するフレームであれば、前記入力されたフレームを第１の内部バスに転送して前記スイッチングノードが備える第１のプロセッサで処理することと、
前記入力されたフレームが第２のネットワークサービスに関するフレームであれば、第３の内部バスに転送して前記スイッチングノードが備える第２のプロセッサに出力することと、
前記第２のプロセッサが、入力されたフレームを、前記第３の内部バス、前記フォワーディングエンジン、及び前記第２の内部バスを介して前記制御サーバに出力し、前記入力されたフレームに応じた前記制御サーバによるフローテーブルの設定を制御することと、
前記フォワーディングエンジンが、前記フローテーブルに基づいて、前記入力されたフレームの転送先を決定することと
を含み、
前記第１の内部バスは、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）スイッチであり、
前記第２の内部バス及び前記第３の内部バスは、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）インターフェースである
通信制御方法。
【請求項６】
請求項５に記載の通信制御方法であって、
前記第２のプロセッサにより、前記第２の内部バスを介して前記フォワーディングエンジンから受信したフレームに対して、前記制御サーバへの問合せを行うための情報を取得し、前記フレームの情報解析、及び変換を行うことと、
前記第２のプロセッサにより、前記受信したフレームについて、前記第２の内部バス及び前記フォワーディングエンジンを介して前記制御サーバへの問合せを行い、前記制御サーバから応答を受け取った場合、前記第１の内部バスを介して、前記フォワーディングエンジンに対して、前記第２のネットワークサービスに関する設定を行うことと
を更に含む
通信制御方法。
【請求項７】
請求項５又は６に記載の通信制御方法をスイッチングノードに実行させるための通信制御用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御システムに関し、特にフレーム受信インターフェース分離型の通信制御システムに関する。
【背景技術】
【０００２】
近年、ＰＣＩバス（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  ｂｕｓ）に代わり、「ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）」というインターフェース（ｉｎｔｅｒｆａｃｅ（Ｉ／Ｆ））が広く利用されるようになっている。ＰＣＩバスはパラレル転送方式であり、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）はシリアル転送方式である。ＰＣＩバスとＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）との間に物理レベルでの互換性はないが、通信プロトコル等は共通のものが使用されている。ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）で用いられる最小構成の伝送路（レーン）では、片方向２．５Ｇｂｐｓ（Ｇｉｇａｂｉｔ  ｐｅｒ  ｓｅｃｏｎｄ：ギガビット毎秒）、双方向５．０Ｇｂｐｓの全二重通信が可能である。【０００３】
図１は、従来のシステム構成で、制御サーバ（コントローラ）で拡張ネットワークサービスを実行する際のシステム構成例である。従来のシステムでは、スイッチングノード上には、１つのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）だけが存在し、全てのサービス・プロトコルに関連する処理は、ネットワークスイッチフォワーディングエンジンの接続に用いられるシリアル転送インターフェースであるＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）を経由して、制御サーバと連携して動作する。【０００４】
図２は、従来のスイッチングノード上のＣＰＵの構成例を示している。ＣＰＵ上では、外部の制御サーバで実行される拡張ネットワークサービスに関連する処理のモジュール（ｍｏｄｕｌｅ）と、ローカルで実行される従来のネットワークサービスに関連する処理のモジュールが、オペレーティングシステム上のネットワークプロトコル処理として実行される。【０００５】
図２に示すような、従来のＣＰＵ上で構成されるソフトウェアスタック構成では、ＣＰＵが１つしか存在しないため、１つのＣＰＵが従来のネットワークサービスに関連する処理と拡張ネットワークサービスに関連する処理の両方に対応しなければならなかった。【０００６】
また、従来のシステム構成では、全ての内部モジュール（ＣＰＵ）と、外部接続用デバイス（ネットワークスイッチフォワーディングエンジン）との間のインターフェースは、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）のみであり、各内部モジュールによるリソースの奪い合いが発生するため、振分け・優先制御処理等が必要である。【０００７】
また、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）は、パケット（ｐａｃｋｅｔ）の送受信時にオーバヘッドを伴うため、高速なパケット送受信を行うことができないという問題が発生する。【０００８】
また、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）の制御が遅れた場合、ネットワークスイッチフォワーディングエンジンのＣＰＵ宛パケットキュー（ｑｕｅｕｅ）の溢れ（ｏｖｅｒｆｌｏｗ）、パケットの廃棄、サービス品質の劣化が発生する。【０００９】
以上の問題から、従来のシステム構成は、制御インターフェースの負荷が軽いサービス・プロトコルに関連する処理を前提にして構成されているため、外部の制御サーバと高速なパケットの送受信を必要とする構成を実現できない。【００１０】
なお、特許文献１（特開２００５−３１７０２１号公報）にＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）が説明されている。例えば、コンピューティングデバイスに含まれるＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）のトポロジは、ＣＰＵ及びメモリに加えて、ホストブリッジ及びいくつかのエンドポイント（すなわち、Ｉ／Ｏデバイス）を含む。複数のポイント間接続は、スイッチによって遂行される。【００１１】
また、関連する技術として、特許文献２（特開２００６−２０２２１０号公報）に情報処理装置、サービス公開方法及びプログラムが開示されている。この関連技術では、ＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）デバイスは、ＳＳＤＰ（Ｓｉｍｐｌｅ  Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）に従ってＵＰｎＰコントロールポイントに向けて自デバイス（自機器）の存在を広告し、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式で記述されたデバイス記述・サービス記述を公開する。ＵＰｎＰコントロールポイントは、ＵＰｎＰデバイス及びサービスをＳＳＤＰに従って発見し、各サービスのアクションをＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）に基づく呼び出しにより制御する。ＵＰｎＰサービスの状態変化は、ＧＥＮＡ（Ｇｅｎｅｒｉｃ  Ｅｖｅｎｔ  Ｎｏｔｉｆｉｃａｔｉｏｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ）に基づくイベント通知を購読するＵＰｎＰコントロールポイントに対して通知される。【００１２】
また、関連する技術として、特許文献３（特開２００７−２１９８７３号公報）にスイッチ及びネットワークブリッジ装置が開示されている。この関連技術では、ルートコンプレックスは、ＣＰＵからの命令を受け、ＣＰＵと周辺装置との間のピアツーピア（ｐｅｅｒ  ｔｏ  ｐｅｅｒ）通信、メモリと周辺装置との間のピアツーピア通信の転送を行う。このとき、ルートコンプレックスと周辺装置との間で、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）のパケット（ＴＬＰ：Ｔｒａｎｓａｃｔｉｏｎ  Ｌａｙｅｒ  Ｐａｋｃｅｔ）を用いて通信が行われる。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００５−３１７０２１号公報
【特許文献２】特開２００６−２０２２１０号公報
【特許文献３】特開２００７−２１９８７３号公報
【非特許文献】
【００１４】
【非特許文献１】“Ｔｈｅ  ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｃｏｎｓｏｒｔｉｕｍ”  ＜ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／＞
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  １．０．０  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０１）  Ｄｅｃｅｍｂｅｒ  ３１，  ２００９”  ＜ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｓｐｅｃ−ｖ１．０．０．ｐｄｆ＞
【発明の概要】
【００１５】
従来のネットワークスイッチングノード構成では、データを転送する部分と、転送部分を制御する部分が、ＰＣＩ、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）、又は、その他のローカルバスインターフェイスで接続されている。しかし、ＰＣＩ等では、制御情報が流れることを前提としているため、高速なデータ転送を行おうとすると、データ転送側並びに制御側のインターフェース部分の性能問題が発生する。
【００１６】
また、近年データ転送容量の増加と、より高度なサービス制御が要求される。そのため、従来のサービス性能を維持したまま、より高度で高速な処理を可能とするために、データ転送部分と制御部分のインターフェース性能の向上が必要となる。
【００１７】
本発明の通信制御システムは、従来ネットワークサービスを実行するスイッチングノードと、拡張ネットワークサービスを実行する制御サーバ（コントローラ）とを含む。スイッチングノードは、内部で処理するフレームの転送に使用する第１の内部バス（ＰＣＩエクスプレス等）と、外部に送信するフレームの転送に使用する第２の内部バス（ＬＡＮインターフェース等）と、フォワーディングエンジン（ネットワークスイッチフォワーディングエンジン）とを具備する。フォワーディングエンジンは、入力されたフレームの種類に応じて、従来ネットワークサービスに関するフレームを第１の内部バス側に転送し、スイッチングノード内部で処理し、拡張ネットワークサービスに関するフレームを第２の内部バス側に転送し、制御サーバを利用する。
【００１８】
本発明のスイッチングノードは、内部で処理するフレームの転送に使用する第１の内部バスと、外部に送信するフレームの転送に使用する第２の内部バスと、入力されたフレームの種類に応じて、従来ネットワークサービスに関するフレームを第１の内部バス側に転送して内部で処理し、拡張ネットワークサービスに関するフレームを第２の内部バス側に転送して外部の制御サーバを利用するフォワーディングエンジンとを具備する。
【００１９】
本発明の通信制御方法では、スイッチングノード上のフォワーディングエンジンにより、入力されたフレームの種類を確認する。また、入力されたフレームが従来ネットワークサービスに関するフレームであれば、入力されたフレームを第１の内部バス側に転送し、スイッチングノード内部で処理する。また、入力されたフレームが拡張ネットワークサービスに関するフレームであれば、入力されたフレームを第２の内部バス側に転送し、外部の制御サーバを利用する。
【００２０】
本発明の通信制御用プログラムは、スイッチングノード上のフォワーディングエンジンを用いて、入力されたフレームの種類を確認するステップと、入力されたフレームが従来ネットワークサービスに関するフレームであれば、入力されたフレームを第１の内部バス側に転送し、スイッチングノード内部で処理するステップと、入力されたフレームが拡張ネットワークサービスに関するフレームであれば、入力されたフレームを第２の内部バス側に転送し、外部の制御サーバを利用するステップとをスイッチングノードに実行させるためのプログラムである。なお、本発明の通信制御用プログラムは、記憶装置や記憶媒体に格納することが可能である。
【００２１】
従来のネットワークサービスに利用されるＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）を利用しないため、高速なフレーム送受信が可能で、制御サーバと連携した、高機能で高速なネットワークサービスが実現可能になる。
【図面の簡単な説明】
【００２２】
【図１】従来のシステム構成例を示す概念図である。
【図２】従来のスイッチングノード上のＣＰＵの構成例を示す概念図である。
【図３】本発明の通信制御システムの基本構成例を示す概念図である。
【図４】本発明におけるネットワークスイッチフォワーディングエンジンの構成例を示す概念図である。
【図５】本発明において、従来ネットワークサービスを実行するＣＰＵの構成例を示す概念図である。
【図６】本発明において、拡張ネットワークサービスに関連する処理を実行するＣＰＵの構成例を示す概念図である。
【図７】本発明における制御サーバの構成例を示す概念図である。
【発明を実施するための形態】
【００２３】
＜実施形態＞
以下に、本発明の実施形態について添付図面を参照して説明する。
【００２４】
［基本構成］
図３に示すように、本発明の通信制御システムは、スイッチングノード１０と、制御サーバ（コントローラ）２０を含む。
【００２５】
スイッチングノード１０は、ネットワークを介して、端末１〜３（端末１、端末２、端末３）や、制御サーバ２０と接続されている。ここでは、記載の簡略化のため、スイッチングノード１０の接続先として、端末１〜３や制御サーバ２０しか図示していないが、実際には、他のサーバやスイッチングノードとも接続されていても良い。制御サーバ２０は、スイッチングノード１０に対する拡張ネットワークサービスを実行する。なお、スイッチングノード１０及び制御サーバ２０は、それぞれ複数でも良い。
【００２６】
スイッチングノード１０は、ネットワークスイッチフォワーディングエンジン１００と、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）スイッチ２００と、ＣＰＵ３００と、メモリ３５０と、ＣＰＵ４００と、メモリ４５０を備える。
【００２７】
ネットワークスイッチフォワーディングエンジン１００は、端末１〜３から入力されるフレームの転送処理を行う。ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）スイッチ２００は、ネットワークスイッチフォワーディングエンジン１００と、ＣＰＵ３００やＣＰＵ４００との間でフレーム又は制御命令の送受信を行う。ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）スイッチ２００は、ネットワークスイッチフォワーディングエンジン１００の内部に組み込まれている場合もある。
【００２８】
なお、フレームは、ＯＳＩ参照モデルの第２層（レイヤ２：データリンク層）の通信で使われるＰＤＵ（プロトコル・データ・ユニット）の呼び名であり、パケットは、ＯＳＩ参照モデルの第３層（レイヤ３：ネットワーク層）の通信で使われるＰＤＵの呼び名である。ここでは、フレームとは、パケットを運ぶフレームである。すなわち、本発明において、フレームとパケットは、読み替え可能である。
【００２９】
ＣＰＵ３００は、従来ネットワークサービスを提供するため、従来のネットワークサービス・プロトコルに関連する処理を実行する。メモリ３５０は、ＣＰＵ３００により処理されるデータを記憶する。従来ネットワークサービスは、スイッチングノード１０が従来から対応しているサービスであり、スイッチングノード１０内部で完結する処理である。すなわち、ＣＰＵ３００は、内部での処理に対応したＣＰＵである。従来ネットワークサービスの例として、従来通りのフレーム転送やパケット交換（スイッチング）、ルーティング、スイッチングノード１０の制御・設定等が考えられる。
【００３０】
ＣＰＵ４００は、拡張ネットワークサービスを提供する外部の制御サーバ２０と連携するための処理を行う。メモリ４５０は、ＣＰＵ４００により処理されるデータを記憶する。拡張ネットワークサービスは、外部の制御サーバ２０に依存するサービスであり、スイッチングノード１０と外部の制御サーバ２０との連携により完結する処理である。すなわち、ＣＰＵ４００は、外部との連携に対応したＣＰＵである。拡張ネットワークサービスの例として、外部制御による経路制御や、ファイアウォール処理、ロードバランシング等が考えられる。
【００３１】
なお、ＣＰＵ３００、メモリ３５０、ＣＰＵ４００、及びメモリ４５０は、それぞれ複数でも良い。
【００３２】
また、スイッチングノード１０の内部構成は、一体化していても良い。例えば、近年では、マイコン等の１チップ化が進んでいる。従って、スイッチングノード１０に搭載される１チップマイコンが、ネットワークスイッチフォワーディングエンジン１００と、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）スイッチ２００と、ＣＰＵ３００と、メモリ３５０と、ＣＰＵ４００と、メモリ４５０を備えている事例が考えられる。また、既存のネットワーク機器において、仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ（ＶＭ））環境により、図３に示す構成を論理的に実現する事例も考えられる。図３に示す構成は、概念上の構成であり、物理的な構成とは限らない。
【００３３】
制御サーバ２０は、ネットワークインターフェース５００と、ＣＰＵ６００と、メモリ６５０を備える。
【００３４】
ネットワークインターフェース５００は、スイッチングノード１０との間で、フレームの送受信を行う。ＣＰＵ６００は、拡張ネットワークサービス・プロトコルに関連する処理の実行を行う。メモリ６５０は、ＣＰＵ６００により処理されるデータを記憶する。
【００３５】
［システム構成における従来との相違点］
なお、図１と図３を比較すると、本発明の通信制御システムでは、スイッチングノード１０が、２つのＣＰＵを備えている点で、従来のシステム構成と相違することがわかる。更に詳細な相違点については後述する。
【００３６】
［構成の要点］
ネットワークスイッチフォワーディングエンジン１００は、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）とＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）インターフェースを備え、入力されるフレームの種類に応じて、フレームの転送先を切り替える。すなわち、ネットワークスイッチフォワーディングエンジン１００は、入力されるフレームの種類を確認し、その結果に応じて、フレームの転送先を決定する。
【００３７】
ここでは、ネットワークスイッチフォワーディングエンジン１００は、ＬＡＮインターフェースとして、ＬＡＮインターフェース（１Ｇ  ＭＡＣ）１０１、１０２、１０３と、ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）１０４と、ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）１０６を備える。また、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）として、ＰＣＩエクスプレス・エンドポイント（ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｅｎｄ  Ｐｏｉｎｔ）１０５を備える。
【００３８】
「ＬＡＮインターフェース（１Ｇ  ＭＡＣ）」とは、１Ｇｂｐｓのデータ転送に対応したＬＡＮインターフェースという意味である。同様に、「ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）」とは、１０Ｇｂｐｓのデータ転送に対応したＬＡＮインターフェースという意味である。なお、「１Ｇ」や「１０Ｇ」は一例に過ぎない。
【００３９】
なお、現在、特殊な用途を除いて、ほとんどのＬＡＮはイーサネット（登録商標）である。ＬＡＮインターフェースの例として、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）等のネットワークカードが考えられる。このとき、従来ネットワークサービスに対しては、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）側にフレームの転送先を切り替える。ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）の先には、ＣＰＵ３００が設けられている。また、外部の制御サーバ２０と連携する拡張ネットワークサービスに対しては、ＬＡＮインターフェース側にフレームの転送先を切り替える。ＬＡＮインターフェースの先には、ＣＰＵ４００が設けられている。ＬＡＮインターフェース側へフレームを転送する際には、フレームに検索結果情報、入力ポート情報等を付与して転送する。
【００４０】
ＣＰＵ３００は、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）を備える。
【００４１】
ここでは、ＣＰＵ３００は、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）として、ＰＣＩエクスプレス・ルート・コンプレックス（ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｒｏｏｔ  Ｃｏｍｐｌｅｘ）３０１を備える。
【００４２】
ＣＰＵ３００は、ルート・コンプレックスとして、ネットワークスイッチフォワーディングエンジン１００に蓄積されたＣＰＵ３００宛のフレームを収集し、従来ネットワークサービスを実行する。
【００４３】
ＣＰＵ４００は、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）とＬＡＮインターフェースを備える。
【００４４】
ここでは、ＣＰＵ４００は、ＬＡＮインターフェースとして、ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）４０１を備える。また、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）として、ＰＣＩエクスプレス・エンドポイント（ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｅｎｄ  Ｐｏｉｎｔ）４０２を備える。
【００４５】
ＣＰＵ４００は、ネットワークスイッチフォワーディングエンジン１００から受信したフレームに対して、制御サーバ２０への問合せを行うための情報を取得し、オペレーションシステム上のネットワークプロトコルに影響を与えないようにするため、フレームの情報解析、及び変換を行い、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）を使用せずに、ＬＡＮインターフェースを使用して、フレームを高速に送受信する。
【００４６】
なお、外部接続用と同じ規格のＬＡＮインターフェース（１０Ｇ  ＭＡＣ）をスイッチングノード内部で使用しているため、ＣＰＵ４００とネットワークスイッチフォワーディングエンジン１００との間、及び、ネットワークスイッチフォワーディングエンジン１００と外部の制御サーバ２０との間は、同じフォーマットのフレームが同じ通信速度で通過することになる。すなわち、ネットワークスイッチフォワーディングエンジン１００は、フレームの情報解析、及び変換を行うことなく、ＣＰＵ４００と外部の制御サーバ２０との間で、フレームをそのまま転送することができる。
【００４７】
また、このＣＰＵ４００は、受信したフレームを、外部の制御サーバ２０からの応答があるまでメモリ４５０に保持し、外部の制御サーバ２０に対してサービスの問合せを行う際、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）等で利用される暗号化処理、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）等のネットワークプロトコルを利用し、ＬＡＮインターフェースを介して、外部の制御サーバ２０と高速に通信を行う。
【００４８】
制御サーバ２０は、ＬＡＮインターフェースを介して、フレームを受信し、拡張ネットワークサービスを実行し、スイッチングノード１０に応答を返す。
【００４９】
ＣＰＵ４００は、ＬＡＮインターフェースを介して、制御サーバ２０から応答を得た後、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）を用いて、ネットワークスイッチフォワーディングエンジン１００に対し、拡張ネットワークサービスに必要な設定を行う。
【００５０】
ここでは、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）とＬＡＮインターフェースを示しているが、実際には、これらの例に限定されない。ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）やＬＡＮインターフェースは、当然に、これらに類するものに置き換えることが可能である。少なくとも、スイッチングノード１０の内部においては、本質的に、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）は、「第１の内部バス」であり、ＬＡＮインターフェースは、「第２の内部バス」である。「第２の内部バス」は、「第１の内部バス」と規格が異なり、「第１の内部バス」よりも高速で大容量のデータ転送が可能である。「第２の内部バス」は、スイッチングノード１０の外部に送信する必要があるデータの転送に使用される。
【００５１】
［ハードウェアの例］
端末１〜３、及び制御サーバ２０の例として、ＰＣ（パソコン）、アプライアンス（ａｐｐｌｉａｎｃｅ）、シンクライアント端末／サーバ、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。
【００５２】
ＣＰＵ３００、ＣＰＵ４００、及びＣＰＵ６００は、プロセッサ（ｐｒｏｃｅｓｓｏｒ）の例示に過ぎない。ＣＰＵ３００、ＣＰＵ４００、及びＣＰＵ６００は、マイクロプロセッサ（ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ）、マイクロコントローラ、或いは、同様の機能を有する半導体集積回路（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（ＩＣ））等でも良い。
【００５３】
メモリ３５０、メモリ４５０、及びメモリ６５０の例として、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ等の半導体記憶装置、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の補助記憶装置、又は、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のリムーバブルディスクやＳＤメモリカード（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  ｍｅｍｏｒｙ  ｃａｒｄ）等の記憶媒体（メディア）等が考えられる。
【００５４】
ネットワークスイッチフォワーディングエンジン１００の例として、ＬＡＮに対応した基板（マザーボードやＩ／Ｏボード）等の半導体集積回路、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）等のネットワークアダプタ、或いは、同様の拡張カード等が考えられる。ここでは、ネットワークスイッチフォワーディングエンジン１００は、ハードウェアで高速に処理を行うために、ネットワークプロセッサ（Ｎｅｔｗｏｒｋ  Ｐｒｏｃｅｓｓｏｒ）を搭載しているものとする。
【００５５】
但し、実際には、これらの例に限定されない。
【００５６】
［オープンフロー（ＯｐｅｎＦｌｏｗ）技術との関係］
オープンフロー（ＯｐｅｎＦｌｏｗ）技術においては、制御サーバ２０は、コントローラとして、システム内の通信経路（パス）を制御する。オープンフロー技術とは、コントローラが、ルーティングポリシーに従い、マルチレイヤ及びフロー単位の経路情報をスイッチに設定し、経路制御やノード制御を行う技術を示す。
【００５７】
オープンフロー技術では、コントローラが、ネットワーク内のスイッチを監視し、通信状況に応じて、ネットワーク内のスイッチにパケットの配送経路を動的に設定する。これにより、経路制御機能がルータやスイッチから分離され、コントローラによる集中制御によって最適なルーティング、トラフィック管理が可能となる。オープンフロー技術が適用されるスイッチは、従来のルータやスイッチのようにパケットやフレームの単位ではなく、エンド・ツー・エンド（Ｅｎｄ  ｔｏ  Ｅｎｄ）のフローとして通信を取り扱う。
【００５８】
例えば、制御サーバ２０は、スイッチングノード１０のフローテーブルにフローエントリを登録することで、当該スイッチングノード１０の動作（例えばパケットデータの中継動作）を制御する。
【００５９】
フローテーブルには、所定のマッチ条件（ルール）に適合するパケットに対して行うべき所定の処理（アクション）を定義したフローエントリが登録される。ルールに適合するパケット群（パケット系列）をフローと呼ぶ。
【００６０】
フローのルールは、パケットの各プロトコル階層のヘッダ領域に含まれる宛先アドレス（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）、送信元アドレス（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）、宛先ポート（Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ）、送信元ポート（Ｓｏｕｒｃｅ  Ｐｏｒｔ）のいずれか又は全てを用いた様々な組み合わせにより定義され、区別可能である。なお、上記のアドレスには、ＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ａｄｄｒｅｓｓ）やＩＰアドレス（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ａｄｄｒｅｓｓ）を含むものとする。また、上記に加えて、入口ポート（Ｉｎｇｒｅｓｓ  Ｐｏｒｔ）の情報も、フローのルールとして使用可能である。
【００６１】
フローのアクションは、通常、所定の転送先へのパケット転送である。無論、フローのアクションとして、パケット破棄を指定することも可能である。
【００６２】
オープンフロー技術の詳細については、非特許文献１、２に記載されている。
【００６３】
［ネットワークスイッチフォワーディングエンジンの構成］
図４は、ネットワークスイッチフォワーディングエンジン１００の構成例を示す。なお、この構成は、プログラム等により実現したソフトウェア構成でも良いし、回路等により実現したハードウェア構成でも良い。
【００６４】
ネットワークスイッチフォワーディングエンジン１００は、ＬＡＮインターフェース（１Ｇ  ＭＡＣ）１０１、１０２、１０３と、ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）１０４と、ＰＣＩエクスプレス・エンドポイント（ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｅｎｄ  Ｐｏｉｎｔ）１０５と、ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）１０６と、フレーム解析処理部１０７と、テーブル検索部１０８と、転送テーブル１０９と、テーブル検索結果レジスタ１１０と、ＣＰＵ宛パケットキュー１１１と、スイッチング転送回路部１１２と、スイッチファブリック共有パケットバッファ１１３と、テーブル検索結果付与回路部１１４と、宛先認識回路部１１５を備える。
【００６５】
ＬＡＮインターフェース（１Ｇ  ＭＡＣ）１０１、１０２、１０３は、それぞれ端末１〜３からフレームを受信するために設けられている。
【００６６】
ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）１０４は、制御サーバ２０と通信するために設けられている。ここでは、説明の簡略化のため、ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）１０４の接続先として、制御サーバ２０しか図示していないが、実際には、ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）１０４のポートが複数あり、他のサーバやスイッチングノードと接続されている場合もある。
【００６７】
ＰＣＩエクスプレス・エンドポイント（ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｅｎｄ  Ｐｏｉｎｔ）１０５は、ＣＰＵ３００と通信するために設けられている。
【００６８】
ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）１０６は、ＣＰＵ４００と通信するために設けられている。
【００６９】
フレーム解析処理部１０７は、受信したフレームを解析する。テーブル検索部１０８は、当該フレームの解析結果に基づいて、転送テーブル１０９を参照し、当該フレームの宛先（転送先）の検索を行う。転送テーブル１０９は、フレームの宛先（転送先）に関する情報を格納している。ここでは、転送テーブル１０９は、オープンフロー技術におけるフローテーブルである。テーブル検索部１０８は、フレームのヘッダ領域に含まれる各種の情報に基づいて、転送テーブル１０９から該当するフローエントリを検出し、そのフローエントリに定義されたアクションに従って、フレームの宛先（転送先）を決定する。
【００７０】
テーブル検索結果レジスタ１１０は、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）に繋がるＣＰＵ３００宛のフレームに対する転送テーブルの検索結果を保持する。ここでは、テーブル検索結果レジスタ１１０は、転送テーブル１０９におけるフレームの宛先（転送先）の検索結果を保持する。ＣＰＵ宛パケットキュー１１１は、ＣＰＵ３００へのフレーム送受信時に、当該フレームのキューイング（ｑｕｅｕｉｎｇ）を行うために設けられている。
【００７１】
スイッチング転送回路部１１２は、ネットワークスイッチフォワーディングエンジン１００内でフレームのスイッチング転送処理を行う。スイッチファブリック共有パケットバッファ１１３は、フレーム転送時にバッファリング（ｂｕｆｆｅｒｉｎｇ）を行うために設けられている。
【００７２】
なお、キューイングやバッファリングの際のデータ形式は、フレーム形式でもパケット形式でも良い。パケット形式であっても、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）やＬＡＮインターフェースで送信される際に、パケット形式からフレーム形式に変換されるためである。
【００７３】
テーブル検索結果付与回路部１１４は、ＣＰＵ４００に検索結果を送信するため、この検索結果をフレームに付与し、このフレームをＬＡＮインターフェース１０６に出力する。宛先認識回路部１１５は、ＣＰＵ４００から任意の宛先への転送を認識する。
【００７４】
［従来ネットワークサービスを実行するＣＰＵの構成］
図５は、ＣＰＵ３００の構成例を示す。なお、この構成は、プログラム等により実現したソフトウェア構成でも良いし、回路等により実現したハードウェア構成でも良い。
【００７５】
ＣＰＵ３００は、ハードウェアシステム３１０と、オペレーティングシステム３２０と、ネットワークプロトコル３３０を備える。
【００７６】
ハードウェアシステム３１０は、ＰＣＩエクスプレス・ルート・コンプレックス（ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｒｏｏｔ  Ｃｏｍｐｌｅｘ）３０１を備える。
【００７７】
ＰＣＩエクスプレス・ルート・コンプレックス（ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｒｏｏｔ  Ｃｏｍｐｌｅｘ）３０１は、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）スイッチ２００を介して、ネットワークスイッチフォワーディングエンジン１００と通信するために設けられている。ＰＣＩエクスプレス・ルート・コンプレックス（ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｒｏｏｔ  Ｃｏｍｐｌｅｘ）３０１は、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）デバイスであり、ルート・コンプレックスとして機能する。
【００７８】
オペレーティングシステム３２０は、ＰＣＩ  ＤＭＡ制御部３２１と、フォワーディングエンジンドライバ３２２を備える。
【００７９】
ＰＣＩ  ＤＭＡ制御部３２１は、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）デバイスを利用し、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）スイッチ２００を介して、ネットワークスイッチフォワーディングエンジン１００に対してＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送制御を行う。フォワーディングエンジンドライバ３２２は、ネットワークスイッチフォワーディングエンジン１００をＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）経由で制御するために設けられている。ここでは、フォワーディングエンジンドライバ３２２は、ＰＣＩ  ＤＭＡ制御部３２１を利用する。ＰＣＩ  ＤＭＡ制御部３２１は、フォワーディングエンジンドライバ３２２の機能の１つでも良い。
【００８０】
ネットワークプロトコル３３０は、パケット送受信処理部３３１と、従来ネットワークサービス処理部３３２を備える。
【００８１】
パケット送受信処理部３３１は、フォワーディングエンジンドライバ３２２を利用し、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）スイッチ２００を介して、ネットワークスイッチフォワーディングエンジン１００と、フレームの送受信処理を行う。ここでは、パケット送受信処理部３３１は、フォワーディングエンジンドライバ３２２とＰＣＩ  ＤＭＡ制御部３２１を利用し、ネットワークスイッチフォワーディングエンジン１００に対してＤＭＡ転送制御を行い、ＣＰＵ宛パケットキュー１１１に蓄積されたフレームを要求・収集する。また、パケット送受信処理部３３１は、フォワーディングエンジンドライバ３２２から受け取ったフレームをパケット形式に変換する。従来ネットワークサービス処理部３３２は、パケット送受信処理部３３１から受け取ったパケットに対して、従来のサービス・プロトコルに関連する処理を行う。
【００８２】
また、パケット送受信処理部３３１は、従来ネットワークサービス処理部３３２から受け取ったパケットをフレーム形式に変換し、フォワーディングエンジンドライバ３２２を利用し、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）スイッチ２００を介して、ネットワークスイッチフォワーディングエンジン１００にフレームを送信する。
【００８３】
［拡張ネットワークサービスに関連する処理を実行するＣＰＵの構成］
図６は、ＣＰＵ４００の構成例を示す。なお、この構成は、プログラム等により実現したソフトウェア構成でも良いし、回路等により実現したハードウェア構成でも良い。
【００８４】
ＣＰＵ４００は、ハードウェアシステム４１０と、オペレーティングシステム４２０と、ネットワークプロトコル４３０を備える。
【００８５】
ハードウェアシステム４１０は、ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）４０１と、ＰＣＩエクスプレス・エンドポイント（ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｅｎｄ  Ｐｏｉｎｔ）４０２と、フレーム情報解析回路部４１１と、フレーム変換回路部４１２を備える。
【００８６】
ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）４０１は、ネットワークスイッチフォワーディングエンジン１００からフレームを受信し、制御サーバ２０とフレームの送受信を行うために設けられている。
【００８７】
ＰＣＩエクスプレス・エンドポイント（ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｅｎｄ  Ｐｏｉｎｔ）４０２は、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）スイッチ２００を介して、ネットワークスイッチフォワーディングエンジン１００と通信するために設けられている。ＰＣＩエクスプレス・エンドポイント（ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｅｎｄ  Ｐｏｉｎｔ）４０２は、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）デバイスであり、エンドポイントとして機能する。
【００８８】
フレーム情報解析回路部４１１は、ネットワークスイッチフォワーディングエンジン１００から受信したフレームの内部情報（ヘッダ情報等）を解析するために設けられている。フレーム変換回路部４１２は、オペレーティングシステム上のネットワークプロトコルスタックへ影響を与えないために設けられている。
【００８９】
オペレーティングシステム４２０は、ネットワークドライバ４２１と、ＴＣＰ／ＩＰスタック４２２と、フォワーディングエンジンドライバ４２３と、ＰＣＩ  ＤＭＡ制御部４２４を備える。
【００９０】
ネットワークドライバ４２１は、ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）４０１を介して、フレームの送受信を行うために設けられている。ＴＣＰ／ＩＰスタック４２２は、制御サーバとプロトコル通信を行うために設けられている。フォワーディングエンジンドライバ４２３は、ネットワークスイッチフォワーディングエンジン１００をＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）経由で制御するために設けられている。ＰＣＩ  ＤＭＡ制御部４２４は、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）デバイスを利用し、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）スイッチ２００を介して、ネットワークスイッチフォワーディングエンジン１００に対してＤＭＡ転送制御を行う。
【００９１】
ネットワークプロトコル４３０は、パケット受信処理部４３１と、パケットバッファ処理部４３２と、サービス処理問合せ回路部４３３と、暗号処理回路部４３４と、拡張ネットワークサービス設定部４３５を備える。
【００９２】
パケット受信処理部４３１は、フレーム変換回路部４１２からフレームをパケット形式で受信するために設けられている。パケットバッファ処理部４３２は、制御サーバ２０からの制御を待つために、パケット受信処理部４３１から受け取ったパケットを一旦バッファリングするために設けられている。サービス処理問合せ回路部４３３は、制御サーバ２０へ問合せを行うために設けられている。暗号処理回路部４３４は、制御サーバ２０への問合せ時・問合せ結果の応答時に、暗号化・復号処理を行うために設けられている。拡張ネットワークサービス設定部４３５は、制御サーバ２０への問合せ結果に応じて、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）スイッチ２００を介して、ネットワークスイッチフォワーディングエンジン１００に対して設定を行うために設けられている。
【００９３】
ネットワークスイッチフォワーディングエンジン１００に対する設定の例としては、オープンフロー技術におけるフローテーブル（又はフローエントリ）の登録・更新等が考えられる。
【００９４】
［ＣＰＵの構成における従来との相違点］
図２と、図５及び図６とを比較すると、本発明では、２つのＣＰＵが、従来のネットワークサービスに関連する処理と、拡張ネットワークサービスに関連する処理を分担している点で、従来のＣＰＵの構成と相違することがわかる。本発明では、ＣＰＵ上で、振分け・優先制御処理を行う必要がない。また、本発明では、従来のネットワークサービスに関連する処理のパケットと、拡張ネットワークサービスに関連する処理のパケットが、同じインタフェースを利用しない。そのため、パケット送受信時の遅延、ＣＰＵ宛パケットキュー（ｑｕｅｕｅ）の溢れ、パケットの廃棄、サービス品質の劣化も従来ほど発生しない。これにより、スイッチングノードの性能向上を図ることができる。
【００９５】
［従来のスイッチングノード上のＣＰＵの構成］
本発明との比較のために、図２を参照して、従来のスイッチングノード上のＣＰＵの構成例について説明する。なお、図２、図５、及び図６において、同じ名称のものは、基本的に同一のものである。
【００９６】
図２に示すように、従来のスイッチングノードにおいて、ＣＰＵ３００は、ハードウェアシステム３１０と、オペレーティングシステム３２０と、ネットワークプロトコル３３０を備える。
【００９７】
ハードウェアシステム３１０は、ＰＣＩエクスプレス・ルート・コンプレックス（ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｒｏｏｔ  Ｃｏｍｐｌｅｘ）３０１を備える。
【００９８】
オペレーティングシステム３２０は、ＰＣＩ  ＤＭＡ制御部３２１と、フォワーディングエンジンドライバ３２２と、振分け優先制御処理部３２３と、ネットワークドライバ３２４と、ＴＣＰ／ＩＰスタック３２５を備える。
【００９９】
従来のスイッチングノード上のＣＰＵ３００は、オペレーティングシステム３２０において、振分け優先制御処理部３２３と、ネットワークドライバ３２４と、ＴＣＰ／ＩＰスタック３２５を更に備えていた。
【０１００】
振分け優先制御処理部３２３は、受信したフレームに対して、従来のネットワークサービスに関連する処理と、拡張ネットワークサービスに関連する処理のいずれかを実行するための振分け・優先制御処理を行う。ネットワークドライバ３２４は、図６のネットワークドライバ４２１と同じ機能を持つ。ＴＣＰ／ＩＰスタック３２５は、図６のＴＣＰ／ＩＰスタック４２２と同じ機能を持つ。
【０１０１】
ネットワークプロトコル３３０は、パケット送受信処理部３３１と、従来ネットワークサービス処理部３３２と、パケット受信処理部３３３と、パケットバッファ処理部３３４と、サービス処理問合せ回路部３３５と、暗号処理回路部３３６と、拡張ネットワークサービス設定部３３７を備える。
【０１０２】
従来のスイッチングノード上のＣＰＵ３００は、ネットワークプロトコル３３０において、パケット受信処理部３３３と、パケットバッファ処理部３３４と、サービス処理問合せ回路部３３５と、暗号処理回路部３３６と、拡張ネットワークサービス設定部３３７を更に備えていた。
【０１０３】
パケット受信処理部３３３は、パケット受信処理部４３１と同じ機能を持つ。パケットバッファ処理部３３４は、パケットバッファ処理部４３２と同じ機能を持つ。サービス処理問合せ回路部３３５は、サービス処理問合せ回路部４３３と同じ機能を持つ。暗号処理回路部３３６は、暗号処理回路部４３４と同じ機能を持つ。拡張ネットワークサービス設定部３３７は、拡張ネットワークサービス設定部４３５と同じ機能を持つ。
【０１０４】
このとき、振分け優先制御処理部３２３は、受信したフレームに対して、従来のネットワークサービスに関連する処理を行う場合、当該フレームをパケット送受信処理部３３１に送信していた。
【０１０５】
また、振分け優先制御処理部３２３は、受信したフレームに対して、拡張ネットワークサービスに関連する処理を行う場合、当該フレームをパケット受信処理部３３３に送信していた。
【０１０６】
更に、振分け優先制御処理部３２３は、従来のネットワークサービスに基づくパケットと、拡張ネットワークサービスに基づくパケットの両方に対して、振分け・優先制御処理を行い、フォワーディングエンジンドライバ３２２を利用し、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）スイッチ２００を介して、ネットワークスイッチフォワーディングエンジン１００に送信していた。
【０１０７】
これにより、振分け優先制御処理部３２３は、従来のＣＰＵ３００とネットワークスイッチフォワーディングエンジン１００との間を接続する唯一のインターフェースであるＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）の混雑を緩和していた。
【０１０８】
［制御サーバの構成］
図７は、制御サーバ２０の構成例を示す。なお、この構成は、プログラム等により実現したソフトウェア構成でも良いし、回路等により実現したハードウェア構成でも良い。
【０１０９】
制御サーバ２０は、ネットワークインターフェース５００と、ＣＰＵ６００を備える。
【０１１０】
ネットワークインターフェース５００は、ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）５０１と、ＰＣＩエクスプレス・エンドポイント（ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｅｎｄ  Ｐｏｉｎｔ）５０２を備える。
【０１１１】
ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）５０１は、スイッチングノード１０と通信するために設けられている。
【０１１２】
ＰＣＩエクスプレス・エンドポイント（ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｅｎｄ  Ｐｏｉｎｔ）５０２は、ＣＰＵ６００と通信するために設けられている。ＰＣＩエクスプレス・エンドポイント（ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｅｎｄ  Ｐｏｉｎｔ）５０２は、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）デバイスであり、エンドポイントとして機能する。
【０１１３】
ＣＰＵ６００は、ハードウェアシステム６１０と、オペレーティングシステム６２０と、ネットワークプロトコル６３０を備える。
【０１１４】
ハードウェアシステム６１０は、ＰＣＩエクスプレス・ルート・コンプレックス（ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｒｏｏｔ  Ｃｏｍｐｌｅｘ）６０１を備える。
【０１１５】
ＰＣＩエクスプレス・ルート・コンプレックス（ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｒｏｏｔ  Ｃｏｍｐｌｅｘ）６０１は、ネットワークインターフェース５００と通信するために設けられている。ＰＣＩエクスプレス・ルート・コンプレックス（ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｒｏｏｔ  Ｃｏｍｐｌｅｘ）６０１は、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）デバイスであり、ルート・コンプレックスとして機能する。
【０１１６】
オペレーティングシステム６２０は、ネットワークドライバ６２１と、ＴＣＰ／ＩＰスタック６２２を備える。
【０１１７】
ネットワークドライバ６２１は、ネットワークインターフェース５００を制御する。ＴＣＰ／ＩＰスタック６２２は、スイッチングノード１０とプロトコル通信を行うために設けられている。
【０１１８】
ネットワークプロトコル６３０は、パケット送受信処理部６３１と、暗号処理回路部６３２と、拡張ネットワークサービス処理部６３３を備える。
【０１１９】
パケット送受信処理部６３１は、パケット形式で、スイッチングノード１０とフレームの送受信を行う。暗号処理回路部６３２は、パケット送受信処理部６３１でのフレームの送受信時に、暗号化・復号処理を行う。拡張ネットワークサービス処理部６３３は、制御サーバ上で実行されるサービスやプロトコルを提供する。
【０１２０】
［基本動作］
次に、図３、図４、図５、図６、図７を用いて、本実施形態の動作について説明する。
【０１２１】
［端末からのフレーム受信時の動作］
スイッチングノード１０のネットワークスイッチフォワーディングエンジン１００のＬＡＮインターフェース（１Ｇ  ＭＡＣ）１０１、１０２、１０３は、それぞれ端末１、端末２、端末３から、ネットワーク経由で、様々なフレームを受信する。フレーム解析処理部１０７は、ネットワークスイッチフォワーディングエンジン１００内で、フレームのヘッダの解析を行う。次に、テーブル検索部１０８は、そのフレームの転送方法の決定のため、転送テーブル１０９を検索参照して、そのフレームに対する処理（アクション）を確認する。
【０１２２】
［フレームに対する処理］
フレームに対する処理は、大きく以下の３つに分類される。
【０１２３】
［処理１］
１つは、サービスやプロトコルにより転送テーブル１０９に既に、宛先と処理方法が記載されている場合で、その場合、スイッチング転送回路部１１２は、その記載内容に従って、宛先に対してスイッチング処理を行い、フレームを外部に転送する。
【０１２４】
［処理２］
２つめは、従来のネットワークサービスを利用するフレームが新規に入ってきた場合である。その場合、テーブル検索部１０８は、入力されたポート情報並びにテーブル検索の結果をテーブル検索結果レジスタ１１０に格納すると共に、フレームをパケット形式でＣＰＵ宛パケットキュー１１１に格納する。フレームがパケット形式でＣＰＵ宛パケットキュー１１１に格納されると、ネットワークスイッチフォワーディングエンジン１００は、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）に接続されるＣＰＵ３００に対して、割込み通知等を行い、フレームが格納されたことを通知する。ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）の先に接続されたＣＰＵ３００がフレームを受信するために、フォワーディングエンジンドライバ３２２は、ＰＣＩ  ＤＭＡ制御部３２１を利用して、ネットワークスイッチフォワーディングエンジン１００に対して、ＤＭＡ制御を行う。パケット送受信処理部３３１は、パケット形式で、フレームの受信処理を行う。従来ネットワークサービス処理部３３２は、パケット送受信処理部３３１からのパケットを解析する。パケット送受信処理部３３１は、従来ネットワークサービス処理部３３２から解析結果を受け取った場合、再度ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）を利用して、解析結果に基づくフレームを外部に送る。あるいは、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）を利用して、次回以降に受信するフレームのために、ネットワークスイッチフォワーディングエンジン１００の設定等を行う。
【０１２５】
［処理３］
３つめは、制御サーバ２０を利用し、拡張サービス・プロトコルを利用するフレームが新規に入ってきた場合である。その場合、入力されたポート情報並びにテーブル検索の結果が、フレームと共に、スイッチング転送回路部１１２並びにスイッチファブリック共有パケットバッファ１１３を経由し、テーブル検索結果付与回路部１１４に送られる。テーブル検索結果付与回路部１１４は、入力されたポート情報並びにテーブル検索の結果を、フレーム内に格納し、ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）１０６を介して、ＣＰＵ４００にそのまま転送する。なお、スイッチング転送回路部１１２は、ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）１０６を利用してフレームを送信する時、ＬＡＮのフロー制御等でフレームを送信できない場合、フレームを、スイッチファブリック共有パケットバッファ１１３にバッファリングする。これにより、接続先のＣＰＵの性能よりも、入力されるフレームの負荷が高い場合に、フレームの廃棄を最小限に抑える事が可能になる。
【０１２６】
［拡張ネットワークサービスの利用時の動作］
ネットワークスイッチフォワーディングエンジン１００は、従来ネットワークサービスで、端末１〜３から受信したフレームを処理できない場合、ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）１０６を介して、ＣＰＵ４００に、当該フレームを送信する。
【０１２７】
ＣＰＵ４００のフレーム情報解析回路部４１１は、ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）４０１を介して、ネットワークスイッチフォワーディングエンジン１００からのフレームを受信する。フレーム情報解析回路部４１１は、フレーム内に格納された情報を解析する。パケット受信処理部４３１は、パケット形式で、フレーム情報解析回路部４１１から高速にフレームを受信する。パケットバッファ処理部４３２は、フレームを、パケット形式でバッファリングする。その後、サービス処理問合せ回路部４３３は、フレームに対しての処理手順を確認するため、制御サーバ２０への問合せ処理を行う。
【０１２８】
［制御サーバへの問合せ時の動作］
サービス処理問合せ回路部４３３による、制御サーバ２０への問合せ時に、暗号処理回路部４３４は、必要に応じて、フレームの暗号化処理を行い、オペレーティングシステム４２０上のＴＣＰ／ＩＰスタック４２２を利用し、ネットワークドライバ４２１を介して制御サーバ２０との通信を開始する。
【０１２９】
ネットワークドライバ４２１がフレームの送信を開始した際、フレーム変換回路部４１２は、ネットワークスイッチフォワーディングエンジン１００の任意のポートに対してフレームを送信するため、フレームに制御用のヘッダを付与する。
【０１３０】
ネットワークスイッチフォワーディングエンジン１００内の宛先認識回路部１１５は、受信したフレームの制御用のヘッダを認識し、制御用のヘッダを剥がした（削除した）後、スイッチング転送回路部１１２を経由して、ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）１０４における指定したポートへフレームを転送する。指定したポートの先には、制御サーバ２０が接続されている。
【０１３１】
［制御サーバでの動作］
制御サーバ２０は、スイッチングノード１０に対して、次回以降に（今後）スイッチングノード１０が受信したフレームを最適な経路で転送するための制御や、スイッチングノード１０が制御サーバ２０と連携するための制御を行い、ネットワークサービスの向上を行う。
【０１３２】
制御サーバ２０は、オペレーティングシステム６２０上のネットワークドライバ６２１によって制御されるＬＡＮインターフェース（１０Ｇ  ＭＡＣ）５０１を介し、スイッチングノード１０からの問合せフレームを受信する。ＴＣＰ／ＩＰスタック６２２は、受信されたフレームを処理し、このフレームを、ネットワークプロトコル６３０のパケット送受信処理部６３１、及び暗号処理回路部６３２を介して、拡張ネットワークサービス処理部６３３へ届ける。
【０１３３】
拡張ネットワークサービス処理部６３３は、スイッチングノード１０からの問合せフレームの情報を用いて、プロトコル処理を行い、フレームの宛先情報や、フレーム制御情報を、オペレーティングシステム６２０、ネットワークインターフェース５００を介して、スイッチングノード１０に対して返答する。
【０１３４】
［制御サーバからの応答後の動作］
スイッチングノード１０のネットワークスイッチフォワーディングエンジン１００のＬＡＮインターフェース（１０Ｇ  ＭＡＣ）１０４は、制御サーバ２０から返答されたフレームを受信し、ネットワークスイッチフォワーディングエンジン１００、及びＬＡＮインターフェース（１０Ｇ  ＭＡＣ）１０６を介して、ＣＰＵ４００にオーバヘッドなく送信する。
【０１３５】
ＣＰＵ４００に送信されたフレームは、ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）４０１、フレーム情報解析回路部４１１、フレーム変換回路部４１２、ネットワークドライバ４２１、ＴＣＰ／ＩＰスタック４２２、暗号処理回路部４３４を介して、サービス処理問合せ回路部４３３に届けられる。
【０１３６】
サービス処理問合せ回路部４３３は、届けられたフレームを、制御内容によって、指定された宛先に転送する際は、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）を利用せず、ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）４０１を利用し、フレームに宛先情報を付与し、ネットワークスイッチフォワーディングエンジン１００へ送信する。
【０１３７】
ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）１０６は、サービス処理問合せ回路部４３３からフレームを受信する。宛先認識回路部１１５は、フレームの宛先を認識し、このフレームをスイッチング転送回路部１１２へ送信する。スイッチング転送回路部１１２は、ＬＡＮインターフェース（１Ｇ  ＭＡＣ）１０１、１０２、１０３や、ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）１０４を介して、このフレームを指定された宛先に転送する。
【０１３８】
また、制御内容が特定フレームに対しての制御指示の場合、サービス処理問合せ回路部４３３は、拡張ネットワークサービス設定部４３５に対して、設定情報を送信する。拡張ネットワークサービス設定部４３５は、フォワーディングエンジンドライバ４２３、ＰＣＩ  ＤＭＡ制御部４２４、ＰＣＩエクスプレス・エンドポイント（ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｅｎｄ  Ｐｏｉｎｔ）４０２、及びＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）スイッチ２００を利用し、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）スイッチ２００を介して、ネットワークスイッチフォワーディングエンジン１００に対して、転送テーブル１０９の設定や、動作設定等の制御を行う。
【０１３９】
制御に関しては、ＣＰＵ３００と同様、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）を利用することで、制限なく従来と同じように設定を容易に行うことを可能にする。
【０１４０】
以上説明したように、本発明によれば、１０Ｇレベル（転送速度１０Ｇｂｐｓ）の高速なインターフェースと、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）ベースの従来の制御インターフェースを混在させることで、ソフトウェアのインパクトを最小したまま、外部の制御サーバを活用した、高速で高機能なサービスを実現する、スイッチングノードが構成可能である。
【０１４１】
従来、制御情報のインターフェースは、ＰＣＩ並びにＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）のみが使用されていたが、本発明のように、制御サーバを外部に設け、制御インターフェース上で高速なデータのやり取りを可能にするために、ＬＡＮ上で、制御情報を付与し、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）での制御ラインと、ＭＡＣヘッダ情報でのフレーム転送ラインを、スイッチングノードに構成することで、従来のネットワーク装置内で行っていた制御を、外部で効率良く行わせる事が可能になる。
【０１４２】
本発明のように、１０Ｇレベルの高速なインターフェースと、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）ベースの従来の制御インターフェースを混在させることで、ソフトウェアのインパクトを最小したまま、外部の制御サーバを活用し、高速で高機能なサービスを実現するスイッチングノードの構成が可能になる。
【０１４３】
＜本発明の応用＞
なお、本発明は、上記の実施形態に限定されるものではなく、例えば外部に制御サーバを用いない構成においてもスイッチングノードの機能拡張だけを行う装置にも適用することができる。
【０１４４】
＜まとめ＞
本発明は、ネットワークスイッチングノードにおいて、従来のサービス・プロトコル処理の性能劣化の影響を与えることなく、外部の制御サーバを活用して、より高速で高機能なサービス・プロトコルを構成するノード構成に関する。
【０１４５】
図３において、スイッチングノード１０、制御サーバ２０の関係で構成されるシステムにおいて、スイッチングノードと制御サーバ間で、高速に制御フレームのやりとりを可能にし、より高速で高機能なサービス・プロトコル処理機能を制御サーバ２０上で実現できる機能を提供するものである。
【０１４６】
図３において、ネットワークフォワーディングエンジン４０１から送信される制御フレームは、従来のサービスはＰＣＩエクスプレス・エンドポイント（ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｅｎｄ  Ｐｏｉｎｔ）１０５のインターフェースを用いて、ＣＰＵ３００へ送信して、従来のサービス処理を実行する。
【０１４７】
一方、制御サーバを利用する時は、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）を利用せず、ネットワークフレームの送受信に適したＬＡＮインターフェース（１０Ｇ  ＭＡＣ）インターフェース１０６を利用し、制御フレームを高速に送信する。
【０１４８】
ＣＰＵ４００は、制御フレームを受信し、暗号化処理はフレーム処理を行った後、再度ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）４０１を介して、制御サーバ２０へ制御フレームを送信し、ＣＰＵ６００上で実行される拡張ネットワークサービスを実行する。
【０１４９】
拡張ネットワークサービスを実行するＣＰＵ６００は、必要に応じて、応答をスイッチングノード１０に返信する。
【０１５０】
スイッチングノード１０のＣＰＵ４００は、返信内容によって、ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）４０１、又は、ＰＣＩエクスプレス・エンドポイント（ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｅｎｄ  Ｐｏｉｎｔ）４０２のいずれかを利用する。ここでは、ＣＰＵ４００は、ＬＡＮインターフェース（１０Ｇ  ＭＡＣ）４０１、及びネットワークスイッチフォワーディングエンジン１００を用いてパケットの転送を行うか、ＰＣＩエクスプレス・エンドポイント（ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｅｎｄ  Ｐｏｉｎｔ）４０２を利用し、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）スイッチ２００を介して、ネットワークスイッチフォワーディングエンジン１００に対して、サービスに必要な制御の設定を行う。
【０１５１】
従って、本発明では、従来のネットワークサービスに利用されるＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）の利用しないため、高速なパケット送受信が可能で、制御サーバ２０と連携した、高機能で高速なネットワークサービスが実現可能になる。
【０１５２】
従来のシステム構成では、スイッチングノード上には、１つのＣＰＵだけが存在し、このＣＰＵが、全てのサービス・プロトコルに関連する処理を実行する。従来のシステム構成では、１つのＣＰＵは、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）を経由して、ネットワークスイッチフォワーディングエンジンに接続されており、ネットワークスイッチフォワーディングエンジンを介して、外部の制御サーバと連携して動作する。すなわち、従来のシステム構成では、１つのＣＰＵ（全ての内部モジュール）とネットワークスイッチフォワーディングエンジン（外部接続用デバイス）との接続に用いられるインターフェースは、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）のみであり、各内部モジュールによるリソースの奪い合いが発生するため、振分け・優先制御処理等が必要である。また、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）の制御が遅れた場合、ネットワークスイッチフォワーディングエンジンのＣＰＵ宛パケットキューの溢れ、パケットの廃棄し、サービス品質の劣化が発生する。
【０１５３】
これに対し、本発明のシステム構成では、ネットワークスイッチフォワーディングエンジンは、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）とＬＡＮインターフェースを備える。
【０１５４】
ネットワークスイッチフォワーディングエンジンは、入力されるフレームの種類に応じて、従来ネットワークサービスに対してはＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）側、外部の制御サーバと連携する拡張ネットワークサービスに対しては、ＬＡＮインターフェースに、フレームの転送先を切り替える。
【０１５５】
ネットワークスイッチフォワーディングエンジンは、ＬＡＮインターフェース側へフレームを転送する際には、フレームに検索結果情報、入力ポート情報等を付与して転送する。
【０１５６】
また、ネットワークスイッチフォワーディングエンジンのＬＡＮインターフェースの接続先に、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）とＬＡＮインターフェースを備えたＣＰＵを設ける。
【０１５７】
このＣＰＵは、ネットワークスイッチフォワーディングエンジンから受信したフレームに対して、制御サーバへの問合せを行うための情報を取得し、オペレーションシステム上のネットワークプロトコルに影響を与えないようにするため、フレームの情報解析、及び変換を行い、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）を使用せずに、ＬＡＮインターフェースを使用して、フレームを高速に送受信する。
【０１５８】
なお、外部接続用と同じ規格のＬＡＮインターフェース（１０Ｇ  ＭＡＣ）をスイッチングノード内部で使用しているため、ＣＰＵとネットワークスイッチフォワーディングエンジンとの間、及び、ネットワークスイッチフォワーディングエンジンと外部の制御サーバとの間は、同じフォーマットのフレームが同じ通信速度で通過することになる。すなわち、ネットワークスイッチフォワーディングエンジンは、フレームの情報解析、及び変換を行うことなく、ＣＰＵと外部の制御サーバとの間で、フレームをそのまま転送することができる。
【０１５９】
また、上記のＣＰＵは、受信したフレームが外部の制御サーバからの応答があるまでメモリに保持し、制御サーバに対してサービスの問合せを行う際、ＳＳＬ等で利用される暗号化処理、ＴＣＰ／ＩＰ等のネットワークプロトコルを利用し、ＬＡＮインターフェースを介して、外部の制御サーバと高速に通信を行う。
【０１６０】
制御サーバでは、ＬＡＮインターフェースを介して、スイッチングノードから問合せフレームを受信し、拡張ネットワークサービスを実行し、スイッチングノードに応答を返す。
【０１６１】
スイッチングノードでは、ＬＡＮインターフェースを介して、制御サーバから応答を得た後、拡張ネットワークサービスに必要な設定を、ＰＣＩエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）を経由して、ネットワークスイッチフォワーディングエンジンに設定を行う。
【０１６２】
＜産業上の利用可能性＞
本発明は、セキュリティサーバ、ファイヤーウォール、ロードバランサ等の、より高度サービスをサポートするネットワーク装置に適用することが考えられる。但し、実際には、これらの例に限定されない。
【０１６３】
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
【０１６４】
＜備考＞
なお、本出願は、日本出願番号２０１０−０３６４１６に基づく優先権を主張するものであり、日本出願番号２０１０−０３６４１６における開示内容は引用により本出願に組み込まれる。
【図１】
0005467541.tif 000002
【図２】
0005467541.tif 000003
【図３】
0005467541.tif 000004
【図４】
0005467541.tif 000005
【図５】
0005467541.tif 000006
【図６】
0005467541.tif 000007
【図７】
0005467541.tif 000008