(57)【特許請求の範囲】
【請求項１】
制御プレーン及びデータプレーンからスイッチの外部メモリへアクセスする方法であって、
ステップ（１）  制御モジュールが、認可されたエンティティ及び認可された操作の情報をスイッチに送信し、前記スイッチが、これらの認可された情報を受信した後に記憶するステップと、
ステップ（２）  前記スイッチが、ファイルI/O操作指令を受信して、該指令及び前記ステップ（１）で得られて認可された情報に基づいて、操作エンティティが該ファイルI/O操作指令の権限を有するか否かを確定するステップと、
ステップ（３）  前記ファイルI/O操作指令の権限を有する操作エンティティに対して、前記スイッチが、前記ファイルI/O操作指令からコマンドインデックス及びパラメータを抽出して、ファイルI/O操作を実行するステップと、
を含むことを特徴とする制御プレーン及びデータプレーンからスイッチの外部メモリへアクセスする方法。
【請求項２】
前記ステップ（１）において、前記認可されたエンティティ及び認可された操作の情報は、認可された操作リストの方式によって前記スイッチに送信され、前記認可された操作リストは、POSIX.1に定義されたファイルを操作する集合によって実現される、ことを特徴とする請求項１に記載の制御プレーン及びデータプレーンからスイッチの外部メモリへアクセスする方法。
【請求項３】
前記ステップ（２）は、
前記スイッチが、前記ファイルI/O操作指令を受信した後に、該指令から操作エンティティ及びファイルI/O操作のコマンドインデックスを抽出して、該指令から抽出された情報と前記ステップ（１）におけるスイッチに記憶されて認可された情報とを比較し、操作エンティティが該ファイルI/O操作指令の権限を有するか否かを判断して、前記権限を有する場合は、前記ステップ（３）を実行し、前記権限を有しない場合は、操作を拒絶して、且つ、拒絶メッセージを生成し、前記ファイルI/O操作指令の送信側に返すことを更に含む、
ことを特徴とする請求項１に記載の制御プレーン及びデータプレーンからスイッチの外部メモリへアクセスする方法。
【請求項４】
前記ステップ（３）は、
前記スイッチが、受信されたファイルI/O操作指令からファイルI/O操作のコマンドインデックス及びパラメータを抽出して、抽出された結果に基づいて対応するローカルファイルI/O操作指令を呼び出し、対応する操作結果を生成し、最終的に、操作結果をメッセージにパッケージした後に呼び出し側に返すことを更に含む、
ことを特徴とする請求項１に記載の制御プレーン及びデータプレーンからスイッチの外部メモリへアクセスする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク技術分野に関し、特に制御プレーン及びデータプレーンからスイッチの外部メモリへアクセスする方法に関する。
【背景技術】
【０００２】
２００８年以降、ネットワーク業界において、ＳＤＮ（ソフトウェア定義ネットワーク）周りの研究が展開され、新しい革新的なブームが始まった。ＳＤＮの提案は、最も早い出発点がネットワーク障害又はネットワーク攻撃に対応するためであり、インターネットの分散型ルーティングアーキテクチャでは、ネットワーク障害又はネットワーク攻撃が発生した後に、１つの点からネットワークの全体を起動しにくく、且つ、ルーティングの交換が中心によって制御されなく、ルーティングの収束時間が分単位のレベルであり、これは迅速な応答を遥かに満たすことができない。このため、研究者により１つの中心制御点からルーティング交換装置への制御戦略及びルーティングを伝達する見方が提案され、これがＳＤＮである。
【０００３】
ＳＤＮが提案された後において、実際の装置/プロトコル/ネットワーク/アプリケーションを検証する必要があり、この場合に、ＯＮＦのOpenFlowが出現した。OpenFlowは、コントローラ、スイッチの２種のエンティティに関する。OpenFlowは、コントローラのサウスバウンドインターフェイスであり、スイッチと通信して、制御情報、データ及び状態等を伝達する。
最初に、OpenFlowは、キャンパスネットワーク、企業ネットワーク、データ中心ネットワークに用いられ、その制御過程及びデータフローパスを最適化して、管理制御を強化する。その後、そのネットワーク制御の柔軟性のため、ネットワークの研究者は、それを使用して将来のネットワークアーキテクチャとプロトコルの研究を行い、その結果、華為会社のプロトコル忘却型フォワーディング（ＰＯＦ）及び米国のNick Mckeownに先導されたＰ４言語が出現した。
OpenFlowを中心に展開する研究は、コントローラ、ワイヤプロトコル及びスイッチの３つの方面に関し、コントローラは制御プレーンを体現し、スイッチはデータプレーンであり、ワイヤプロトコルは両者を連絡するブリッジである。OpenFlowの核心となる重点は、ネットワークのプログラマブルであり、初期の頃、強調されたのは制御プレーンのプログラマブルであり、今やデータプレーンのプログラマブルである。
【０００４】
データプレーンのプログラマブルにおいて、注目点はスイッチの計算リソース、ネットワークリソースの利用面であり、リソース記憶面の有効な方法に欠ける。従来の技術におけるスイッチは、記憶リソース制御の問題を解決することができなく、効果的に制御プレーンとデータプレーンからスイッチの外部メモリへアクセスすることができない。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、従来の技術において制御プレーン及びデータプレーンからスイッチの外部メモリへ効果的にアクセスすることができない欠点を克服し、それにより制御プレーン及びデータプレーンからスイッチの外部メモリへアクセスすることができる方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するために、本発明は、制御プレーン及びデータプレーンからスイッチの外部メモリへアクセスする方法を提供し、
ステップ（１）  制御モジュールが、認可されたエンティティ及び認可された操作の情報をスイッチに送信し、前記スイッチが、これらの認可された情報を受信した後に記憶するステップと、
ステップ（２）  前記スイッチが、ファイルI/O操作指令を受信して、該指令及び前記ステップ（１）で得られて認可された情報に基づいて、操作エンティティが該ファイルI/O操作指令の権限を有するか否かを確定するステップと、
ステップ（３）  前記ファイルI/O操作指令の権限を有する操作エンティティに対して、前記スイッチが、前記ファイルI/O操作指令からコマンドインデックス及びパラメータを抽出して、ファイルI/O操作を実行するステップと、を含む。
【０００７】
上記の技術的解決手段において、ステップ（１）では、前記認可されたエンティティ及び認可された操作の情報は、認可された操作リストの方式によって前記スイッチに送信され、前記認可された操作リストは、POSIX.1に定義されたファイルを操作する集合によって実現される。
【０００８】
上記の技術的解決手段において、前記ステップ（２）は、前記スイッチが、前記ファイルI/O操作指令を受信した後に、該指令から操作エンティティ及びファイルI/O操作のコマンドインデックスを抽出して、該指令から抽出された情報と前記ステップ（１）におけるスイッチに記憶されて認可された情報とを比較し、操作エンティティが該ファイルI/O操作指令の権限を有するか否かを判断して、前記権限を有する場合（ＹＥＳ）は、前記ステップ（３）を実行し、前記権限を有しない場合（ＮＯ）は、操作を拒絶して、且つ、拒絶メッセージを生成し、前記ファイルI/O操作指令の送信側に返すことを更に含む。  
【０００９】
上記の技術的解決手段において、前記ステップ（３）は、前記スイッチが、受信されたファイルI/O操作指令からファイルI/O操作のコマンドインデックス及びパラメータを抽出して、抽出された結果に基づいて対応するローカルファイルI/O操作指令を呼び出し、対応する操作結果を生成し、最終的に、操作結果をメッセージにパッケージした後に呼び出し側に返すことを更に含む。
【発明の効果】
【００１０】
本発明の利点は、以下の通りであり、本発明は、従来の制御プレーン及びデータプレーンからプログラマブルスイッチの外部メモリへアクセスすることができない問題を解決する。
【図面の簡単な説明】
【００１１】
【図１】コントローラとスイッチ（外部メモリを含む）との接続関係を示す模式図である。
【図２】スイッチ内部ファイルI/Oを示すモジュール図である。
【図３】本発明の方法におけるアクセス認可処理を示す流れ図である。
【図４】本発明の方法におけるファイルI/O操作の制御処理を示す流れ図である。
【図５】本発明の方法におけるファイルI/O操作の実行処理を示す流れ図である。
【図６】１つのＮＤＮノードにおける転送処理を示す模式図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明を更に説明する。
本発明の制御プレーン及びデータプレーンからスイッチの外部メモリ（メモリ）へアクセスする方法は、制御モジュール、スイッチ等のエンティティに関する。上記制御モジュールは、コントローラ又はアプリケーションであってよい。上記コントローラは、OpenFlowにおけるコントローラと機能的に近似し、OpenFlowのコントローラの役割に加えて、スイッチの外部メモリへのアクセス認可制御を担当し、特定のプロトコルでスイッチの外部メモリへのアクセスを定義する機能を有する。
上記スイッチは、OpenFlowのスイッチと機能的に近似し、外部メモリの機器（デバイス）を備え、OpenFlowのスイッチの役割に加えて、外部メモリの機器へのアクセス動作を実施する機能を有する。図１に示すように、コントローラ（制御モジュール）とスイッチとは、ワイヤプロトコルによって通信する。
【００１３】
スイッチと外部メモリの機器とは、IDE、SATA、ファイバチャネル、SCSI等のバス方式によって互いに通信することができる。図２に示すように、ローカルアクセスは、VFS/ファイルシステム/デバイス識別/デバイスドライバを使用するスイッチのオペレーティングシステムで、又は、VFSをデバイスドライバに直接マッピングすることによって実現される。スイッチと外部メモリの機器との間で如何に通信するかは、本発明の内容を限定するものではなく、ここでは、詳細な説明を省略する。
【００１４】
本発明の制御プレーン及びデータプレーンからスイッチの外部メモリへアクセスする方法は、以下のステップを含む。
【００１５】
ステップ（１）  図３を参照すると、制御モジュールは、認可されたエンティティ及び認可された操作の情報をスイッチに送信し、スイッチは、これらの認可された情報を受信した後に記憶する。
【００１６】
このステップに関して認可されたエンティティは、スイッチに実行されたあるアプリケーションプログラム又はプロトコルであってよく、認可された操作は、読み込み、書き込み、削除等の操作が含まれる複数の操作を含む。ある選択的な実現方式として、上記認可されたエンティティ、認可された操作の情報は、認可された操作リストの方式によってスイッチに送信される。
認可された操作リストはPOSIX.1に定義された又は自己定義したファイルを操作する集合によって実現されることができ、そのサブ集合又は全集合であってよく、バイナリマッピングテーブルの方式で示され、対応するビットが１であると、認可を示し、０であると、認可されないことを示し、これは制御モジュールがスイッチに認可された操作リストを送信する規模を大幅に低下させる。認可された操作リストもテキスト文字列の方法を採用することもできるが、これは、オーバーヘッドを増加してしまう。
【００１７】
ステップ（２）  図４を参照すると、スイッチが、ファイルI/O操作指令を受信した後に、該指令から操作エンティティ及びファイルI/O操作のコマンドインデックスを抽出して(インデックスは指令に対応するバイナリマッピングコードである。)、該指令から抽出された情報と、ステップ（１）におけるスイッチに記憶されている認可された情報とを比較し、操作エンティティが該ファイルI/O操作指令の権限を有するか否かを判断して、権限を有する場合（ＹＥＳ）は、次のステップを実行し、前記権限を有しない場合（ＮＯ）は、操作を拒絶して、且つ、拒絶メッセージを生成し、ファイルI/O操作指令の送信側に返す。
【００１８】
ステップ（３）  図５を参照すると、スイッチが、受信されたファイルI/O操作指令からファイルI/O操作のコマンドインデックス及びパラメータを抽出して、抽出された結果に基づいて対応するローカルファイルI/O操作指令を呼び出し、対応する操作結果を生成し、最終的に、操作結果をメッセージにパッケージした後に呼び出し側に返す。  
【００１９】
理解を容易にするため、以下の実施例において、1つの具体的な実例によって、本発明の方法を詳細に説明する。
【００２０】
図６に示すように、データネットワーキングを名前付きＮＤＮノードにおいて、Content Store表におけるデータ部分は、外部メモリの機器のサポートを必要とし、仮にデータがファイル方式で記憶されることとする。このシナリオにおいて、仮にＳＤＮの方法によってＮＤＮプロトコルを開発し、且つ、スイッチにイーサネット（登録商標）メッセージを採用したとすると、イーサネット（登録商標）メッセージにおいてＮＤＮに対応するタイプフィールドEthertypeは、0x8099(説明のみを目的とする)である。以下、このようなシナリオを参照して本発明の方法を説明する。
【００２１】
制御モジュールは、認可されたエンティティ(即ちEthertype＝0x8099)をアクセスしてそのディレクトリでのファイルの読み込み、書き込み、削除操作(その他の操作の禁止をデフォルトする)を認可する（仮にマッピングテーブルが３２ビットであることを認可すると、各ビットが１つの操作に対応し、且つ、この３つの操作が最も高いバイトであると、対応する１６進数が0xe0000000である）。制御モジュールは、認可情報「Ethertype＝0x8099、PermittedOperation＝0xe0000000」を認可された操作リストの方式で安全チャンネルによってスイッチに伝達し、スイッチは、認可されたエンティティのマークEthertype＝0x8099と許可された操作コードPermittedOperation＝0xe0000000を記憶する。
【００２２】
仮にスイッチがEthertypea＝0x8099のメッセージ、即ち、ＮＤＮのメッセージを受信したとすると、それと同時に、マッチングアクションテーブル（ＳＤＮサウスバウンドインターフェイスプロトコルOpenFlowにおけるテーブルは、フィールド名、値、動作（action）等の情報を含む。）では、該メッセージのペイロード部分をローカルファイルに書き込むことを要求する。
スイッチは、ファイルの書き込み操作を受け付けると、操作エンティティ(即ち、ＮＤＮ)、ファイル書き込み操作のコマンドインデックスを抽出して、認可されたリストを検査して、ＮＤＮのファイル読み込み操作指令が許可されると、ファイルI/O操作を実行する。
【００２３】
スイッチは、ファイル書き込み操作のコマンドインデックスとメッセージペイロードを抽出して、ローカルファイル書き込み操作指令を呼び出して書き込み操作を実行し、且つ、操作結果をメッセージにパッケージし、マッチングアクションテーブルにおける動作の呼び出し側に返す。
【００２４】
動作要求においては、ディレクトリ作成操作であると、スイッチは、ディレクトリ作成操作を受信する際に、操作エンティティ(即ちＮＤＮ)、ディレクトリ操作のコマンドインデックスを抽出して、認可されたリストを検査して、ＮＤＮのディレクトリ作成操作指令が禁止することを発見すると、操作を拒絶し、且つ、拒絶メッセージを生成し、マッチングアクションテーブルにおける動作の呼び出し側に返す。
【００２５】
最後に説明すべきことは、以上の実施例は本発明の技術的解決手段を説明するためのものだけであり、限定するためのものではない。実施例を参照して本発明を詳細に説明したが、当業者は、本発明の技術的解決手段に対する修正や等価の置換が、本発明の技術的解決手段の精神及び範囲を逸脱しなく、本発明の請求項の範囲に含まれることを理解すべきである。
【図１】
0006378841.tif 000002
【図２】
0006378841.tif 000003
【図３】
0006378841.tif 000004
【図４】
0006378841.tif 000005
【図５】
0006378841.tif 000006
【図６】
0006378841.tif 000007