(57)【特許請求の範囲】
【請求項１】
フローエントリをフローテーブル内に記憶するための方法であって、
前記フローエントリは、少なくとも１つの完全一致フィールドと、少なくとも１つのワイルドカード一致フィールドとを具備し、
前記フローテーブルは、完全一致フローテーブルと、ワイルドカード一致フローテーブルとを具備し、
前記方法は、
スイッチによって、前記フローエントリ内の前記少なくとも１つの完全一致フィールドを抽出するとともに、前記少なくとも１つの完全一致フィールドを、前記完全一致フローテーブル内の完全一致エントリの少なくとも１つの完全一致フィールドとマッチングするステップと、
前記スイッチによって、前記完全一致フローテーブル内の完全一致エントリを生成するとともに、前記完全一致フローテーブルの前記完全一致エントリ内に前記少なくとも１つの完全一致フィールドを記憶するとともに、前記マッチングが失敗するときに、前記完全一致エントリへインデックス値を割り当てるとともに、前記マッチングが成功するときに、前記スイッチによって前記完全一致フローテーブルの前記完全一致エントリに対応するインデックス値を取得するステップと、
前記スイッチによって、前記フローエントリ内の前記少なくとも１つのワイルドカード一致フィールドを抽出するステップと、
前記スイッチによって、前記ワイルドカード一致フローテーブル内のワイルドカードエントリを生成するとともに、前記ワイルドカードエントリ内に前記少なくとも１つのワイルドカード一致フィールドを記憶するステップと、
前記スイッチによって、前記ワイルドカードエントリのインデックスフィールド内に前記インデックス値を記憶するステップと、
を具備する方法。
【請求項２】
前記方法が、
前記ワイルドカード一致フローテーブル内の第１ワイルドカードエントリに対して適切な時間を設定するステップと、
前記適切な時間が経過したとき、前記第１ワイルドカードエントリ内に記憶された第１インデックス値が別のワイルドカードエントリ内に記憶された第２インデックス値と異なる場合、前記第１ワイルドカードエントリと、前記第１ワイルドカードエントリの前記インデックスフィールド内の前記第１インデックス値に対応する少なくとも１つの完全一致エントリとの両方を削除するステップと、
を具備する請求項１に記載の方法。
【請求項３】
前記方法は、
前記適切な時間が経過したとき、前記第１ワイルドカードエントリ内に記憶された前記第１インデックス値が別のワイルドカードエントリ内に記憶されたインデックス値と同じ場合、前記第１ワイルドカードエントリを削除するステップ
を具備する請求項２に記載の方法。
【請求項４】
フローテーブルをマッチングするための方法であって、
前記フローテーブルは、完全一致フローテーブルと、ワイルドカード一致フローテーブルとを具備し、
前記完全一致フローテーブルは、１つ以上の完全一致エントリを具備し、
各完全一致エントリは、少なくとも１つの完全一致フィールドを具備するとともに、各完全一致エントリは、１つのインデックス値に対応し、
前記ワイルドカード一致フローテーブルは、１つ以上のワイルドカードエントリを具備するとともに、
各ワイルドカードエントリは、少なくとも１つのワイルドカードフィールドと、前記インデックス値を記憶するために使用される１つのインデックスフィールドとを具備し、
完全一致エントリと、前記インデックス値を使用することによって関連付けられたワイルドカードエントリとは、フローエントリを形成する、方法であって、
前記方法は、
受信されたパケットから少なくとも２つの一致データフィールドを取得するステップであって、前記少なくとも２つの一致データフィールドは、少なくとも１つの完全一致データフィールドと、少なくとも１つのワイルドカードデータフィールドとを具備する、ステップと、
前記パケット内の前記少なくとも１つの完全一致データフィールドを、前記完全一致フローテーブル内の各完全一致エントリの前記少なくとも１つの完全一致フィールドとマッチングするステップであって、前記マッチングが成功する場合、前記完全一致エントリに対応するインデックス値を取得する、ステップと、
前記インデックス値に従って、前記パケット内の前記少なくとも１つのワイルドカードデータフィールドを、前記ワイルドカード一致フローテーブル内の各ワイルドカードエントリの前記少なくとも１つのワイルドカードフィールドとマッチングするステップと、
マッチング結果を取得するステップと、
を含む方法。
【請求項５】
前記パケット内の前記少なくとも１つの完全一致データフィールドを、前記完全一致フローテーブル内の各完全一致エントリの前記少なくとも１つの完全一致フィールドとマッチングするステップは、
前記パケット内の前記少なくとも１つの完全一致データフィールドを、前記完全一致フローテーブル内の各完全一致エントリの前記少なくとも１つの完全一致フィールドと、ＨＡＳＨアルゴリズムを使用することによってマッチングするステップ
を具備する請求項４に記載の方法。
【請求項６】
前記方法は、さらに、
前記ワイルドカード一致フローテーブル内の第１ワイルドカードエントリに対して適切な時間を設定するステップと、
前記適切な時間が経過したとき、前記第１ワイルドカードエントリ内に記憶された第１インデックス値が別のワイルドカードエントリ内に記憶された第２インデックス値と異なる場合、前記第１ワイルドカードエントリと、前記第１ワイルドカードエントリの前記インデックスフィールド内の前記第１インデックス値に対応する少なくとも１つの完全一致エントリとの両方を削除するステップと、
を具備する請求項４に記載の方法。
【請求項７】
前記方法は、さらに、
前記適切な時間が経過したとき、前記第１ワイルドカードエントリ内に記憶された前記第１インデックス値が別のワイルドカードエントリ内に記憶されたインデックス値と同じ場合、前記第１ワイルドカードエントリを削除するステップ
を具備する請求項６に記載の方法。
【請求項８】
スイッチであって、
前記スイッチは、メモリと三値連想メモリとを具備し、
フローテーブルは、完全一致フローテーブルと、ワイルドカード一致フローテーブルとを具備し、
前記完全一致フローテーブルは、前記メモリ内に記憶され、
前記ワイルドカード一致フローテーブルは、前記三値連想メモリ内に記憶され、
前記完全一致フローテーブルは、１つ以上の完全一致エントリを具備し、
各完全一致エントリは、少なくとも１つの完全一致フィールドを具備し、各完全一致エントリは、１つのインデックス値に対応し、
前記ワイルドカード一致フローテーブルは、１つ以上のワイルドカードエントリを具備し、
各ワイルドカードエントリは、少なくとも１つのワイルドカードフィールドと、前記インデックス値を記憶するために使用される１つのインデックスフィールドとを具備し、
完全一致エントリと、前記インデックス値を使用することによって関連付けられたワイルドカードエントリとは、フローエントリを形成する、スイッチであって、
前記スイッチは、さらに、プロセッサを具備し、
前記プロセッサは、
受信されたパケットから少なくとも２つの一致データフィールドを取得するように構成され、前記少なくとも２つの一致データフィールドは、少なくとも１つの完全一致データフィールドと、少なくとも１つのワイルドカードデータフィールドとを具備し、
前記プロセッサは、
前記パケット内の前記少なくとも１つの完全一致データフィールドを、前記完全一致フローテーブル内の各完全一致エントリの前記少なくとも１つの完全一致フィールドとマッチングするとともに、前記マッチングが成功する場合、前記完全一致エントリに対応するインデックス値を取得し、
前記インデックス値に従って、前記パケット内の前記少なくとも１つのワイルドカードデータフィールドを、前記ワイルドカード一致フローテーブル内の各ワイルドカードエントリの前記少なくとも１つのワイルドカードフィールドとマッチングし、
マッチング結果を取得する、
ように構成される、スイッチ。
【請求項９】
前記プロセッサは、さらに、
前記パケット内の前記少なくとも１つの完全データ一致フィールドを、前記完全一致フローテーブル内の各完全一致エントリの前記少なくとも１つの完全一致フィールドと、ＨＡＳＨアルゴリズムを使用することによってマッチングする
ように構成される、請求項８に記載のスイッチ。
【請求項１０】
前記プロセッサは、さらに、
前記ワイルドカード一致フローテーブル内の第１ワイルドカードエントリに対して適切な時間を設定し、
前記適切な時間が経過したとき、前記第１ワイルドカードエントリ内に記憶された第１インデックス値が別のワイルドカードエントリ内に記憶された第２インデックス値と異なる場合、前記第１ワイルドカードエントリと、前記第１ワイルドカードエントリの前記インデックスフィールド内の前記第１インデックス値に対応する少なくとも１つの完全一致エントリとの両方を削除する、
ように構成される、請求項８に記載のスイッチ。
【請求項１１】
前記プロセッサは、さらに、
前記適切な時間が経過したとき、前記第１ワイルドカードエントリ内に記憶された前記第１インデックス値が別のワイルドカードエントリ内に記憶されたインデックス値と同じ場合、前記第１ワイルドカードエントリを削除する、
ように構成される、請求項１０に記載のスイッチ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の請求の範囲は、発明の名称を「フローテーブルをマッチングするための方法及び装置、並びにスイッチ」とする２０１２年１２月２８日付で中国特許庁に出願された中国特許出願第２０１２１０５８６９２８．３号に基づく優先権を主張し、それらの全体が参照によって本願に組み込まれる。
【０００２】
前記本発明の実施態様は、通信技術に関し、特に、フローテーブルをマッチングするための方法およびスイッチ、並びにスイッチに関する。
【背景技術】
【０００３】
ＯｐｅｎＦｌｏｗ技術は、スタンフォード大学（Ｓｔａｎｆｏｒｄ  Ｕｎｉｖｅｒｓｉｔｙ）によって最初に提唱されるとともに、既存のＴＣＰ／ＩＰの技術的条件に基づき、かつ革新的な思想のネットワーク相互接続にしたがって、現在のネットワークが新しいサービスに直面した際に発生するさまざまなボトルネックを取り除くことを目的としている。前記ＯｐｅｎＦｌｏｗ技術の中心となる思想は、元々スイッチまたはルータによって制御されるデータ・パケット・フォワーディング・プロセスを、ＯｐｅｎＦｌｏｗスイッチ（ＯｐｅｎＦｌｏｗ  ｓｗｉｔｃｈ）およびコントロールサーバ（コントローラ（Ｃｏｎｔｒｏｌｌｅｒ））のそれぞれによって完了される独立のプロセスに変更することである。前記ＯｐｅｎＦｌｏｗスイッチは、フローテーブル（ｆｌｏｗ  ｔａｂｌｅ）を局所的に保持してもよい。転送される必要のあるデータパケットが、前記フローテーブル内の対応するエントリを有する場合、迅速な転送が直接実行されるとともに、このエントリが、前記フローテーブル内に無い場合、前記データパケットは、伝送路を決定するように前記コントロールサーバへ送信され、そして、前記データパケットは、伝送経路にしたがって転送される。
【０００４】
ＯｐｅｎＦｌｏｗの準備開発段階において、スイッチ内のフローテーブルは、平坦化されるとともに、前記フローテーブル内のフローエントリは、２つのタイプ、完成完全一致フローエントリ（ｃｏｍｐｌｅｔｅｌｙ  ｅｘａｃｔ  ｍａｔｃｈ  ｆｌｏｗ  ｅｎｔｒｙ）およびワイルドカード一致フローエントリ（ｗｉｌｄｃａｒｄ  ｍａｔｃｈ  ｆｌｏｗ  ｅｎｔｒｙ）に分類される。前記ワイルドカード一致フローエントリは、完全に一致される必要のあるいくつかの一致フィールド（Ｍａｔｃｈ  Ｆｉｅｌｄ）およびワイルドカードされる必要のあるいくつかの一致フィールドを含む。前記完成完全一致フローエントリは、比較的大きな記憶容量を有する外部のランダムアクセスメモリ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、以下ＲＡＭと省略）内に記憶されるとともに、クイックサーチは、ハッシュ（ＨＡＳＨ）を用いて実行される。しかしながら、前記ワイルドカード一致フローエントリ内に不確かな一致フィールド（すなわち、ワイルドカードされた一致フィールド）が存在するため、前記ワイルドカード一致フローエントリは、クイックサーチのために三値連想メモリ（Ｔｅｒｎａｒｙ  Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ、以下ＴＣＡＭと省略）内に記憶される。既存の技術レベルは制限されるため、前記ＴＣＡＭは、高価であるとともに、比較的に消費電力が大きい。前記ＴＣＡＭの制限のため、一般に、実行中の間、コントロールサーバは、完全一致フローエントリを主にダウンロードする。前記完全一致フローエントリは、データフローを完全に定義するため、前記フローテーブルは大きな容量を占有し、ＯｐｅｎＦｌｏｗの開発を妨げる。
【０００５】
前記ＯｐｅｎＦｌｏｗ技術の開発を用いて、前記関連技術において、フローテーブルは、マルチレベルフローテーブルへ拡張される。複数のフローテーブルの組み合わせを用いることによって、フローエントリの量は、大きく減少される。しかしながら、特徴データの一部のみが、複数のフローテーブルに割り当てられたフローエントリに関係するとともに、特徴データの他の一部は、ワイルドカードエントリの量を増加することによって、ワイルドカードによって提供される必要があり、ＴＣＡＭ容量の大きな占有を引き起こす。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の技術における欠陥を克服するために、本発明の実施形態は、ＴＣＡＭの利用を増加させるようにフローテーブルをマッチングするための方法及び装置、並びにスイッチを提供する。
【課題を解決するための手段】
【０００７】
１つの態様によると、本発明の実施形態は、フローテーブルをマッチングするための方法を提供し、前記フローテーブルは、完全一致フローテーブルとワイルドカード・マッチ・フローテーブルとを含み、前記完全一致フローテーブルは、メモリ内に記憶され、前記ワイルドカード一致フローテーブルは、三値連想メモリ内に記憶され、前記完全一致フローテーブル、１つ以上の完全一致エントリを具備し、各完全一致エントリは、複数の完全一致フィールドを具備するとともに、完全一致エントリは、１つのインデックス値に対応し、前記ワイルドカード一致フローテーブルは、１つ以上のワイルドカードエントリを具備するとともに、各ワイルドカードエントリは、複数のワイルドカードフィールドおよび前記インデックス値を記憶するために使用される１つのインデックスフィールドを具備し、完全一致エントリと前記インデックス値を使用することによって関連付けられたワイルドカードエントリとは、完成フローエントリを形成する方法であって、前記方法は、
受信されたパケットから複数の一致フィールドを取得するステップであって、前記複数の一致フィールドが、複数の完全一致フィールドおよび複数のワイルドカードフィールドを具備するステップと、
前記パケット内の前記複数の完全一致フィールドを前記完全一致フローテーブル内の完全一致エントリの前記複数の完全一致フィールドとマッチングするステップであって、前記マッチングが成功する場合、前記完全一致エントリに対応するインデックス値を取得するステップと、
前記インデックス値に従って、前記パケット内の前記複数のワイルドカードフィールドを前記ワイルドカード一致フローテーブル内の各ワイルドカードエントリの前記複数のワイルドカードフィールドとマッチングするとともにマッチング結果を獲得するステップと、を含む。
【０００８】
前記本発明の実施形態において提供される前記方法において、前記パケット内の前記複数の完全一致フィールドと前記完全一致フローテーブル内の完全一致エントリの前記複数の完全一致フィールドとのマッチングは、ＨＡＳＨアルゴリズムを使用して実行される。
【０００９】
本発明の実施形態において提供される前記方法は、
コントロールサーバによって配送されたターゲット・フローテーブルを受信するステップであって、前記ターゲット・フローテーブルが、少なくとも１つのフローテーブルエントリを具備するとともに、各フローテーブルエントリが、複数の完全一致フィールドおよび複数のワイルドカードフィールドを具備するステップと、
各フローテーブルエントリ内の前記複数の完全一致フィールドと、前記完全一致フローテーブル内の完全一致エントリの前記複数の完全一致フィールドとの間のマッチングを実行するステップであって、前記マッチングが成功する場合、前記完全一致エントリに対応するインデックス値を取得し、前記マッチングに失敗する場合、前記完全一致フローテーブルの１つの完全一致エントリ内に前記ターゲット・フローテーブルの前記複数の完全一致フィールドを記憶するとともに、１つのインデックス値を前記完全一致エントリに割り当てるステップと、
前記ワイルドカード一致フローテーブルの１つのワイルドカードエントリ内に前記ターゲット・フローテーブルの前記複数のワイルドカードフィールドを記憶するとともに、前記ワイルドカードエントリのインデックスフィールド内の前記インデックス値を記憶するステップと、をさらに含む。
【００１０】
本発明の実施形態において提供される前記方法は、
前記ワイルドカード一致フローテーブル内の各ワイルドカードエントリのために適切な時間を設定するステップであって、前記適切な時間が経過したのちに、前記ワイルドカードエントリ内に記憶されたインデックス値が、他のワイルドカードエントリに記憶されたインデックス値と異なる場合、前記ワイルドカードエントリおよび前記インデックス値に対応する完全一致エントリの両方を削除する、ステップと、
前記ワイルドカードエントリに記憶された前記インデックス値が、他のワイルドカードエントリに記憶されたインデックス値と同じ場合、前記ワイルドカードエントリのみを削除するステップと、をさらに含む。
【００１１】
別の態様によると、本発明の実施形態は、フローテーブルをマッチングするための装置を提供し、フローテーブルをマッチングするための前記装置は、フローテーブルを記憶し、前記フローテーブルは、完全一致フローテーブルおよびワイルドカード一致フローテーブルを具備し、前記完全一致フローテーブルは、メモリ内に記憶されるとともに、前記ワイルドカード一致フローテーブルは、三値連想メモリ内に記憶され、前記完全一致フローテーブルは、１つ以上の完全一致エントリを具備し、完全一致エントリは、複数の完全一致フィールドを具備し、完全一致エントリは、１つのインデックス値に対応し、前記ワイルドカード一致フローテーブルは、１つ以上のワイルドカードエントリを具備し、各ワイルドカードエントリは、複数のワイルドカードフィールドと前記インデックス値を記憶するために使用される１つのインデックスフィールドとを具備し、完全一致エントリと前記インデックス値を用いて割り当てられるワイルドカードエントリとは、完全フローテーブルエントリを形成する、装置であって前記フローテーブル・マッチング装置は、
受信されたパケット内の複数の一致フィールドを取得するように構成される取得モジュールであって、前記複数の一致フィールドが、複数の完全一致フィールドおよび複数のワイルドカードフィールドを具備する取得モジュールと、
前記パケット内の前記複数の完全一致フィールドと前記完全一致フローテーブル内の完全一致エントリの前記複数の完全一致フィールドとの間でマッチングを実行するとともに、前記マッチングが成功する場合、前記完全一致エントリに対応するインデックス値を取得するように構成される第１マッチングモジュールと、
前記パケット内の前記複数のワイルドカードフィールドと前記ワイルドカード一致フローテーブル内の各ワイルドカードエントリの前記複数のワイルドカードフィールドとの間で前記インデックス値に従ってマッチングを実行するとともに、マッチング結果を獲得するように構成される第２マッチングモジュールと、を含む。
【００１２】
本発明の実施形態において提供される前記装置において、前記第１マッチングモジュールは、さらに、前記パケット内の前記複数の完全一致フィールドと前記完全一致フローテーブル内の完全一致エントリの前記複数の完全一致フィールドとを、ＨＡＳＨアルゴリズムを用いてマッチングするように構成される。
【００１３】
本発明の実施形態において提供される前記装置は、
コントロールサーバによって配送されたターゲット・フローテーブルを受信するように構成された分割モジュールであって、前記ターゲット・フローテーブルは、少なくとも１つのフローテーブルエントリを具備するとともに、各フローテーブルエントリは、複数の完全一致フィールドおよび複数のワイルドカードフィールドを具備し、各フローテーブルエントリ内の前記複数の完全一致フィールド  と前記完全一致フローテーブル内の完全一致エントリの前記複数の完全一致フィールドとの間でマッチングを実行し、前記マッチングが成功する場合、前記完全一致エントリに対応するインデックス値を取得し、前記マッチングに失敗する場合、前記完全一致フローテーブルの１つの完全一致エントリ内に前記ターゲット・フローテーブルの前記複数の完全一致フィールドを記憶するとともに、１つのインデックス値を前記完全一致エントリに割り当て、前記ワイルドカード一致フローテーブルの１つのワイルドカードエントリ内に前記ターゲット・フローテーブルの前記複数のワイルドカードフィールドを記憶し、前記ワイルドカードエントリのインデックスフィールド内の前記インデックス値を記憶するように構成される分割モジュールを、さらに含む。
【００１４】
本発明の実施形態において提供される前記装置は、
前記ワイルドカード一致フローテーブル内の各ワイルドカードエントリのために適切な時間を設定するとともに、前記適切な時間が経過したのちに、前記ワイルドカードエントリ内に記憶されたインデックス値が、別のワイルドカードエントリ内に記憶されたインデックス値と異なる場合、前記ワイルドカードエントリと前記インデックス値に対応する完全一致エントリとの両方を削除し、前記ワイルドカードエントリ内に記憶された前記インデックス値が、別のワイルドカードエントリ内に記憶されたインデックス値と同じ場合、前記ワイルドカードエントリのみを削除するように構成された、時効処理モジュールを、さらに含む。
【００１５】
さらに別の態様によると、本発明の実施形態は、前記スイッチは、メモリと三値連想メモリとを具備し、フローテーブルは、完全一致フローテーブルとワイルドカード一致フローテーブルとを具備し、前記完全一致フローテーブルは、前記メモリ内に記憶され、前記ワイルドカード一致フローテーブルは、前記三値連想メモリ内に記憶され、前記完全一致フローテーブルは、１つ以上の完全一致エントリを具備し、完全一致エントリは、複数の完全一致フィールドを具備し、完全一致エントリは、１つのインデックス値に対応し、前記ワイルドカード一致フローテーブルは、１つ以上のワイルドカードエントリを具備し、各ワイルドカードエントリは、複数のワイルドカードフィールドと前記インデックス値を記憶するために使用される１つのインデックスフィールドとを具備し、完全一致エントリおよび前記インデックス値を使用することによって割り当てられたワイルドカードエントリは、完成フローエントリを形成する、スイッチであって、
前記スイッチは、さらに、
受信されたパケット内の複数の一致フィールドを取得するように構成されたプロセッサであって、前記複数の一致フィールドは、複数の完全一致フィールドおよび複数のワイルドカードフィールドを具備し、前記パケット内の前記複数の完全一致フィールドと前記完全一致フローテーブル内の完全一致エントリの前記複数の完全一致フィールドとの間でマッチングを実行し、前記マッチングが成功する場合、前記完全一致エントリに対応するインデックス値を取得し、前記パケット内の前記複数のワイルドカードフィールドと前記ワイルドカード一致フローテーブル内の各ワイルドカードエントリの前記複数のワイルドカードフィールドとの間で前記インデックス値にしたがってマッチングを実行し、マッチング結果を取得するプロセッサを含む。
【００１６】
本発明の実施形態において提供されるスイッチにおいて、前記プロセッサは、さらに、前記パケット内の前記複数の完全一致フィールドを前記完全一致フローテーブル内の完全一致エントリの前記複数の完全一致フィールドとＨＡＳＨアルゴリズムを用いてマッチングするように構成される。
【００１７】
本発明の実施形態によって提供されるフローテーブルをマッチングするための前記方法および前記装置、並びに前記スイッチによると、フローエントリ内の完全一致エントリとワイルドカードエントリとは、別々に記憶され、前記完全一致エントリは、メモリ内に記憶され、前記ワイルドカードエントリは、ＴＣＡＭ内に記憶され、インデックス値は、前記完全一致エントリを示すために用いられるため、前記ワイルドカードエントリは、少ないＴＣＡＭリソースを使用し、それによって前記ＴＣＡＭの利用を増加させる。また、適切な検索アルゴリズムが、前記完全一致エントリと前記ワイルドカードエントリとのマッチングを別々に実行するために使用され、それにより検索スピードを増加させる。
【００１８】
本発明の実施形態における技術的解決策をより明確に説明するために、以下は、実施形態または従来技術を説明するために必要な添付図面を簡単に紹介する。明らかに、以下の説明の添付図面は、単に本発明のいくつかの実施形態を示し、当業者は、創造的な努力なしで、依然としてこれらの添付図面から他の図面を導き出すことができる。
【図面の簡単な説明】
【００１９】
【図１】図１は、本発明の実施形態によるフローテーブルをマッチングする方法のフローチャートである。
【図２】図２は、本発明の実施形態による分割手段において記憶されるフローテーブルの概略図である。
【図３】図３は、本発明の実施形態によるフローテーブルをマッチングするための装置の概略構造図である。
【発明を実施するための形態】
【００２０】
本発明の実施形態の技術的解決策および利点をより明確にするために、以下は、本発明の実施形態における添付の図面を参照し、本発明の実施形態における技術的解決策を明確かつ完全に説明する。明らかに、説明された実施形態は、本発明の実施形態のすべてではなく一部である。創造的な努力なしで本発明の実施形態に基づいて当業者によって得られる他のすべての実施形態は、本発明の保護範囲内に入るものとする。
【００２１】
ＯｐｅｎＦｌｏｗスイッチは、ＯｐｅｎＦｌｏｗネットワーク全体の中心部分であるとともに、データレイヤにおける転送を主に管理する。パケットを受信したのち、前記スイッチは、まずターゲット・フォワーディング・ポートのためにローカルフローテーブルを検索し、一致するポートがない場合、前記パケットは、コントローラへ転送され、コントロールレイヤは、前記ターゲット・フォワーディング・ポートを決定する。前記スイッチは、フローテーブル、セキュアチャネル、ＯｐｅｎＦｌｏｗプロトコルの３つの要素を含む。前記セキュアチャネルは、前記スイッチを前記コントローラへ接続するためのインターフェースである。前記コントローラは、このインターフェースを通じて前記スイッチを制御及び管理し、前記コントローラは、前記スイッチからイベントを受信するとともに、データパケットを前記スイッチへ送信する。前記スイッチおよび前記コントローラは、前記セキュアチャネルを通じて他のそれぞれと通信するとともに、すべての情報は、前記ＯｐｅｎＦｌｏｗプロトコルにおいて規定された形式で送信される必要がある。前記ＯｐｅｎＦｌｏｗプロトコルは、前記コントローラおよび前記スイッチの間で交換されるために使用される情報のための標準を記述するとともに、前記コントローラおよびスイッチの間のインターフェースのための標準を記述するために使用される。前記プロトコルの中心の部分は、ＯｐｅｎＦｌｏｗプロトコル情報のために使用される構造の組である。
【００２２】
ＯｐｅｎＦｌｏｗフローテーブルは、一致フィールド（Ｍａｔｃｈ  Ｆｉｅｌｄｓ）、カウンター、および命令セットの３つの部分へ分割され、前記一致フィールドは、パケットマッチングのための入力キーワードを示し、前記カウンターは、管理のために必要とされ、前記命令セットは、パケットがどのように転送されるかを決定するために使用される。もっとも一般的な転送の挙動は、ポートへの転送、パケットがカプセル化および再書き込みされたのちに転送、および破棄を含む。前記一致フィールドは、２つのタイプに分類される。１つのタイプは、完全一致フィールドであって、前記スイッチはこのフィールドと完全に一致する必要がある。別のタイプは、ワイルドカードフィールドであって、前記スイッチは、この一致フィールドと部分的に一致するか完全に無視してもよい。
【００２３】
従来技術において、フローエントリ内にワイルドカードフィールドと完全一致フィールドとが存在し、ＨＡＳＨアルゴリズムを用いたクイックサーチを実行することはできない。．特定の性能要求の場合において、ＴＣＡＭは、記憶と検索のために使用される必要がある。しかしながら、ワイルドカードエントリの量が比較的大きいため、大きなＴＣＡＭの容量が占有される。ＯｐｅｎＦｌｏｗフローエントリの特徴を考慮して、以下のような解決策が本発明の実施形態において提供される。前記ＴＣＡＭの占有を減少させるとともに、前記ＴＣＡＭの利用を増加させるために、フローエントリ内の完全一致エントリおよびワイルドカードエントリが、別々に記憶され、前記完全一致エントリがメモリ内に記憶され、前記ワイルドカードエントリがＴＣＡＭ内に記憶され、適切な検索アルゴリズムがエントリマッチングを別々に実行するために使用される。
【００２４】
図１は、本発明の実施形態によるフローテーブルをマッチングするための方法のフローチャートである。図１に示されるように、前記方法は、以下のステップを含む。
【００２５】
ステップ１００：スイッチは、受信されたパケット内の複数の一致フィールドを取得し、前記複数の一致フィールドが、複数の完全一致フィールドおよび複数のワイルドカードフィールドを含む。
【００２６】
ＯｐｅｎＦｌｏｗスイッチは、転送されるために必要なパケットを受信するとともに、前記パケットから複数の一致フィールドを取得し、前記複数の一致フィールドは、局地的に記憶されたフローテーブルとマッチングされる必要があり、前記一致フィールドは、複数の完全一致フィールドおよび複数のワイルドカードフィールドを含む。各完全一致フィールドに対して、前記スイッチは、各完全一致フィールドと完全に一致する必要があり、すなわち、前記パケット内の各完全一致フィールドのフィールド値が、前記フローテーブル内の完全一致フィールドに対応するフィールド値とまったく同一である必要がある。前記ワイルドカードフィールドのために、前記パケット内のワイルドカードフィールドのフィールド値が前記フローテーブル内の対応するワイルドカードフィールドのフィールド値と部分的に同一である限り、前記スイッチは、前記ワイルドカードフィールドと部分マッチングしてもよく、または、前記スイッチが前記ワイルドカードフィールドを完全に省略する、すなわち、前記ワイルドカードフィールドのマッチングを実行することをスキップする。
【００２７】
図２は、本発明の実施形態による分割手段において記憶されるフローテーブルの概略図である。図２に示されるように、前記方法は、本発明この実施形態において提供され、前記スイッチは、保持されたフローテーブルＴを完全一致フローテーブルＴ１およびワイルドカード一致フローテーブルＴ２を含む２つのテーブルに分割し、「＊」ではない内容は完全一致フィールドを表すとともに、「＊」である内容は、ワイルドカードフィールドを表す。前記完全一致フローテーブルＴ１は、メモリＲＡＭ（たとえば、ＳＤＲＡＭまたはＤＲＡＭ）内に記憶され、前記ワイルドカード一致フローテーブルＴ２は、三値連想メモリＴＣＡＭ内に記憶される。
【００２８】
前記完全一致フローテーブルＴ１は、１つ以上の完全一致エントリ（前記テーブル内の１つの行は、１つのエントリを表す）を含み、完全一致エントリは、複数の完全一致フィールドを含むとともに、完全一致エントリは、１つのインデックス値に対応する。同様に、前記ワイルドカード一致フローテーブルＴ２は、１つ以上のワイルドカードエントリ（前記テーブルの１つの行は、１つのエントリを表す）を含み、各ワイルドカードエントリは、複数のワイルドカードフィールドと、前記インデックス値を記憶するために使用される１つのインデックスフィールドとを含む。完全一致エントリおよびワイルドカードエントリは、前記インデックス値を使用することによって割り当てられ、完成フローエントリを形成する。たとえば、図２において、前記完全一致フローテーブルＴ１は、２つの完全一致エントリを含むとともに、完全一致エントリは、６つの完全一致フィールド（ＭＦ１，ＭＦ４，ＭＦ６，ＭＦ７，ＭＦ８，ＭＦ９）を含む。また、前記ワイルドカード一致フローテーブルＴ２は、３つのワイルドカードエントリを含み、各ワイルドカードエントリは、３つのワイルドカードフィールド（ＭＦ２＊，ＭＦ３＊，ＭＦ５＊）を含み、各ワイルドカードエントリは、さらに１つのインデックスフィールドＭＦＸを含む。前記図からは、Ｔ１内のインデックス値が「１」である完全一致エントリ  （Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ）およびＴ２内の前記インデックスフィールドに記憶されるインデックス値が「１」であるワイルドカードエントリ（＊，＊，＊）が、完成フローエントリを形成し、Ｔ１内のインデックス値が“２”である完全一致エントリ（Ｂ，Ｃ，Ａ，Ｅ，Ｄ，Ｆ）およびＴ２内の前記インデックスフィールドＭＦＸに記憶されるインデックス値が“２”であるワイルドカードエントリ（＊，＊，＊）が、完成フローエントリを形成するとともに、Ｔ１内のインデックス値が“２”である完全一致エントリ（Ｂ，Ｃ，Ａ，Ｅ，Ｄ，Ｆ）およびＴ２内の前記インデックスフィールドＭＦＸに記憶されたインデックス値が“２”であるワイルドカードエントリ（＊，３，２）も完成フローエントリを形成することがわかる。本発明のこの実施形態において、完全一致エントリのインデックス値は、組合せの唯一性を達成するために、ワイルドカードエントリの一致フィールドとして使用される。
【００２９】
ステップ１０１：前記スイッチは、前記パケット内の前記複数の完全一致フィールドと前記完全一致フローテーブル内の完全一致エントリの前記複数の完全一致フィールドとをマッチングし、前記マッチングが成功する場合、前記完全一致エントリに対応するインデックス値を取得する。
【００３０】
前記２つのフローテーブル（前記完全一致フローテーブルＴ１および前記ワイルドカード一致フローテーブルＴ２）に基づいて、前記スイッチは、従来技術において１度に完了される検索動作を２つの完了される動作に分割する。
【００３１】
第１に、前記完全一致フィールドにおいてマッチングが実行される。前記パケット内の前記複数の完全一致フィールドを取得したのち、前記スイッチは、完全一致フィールドの各フィールド値と、前記完全一致フローテーブル内の完全一致エントリの前記複数の完全一致フィールドＴ１のフィールド値とをマッチングする。完全マッチングが必要であるため、本発明のこの実施形態において、ＨＡＳＨのようなアルゴリズムがマッチングのために実行され、前記マッチングが成功する場合、マッチングは、前記ワイルドカードフィールド上で実行され続ける。マッチングが前記ワイルドカードフィールド上で実行される前に、マッチングに成功した完全一致エントリに対応するインデックス値が、第１に取得され、前記マッチングに成功した完全一致エントリは（Ｂ，Ｃ，Ａ，Ｅ，Ｄ，Ｆ）であり、前記完全一致エントリの前記インデックス値は“２”である。
【００３２】
ステップ１０２：前記スイッチは、前記パケット内の前記複数のワイルドカードフィールドと前記ワイルドカード一致フローテーブル内の各ワイルドカードエントリの前記複数のワイルドカードフィールドとを前記インデックス値にしたがってマッチングするとともに、マッチング結果を取得する。
【００３３】
前記マッチングに成功した完全一致エントリ（Ｂ，Ｃ，Ａ，Ｅ，Ｄ，Ｆ）に対応する前記インデックス値“２”を取得したのち、前記スイッチは、前記ワイルドカードフィールドにおいてマッチングを実行し続けてもよい。特に、前記インデックス値“２”にしたがって、前記スイッチは、前記ワイルドカード一致フローテーブルＴ２を検索し続けるために前記インデックス値（ｉｎｄｅｘ）を一致フィールドとして使用し、その後、前記スイッチは、前記ワイルドカード一致フローテーブルＴ２内の前記インデックスフィールドＭＦＸの値が“２”である、２つのワイルドカードエントリ（（＊，＊，＊）および（＊，３，２））を含むワイルドカードエントリを発見したことを確認する。その後、前記パケット内の前記複数のワイルドカードフィールド、と前記ワイルドカード一致フローテーブル内の各ワイルドカードエントリの前記複数のワイルドカードフィールドＴ２とのマッチングが実行されるとともに、マッチング結果が獲得される。前記パケット内の前記複数のワイルドカードフィールドが（６，４，５）である場合、前記ワイルドカードエントリ（＊，＊，＊）がマッチングに成功したことがマッチングの手段によって確認されてもよく、かつ完成フローエントリ（Ｂ，Ｃ，Ａ，Ｅ，Ｄ，Ｆ，＊，＊，＊）に対応する命令に従って前記パケットの処理を実行される。
【００３４】
前記２つのワイルドカードエントリ（＊，＊，＊）および（＊，３，２）が共にマッチングに成功した場合、処理を実行するために、対応する命令が、前記フローエントリの優先度に従って選択される。
【００３５】
本発明のこの実施形態において提供される前記方法において、前記完全一致フィールドにおいて実行された前記マッチングが失敗する場合、転送ポリシを要求するために、前記スイッチは、前記パケットを従来技術にしたがってサービスコントローラに送信してもよい。前記サービスコントローラは、前記パケットに対する転送ポリシを策定するとともに、前記スイッチへ前記転送ポリシを転送し、かつ前記スイッチは、前記転送ポリシにしたがって前記パケットを処理する。
【００３６】
以降において、前記サービスコントローラが、フローテーブルを前記スイッチへ配送し、前記スイッチが、前記フローテーブルを分割手段内に記憶するプロセスを説明する。第一に、前記スイッチは、前記サービスコントローラによって配送されたターゲット・フローテーブルを受信し、前記ターゲット・フローテーブルが、少なくとも１つのフローエントリを含むとともに、各フローエントリが、複数の完全一致フィールドと複数のワイルドカードフィールドとを含む。その後、前記スイッチは、前記フローエントリにおいて完全一致フィールドを抽出するとともに、前記完全一致フィールドと現在の完全一致フローテーブル内に記憶された完全一致エントリの複数の完全一致フィールドとのマッチングを行い、前記マッチングが成功する場合、前記完全一致エントリに対応するインデックス値が取得され、前記マッチングが失敗する場合、前記ターゲット・フローテーブルの前記複数の完全一致フィールドが前記完全一致フローテーブルの完全一致エントリ内に記憶されるとともに、インデックス値が前記完全一致エントリに割り当てられる。このインデックス値は、前記完全一致フローテーブルの一部ではないことに注意する必要がある。そして、前記スイッチは、前記ターゲット・フローテーブル内の前記複数のワイルドカードフィールドを抽出し、ＴＣＡＭ内のワイルドカード一致フローテーブルのワイルドカードエントリにおける前記複数のワイルドカードフィールド内に記憶し、インデックスフィールドに対応する前記取得されたインデックス値を記憶する。
【００３７】
本発明のこの実施形態において提供される前記方法は、ユニットとして使用されるワイルドカードエントリにおけるフローテーブルエイジング処理プロセスをさらに含んでもよく、前記プロセスは、特に、前記ワイルドカード一致フローテーブル内の各ワイルドカードエントリに対して、それぞれ対応する適切な時間を設定するステップと、前記適切な時間が経過したとき、前記ワイルドカードエントリ内に記憶されたインデックス値が、別のワイルドカードエントリ内に記憶されたインデックス値と異なる場合、前記ワイルドカードエントリと前記インデックス値に対応する完全一致エントリとの両方を削除するステップとを含む。Ｔ２内の前記インデックスフィールド内に記憶されたインデックス値が１の前記ワイルドカードエントリ（＊，＊，＊）の適切な時間３ｓが経過した場合、Ｔ２が前記インデックスフィールド内の値が“１”である別のワイルドカードエントリを有さないため、Ｔ２内の前記ワイルドカードエントリ（＊，＊，＊）およびＴ１内の前記完全一致エントリ（Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ）は、直接削除されてもよい。
【００３８】
前記ワイルドカードエントリ内に記憶されたインデックス値が、別のワイルドカードエントリ内に記憶されたインデックス値と同じ場合、前記ワイルドカードエントリのみが削除される。Ｔ２内の前記インデックスフィールド内に記憶されたインデックス値が“２”である前記ワイルドカードエントリ（＊，＊，＊）の適切な時間５ｓの場合、Ｔ２は、前記インデックスフィールド内の値も“２”である別のワイルドカードエントリを有するため、Ｔ２内の前記ワイルドカードエントリ（＊，＊，＊）のみが削除されるとともに、Ｔ１内の前記完全一致エントリ（Ｂ，Ｃ，Ａ，Ｅ，Ｄ，Ｆ）は、留保される。
【００３９】
本発明のこの実施形態において提供されるフローテーブルをマッチングするための方法によれば、フローエントリ内の完全一致エントリおよびワイルドカードエントリは、独立して記憶され、前記完全一致エントリは、メモリ内に記憶され、前記ワイルドカードエントリは、ＴＣＡＭ内に記憶され、インデックス値のインデックスは、前記完全一致エントリを表現するために使用されるため、前記ワイルドカードエントリは、少ないＴＣＡＭリソースを使用し、それによって前記ＴＣＡＭの利用を増加する。また、適切な検索アルゴリズムが、前記完全一致エントリと前記ワイルドカードエントリとのマッチングを別々に実行するために使用され、それにより検索スピードを増加させる。
【００４０】
図３は、本発明の実施形態によるフローテーブルをマッチングするための装置の概略構造図である。図３に示されるように、フローテーブルをマッチングするための前記装置は、取得モジュール３１、第１マッチングモジュール３２、第２マッチングモジュール３３を含み、前記取得モジュール３１は、受信されたパケット内の複数の一致フィールドを取得するように構成され、前記複数の一致フィールドは、複数の完全一致フィールドおよび複数のワイルドカードフィールドを含み、前記第１マッチングモジュール３２は、前記パケット内の前記複数の完全一致フィールドと前記完全一致フローテーブル内の完全一致エントリの複数の完全一致フィールドとを比較するとともに、前記マッチングが成功する場合、前記完全一致エントリに対応するインデックス値を取得するように構成され、前記第２マッチングモジュール３３は、前記パケット内の前記複数のワイルドカードフィールドと、前記ワイルドカード一致フローテーブル内の各ワイルドカードエントリの複数のワイルドカードフィールドと、を前記インデックス値にしたがってマッチングするとともに、マッチング結果を獲得するように構成される。フローテーブルをマッチングするための前記装置は、フローテーブルを記憶し、前記フローテーブルは、完全一致フローテーブルおよびワイルドカード一致フローテーブルを含み、前記完全一致フローテーブルは、メモリ内に記憶され、前記ワイルドカード一致フローテーブルは、三値連想メモリ内に記憶され、前記完全一致フローテーブルは、１つ以上の完全一致エントリを含み、完全一致エントリは、複数の完全一致フィールドを含み、完全一致エントリは、１つのインデックス値に対応し、前記ワイルドカード一致フローテーブルは、１つ以上のワイルドカードエントリを含み、各ワイルドカードエントリは、複数のワイルドカードフィールドと前記インデックス値を記憶するために使用される１つのインデックスフィールドとを含み、前記インデックス値を用いて割り当てられた完全一致エントリおよびワイルドカードエントリは、完成フローエントリを形成する。
【００４１】
特に、前記装置は、前記受信されたパケット内の前記複数の完全一致フィールドと前記複数のワイルドカードフィールドとを前記取得モジュール３１を用いて抽出し、その後、前記装置は、まず、前記メモリ内で前記第１マッチングモジュール３２を用いて、前記完全一致フィールドにおける完全なマッチングを実行するとともに、マッチングを実行するために、特にＨＡＳＨ  アルゴリズムを使用してもよい。前記マッチングが成功する場合、対応するインデックス値が取得され、前記マッチングが失敗する場合、前記パケット内の前記複数の完全一致フィールドが前記メモリ内の前記完全一致フローテーブル内に記憶されるとともに、インデックス値が前記複数の完全一致フィールドに割り当てられる。その後、前記第２マッチングモジュール３３は、前記インデックス値にしたがって前記ＴＣＡＭ内の前記複数のワイルドカードフィールドにおいてマッチングを実行するとともに、最終的にマッチング結果を獲得する。
【００４２】
本発明のこの実施形態におけるフローテーブルをマッチングするための装置によると、完全一致エントリおよびワイルドカードエントリはフローエントリ内に独立して記憶され、、前記完全一致エントリは、メモリ内に記憶され、前記ワイルドカードエントリは、ＴＣＡＭ内に記憶され、インデックス値のインデックスは、前記完全一致エントリを表現するために使用されるため、前記ワイルドカードエントリは、少ないＴＣＡＭリソースを使用し、それによって前記ＴＣＡＭの利用を増加する。また、適切な検索アルゴリズムが、前記完全一致エントリと前記ワイルドカードエントリとのマッチングを別々に実行するために使用され、それにより検索スピードを増加させる。
【００４３】
本発明のこの実施形態において提供されるフローテーブルをマッチングするための前記装置は、分割モジュール３４をさらに含んでもよく、前記分割モジュール３４は、コントロールサーバによって配送されたターゲット・フローテーブルを受信するように構成され、前記ターゲット・フローテーブルは、少なくとも１つのフローエントリを含み、各フローエントリは、複数の完全一致フィールドおよび複数のワイルドカードフィールドを含み、かつ、各フローエントリ内の前記複数の完全一致フィールドと、前記完全一致フローテーブル内の完全一致エントリの前記複数の完全一致フィールドとをマッチングするように構成され、前記マッチングが成功する場合、前記完全一致エントリに対応するインデックスを取得するとともに、前記マッチングが失敗する場合、前記完全一致フローテーブルの完全一致エントリ内に前記ターゲット・フローテーブルの前記複数の完全一致フィールドを記憶するとともに、インデックス値を前記完全一致エントリに割り当て、かつ、前記ワイルドカード一致フローテーブルのワイルドカードエントリ内に前記ターゲット・フローテーブルの前記複数のワイルドカードフィールドを記憶するとともに、前記ワイルドカードエントリのインデックスフィールド内の前記インデックス値を記憶するように構成される。前記装置は、前記分割モジュール３４を用いて前記フローテーブルを二つの部分に分割する。しかしながら、前記コントロールサーバは、そのような分割を知る必要はなく、また、前記コントロールサーバ、影響を受けることなく従来技術にしたがって処理を実行する必要のみがある。
【００４４】
本発明の実施形態によって提供されるフローテーブルをマッチングするための前記装置は、さらに時効処理モジュールを含んでもよく、前記時効処理モジュールは、前記ワイルドカード一致フローテーブル内の各ワイルドカードエントリに対して適切な時間を設定し、適切な時間が経過したのちに、前記ワイルドカードエントリ内に記憶されたインデックス値が、別のワイルドカードエントリ内に記憶されたインデックス値と異なる場合、前記ワイルドカードエントリと前記インデックス値に対応する完全一致エントリとを削除し、前記ワイルドカードエントリ内に記憶されたインデックス値が、別のワイルドカードエントリ内に記憶されたインデックス値と同じ場合、前記ワイルドカードエントリのみを削除するように構成される。前記時効処理モジュールは、ワイルドカードエントリのユニットにおいて時効処理を実施することが理解されよう。
【００４５】
本発明の実施形態は、さらにスイッチを提供し、前記スイッチは、メモリと、三値連想メモリと、プロセッサとを含む。前記スイッチは、フローテーブルを保持し、前記フローテーブルは、完全一致フローテーブルとワイルドカード一致フローテーブルとを含み、前記完全一致フローテーブルは、前記メモリ内に記憶されるとともに、前記ワイルドカード一致フローテーブルは、前記三値連想メモリ内に記憶される。前記完全一致フローテーブルは、１つ以上の完全一致エントリを含み、完全一致エントリは、複数の完全一致フィールドを含み、完全一致エントリは、１つのインデックス値に対応する。前記ワイルドカード一致フローテーブルは、１つ以上のワイルドカードエントリを含み、各ワイルドカードエントリは、複数のワイルドカードフィールドと前記インデックス値を記憶するために使用される１つのインデックスフィールドとを含む。完全一致エントリと前記インデックス値を用いて割り当てられたワイルドカードエントリとは、完成フローエントリを形成する。
【００４６】
前記プロセッサは、特に、受信されたパケット内の複数の一致フィールドを取得し、前記複数の一致フィールドは、複数の完全一致フィールドと複数のワイルドカードフィールドとを含み、前記パケット内の前記複数の完全一致フィールド  と前記完全一致フローテーブル内の完全一致エントリの前記複数の完全一致フィールドとの間でマッチングを実行し、前記マッチングが成功する場合、前記完全一致エントリに対応するインデックス値を取得し、前記パケット内の前記複数のワイルドカードフィールドと前記ワイルドカード一致フローテーブル内の各ワイルドカードエントリの前記複数のワイルドカードフィールドとを前記インデックス値にしたがってマッチングを行い、マッチング結果を取得するように構成される。前記メモリ内で、前記プロセッサの実行する前記完全一致フィールド上のマッチングのプロセスにおいて、マッチングを実行するためにＨＡＳＨアルゴリズムが使用されてもよい。
【００４７】
本発明のこの実施形態において提供される前記スイッチによると、フローエントリ内の完全一致エントリおよびワイルドカードエントリは、独立して記憶され、前記完全一致エントリは、メモリ内に記憶され、前記ワイルドカードエントリは、ＴＣＡＭ内に記憶され、インデックス値のインデックスは、前記完全一致エントリを表現するために使用されるため、前記ワイルドカードエントリは、少ないＴＣＡＭリソースを使用し、それによって前記ＴＣＡＭの利用を増加する。また、適切な検索アルゴリズムが、前記完全一致エントリと前記ワイルドカードエントリとのマッチングを別々に実行するために使用され、それにより検索スピードを増加させる。
【００４８】
本発明において提供されるいくつかの実施形態において、開示された装置および方法は、他の方法においても実施されうることが理解されよう。たとえば、開示された装置の実施形態は、単に例示である。たとえば、ユニットの区分は、単に論理機能の区分であるとともに、実際の実施において他の区分であってもよい。たとえば、複数のユニットまたは構成要素は、組み合わされるか別のシステムへ組み込まれてもよく、あるいは、いくつかの特徴は、無視されるか実施されなくてもよい。加えて、示された或いは言及された相互結合もしくは直接結合または通信接続は、いくつかのインターフェースによって実施されうる。前記装置またはユニット間の間接結合または通信接続は、電子的、機械的または他の形で実施されてもよい。
【００４９】
独立した部分として説明されたユニットは、物理的に独立していてもいなくてもよく、かつ、ユニットとして示された部分は、物理的なユニットであってもなくてもよく、一か所に位置していてもよく、または複数のネットワークユニット上に配置されてもよい。いくつか、またはすべてのユニットは、実施形態の解決手法の目的を達成するための実際の必要に従って選択されてもよい。
【００５０】
加えて、本発明の実施形態における機能ユニットは、１つの処理ユニットに組み込まれてもよく、あるいは、各ユニットは、物理的に単独で存在してもよく、または、２つ以上のユニットが１つのユニットへ組み込まれてもよい。前記組み込まれたユニットは、ハードウェアの形式で実施されてもよく、または、ソフトウェア機能ユニットに加えてハードウェアの形式で実施されてもよい。
【００５１】
前述の組み込まれたユニットがソフトウェア機能ユニットの形式で実施される場合、前記組み込まれたユニットは、コンピュータ可読記憶媒体に記憶されてもよい。前述のソフトウェア機能ユニットは、記憶媒体に記憶されるとともに、コンピュータデバイス（パーソナルコンピュータ、サーバ、またはネットワークデバイス）またはプロセッサ（Ｐｒｏｃｅｓｓｏｒ）に本発明の実施形態において説明された方法のいくつかのステップを実行させることを命令するためのいくつかの命令を含む。前述の記憶媒体は、ＵＳＢフラッシュドライブ、リムーバブルハードディスク、リードオンリーメモリ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ，  ＲＯＭ）、ランダムアクセスメモリ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ，  ＲＡＭ）、磁気ディスク、または光学ディスクのようなプログラムコードを記憶することができる任意の媒体を含む。
【００５２】
便宜上、および説明を簡単にするために、上述の機能モジュールの分割だけを説明のために例にとっていることが、当業者によって明確に理解されよう。実際の適用においては、上述の機能が実装の必要性に応じて異なる機能モジュールに割り当てられてもよく、すなわち、上記で説明した昨日のすべてまたは一部を実装するために、装置の内部構造は、異なる機能モジュールに分割されてもよい。上述の装置の詳細な作業プロセスに関して、上述の方法実施形態における対応するプロセスが参照されてもよく、ここでは再び説明しない。
【００５３】
最後に、上述の実施形態は、単に本発明の技術的解決手法を説明するためのものに過ぎず、本発明を限定するように意図されていないことに留意されたい。本発明が上述の実施形態を参照して詳細に説明されたが、修正または置き換えが対応する技術的な解決策の本質を本発明の技術的な解決策の範囲から逸脱させない限り、そのような修正が、実施形態で説明された技術的な解決策に対してなされる可能性があり、または均等な置き換えが、技術的な解決策の技術的特徴の一部もしくはすべてに対してなされる可能性があることは当業者によって理解されるべきである。
【符号の説明】
【００５４】
３１  取得モジュール
３２  第１マッチングモジュール
３３  第２マッチングモジュール
３４  分割モジュール
【図１】
0006004299.tif 000002
【図２】
0006004299.tif 000003
【図３】
0006004299.tif 000004