(57)【要約】【課題】本発明は通信スイッチを通るパケット化されたデータすなわちパケットを、高速フロー転送（ＦＦＦ）装置を用いて処理する装置と方法とを提供する。【解決手段】ＦＦＦはパターン・マッチングと、プロトコル層境界にまたがるデータ処理規則とに基づいてパケットの転送を促進する。より特定すると、本発明が提供するパケットを処理する方法は、パケットを受けて、パケットが１つまたは複数の識別規則を満足する場合は１つまたは複数の変換規則を用いて処理する。そうではなく、パケットが１つまたは複数の識別規則を満足しない場合は標準プロトコルを用いてパケットを処理する。この方法はこの方法の各ステップを実行するコード・セグメントを有するコンピュータ・プログラムを用いて実現することができる。【選択図】図１
2008086048.tif 000002
【特許請求の範囲】
【請求項１】
パケットを処理する方法であって、
前記パケットを受けるステップと、
前記パケットが１つまたは複数の識別規則を満足する場合は１つまたは複数の変換規則を用いて前記パケットを処理するステップと、
前記パケットが前記１つまたは複数の識別規則を満足しない場合は標準プロセスを用いて前記パケットを処理するステップと、
を含むパケットを処理する方法。
【請求項２】
前記１つまたは複数の識別規則は１つまたは複数の確認規則を更に含む、請求項１記載のパケットを処理する方法。
【請求項３】
外部データに基づいて前記１つまたは複数の変換規則と前記１つまたは複数の確認規則とを作成するステップを更に含む、請求項１記載のパケットを処理する方法。
【請求項４】
前記外部データは呼設定情報である、請求項１記載のパケットを処理する方法。
【請求項５】
前記１つまたは複数の変換規則を用いて前記パケットを処理した後で前記パケットを出口ポートに送るステップを更に含む、請求項１記載のパケットを処理する方法。
【請求項６】
前記標準プロセスを監視して１つまたは複数のパケット・フローを検出するステップと、
パケット・フローを検出すると前記１つまたは複数の識別規則と前記１つまたは複数の変換規則とを作成するステップと、
を更に含む請求項１記載のパケットを処理する方法。
【請求項７】
前記パケット・フロー内の変化を検出すると前記１つまたは複数の識別規則と前記１つまたは複数の変換規則とを更新するステップを更に含む、請求項６記載のパケットを処理する方法。
【請求項８】
前記１つまたは複数の識別規則は決定樹を含む、請求項１記載のパケットを処理する方法。
【請求項９】
前記決定樹は１つまたは複数のノードを含み、各ノードはハッシュ・テーブルである、請求項８記載のパケットを処理する方法。
【請求項１０】
各変換規則は処理命令を含む、請求項１記載のパケットを処理する方法。
【請求項１１】
前記標準プロセスはプロトコル・スタックである、請求項１記載のパケットを処理する方法。
【請求項１２】
前記パケットはＩＰパケットである、請求項１記載のパケットを処理する方法。
【請求項１３】
前記パケットはイーサネット（登録商標）・パケットである、請求項１記載のパケットを処理する方法。
【請求項１４】
パケットを処理するためにコンピュータが読取り可能な媒体上に実現されるコンピュータ・プログラムであって、
前記パケットを受けるコード・セグメントと、
前記パケットのコード・セグメントが１つまたは複数の識別規則を満足する場合は１つまたは複数の変換規則を用いて前記パケットを処理するコード・セグメントと、
前記パケットが前記１つまたは複数の識別規則を満足しない場合は標準プロセスを用いて前記パケットを処理するコード・セグメントと、
を含むコンピュータ・プログラム。
【請求項１５】
前記１つまたは複数の識別規則は１つまたは複数の確認規則を更に含む、請求項１４記載のコンピュータ・プログラム。
【請求項１６】
外部データに基づいて前記１つまたは複数の識別規則と前記１つまたは複数の変換規則とを作成するためのコード・セグメントを更に含む、請求項１４記載のコンピュータ・プログラム。
【請求項１７】
前記外部データは呼設定情報である、請求項１４記載のコンピュータ・プログラム。
【請求項１８】
前記１つまたは複数の変換規則を用いて前記パケットを処理した後で前記パケットを出口ポートに送るためのコード・セグメントを更に含む、請求項１４記載のコンピュータ・プログラム。
【請求項１９】
前記標準プロセスを監視して１つまたは複数のパケット・フローを検出するためのコード・セグメントと、
パケット・フローを検出すると前記１つまたは複数の識別規則と前記１つまたは複数の変換規則とを作成するためのコード・セグメントと、
を更に含む請求項１４記載のコンピュータ・プログラム。
【請求項２０】
前記パケット・フロー内の変化を検出すると前記１つまたは複数の識別規則と前記１つまたは複数の変換規則とを更新するためのコード・セグメントを更に含む、請求項１９記載のコンピュータ・プログラム。
【請求項２１】
前記１つまたは複数の識別規則は決定樹を含む、請求項１４記載のコンピュータ・プログラム。
【請求項２２】
前記決定樹は１つまたは複数のノードを含み、各ノードはハッシュ・テーブルである、請求項２１記載のコンピュータ・プログラム。
【請求項２３】
各変換規則は処理命令を含む、請求項１４記載のコンピュータ・プログラム。
【請求項２４】
前記標準プロセスはプロトコル・スタックである、請求項１４記載のコンピュータ・プログラム。
【請求項２５】
前記パケットはＩＰパケットである、請求項１４記載のコンピュータ・プログラム。
【請求項２６】
前記パケットはイーサネット（登録商標）・パケットである、請求項１４記載のコンピュータ・プログラム。
【請求項２７】
通信スイッチであって、
１つまたは複数の入口カードと、
それぞれが少なくとも１つのプロセッサを有する１つまたは複数の制御カードと、
１つまたは複数の出口カードと、
前記入口カードと、前記制御カードと、前記出口カードとに結合して通信する通信バスと、
を備え、
各入口カードは１つまたは複数のパケットを受け、前記パケットが１つまたは複数の識別規則を満足する場合は１つまたは複数の変換規則を用いて各パケットを処理し、前記パケットが前記１つまたは複数の識別規則を満足しない場合は各パケットを前記プロセッサの１つに送って標準プロセスを用いて処理する、
通信スイッチ。
【請求項２８】
前記１つまたは複数の識別規則は１つまたは複数の確認規則を更に含む、請求項２７記載の通信スイッチ。
【請求項２９】
各制御カードは、外部データに基づいて前記１つまたは複数の識別規則と前記１つまたは複数の変換規則とを作成する高速フロー転送コントローラを更に含む、請求項２７記載の通信スイッチ。
【請求項３０】
前記外部データは呼設定情報である、請求項２７記載の通信スイッチ。
【請求項３１】
前記１つまたは複数の変換規則を用いて前記パケットを処理した後で前記パケットを前記出口カードの１つに送る、請求項２７記載の通信スイッチ。
【請求項３２】
各制御カードは、前記標準プロセスを監視して１つまたは複数のパケット・フローを検出し、パケット・フローを検出すると前記１つまたは複数の識別規則と前記１つまたは複数の変換規則とを作成する、高速フロー転送コントローラを更に備える、請求項２７記載の通信スイッチ。
【請求項３３】
前記高速フロー転送コントローラは、前記パケット・フロー内の変化を検出すると前記１つまたは複数の識別規則と前記１つまたは複数の変換規則とを更新する、請求項３２記載の通信スイッチ。
【請求項３４】
前記１つまたは複数の識別規則は決定樹を含む、請求項２７記載の通信スイッチ。
【請求項３５】
前記決定樹は１つまたは複数のノードを含み、各ノードはハッシュ・テーブルである、請求項３４記載の通信スイッチ。
【請求項３６】
各変換規則は処理命令を含む、請求項２７記載の通信スイッチ。
【請求項３７】
前記標準プロセスはプロトコル・スタックである、請求項２７記載の通信スイッチ。
【請求項３８】
前記パケットはＩＰパケットである、請求項２７記載の通信スイッチ。
【請求項３９】
前記パケットはイーサネット（登録商標）・パケットである、請求項２７記載の通信スイッチ。
【請求項４０】
通信スイッチであって、
１つまたは複数の入口カードと、
それぞれが少なくとも１つのプロセッサを有する１つまたは複数の制御カードと、
１つまたは複数の信号処理カードであって、各信号処理カードはディジタル信号処理プロセッサの配列を含み、各ディジタル信号処理プロセッサは１つまたは複数のパケットを作成して前記１つまたは複数のパケットを高速フロー転送エンジンに送り、各高速フロー転送エンジンは前記１つまたは複数のパケットを受け、前記パケットが１つまたは複数の識別規則を満足する場合は１つまたは複数の変換規則を用いて各パケットを処理し、前記パケットが前記１つまたは複数の識別規則を満足しない場合は各パケットを前記プロセッサの１つに送って標準プロセスを用いて処理する、信号処理カードと、
１つまたは複数の出口カードと、
前記入口カードと、前記信号処理カードと、前記制御カードと、前記出口カードとに結合して通信するスイッチ構造と、
前記入口カードと、前記信号処理カードと、前記制御カードと、前記出口カードとに結合して通信するＴＤＭバスと、
を備える通信スイッチ。
【請求項４１】
前記１つまたは複数の識別規則は１つまたは複数の確認規則を更に含む、請求項４０記載の通信スイッチ。
【請求項４２】
各制御カードは、外部データに基づいて前記１つまたは複数の識別規則と前記１つまたは複数の変換規則とを作成する高速フロー転送コントローラを更に含む、請求項４０記載の通信スイッチ。
【請求項４３】
前記外部データは呼設定情報である、請求項４０記載の通信スイッチ。
【請求項４４】
前記１つまたは複数の変換規則を用いて前記パケットを処理した後で前記パケットを前記出口カードの１つに送る、請求項４０記載の通信スイッチ。
【請求項４５】
各制御カードは、前記標準プロセスを監視して１つまたは複数のパケット・フローを検出し、パケット・フローを検出すると前記１つまたは複数の識別規則と前記１つまたは複数の変換規則とを作成する、高速フロー転送コントローラを更に備える、請求項４０記載の通信スイッチ。
【請求項４６】
前記高速フロー転送コントローラは、前記パケット・フロー内の変化を検出すると前記１つまたは複数の識別規則と前記１つまたは複数の変換規則とを更新する、請求項４５記載の通信スイッチ。
【請求項４７】
前記１つまたは複数の識別規則は決定樹を含む、請求項４０記載の通信スイッチ。
【請求項４８】
前記決定樹は１つまたは複数のノードを含み、各ノードはハッシュ・テーブルである、請求項４０記載の通信スイッチ。
【請求項４９】
各変換規則は処理命令を含む、請求項４０記載の通信スイッチ。
【請求項５０】
前記標準プロセスはプロトコル・スタックである、請求項４０記載の通信スイッチ。
【請求項５１】
前記パケットはＩＰパケットである、請求項４０記載の通信スイッチ。
【請求項５２】
前記パケットはイーサネット（登録商標）・パケットである、請求項４０記載の通信スイッチ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に通信分野に関するものであって、特にパケット処理の装置と方法とに関するものである。
【背景技術】
【０００２】
データ通信の需要が増大するに従って、より多くの情報と新しいタイプの情報を処理するために高い費用有効性と効率で通信網を使用する技術が開発されている。かかる技術の１つは音声またはデータ通信などの情報をセグメント化してパケットにすることである。パケットは一般に、少なくともデータと制御情報とを含む２進数のグループである。例えば、連続ビット・レート（ＣＢＲ）、音声（パケット音声）、データ（フレーム化データ）、画像などを含む少なくとも２つのクラスのトラヒックを運ぶのに、一般に統合パケット・ネットワーク（一般に高速パケット・ネットワーク）が用いられる。パケット・ネットワークはプロトコル・パケットを発信し、受信し、転送する。各パケットは明確に定義されたフォーマットを有し、１つまたは複数のパケット・ヘッドと複数のデータとで構成する。ヘッダは一般に制御および／またはアドレス情報（パケットの発信元や宛先など）を与える情報を含む。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
パケット・ヘッダの作成は一般に、中央処理装置（ＣＰＵ）および／またはスイッチなどの多くのシステム資源を必要とする。そのため、通信スイッチの処理量はスイッチ内のＣＰＵの容量やＣＰＵが提供しなければならないその他の処理機能により制限され制約される。かかる処理の制約によりスイッチ内に混雑とサービスの質（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ：ＱｏＳ）の問題が起こる。また、スイッチの処理量は主としてスイッチ構造の容量により決定される。更に、スイッチの処理容量の多くはパケット・ヘッダ（連続したパケットの間で一般に余り変わらない）の処理に費やされる。そのため、処理の多くは繰返しであるにも関わらず、スイッチの処理量は処理可能なパケットの数により制限される。したがって、スイッチの処理量を高めるためのパケット処理の装置と方法とが必要である。
【課題を解決するための手段】
【０００４】
本発明は、通信スイッチを通るパケット化されたデータすなわちパケットを、高速フロー転送（Ｆａｓｔ  Ｆｌｏｗ−Ｆｏｒｗａｒｄｉｎｇ：ＦＦＦ）装置を用いて処理する装置と方法とを提供する。ＦＦＦはパターン・マッチングとプロトコル層境界にまたがるデータ処理規則とに基づいてパケットの転送を促進する。ＦＦＦを多くのプロトコル環境に用いて、特定のフローに関連するパケットを識別することによりスイッチの効率を高めることができる。フローとは、特定の発信元から１つまたは複数の特定の宛先に送られる相互に関連するパケットのストリームである。一般にかかるフローは、１つのクライアント・サーバ・セッションから生じる同じ発信元アドレスおよび宛先アドレスと、共通の他の評価基準とを有する。
【０００５】
本発明が提供するパケット処理の方法は、パケットが１つまたは複数の識別規則を満足する場合は１つまたは複数の変換規則を用いてパケットを受けて処理する。そうではなく、パケットが１つまたは複数の識別規則を満足しない場合は標準プロセスを用いてパケットを処理する。この方法は、この方法の各ステップを実行するためのコード・セグメントを有するコンピュータ・プログラムを用いて実現することができる。
【０００６】
更に本発明は、１つまたは複数の入口カードと、１つまたは複数の制御カードと、１つまたは複数の出口カードと、通信バスとを有する通信スイッチを提供する。通信バスは入口カードと制御カードと出口カードとに結合して通信する。各制御カードは少なくとも１つのプロセッサを有する。更に、各入口カードは１つまたは複数のパケットを受け、パケットが１つまたは複数の識別規則を満足する場合は１つまたは複数の変換規則を用いて各パケットを処理し、パケットが１つまたは複数の識別規則を満足しない場合は各パケットをプロセッサの１つに送って標準プロセスを用いて処理する。
【０００７】
また本発明は、１つまたは複数の入口カードと、１つまたは複数の制御カードと、１つまたは複数の処理カードと、１つまたは複数の出口カードと、スイッチ構造と、ＴＤＭバスとを有する通信スイッチを提供する。各制御カードは少なくとも１つのプロセッサを有する。また、各信号処理カードはディジタル信号処理プロセッサの配列を含む。各ディジタル信号処理プロセッサは１つまたは複数のパケットを作成して、１つまたは複数のパケットを高速フロー転送エンジンに送る。各高速フロー転送エンジンは１つまたは複数のパケットを受け、パケットが１つまたは複数の識別規則を満足する場合は１つまたは複数の変換規則を用いて各パケットを処理し、パケットが１つまたは複数の識別規則を満足しない場合は各パケットをプロセッサの１つに送って標準プロセスを用いて処理する。スイッチ構造は、入口カードと、信号処理カードと、制御カードと、出口カードとに結合して通信する。ＴＤＭバスは、入口カードと、信号処理カードと、制御カードと、出口カードとに結合して通信する。
【実施例】
【０００８】
（発明の詳細な説明）
本発明の種々の実施の形態の生成と使用とを以下に詳細に説明するが、理解されるように、本発明は種々の特定の文脈で実現することが可能な多くの新規な概念を提供する。例えば、本発明は電気通信システムだけでなく、他の形の通信または一般的なデータ処理に適用することができる。他の形の通信とは、ネットワーク間の通信や、衛星を介した通信や、本発明の現時点でまだ知られていない任意の通信形式を含んでよい。ここで説明する特定の実施の形態は本発明の生成と使用の特定の方法を示す単なる例であって、本発明の範囲を制限するものではない。
【０００９】
本発明は、通信スイッチを通るパケット化されたデータすなわちパケットを、高速フロー転送（ＦＦＦ）装置を用いて処理する装置と方法とを提供する。ＦＦＦはパターン・マッチングとプロトコル層境界にまたがるデータ処理規則とに基づいてパケットの転送を促進する。ＦＦＦを多くのプロトコル環境に用いて、特定のフローに関連するパケットを識別することによりスイッチの効率を高めることができる。フローとは、特定の発信元から１つまたは複数の特定の宛先に送られる相互に関連するパケットのストリームである。一般にかかるフローは、１つのクライアント・サーバ・セッションから生じる同じ発信元アドレスおよび宛先アドレスと、共通の他の評価基準とを有する。
【００１０】
例えば、ボイス・オーバ・インターネット・プロトコル（ＶｏＩＰ）の場合は、音声会話は種々のデータを持つ多くのインターネット・プロトコル（ＩＰ）パケットから成る。ＶｏＩＰはＩＰベースのデータ・ネットワークにより電話をかけ、ファックスを送る機能である。統合音声（ｉｎｔｅｇｒａｔｅｄ  ｖｏｉｃｅ）／データ・ネットワークにより標準化が促進され、必要な全設備は少なくなる。ＶｏＩＰはマルチメディアおよびマルチサービス応用を支援することができる。しかし特定の会話に関連する全てのパケットは一般に同じまたは似たヘッダ情報を有するので、フローとして記述することができる。本発明はフローを検出して標準処理ステップを記録すると、比較的簡単で知能を持たない（プロトコルが知覚しない）装置により適用可能ないくつかの一般的規則により、同じ処理方法を定義することができる。他方で標準処理方式（従来技術のプロトコル処理）では、特定のフローに関連するＩＰパケットはプロトコル・スタックと呼ぶ層化プロトコル・ソフトウエア・プロセスに基づいて個別に交換される。しかしこの方法ではスイッチの効率が低い。なぜなら、各個別のパケットはスイッチのプロセッサにより同じように処理されるので、装置の処理量は小さくなり、および／または許容できないほどのパケット待ち時間が生じる。本発明のＦＦＦを用いるスイッチはフローの残りの部分には標準処理方式の層化プロセス処理（ｌａｙｅｒｅｄ  ｐｒｏｔｏｃｏｌ  ｐｒｏｃｅｓｓｉｎｇ）を行わないので、フローの一部として識別されたパケットについて処理量を大幅に高めることができる。
【００１１】
ＩＰはパケットのフォーマット（データグラムとも呼ぶ）とアドレス指定方式とを指定する。多くのネットワークはＩＰと高水準プロトコルとを組み合わせる。かかるプロトコルの１つは伝送制御プロトコル（ＴＣＰ）とも呼ばれており、宛先と発信元との間に仮想接続を確立する。ＩＰはパッケージをアドレス指定してシステム内に投じるが、送信者と受信者との間に直接のリンクは存在しない。他方で、ＴＣＰ／ＩＰは２つのホスト間の接続を確立するので、或る期間、メッセージを送ったり受けたりすることができる。
【００１２】
別のＩＰパケット・ヘッダは実時間伝送プロトコル（ｒｅａｌ  ｔｉｍｅ  ｔｒａｎｓｐｏｒｔ  ｐｒｏｔｏｃｏｌ：ＲＴＰ）である。これはオーディオとビデオとを含む実時間データ伝送のためのインターネット標準である。ＲＴＰは、パケットが特定の符号化フォーマットの音声サンプリングを含むのを識別するのに用いられる。ＲＴＰパケットのストリームから同期音声ストリームを構築するには一般にタイムスタンプとシーケンス番号とを用いる。また、ＲＴＰはメディア・オン・デマンド・サービスやＩＰ電話などの会話型サービスにも用いることができる。他方で、ユーザ・データグラム・プロトコル（ＵＤＰ）ヘッダが提供するデータの伝送は効率的ではあるが信頼性がない（保証がない）。これは実時間音声データの伝送に用いられる。なぜなら、実時間データを再送信すると音声会話の遅れが余りにも大きいからである。しかし、ＩＰはネットワークによる送信のためのデータの標準カプセル化を提供する。これは経路選択に用いられる発信元と宛先のアドレスを含む。ＭＡＣは管理機能を行い、装置のアドレス決定プロトコル（ａｄｒｅｓｓ  ｒｅｓｏｌｕｔｉｏｎ  ｐｒｏｔｏｃｏｌ：ＡＲＰ）を処理する。
【００１３】
図１は、本発明に係る通信スイッチ１００の或る実施の形態のブロック図を示す。スイッチ１００は１つまたは複数の制御カード１０２と、１つまたは複数の入口カード１０４と、１つまたは複数の出口カード１０６とを含む。制御カード１０２と、入口カード１０４と、出口カード１０６とは、周辺構成要素相互接続（ＰＣＩ）バスなどの通信バス１０８を介して互いに結合して通信する。また制御カード１０２はイーサネット（登録商標）・インターフェース１１２を介してイーサネット（登録商標）接続１１０に結合して通信する。
【００１４】
制御カード１０２は、ＰＣＩバス１０８にアクセスするためのＰＣＩインターフェース１１６に結合して通信する１つまたは複数のＣＰＵすなわちコントローラ１１４を含む。コントローラ１１４はプロトコル・マネージャ１１８に結合して通信する。プロトコル・マネージャ１１８は、プロトコル・スタック１２０の各レベルでパケットを処理する１つまたは複数のエイジェントを含む。そのため、制御カード１０２が処理するプロトコルのタイプ毎に少なくとも１つのプロトコル・マネージャ１１８とプロトコル・スタック１２０とがある。例えば、ＩＰプロトコル・スタックは、下から上に、イーサネット（登録商標）層１２０ａと、ＩＰ層１２０ｂと、ＵＤＰ層１２０ｃと、ＲＴＰ層１２０ｄとを含む。同様に、プロトコル・マネージャ１１８はプロトコル・スタック１２０の層毎に、対応する層マネージャ１１８ａ、１１８ｂ、１１８ｃ、１１８ｄを有する。プロトコル層と層マネージャの数は処理するプロトコルに従う。コントローラ１１４と、プロトコル・マネージャ１１８と、プロトコル・スタック１２０とは、本発明の標準プロトコル処理を行う。
【００１５】
また本発明の制御カード１０２はＦＦＦコントローラ１２２を含み、ＦＦＦコントローラ１２２は少なくとも１つのＦＦＦマネージャ１２４とＦＦＦアプリケーション１２６とを含む。ＦＦＦコントローラ１２２は、コントローラ１１４と、ＰＣＩインターフェース１１６と、プロトコル・マネージャ１１８とに結合して通信する。ＦＦＦコントローラ１２２と、ＦＦＦマネージャ１２４と、ＦＦＦアプリケーション１２６の動作については、後で図２を参照して詳細に説明する。また制御カード１０２はＦＦＦエンジン１２８を含み、ＦＦＦエンジン１２８はイーサネット（登録商標）・インターフェース１１２と、プロトコル・スタック１２０と、ＦＦＦコントローラ１２２と、ＦＦＦデータベース１３０とに結合して通信する。ＦＦＦエンジン１２８とＦＦＦデータベース１３０の動作については、後で図３を参照して詳細に説明する。その他に、プロトコル・スタック１２０はイーサネット（登録商標）・インターフェース１１２に結合して通信する。
【００１６】
１つまたは複数の入口カード１０４は通信１３４を受ける入口ネットワーク・インターフェース１３２と、ＰＣＩバス１０８に結合して通信するＰＣＩインターフェース１３６と、入口ネットワーク・インターフェース１３２とＰＣＩインターフェース１３６とに結合して通信する入口ドライバ１３８とを含む。また入口カード１０４は１つまたは複数のＦＦＦエンジン１４０を含み、ＦＦＦエンジン１４０は入口ネットワーク・インターフェース１３２と、ＰＣＩインターフェース１３６と、入口ドライバ１３８と、ＦＦＦデータベース１４２とに結合して通信する。ＦＦＦエンジン１４０とＦＦＦデータベース１４２の動作については、後で図３を参照して詳細に説明する。１つまたは複数の出口カード１０６は通信１４６を受ける出口ネットワーク・インターフェース１４４と、ＰＣＩバス１０８に結合して通信するＰＣＩインターフェース１４８と、出口ネットワーク・インターフェース１４４とＰＣＩインターフェース１４８とに結合して通信する出口ドライバ１５０とを含む。
【００１７】
１つまたは複数のＦＦＦアプリケーション１２６はプロトコル・マネージャ１１８とプロトコル・スタック１２０とを監視して、既存のフロー内の新しいフローと変化とを検出する。ＦＦＦアプリケーション１２６は層マネージャ１１８ａ-ｄと協同して特定のフローの識別、確認、および／または変換の規則を検出し、作成し、削除する。ＦＦＦアプリケーション１２６はフローセット規則の完全な集合を構築する。これは、ＦＦＦエンジン（１２８，１４０など）内に設けられる１つまたは複数の識別規則と、１つまたは複数の確認規則と、および／または１つまたは複数の変換規則とを含む。ＦＦＦマネージャ１２４はＦＦＦ装置の管理インターフェースを処理し、ＦＦＦアプリケーション１２６とＦＦＦエンジン１２８および１４０との間の通信を制御する。更に、ＦＦＦマネージャ１２４はＦＦＦアプリケーション１２６からのフローの追加、削除、および／または質問の要求を受けつけ、この要求を、ＦＦＦエンジン１２８および１４０が理解できるフォーマットに翻訳する。また、フロー・マネージャ１２４は識別、確認、および／または変換の規則をＦＦＦエンジン１２８および１４０に送って、これらの規則をＦＦＦデータベース１３０および１４２にそれぞれ記憶する。ＦＦＦデータベース・マネージャ（図示しない）はＦＦＦデータベース１３０および１４２を制御する。ＦＦＦエンジン１２８および１４０とＦＦＦデータベース・マネージャ（図示しない）とは、ＦＦＦに参加する入口ドライバ１３８などの任意のドライバへの１つまたは複数のライブラリ・ルーチンとして設ける。ライブラリ・ルーチンはソフトウエアで、またはハードウエアで加速して、実現する。
【００１８】
ＦＦＦデータベース・マネージャ（図示しない）は識別、確認、および／または変換の規則を決定樹として記憶して、ＦＦＦエンジン１２８および１４０による高速フレーム処理を容易にする。決定樹は１つまたは複数のノードを含み、各ノードはハッシュ・テーブルである。決定樹にハッシュ・テーブルを使用することは当業者に公知である。またＦＦＦエンジン１２８および１４０は到着するフレームと既存のフロー・パターン（ＦＦＦデータベース１３０および１４２内に１つまたは複数の識別規則として記憶されている）とを比べて、パケットが識別されたフローの一部かどうか判定する。１つまたは複数の識別規則は、ＩＰデータ・パケットが特定のフローに属することを一意的に識別するデータ・パターン、データ・マスク、および／またはＩＰデータ・パケットの相対オフセットを含んでよい。またＦＦＦエンジン１２８および１４０は到着するフレームを、ＦＦＦデータベース１３０および１４２内に記憶されている１つまたは複数の確認規則を用いて確認する。１つまたは複数の確認規則はパケットがＦＦＦに適格であることを更に検証するのに用いる。パケットを識別し確認すると、ＦＦＦエンジン１２８および１４０はＦＦＦデータベース１３０および１４２内に記憶されている１つまたは複数の変換規則を用いてこれを処理する。一般に、最終の変換規則は変換されたパケットを送信するための出力インターフェースの識別を含む。変換が終わると、パケットはＰＣＩバス１０８とＰＣＩインターフェース１３６および１４８とを介して出口カード１０６に直接送られる。しかし、装置の出口ポートがＦＦＦエンジン１２８および１４０と同じプリント回路板上に設けられている場合は、パケットを出口ポートに直接送ることができる。
【００１９】
装置を初期化したとき、ＦＦＦデータベース１３０および１４２（決定樹）は一般に空である。装置を初期化した後、記憶された情報をＦＦＦデータベース１３０および１４２（決定樹）にロードしてよい。記憶されたデータベース情報が利用できないかまたは存在しない場合は、ＦＦＦデータベース１３０および１４２にフローセットをロードするまで、ＦＦＦエンジン１２８および１４０は標準処理のために特定のフローに関連するパケットをプロトコル・スタック１２０にルーティングすることをデフォルトする。また、フローセットをＦＦＦエンジン１２８および１４０に追加し、修正し、削除するに従って、ＦＦＦデータベース１３０および１４２（決定樹）を動的に修正する。
【００２０】
図１と図２とを参照すると、図２は本発明に係る高速フロー転送コントローラのフローチャートを示す。フローセット規則（識別と検証と変換と）を作成し、更新し、削除するプロセスはブロック２００から始まる。ブロック２０２で、ＦＦＦコントローラ１２２（より特定すると１つまたは複数のＦＦＦアプリケーション１２６）はプロトコル・マネージャ１１８によりプロトコル・スタック１２０内のパケットの標準処理を監視する。決定ブロック２０４で、ＦＦＦコントローラ１２２が外部データ（呼設定情報など）を受けず、かつ決定ブロック２０６で新しいフローを検出した場合は、ブロック２０８で、１つまたは複数の識別規則と、１つまたは複数の検証すなわち確認規則と、１つまたは複数の変換規則とを作成する。次にブロック２１０で、ＦＦＦマネージャ１２４は、検出されたフローを処理するＦＦＦエンジン１２８または１４０がフローセット規則（１つまたは複数の識別規則と、１つまたは複数の検証すなわち確認規則と、１つまたは複数の変換規則）を利用できるようにする。その結果、ブロック２１２でＦＦＦエンジン１２８または１４０は使用可能になる。その後はブロック２０２で、ＦＦＦコントローラ１２２はＦＦＦアプリケーション１２６を介してパケットの標準処理の監視を続ける。
【００２１】
しかし決定ブロック２０４で１２０ＦＦＦコントローラ１２２が外部データ（呼設定情報など）を受け、かつ決定ブロック２１４でこの外部データが呼のフローセット規則を予め作成できるほど十分予測可能な場合は、ブロック２０８でフローセット規則（１つまたは複数の識別規則と、１つまたは複数の検証すなわち確認規則と、１つまたは複数の変換規則と）を作成し、プロセスを前に述べたように続ける。しかしブロック２１４で、外部データが呼のフローセット規則を予め作成できるほど十分予測可能でない場合は、ブロック２０２でＦＦＦコントローラ１２２はＦＦＦアプリケーション１２６を介してパケットの標準処理の監視を続ける。
【００２２】
しかし決定ブロック２０６で新しいフローを検出しないが、決定ブロック２１６で既存のフロー内の変化を検出した場合は、ブロック２１８で１つまたは複数の識別規則と、１つまたは複数の検証すなわち確認規則と、１つまたは複数の変換規則とを更新する。次にブロック２２０で、ＦＦＦマネージャ１２４は、更新されたフローセット規則（１つまたは複数の識別規則と、１つまたは複数の検証すなわち確認規則と、１つまたは複数の変換規則と）を、検出されたフローを処理するＦＦＦエンジン１２８または１４０が利用できるようにする。その後ブロック２０２で、ＦＦＦコントローラ１２２はＦＦＦアプリケーション１２６を介してパケットの標準処理の監視を続ける。
【００２３】
しかし決定ブロック２１６で既存のフロー内の変化を検出せず、かつ決定ブロック２２２で時間切れ、終了、またはリセットの条件を検出した場合は、ブロック２２４で１つまたは複数の識別規則と、１つまたは複数すなわち確認規則と、１つまたは複数の変換規則とを取り除く、すなわち削除する。その結果、ブロック２２６で該当するＦＦＦエンジン１２８または１４０は使用禁止になる。その後はブロック２０２で、ＦＦＦコントローラ１２２はＦＦＦアプリケーション１２６を介してパケットの標準処理の監視を続ける。
【００２４】
次に図１と３とを参照すると、図３は本発明に係る高速フロー転送エンジンのフローチャートを示す。ＦＦＦエンジン１２８または１４０のパケットの処理はブロック３００から始まる。ブロック３０２で、ＦＦＦエンジン１２８または１４０はパケットを受ける。決定ブロック３０４で、ＦＦＦエンジン１２８または１４０が使用禁止か、またはＦＦＦデータベース１３０または１４２内にフローセット規則がロードされていない場合は、ブロック３０６で標準プロセスを用いてパケットを処理して送る。これは、処理のためにパケットをプロトコル・スタック１２０に送ることを意味する。その後、決定ブロック３０８でＦＦＦエンジン１２８または１４０が、時間切れ、終了、またはリセットの条件を受けた場合は、ブロック３１０で１つまたは複数の識別規則と、１つまたは複数の検証すなわち確認規則と、１つまたは複数の変換規則とを取り除き、すなわち削除して、ブロック３１２でＦＦＦエンジン１２８または１４０はプロセスを終わる。その結果、該当するＦＦＦエンジン１２８または１４０は使用禁止になる。
【００２５】
しかし、決定ブロック３０４でＦＦＦエンジン１２８または１４０が使用可能であり、かつフローセット規則がＦＦＦデータベース１３０または１４２内にロードされている場合は、ブロック３１４でパケットを１つまたは複数の識別規則に照らしてテストする。ブロック３１６で識別できない場合は、ブロック３０６で標準プロセスを用いてパケットを処理して送り、前に説明したプロセスを続ける。これは、処理のためにパケットをプロトコル・スタック１２０に送ることを意味する。しかし、ブロック３１６で識別できた場合は、ブロック３１８でパケットを１つまたは複数の検証すなわち確認規則に照らしてテストする。決定ブロック３２０で確認できない場合は、ブロック３０６で標準プロセスを用いてパケットを処理して送り、前に説明したプロセスを続ける。これは、処理のためにパケットをプロトコル・スタック１２０に送ることを意味する。しかし、決定ブロック３２０で確認できた場合は、ブロック３２２で１つまたは複数の変換規則を用いてパケットを処理し、ブロック３２４で、処理された、すなわち変換されたパケットを割り当てられた出口ポートに直接送る。その後プロセスは前に説明したように決定ブロック３０８に戻り、多くの場合ブロック３０２で次のパケットを受けてプロセスを繰り返す。
【００２６】
次に図４を参照して、本発明に係る通信スイッチ４００について説明する。パケット・ネットワーク・スイッチ４００は、ＶｏＩＰや、ボイス・オーバ・フレーム・リレー（ＶｏＦＲ）や、その他のタイプの呼を処理するのに用いることができる。また、パケット・ネットワーク・スイッチ４００は非同期転送モード（ＡＴＭ）スイッチと同様である。ＡＴＭはローカル・エリア・ネットワーク（ＬＡＮ）環境でもワイド・エリア・ネットワーク（ＷＡＮ）環境でも用いられる接続指向技術である。これは、各チャンネルに容量を自由に割り当てることが可能な高速パケット切替え技術である。パケット・ネットワーク・スイッチ４００は１つまたは複数の入口カード４０２ａおよび４０２ｂと、１つまたは複数の信号処理カード４０４と、１つまたは複数の制御カード４０６と、１つまたは複数の出口カード４０８ａおよび４０８ｂと、スイッチ構造４１０と、ＴＤＭバス４１２とを含む。各信号処理カード４０４はディジタル信号処理プロセッサ（ＤＳＰ）（図示しない）の配列を含み、各制御カード４０６は１つまたは複数のプロセッサ（図示しない）を含む。スイッチ構造４１０は入口カード４０２と、信号処理カード４０４と、制御カード４０６と、出口カード４０８とに結合して通信する。ＴＤＭバス４１２も入口カード４０２と、信号処理カード４０４と、制御カード４０６と、出口カード４０８とに結合して通信する。カード４０２，４０４，４０６，４０８はパケット・ネットワーク・スイッチ４００内で任意の順序で挿入できることが好ましい。また、パケット・ネットワーク・スイッチ４００は、カード４０２，４０４，４０６，４０８が故障した場合にバックアップ・カードとして働く十分な数の冗長カードを含まなければならない。
【００２７】
パケット・ネットワーク・スイッチ４００の主な機能はユーザ・データ・セルを入力ポートから該当する出力ポートに中継することである。パケット・ネットワーク・スイッチ４００が呼または通信を処理するとき、ネットワーク・コントローラ（図示しない）は制御カード４０８に必要な呼設定情報を与える。制御カード４０８はこの呼設定情報を用いて、入口カード４０２ａまたは４０２ｂ内のポートを割り当てて公衆加入電話網（ＰＳＴＮ）から呼を受け、処理カード４０４内のＤＳＰを割り当てて呼を処理し、出口カード４０８ａまたは４０８ｂ内のポートを割り当てて呼をＩＰネットワーク（図示しない）に送る。各制御カード４０８は自分のメモリを有するので、共用メモリに関連する一般的な問題（再帰呼出しや同期や変造など）は避けられる。ＴＤＭベースの通信またはメッセージは入口カード４０２ａまたは４０２ｂを介して入り、ＴＤＭバス４１２を介して該当する処理カード４０４に送られる。処理カード４０４内のＤＳＰはメッセージの情報フォーマットをアナログとディジタルの間で変換して、ディジタル圧縮および切替え機能を行う。１つの実施の形態では、各処理カード４０４は１０２４の同時セッションを処理することができる。次に各処理カード４０４はＤＳＰからのメッセージをセル・スイッチ構造４１０に送る。セル・スイッチ構造４１０は主としてメッセージ、すなわち基本的な伝送ユニットであるデータ・セルをスイッチ要素間で経路選択して転送する機能を有する。またスイッチ構造４１０は、セル・バッファリング、トラヒックの集中と多重化、障害許容のための冗長化、マルチキャスティングまたはブロードキャスティング、遅延優先度に基づくセル・スケジューリング、混雑監視などを行う。スイッチ構造４１０は最終的に出口カード４０８ａまたは４０８ｂへのメッセージの経路選択を行う。１つの実施の形態では、各出口カード４０８は少なくとも８０００呼を処理することができる。出口カード４０８ａまたは４０８ｂは一般にメッセージをギガビット・イーサネット（登録商標）（図示しない）に送る。その名が示すように、ギガビット・イーサネット（登録商標）は毎秒１ギガビット（１，０００メガビット）のデータ・レートを支援する。
【００２８】
図５は、本発明の１つの実施の形態に係るパケット・ネットワーク・スイッチ５００の略図を示す。パケット・ネットワーク・スイッチ５００は、ＴＤＭバス５０４に結合して通信する入口カード５０２ａおよび５０２ｂを含む。ＴＤＭバス５０４は多数のＤＳＰ５０６ａ，５０６ｂ，５０６ｃ，．．．，５０６ｎに結合して通信する。ＤＳＰ５０６ａ，５０６ｂ，５０６ｃ，．．．，５０６ｎは一般に１つまたは複数の信号処理カード上に設けられるＤＳＰの配列で形成される。各ＤＳＰ５０６ａ，５０６ｂ，５０６ｃ，．．．，５０６ｎはＦＦＦエンジン５０８ａ，５０８ｂ，５０８ｃ，．．．，５０８ｎに結合して通信し、各エンジンは前に説明したＦＦＦデータベース（図示しない）を有する。各ＦＦＦエンジンＤＳＰ５０８ａ，５０８ｂ，５０８ｃ，．．．，５０８ｎはスイッチ構造５１０に結合して通信する。スイッチ構造５１０は出口カード５１２ａおよび５１２ｂに結合して通信する。またパケット・ネットワーク・スイッチ５００は、一般に１つまたは複数の制御カード上に設けられる１つまたは複数のＣＰＵ５１４を含む。ＣＰＵ５１４は入口カード５０２ａおよび５０２ｂと、ＤＳＰ５０６ａ，５０６ｂ，５０６ｃ，．．．，５０６ｎと、出口カード５１２ａおよび５１２ｂとに結合して通信する。ＦＦＦマネージャ（図示しない）と１つまたは複数のＦＦＦアプリケーション（図示しない）とを含むＦＦＦコントローラ５１６は、ＣＰＵ５１４とＦＦＦエンジンＤＳＰ５０８ａ，５０８ｂ，５０８ｃ，．．．，５０８ｎとに結合して通信する。
【００２９】
時分割多元（ＴＤＭ）ベースの通信５１８ａまたは５１８ｂからＩＰベースの通信５２０ａまたは５２０ｂへの変換中に、ＣＰＵ５１４は呼の信号処理命令５２２を受けて、入口カード５０２ａおよび５０２ｂポートと、出口カード５１０ａおよび５１０ｂポートと、ＤＳＰ５０６ａ，５０６ｂ，５０６ｃ，．．．，５０６ｎとを割り当てて呼を処理する。同様に、ＦＦＦコントローラ５１６（ＦＦＦマネージャ）は各ＦＦＦエンジンＤＳＰ５０８ａ，５０８ｂ，５０８ｃ，．．．，５０８ｎを割り当てて、各ＤＳＰ５０６ａ，５０６ｂ，５０６ｃ，．．．，５０６ｎが作成した後のパケットを処理する。ＤＳＰ５０６ａ，５０６ｂ，５０６ｃ，．．．，５０６ｎはＣＰＵ５１４から呼設定情報を受けて、呼設定情報またはベアラ・タイプに基づいてＣＰＵ５１４にオーバーレイ（ｏｖｅｒｌａｙ）を要求する。ＤＳＰ５０６ａ，５０６ｂ，５０６ｃ，．．．，５０６ｎはオーバーレイを受けてロードする。オーバーレイはＤＳＰ５０６ａ，５０６ｂ，５０６ｃ，．．．，５０６ｎを正しく形成して呼の或るタイプを処理するのに必要な動作パラメータを含む。オーバーレイは実時間でロードするので、各ＤＳＰ５０６ａ，５０６ｂ，５０６ｃ，．．．，５０６ｎは任意の呼のタイプを処理することができる。またオーバーレイを用いることによりパケット・ネットワーク・スイッチ５００を更新して、新しい呼のタイプを処理し、またソフトウエアの更新またはダウンロードにより既存の呼のタイプをより効率的に処理することができる。また、パケット・ネットワーク・スイッチ５００はオーバーレイの割当てを用いて種々の呼のタイプへの帯域幅の割当てを動的に制御することにより、ＱｏＳ標準および／またはライセンス付与の制限条件の遵守を保証することができる。
【００３０】
次に、ＤＳＰ５０６ａ，５０６ｂ，５０６ｃ，．．．，５０６ｎはパルス符号変調（ＰＣＭ）データを処理し、データを更に区別して、異なるオーバーレイが必要かどうか判定する。オーバーレイを変える必要がある場合は、ＤＳＰ５０６ａ，５０６ｂ，５０６ｃ，．．．，５０６ｎは異なるオーバーレイを要求し、異なるオーバーレイを受けてロードする。例えば、呼のベアラ・タイプが実際には音声かまたはファックスであってよいのに、ベアラ・タイプは音声であると呼設定情報が示すことがある。したがって、ＰＣＭデータを更に区別することによって実際には呼は音声呼ではなくてファックスであるとＤＳＰ５０６ａ，５０６ｂ，５０６ｃ，．．．，５０６ｎが認識した場合は、ＤＳＰ５０６ａ，５０６ｂ，５０６ｃ，．．．，５０６ｎは異なるオーバーレイを要求して、ＤＳＰ５０６ａ，５０６ｂ，５０６ｃ，．．．，５０６ｎを正しく形成してファックスを処理する。
【００３１】
正しいオーバーレイをロードすると、ＤＳＰ５０６ａ，５０６ｂ，５０６ｃ，．．．，５０６ｎはＴＤＭバス５０４を介して、割り当てられた入口カード５０２ａ、５０２ｂポートから呼データを受ける。次にＤＳＰ５０６ａ，５０６ｂ，５０６ｃ，．．．，５０６ｎは呼データを圧縮してパケットのデータ部を作成する。またＤＳＰ５０６ａ，５０６ｂ，５０６ｃ，．．．，５０６ｎは圧縮された呼データから１つまたは複数のディジタル・サンプルを作成し、１つまたは複数のディジタル・サンプルを用いてパケットのデータ部を作成してよい。またＤＳＰ５０６ａ，５０６ｂ，５０６ｃ，．．．，５０６ｎは呼データと呼設定情報とを用いて、１つまたは複数のヘッダ（ＲＴＰヘッダや、ＵＤＰヘッダや、ＩＰヘッダや、ＭＡＣヘッダなど）を作成する。より特定すると、ＲＴＰヘッダとＵＤＰヘッダとは呼データから生成するが、ＩＰヘッダとＭＡＣヘッダとは呼設定情報から生成する。注意すべきであるが、ＤＳＰ５０６ａ，５０６ｂ，５０６ｃ，．．．，５０６ｎは特定のヘッダ（ＲＴＰヘッダや、ＵＤＰヘッダや、ＩＰヘッダや、ＭＡＣヘッダなど）の作成に限られず、パケットを正しく送信するのに必要な任意のヘッダを作成するのに用いることができる。
【００３２】
次にＤＳＰ５０６ａ，５０６ｂ，５０６ｃ，．．．，５０６ｎは１つまたは複数のヘッダをパケットのデータ部に付加する。ＤＳＰ５０６ａ，５０６ｂ，５０６ｃ，．．．，５０６ｎは割り当てられた各ＦＦＦエンジン５０８ａ，５０８ｂ，５０８ｃ，．．．，５０８ｎに完全なパケット（データとヘッダ）を送る。パケットが１つまたは複数の識別規則および／または検証または確認規則を満足する場合は、割り当てられたＦＦＦエンジン５０８ａ，５０８ｂ，５０８ｃ，．．．，５０８ｎは１つまたは複数の変換規則を用いてパケットを処理する。そうではなく、パケットが１つまたは複数の識別規則および／または検証または確認規則を満足しない場合は、割り当てられたＦＦＦエンジン５０８ａ，５０８ｂ，５０８ｃ，．．．，５０８ｎは標準プロセスを用いてパケットを処理する。標準プロセスは図１を参照して上に説明した。ＦＦＦプロセスは図１−３を参照して上に説明した。次にＩＰネットワークにより送信するために、処理されたパケットはスイッチ構造５１０を介して該当する出口カード５１２ａ，５１２ｂポートに送られる。
【００３３】
ここに述べた実施の形態や例は、本発明とその実際的な応用を説明して、当業者が本発明を利用できるようにするために示したものである。しかし当業者が理解するように、かかる説明や例は例示のためだけに示した。ここに述べた説明は網羅的なものではなく、本発明をこの開示そのままの形に制限するものでもない。特許請求の範囲の精神と範囲から逸れることなく、上の教示を参照して多くの修正や変更を行うことが可能である。
【図面の簡単な説明】
【００３４】
本発明の理解を深めるために、また例を用いて本発明を実行する方法を示すために、本発明の詳細な説明と添付の図面を提示する。図中、異なる図面内の対応する番号は対応する部分を指す。
【図１】本発明に係る、通信スイッチの１つの実施の形態のブロック図である。
【図２】本発明に係る、高速フロー転送コントローラのフローチャートである。
【図３】本発明に係る、高速フロー転送エンジンのフローチャートである。
【図４】本発明の１つの実施の形態に係る、パケット・ネットワーク・スイッチの図である。
【図５】本発明の１つの実施の形態に係る、パケット・ネットワーク・スイッチの略図である。
【図１】
2008086048.tif 000003
【図２】
2008086048.tif 000004
【図３】
2008086048.tif 000005
【図４】
2008086048.tif 000006
【図５】
2008086048.tif 000007
【手続補正書】
【提出日】平成19年12月13日(2007.12.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ＩＰデータ・パケットを高速フロー転送（ＦＦＦ）処理する方法であって、
前記ＩＰデータ・パケットのストリームである１つまたは複数のパケット・フローを受けるステップ（３０２）と、
ＩＰプロトコル・スタックと該ＩＰプロトコル・スタックの層毎に対応する層マネージャを有するプロトコル・マネージャとを監視して新しい前記パケット・フローと既存の前記パケット・フロー内の変化とを検出するＦＦＦアプリケーションを介して、前記ＩＰデータ・パケットを前記ＩＰプロトコル・スタックに基づき個別に交換する標準プロトコル処理を監視して、新しい前記パケット・フローおよび既存の前記パケット・フロー内の変化を検出するステップ（２０２，２０６，２１６）と、
呼設定状態を含む外部データを受けるステップ（２０４）と、
新しい前記パケット・フローを検出すると、１つまたは複数の識別規則と１つまたは複数の確認規則と１つまたは複数の変換規則とを含むフローセット規則を作成するステップ（２０６，２０８）と、
新しい前記パケット・フローを検出し且つ前記外部データを受けると、前記外部データに基づいて、１つまたは複数の識別規則と１つまたは複数の確認規則と１つまたは複数の変換規則とを含む呼のフローセット規則を作成するステップ（２０４，２０６，２０８）と、
既存の前記パケット・フロー内の変化を検出すると、１つまたは複数の識別規則と１つまたは複数の確認規則と１つまたは複数の変換規則とを含むフローセット規則を更新するステップ（２１６，２１８）と、
前記ＩＰデータ・パケットが前記作成または更新された識別規則を満足するか否かを判断するステップ（３１４）と、
前記ＩＰデータ・パケットが前記識別規則を満足する場合は、前記作成または更新された確認規則をさらに満足するか否かを判断するステップ（３１６，３１８）と、
前記ＩＰデータ・パケットが前記識別規則を満足しさらに前記確認規則を満足する場合は、前記ＩＰデータ・パケットが特定のパケット・フローに属し且つＦＦＦに適格であるものとして、前記作成または更新された変換規則を用いて前記ＩＰデータ・パケットを処理するステップ（３２０，３２２）と、
前記ＩＰデータ・パケットが前記識別規則および／または前記確認規則を満足しない場合は、前記ＩＰデータ・パケットが特定のパケット・フローに属さないおよび／またはＦＦＦに適格でないものとして、前記標準プロトコル処理を用いて前記ＩＰデータ・パケットを処理するステップ（３０６）と、
を含み、
前記識別規則は、ＩＰデータ・パケットが特定のパケット・フローに属することを一意的に識別するデータ・パターン、データ・マスク、および／またはＩＰデータ・パケットの相対オフセットを含み、
前記識別規則と前記確認規則と前記変換規則は、各ノードがハッシュ・テーブルである１つまたは複数のノードを含む決定樹を含む
ことを特徴とする、パケットを処理する方法。
【請求項２】
前記変換規則を用いて前記ＩＰデータ・パケットを処理した後で前記ＩＰデータ・パケットを出口ポートに送るステップを更に含む、請求項１記載のパケットを処理する方法。
【請求項３】
前記変換規則の各々は処理命令を含む、請求項１記載のパケットを処理する方法。
【請求項４】
前記ＩＰデータ・パケットはイーサネット（登録商標）・パケットである、請求項１記載のパケットを処理する方法。
【請求項５】
ＩＰデータ・パケットを高速フロー転送（ＦＦＴ）処理するためにコンピュータが読取り可能な媒体上に実現されるコンピュータ・プログラムであって、
前記ＩＰデータ・パケットのストリームである１つまたは複数のパケット・フローを受けるコード・セグメントと、
ＩＰプロトコル・スタックと該ＩＰプロトコル・スタックの層毎に対応する層マネージャを有するプロトコル・マネージャとを監視して新しい前記パケット・フローと既存の前記パケット・フロー内の変化とを検出するＦＦＦアプリケーションを介して、前記ＩＰデータ・パケットを前記ＩＰプロトコル・スタックに基づき個別に交換する標準プロトコル処理を監視して、新しい前記パケット・フローおよび既存の前記パケット・フロー内の変化を検出するコード・セグメントと、
呼設定状態を含む外部データを受けるコード・セグメントと、
新しい前記パケット・フローを検出すると、１つまたは複数の識別規則と１つまたは複数の確認規則と１つまたは複数の変換規則とを含むフローセット規則を作成するコード・セグメントと、
新しい前記パケット・フローを検出し且つ前記外部データを受けると、前記外部データに基づいて、１つまたは複数の識別規則と１つまたは複数の確認規則と１つまたは複数の変換規則とを含む呼のフローセット規則を作成するコード・セグメントと、
既存の前記パケット・フロー内の変化を検出すると、１つまたは複数の識別規則と１つまたは複数の確認規則と１つまたは複数の変換規則とを含むフローセット規則を更新するコード・セグメントと、
前記ＩＰデータ・パケットが前記作成または更新された識別規則を満足するか否かを判断するコード・セグメントと、
前記ＩＰデータ・パケットが前記識別規則を満足する場合は、前記作成または更新された確認規則をさらに満足するか否かを判断するコード・セグメントと、
前記ＩＰデータ・パケットが前記識別規則を満足しさらに前記確認規則を満足する場合は、前記ＩＰデータ・パケットが特定のパケット・フローに属し且つＦＦＦに適格であるものとして、前記作成または更新された変換規則を用いて前記ＩＰデータ・パケットを処理するコード・セグメントと、
前記ＩＰデータ・パケットが前記識別規則および／または前記確認規則を満足しない場合は、前記ＩＰデータ・パケットが特定のパケット・フローに属さないおよび／またはＦＦＦに適格でないものとして、前記標準プロトコル処理を用いて前記ＩＰデータ・パケットを処理するコード・セグメントと、
を含み、
前記識別規則は、ＩＰデータ・パケットが特定のパケット・フローに属することを一意的に識別するデータ・パターン、データ・マスク、および／またはＩＰデータ・パケットの相対オフセットを含み、
前記識別規則と前記確認規則と前記変換規則は、各ノードがハッシュ・テーブルである１つまたは複数のノードを含む決定樹を含む
ことを特徴とする、コンピュータ・プログラム。
【請求項６】
前記変換規則を用いて前記ＩＰデータ・パケットを処理した後で前記ＩＰデータ・パケットを出口ポートに送るためのコード・セグメントを更に含む、請求項５記載のコンピュータ・プログラム。
【請求項７】
前記変換規則の各々は処理命令を含む、請求項５記載のコンピュータ・プログラム。
【請求項８】
前記ＩＰデータ・パケットはイーサネット（登録商標）・パケットである、請求項５記載のコンピュータ・プログラム。
【請求項９】
通信スイッチであって、
１つまたは複数の入口カードと、
それぞれが少なくとも１つのプロセッサを有する１つまたは複数の制御カードと、
１つまたは複数の出口カードと、
前記入口カードと、前記制御カードと、前記出口カードとに結合して通信する通信バスと、
を備え、
各入口カードは、
ＩＰデータ・パケットのストリームである１つまたは複数のパケット・フローを受け、
ＩＰプロトコル・スタックと該ＩＰプロトコル・スタックの層毎に対応する層マネージャを有するプロトコル・マネージャとを監視して新しい前記パケット・フローと既存の前記パケット・フロー内の変化とを検出するＦＦＦアプリケーションを介して、前記ＩＰデータ・パケットを前記ＩＰプロトコル・スタックに基づき個別に交換する標準プロトコル処理を監視して、新しい前記パケット・フローおよび既存の前記パケット・フロー内の変化を検出し、
呼設定状態を含む外部データを受け、
新しい前記パケット・フローを検出すると、１つまたは複数の識別規則と１つまたは複数の確認規則と１つまたは複数の変換規則とを含むフローセット規則を作成し、
新しい前記パケット・フローを検出し且つ前記外部データを受けると、前記外部データに基づいて、１つまたは複数の識別規則と１つまたは複数の確認規則と１つまたは複数の変換規則とを含む呼のフローセット規則を作成し、
既存の前記パケット・フロー内の変化を検出すると、１つまたは複数の識別規則と１つまたは複数の確認規則と１つまたは複数の変換規則とを含むフローセット規則を更新し、
前記ＩＰデータ・パケットが前記作成または更新された識別規則を満足するか否かを判断し、
前記ＩＰデータ・パケットが前記識別規則を満足する場合は、前記作成または更新された確認規則をさらに満足するか否かを判断し、
前記ＩＰデータ・パケットが前記識別規則を満足しさらに前記確認規則を満足する場合は、前記ＩＰデータ・パケットが特定のパケット・フローに属し且つＦＦＦに適格であるものとして、前記作成または更新された変換規則を用いて前記ＩＰデータ・パケットを処理し、
前記ＩＰデータ・パケットが前記識別規則および／または前記確認規則を満足しない場合は、前記ＩＰデータ・パケットが特定のパケット・フローに属さないおよび／またはＦＦＦに適格でないものとして、前記ＩＰデータ・パケットを前記プロセッサの１つに送って前記標準プロトコル処理を用いて処理し、
前記識別規則は、ＩＰデータ・パケットが特定のパケット・フローに属することを一意的に識別するデータ・パターン、データ・マスク、および／またはＩＰデータ・パケットの相対オフセットを含み、
前記識別規則と前記確認規則と前記変換規則は、各ノードがハッシュ・テーブルである１つまたは複数のノードを含む決定樹を含む
ことを特徴とする、通信スイッチ。
【請求項１０】
前記変換規則を用いて前記ＩＰデータ・パケットを処理した後で前記ＩＰデータ・パケットを前記出口カードの１つに送る、請求項９記載の通信スイッチ。
【請求項１１】
前記変換規則の各々は処理命令を含む、請求項９記載の通信スイッチ。
【請求項１２】
前記ＩＰデータ・パケットはイーサネット（登録商標）・パケットである、請求項９記載の通信スイッチ。
【請求項１３】
通信スイッチであって、
１つまたは複数の入口カードと、
それぞれが少なくとも１つのプロセッサを有する１つまたは複数の制御カードと、
１つまたは複数の信号処理カードであって、
各信号処理カードは、ディジタル信号処理プロセッサの配列を含み、
各ディジタル信号処理プロセッサは、ＩＰデータ・パケットのストリームである１つまたは複数のパケット・フローを作成して当該パケット・フローを高速フロー転送エンジンに送り、
各高速フロー転送エンジンは、
前記パケット・フローを受け、
ＩＰプロトコル・スタックと該ＩＰプロトコル・スタックの層毎に対応する層マネージャを有するプロトコル・マネージャとを監視して新しい前記パケット・フローと既存の前記パケット・フロー内の変化とを検出するＦＦＦアプリケーションを介して、前記ＩＰデータ・パケットを前記ＩＰプロトコル・スタックに基づき個別に交換する標準プロトコル処理を監視して、新しい前記パケット・フローおよび既存の前記パケット・フロー内の変化を検出し、
呼設定状態を含む外部データを受け、
新しい前記パケット・フローを検出すると、１つまたは複数の識別規則と１つまたは複数の確認規則と１つまたは複数の変換規則とを含むフローセット規則を作成し、
新しい前記パケット・フローを検出し且つ前記外部データを受けると、前記外部データに基づいて、１つまたは複数の識別規則と１つまたは複数の確認規則と１つまたは複数の変換規則とを含む呼のフローセット規則を作成し、
既存の前記パケット・フロー内の変化を検出すると、１つまたは複数の識別規則と１つまたは複数の確認規則と１つまたは複数の変換規則とを含むフローセット規則を更新し、
前記ＩＰデータ・パケットが前記作成または更新された識別規則を満足するか否かを判断し、
前記ＩＰデータ・パケットが前記識別規則を満足する場合は、前記作成または更新された確認規則をさらに満足するか否かを判断し、
前記ＩＰデータ・パケットが前記識別規則を満足しさらに前記確認規則を満足する場合は、前記ＩＰデータ・パケットが特定のパケット・フローに属し且つＦＦＦに適格であるものとして、前記作成または更新された変換規則を用いて前記ＩＰデータ・パケットを処理し、
前記パケットが前記識別規則および／または前記確認規則を満足しない場合は、前記ＩＰデータ・パケットが特定のパケット・フローに属さないおよび／またはＦＦＦに適格でないものとして、前記ＩＰデータ・パケットを前記プロセッサの１つに送って前記標準プロトコル処理を用いて処理する、
信号処理カードと、
１つまたは複数の出口カードと、
前記入口カードと、前記信号処理カードと、前記制御カードと、前記出口カードとに結合して通信するスイッチ構造と、
前記入口カードと、前記信号処理カードと、前記制御カードと、前記出口カードとに結合して通信するＴＤＭバスと、
を備え、
前記識別規則は、ＩＰデータ・パケットが特定のパケット・フローに属することを一意的に識別するデータ・パターン、データ・マスク、および／またはＩＰデータ・パケットの相対オフセットを含み、
前記識別規則と前記確認規則と前記変換規則は、各ノードがハッシュ・テーブルである１つまたは複数のノードを含む決定樹を含む
ことを特徴とする、通信スイッチ。
【請求項１４】
前記１つまたは複数の変換規則を用いて前記ＩＰデータ・パケットを処理した後で前記ＩＰデータ・パケットを前記出口カードの１つに送る、請求項１３記載の通信スイッチ。
【請求項１５】
前記変換規則の各々は処理命令を含む、請求項１３記載の通信スイッチ。
【請求項１６】
前記ＩＰデータ・パケットはイーサネット（登録商標）・パケットである、請求項１３
記載の通信スイッチ。
【外国語明細書】
2008086048000001.pdf