(57)【要約】      （修正有）【課題】ネットワークパケットの効率的な分類のためのシステム及び／又は方法を提供する。【解決手段】パケットを特徴ベクトルとして記述することと、該特徴ベクトルを特徴空間にマッピングする。さらに、特徴プリズムを定義することと、該特徴プリズムに対して該パケットを分類することと、該特徴ベクトルが該特徴プリズムと整合するか否かを判断することとを含む。該特徴ベクトルが該特徴プリズムと整合する場合、該パケットはデータ受信者に譲渡され、そうでない場合は該パケットはブロックされる。装置構成は、パケットの少なくとも１つの特徴を定義する識別コンポーネントと、少なくとも部分的に該少なくとも１つの定義された特徴に基づいて該パケットを分類する分類コンポーネントとを含む。【選択図】図９
2011054179.tif 000002
【特許請求の範囲】
【請求項１】
パケットを特徴ベクトルとして記述することと、
前記特徴ベクトルを特徴空間にマッピングすることと、
を備える、パケット分類方法。
【請求項２】
特徴プリズムを定義することと、
前記特徴プリズムに対して前記パケットを分類することと、
前記特徴ベクトルが前記特徴プリズムと整合するか否かを判断することと、
をさらに備える、請求項１に記載の方法。
【請求項３】
前記特徴ベクトルが前記特徴プリズムと整合する場合、前記パケットがパケットフィルタを介して送信されるようにすることをさらに備える、請求項２に記載の方法。
【請求項４】
前記特徴ベクトルが前記特徴プリズムと整合しない場合、前記パケットをパケットフィルタによってブロックすることをさらに備える、請求項２に記載の方法。
【請求項５】
ベクトルｖをエンクローズするプリズムｐが存在する場合、前記パケットの特徴ベクトルｖが特徴プリズムＰと整合する、請求項２に記載の方法。
【請求項６】
前記特徴ベクトルはｎ次元の特徴ベクトルである、請求項１に記載の方法。
【請求項７】
前記特徴空間はｎ次元の特徴空間である、請求項１に記載の方法。
【請求項８】
前記特徴ベクトルは、１つの数字によって表される特徴を備える、請求項１に記載の方法。
【請求項９】
前記特徴は所定の範囲内の１つの数字によって表される、請求項８に記載の方法。
【請求項１０】
前記数字は、前記パケットの少なくとも１つの特徴に基づいて生成される数字である、請求項８に記載の方法。
【請求項１１】
前記パケットを特徴ベクトルとして記述することはパケット分類基準に基づいて記述される、請求項１に記載の方法。
【請求項１２】
パケットの少なくとも１つの特徴を定義する識別コンポーネントと、
少なくとも部分的に前記少なくとも１つの定義された特徴に基づいて前記パケットを分類する分類コンポーネントと、を備えるパケット分類装置。
【請求項１３】
前記識別コンポーネントは前記パケットの前記少なくとも１つの特徴を、所定に範囲内に含まれる１つの数字として定義する、請求項１２に記載の装置。
【請求項１４】
少なくとも部分的に前のパケットからの情報に基づいてステートフル特徴を生成する予測コンポーネントをさらに備える、請求項１２に記載の装置。
【請求項１５】
整合技術を適用して、前記パケットのデータアクセスの分類を容易にする比較コンポーネントをさらに備える、請求項１２に記載の装置。
【請求項１６】
前記少なくとも１つの特徴は、前記パケットに存在する含有特徴である、請求項１２に記載の装置。
【請求項１７】
前記少なくとも１つの特徴は、未定義値によって表される生成特徴である、請求項１２に記載の装置。
【請求項１８】
前記未定義値は前記特徴の範囲の要素である、請求項１７に記載の装置。
【請求項１９】
前記少なくとも１つの特徴はステートフル特徴である、請求項１２に記載の装置。
【請求項２０】
モバイル電話である、請求項１２に記載の装置。
【請求項２１】
携帯情報端末である、請求項１２に記載の装置。
【請求項２２】
パソコンである、請求項１２に記載の装置。
【請求項２３】
データパケットを特徴ベクトルとして識別する手段と、
前記特徴ベクトルを特徴空間に対応付ける手段と、
を備える、データパケット分類システム。
【請求項２４】
特徴プリズムを定義する手段と、
前記特徴プリズムに関連して前記データパケットを分類する手段と、
前記特徴ベクトルを前記特徴プリズムに整合させる手段と、
をさらに備える、請求項２３に記載のシステム。
【請求項２５】
前記特徴ベクトルが前記特徴プリズムと整合する場合、前記データパケットが受信者に渡されるようにする手段をさらに備える、請求項２４に記載のシステム。
【請求項２６】
前記特徴ベクトルが前記特徴プリズムと整合しない場合、前記データパケットを受信者からブロックする手段をさらに備える、請求項２４に記載のシステム。
【請求項２７】
前記特徴ベクトルは、１つの数字によって表されることが可能な特徴を備える、請求項２３に記載のシステム。
【請求項２８】
前記特徴は、所定の範囲内の１つの数字によって表されることが可能である、請求項２７に記載のシステム。
【請求項２９】
前記数字は、前記パケットの少なくとも１つの特徴に基づいて生成された数字である、請求項２７に記載のシステム。
【請求項３０】
前記特徴ベクトルはｎ次元の特徴ベクトルである、請求項２３に記載のシステム。
【請求項３１】
前記特徴空間はｎ次元の特徴空間である、請求項２３に記載のシステム。
【請求項３２】
請求項２３に記載のシステムを備える、ポータブル通信デバイス。
【請求項３３】
パケット整合を適用するための命令を実行するプロセッサであって、前記命令は、
空間インデックスを構築することと、
プリズムを前記空間インデックスに挿入することと、
ポイントクエリーを前記空間インデックスに実行することによってプリズムに対してパケットを整合させることと、
を備える、プロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２００４年６月２３日に出願され、「ネットワークパケットの効率的な分類（ＥＦＦＩＣＩＥＮＴ  ＣＬＡＳＳＩＦＩＣＡＴＩＯＮ  ＯＦ  ＮＥＴＷＯＲＫ  ＰＡＣＫＥＴＳ）」と題された米国特許仮出願第６０／５８２，４４２号と、２００４年７月１５日に出願され、「スケーラブルな遠隔ファイアウォール（ＳＣＡＬＡＢＬＥ  ＲＥＭＯＴＥ  ＦＩＲＥＷＡＬＬＳ）」と題された米国特許仮出願第６０／５８８，５４９号と、２００４年７月１５日に出願され、「ネットワークパケットの効率的な分類のためのシステム及び方法（ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＥＦＦＩＣＩＥＮＴ  ＣＬＡＳＳＩＦＩＣＡＴＩＯＮ  ＯＦ  ＮＥＴＷＯＲＫ  ＰＡＣＫＥＴＳ）」と題された米国特許仮出願第６０／５８８，６７４号の利点を特許請求するものであり、これらは全体を参照してここに組み込まれる。
【０００２】
以下の説明は概してデータ通信に、より具体的にはネットワークパケット及びスケーラブルファイアウォールの効率的な分類に関する。
【背景技術】
【０００３】
ファイアウォールは、プライベートネットワークに対する不正アクセスを保護するように設計されたシステムの１タイプであり、ハードウェア、ソフトウェア、あるいはハードウェア及びソフトウェアの組み合わせで実現可能である。ファイアウォール保護の最近の傾向は「パーソナルファイアウォール」である。この傾向のセキュリティの利点は明らかであって、構成可能性、ユーティリティ、及び（モバイルデバイスの場合には）ファイアウォールのポータビリティの改良をもたらしてきた。これは「すべてのノードがファイアウォールである」モデルと称され、不要なパケットの配信コストはごくわずかであるという基本的な経済的前提を想定している。この経済的前提は、特に無線通信の分野では必ずしも正しいわけではない。
【０００４】
パケット配信コストがわずかなものではないという点で効果的なこととして、ファイアウォールは不要なトラヒックのボリュームを緩和し、このような不要なトラヒックの少量の削減さえも正味利得である。ファイアウォールポリシーが正規のノード群の実際のトラヒック要件に正確に適合するほど、ポリシーは効果的になり、かつ不要なトラヒックボリュームはさらに緩和される。従って、これらの意味のファイアウォールは、認証済みのソースからポリシーへの遠隔アドホック更新を認めるはずである。
【０００５】
一般的なタイプのファイアウォールは、パケットを通過又はブロックし、あるいはトラヒックフローと無関係なパケットフィルタである。供給されたポリシーに従ってパケットを分類する機構は各パケットフィルタの中核である。（ＯｐｅｎＢＳＤ’ｓ  ｐｆ）などのステートフルパケットフィルタは、確立されたトラヒックフローに属するパケットを処理するためのスケーラブル機構を有している。確立されたフローに属していないパケットは、１セットのルールとして表されるポリシーに従って分類される。ルールは概して、各パケットを評価するためのシーケンス順序で処理される。
【０００６】
パケット処理をスピードアップさせるためにこれらのルールセットに最適な技術を用いるパケット分類子もある。特定の環境下でルール処理を早期終了させる設備が一般的である。より高度な例はｐｆ’ｓ  ｓｋｉｐｓｔｅｐｓであり、これによって、隣接するルールブロックがパケットと一致しない場合の予測スキップが可能になる。このような技術は、ルールセットが相当に順序付けされており、かつルール基準において強力な共通性を呈していれば、非常に効果的である可能性がある。しかしながら、ルールセットに対して進行中の増分的更新がある極めて動的な環境では、これらの条件は一般的に満たされない。
【０００７】
従来、分類子ルールセットは実際上かなり静的な傾向があり、またしばしばマニュアルプロセスによって更新される。現存の分類子は通常シーケンス依存挙動を呈するため、望ましくない又は意図しない副作用なく、任意のルールを挿入し、ポリシーから除去することは一般的に難しい。
【０００８】
中央パケットフィルタによって保護されているノードは、常時（通常は、フローを開始するパケットを聞くことによって）サービスを拡張しようとすることがある。同様に、既に提供されているサービスを撤回しようとする場合もある。これはインターネットエンドツーエンドモデルと一致している。アドホックサービス拡張及び撤回を許容しつつ最大数の不要パケットがブロックされるならば、フィルタリングポリシーは、変更が生じるたびに、ノードによって動的に更新されなければならない。フィルタはまた、ノードがネットワークを突然終了する場合に発見する（キープアライブなどの）機構を有していなければならず、使用不可能なルールはタイムリーにポリシーから除去可能である。
【発明の概要】
【０００９】
以下は、このような実施形態のいくつかの態様の基本的理解を提供するために、１つ以上の実施形態の簡略的な概要を表している。この概要は該１つ以上の実施形態の広範囲の概観ではなく、該実施形態のキー又は基準要素を識別したり、このような実施形態の範囲を画定したりすることを意図していない。この唯一の目的は、後に示されるさらに詳細な説明に対する前置きとして、上記実施形態のいくつかの概念を簡単に表すことである。
【００１０】
実施形態は、ネットワークパケットの効率的な分類のための方法及び／又はシステムについて説明している。一特徴に従って、パケット分類方法が提供される。該方法は、パケットを特徴ベクトルとして記述することと、該特徴ベクトルを特徴空間にマッピングすることとを含んでいる。該特徴ベクトルはｎ次元の特徴であってもよく、また該特徴空間はｎ次元の特徴空間であってもよい。該特徴ベクトルは、１つの数字によって表される特徴を備えており、該数字は所定の範囲内になり、また該パケットの少なくとも１つの特徴に基づいて生成可能である。別の態様によると、該方法は、特徴プリズムを定義することと、該特徴プリズムに対して該パケットを分類することと、該特徴ベクトルが該特徴プリズムと整合するか否かを判断することとを含むことができる。該パケットはこの整合プロセスの結果に基づいて分類される。例えば、該特徴ベクトルが該特徴プリズムと整合する場合、該パケットは受信者に渡され、そうでなければブロックされる。
【００１１】
さらに別の実施形態に従って、パケット分類装置が提供される。該装置は、該パケットの少なくとも１つの特徴を定義する識別コンポーネントと、少なくとも部分的に該少なくとも１つの定義された特徴に基づいて該パケットを分類する分類コンポーネントとを含んでいる。該識別コンポーネントはさらに、該パケットの該少なくとも１つの特徴を、所定の範囲に含まれる１つの数字として定義することができる。少なくとも部分的に前のパケットからの情報に基づいてステートフル特徴を生成する予測コンポーネントもまた含まれることが可能である。該パケットのデータアクセスの分類を容易にする整合技術を適用する比較コンポーネントもまた含まれることが可能である。該パケット特徴は、該パケットに存在する含有特徴、該パケットの値から合成された生成特徴、及び／又はステートフル特徴であってもよい。
【００１２】
さらなる実施形態に従って、プリズムを空間インデックスに挿入するためのコンピュータ実行可能な命令を有するコンピュータ読み取り可能な媒体が提供される。パケットは、該パケットの特徴ベクトルによって該インデックスに対してポイントクエリーを実行することによって、これらのプリズムに対して整合される。
【００１３】
さらなる実施形態に従って、パケット整合を提供する命令を実行するプロセッサが提供される。該命令は、空間インデックスを構築することと、該空間インデックスにプリズムを挿入することとを含んでいる。該パケットは、該空間インデックスに対してポイントクエリーを実行することによってプリズムに対して整合される。
【００１４】
上記関連目的の達成のために、１つ以上の実施形態は、以下完全に説明され、かつ請求項に特に指摘されている該特徴を備えている。以下の説明及び添付の図面は、該１つ以上の実施形態の詳細な特定の例示的態様を説明いている。しかしながら、これらの態様は、種々の実施形態の原理が採用されてもよく、かつ上記実施形態がこのような態様及び等化物のすべてを含むことを意図する種々の方法のうちのいくつかを示しているにすぎない。
【００１５】
（専門用語）
アフィン空間−軸が必ずしも相互に垂直ではなく、同じ単位測定を有してもいないベクトル空間
複雑性−アルゴリズムがスケーリングする方法の数学的測定
直平行六面体−すべての面が矩形のプリズム（凸面体）
特徴プリズム−ｎ次元の特徴空間におけるｎ次元の軸整列直平行六面体
特徴空間−ｎ番目の軸がｎ番目の特徴の範囲を表している、有限ｎ次元アフィン空間
特徴ベクトル−具体的な特徴値のベクトル
ファイアウォール−セキュリティポリシーをトラバースネットワークに適用するデバイス
ＩＣＭＰ−インターネットコントロールメッセージプロトコル。インターネットホース間でコントロールメッセージを送信するために利用される。変形例として（ＩＰｖ６と併用するための）ＩＣＭＰｖ６を含む。
【００１６】
ＩＰ−インターネットプロトコル。変形例としてＩＰｖ４（バージョン４）及びＩＰｖ６（バージョン６）を含む。
【００１７】
パケット−ネットワークにおける送信単位。
【００１８】
パケットフィルタ−転送又は廃棄する具体的なパケットを選択する機構。
【００１９】
ステートフル−後の反復での潜在的使用のために前の反復からの情報を記憶するアルゴリズム。
【００２０】
ステートレス−各反復がすべての反復から独立しているアルゴリズム。
【００２１】
上位層プロトコル−パケットのペイロードのプロトコル
Ｒ−ツリー−共通の空間データ構造。変形例としてＲ＋−ツリー及びＲ＊−ツリーを含む。
【００２２】
ＴＣＰ−送信コントロールプロトコル。インターネット上のストリームベースデータ転送に一般的に利用される。
【００２３】
ＵＤＰ−ユーザデータグラムプロトコル。インターネット上のデータグラムベースデータ転送に一般的に利用される。
【図面の簡単な説明】
【００２４】
【図１】ファイアウォール技術を利用する通信システムのブロック図を示している。
【図２】パケット分類システムのブロック図を示している。
【図３】パケットと関連した特徴に従ってパケットを定義するパケット分類システムを示している。
【図４】整合技術を適用してデータアクセスの否認及び／又は許可を容易にするシステムを示している。
【図５】パケット分類及び整合を適用するための方法のフローチャートを示している。
【図６】パケット整合を適用するための方法のフローチャートを示している。
【図７】パケットを分類して、フィルタリング技術を適用するための方法のフローチャートを示している。
【図８】パケットフィルタに対して機能性を自動化することが可能な人工知能ベースコンポーネントを含む通信システムを示している。
【図９】端末の構成の概念的ブロック図を示している。
【発明を実施するための形態】
【００２５】
次に種々の実施形態について図面を参照して説明する。以下の記述において、説明のために、１つ以上の態様の徹底した理解を提供するために多数の具体的な詳細が説明される。しかしながら、（複数の）このような実施形態はこれらの具体的な詳細がなくとも実践可能である点が明らかであろう。他の例において、既知の構造及びデバイスが、これらの実施形態についての説明を容易にするためにブロック図の形態で示されている。
【００２６】
本出願において使用されているように、用語「コンポーネント」、「システム」などは、コンピュータ関連エンティティ、ハードウェア、ファームウェア、ハードウェア及びソフトウェアの組み合わせ、ソフトウェア、又は実行中のソフトウェアのいずれを指し示すことが意図されている。例えば、コンポーネントは、プロセッサ上で実行するプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム及び／又はコンピュータであってもよく、これらに制限されない。例証として、コンピューティングデバイス上で実行するアプリケーション及びコンピューティングデバイスの両方がコンポーネントであってもよい。１つ以上のコンポーネントがプロセス及び／又は実行スレッド内に常駐可能であり、またコンポーネントは１つのコンピュータ上にローカライズされたり、及び／又は２つ以上のコンピュータ間に分散されてもよい。加えて、これらのコンポーネントは種々のデータ構造を記憶している種々のコンピュータ読み取り可能な媒体から実行可能である。コンポーネントは、例えば１つ以上のデータパケットを有する信号に従ってローカル及び／又はリモートプロセスによって通信可能である（例えば、ローカルシステムにおける別のコンポーネント、分散システム、及び／又はインターネットなどのネットワークに渡って信号による他のシステムと相互作用するコンポーネントからのデータ）。
【００２７】
無線ネットワークにおいて、ファイアウォール機能性をネットワーク周辺に配置して、無用及び／又は不要な無線データ送信を削減することは望ましい。エアインタフェースの帯域はわずかなリソースであるため、受信機によって削減されることがある送信パケットを送信しない、かつ／又はこれらを最小化することが目的である。
【００２８】
無線ネットワークにサービス提供するファイアウォールデバイスは多数のモバイルステーションを同時に保護する必要があると思われる。これらのモバイルステーションは通常「常時接続」され、常時クライアントにＩＰサービスを提供している場合がある。各モバイルステーションは、特定のプロトコルやポート番号によって識別されるような多数のサービスを提供可能である。さらに、モバイルステーションは、サービスへのアクセスを指定セットのネットワークソースに制限することを所望する場合がある。
【００２９】
従来のパケットフィルタリング技術は、上記シナリオに適用される際にスケーリングしなくてもよい。これは少なくとも２つの基本的アプローチによって救済可能である。一方のアプローチは強引な利用によるものである。このアプローチは多数のファイアウォールホストを展開しており、各々はモバイルステーション群のセグメントにサービス提供している。別のアプローチは、使用されているパケットフィルタリング技術のスケーラビリティを強化することである。このようなパケットフィルタリング技術は、既存の機構に対する複雑性測定基準の改良を示すべきである。
【００３０】
次に図面を参照すると、図１は、ポータブルデバイス又は端末、ポータブル（モバイル）電話、携帯情報端末、パソコン（デスクトップ又はラップトップ）、あるいは他の電子及び／又は通信デバイスで実現可能なファイアウォール技術を利用する通信システム１００のブロック図を示している。システム１００は、データつまりネットワークパケット１０４と称される入力及び／又は出力データをフィルタリングするパケットフィルタ１０２を含んでいる。パケット１０４は、あるデバイスから別のデバイスに送信及び／又は通信される１グループのデータを含む任意のタイプの通信であってもよい。パケットフィルタ技術は各パケット（入力データ）を検査し、各パケットを分類し、このような検査及び／又は分類の結果として１つ以上の動作を実行する。通常の動作はパケットを具体的な方法で通過、ブロック及び／又はルーティングすることである。ステートフルパケットフィルタはまた、分類を実行する場合に、前に見たパケットを考慮してもよい。
【００３１】
制限ではなく図示目的で、パケットフィルタ１０２によって、パケット１０２の一方の側に配置されている送信者１０６から送信された（複数の）データパケットが、パケットフィルタ１０２のもう一方の側に配置されている受信者１０８に送信可能になる。受信者１０８に達することが意図され、かつ／又は認証された送信者１０６によって搬送された（複数の）パケット１０４は中継されたり、パケットフィルタ１０２の通過を許可されたりする。このような受信者１０８に対して意図されず、かつ／又は認証されていない（複数の）パケット１０４はパケットフィルタ１０２によってブロックされ、受信者１０８に中継されない。このように、受信者１０８は、不要なパケット及び／又はこのような受信者１０８に対して意図されていないパケットの受信に無意識であり、かつこれらを受信しない。
【００３２】
（複数の）パケットフィルタ１０２は通常、１セットの分類ルールを特定することによって構成される。一般的に極めて少数の基準でフィルタリングすることによってルールセットのサイズに対してＯ（ｌｏｇ  Ｎ）複雑性を表す極めて簡単なパケットフィルタを構築することが可能である。しかしながら、より高度かつ柔軟なパケットフィルタは一般的に、ルールセットを本質的に線形に適用し、Ｏ（Ｎ）性能を生じる。特定の環境下で線形性能よりも良好な性能を可能にする最適化を含むパケットフィルタリング技術もあるが、Ｏ（Ｎ）は最悪の場合の性能のままである。
【００３３】
Ｏ（Ｎ）性能によるパケットフィルタは、ルール数が比較的小さい場合、とりわけ各ルールが分類基準の豊富な表示を見込んでいれば、受容可能である場合がある。しかしながら、多数のルールにとって、このようなフィルタは実行可能ではない。多数のシステムを保護し、かつ各システムが豊富なセキュリティポリシーを特定できるようにするパケットフィルタは、現存のパケットフィルタリング技術よりも良好な性能を必要とするアプリケーションの良好な例である。
【００３４】
開示されている実施形態は、各パケットを処理する際に漸近的にＯ（ｌｏｇ  Ｎ）複雑性を表すパケット分類機構について説明する。この機構は、パケットフィルタリング、ポリシールーティングなどの異なるクラスのパケットを区別するためのスケーラブル手段を必要とするアプリケーションで利用可能である。
【００３５】
図２は、パケット分類システム２００のブロック図を示している。一態様によると、パケット分類システム２００は各パケットをポイントとして、各ルールをｎ次元空間におけるプリズムとして表している。プリズムに対するパケットの高速整合は、空間的にインデックス化されたデータ構造を利用することによって達成される。システム２００は、分類コンポーネント２０４とインタフェース接続する識別コンポーネント２０２を含む。識別コンポーネント２０２及び分類コンポーネント２０４は、図示されているように別個に、又は単一のコンポーネントとして採用可能であり、またパケットフィルタのコンポーネントとして別個に、あるいは通信デバイスと一体化されたコンポーネントとして含まれることが可能である。
【００３６】
識別コンポーネント２０２は、受信者２１０宛てと思われる送信者２０８によって中継されたパケット２０６及び（複数の）関連特徴を受信する。送信者２０８及び／又は受信者２１０はユーザ及び／又はエンティティであってもよい（例えば、インターネット、別のシステム、コンピュータ・・・）。パケット２０６は、識別コンポーネント２０２が各特徴を定義するために利用可能な所定のセットのｎ個の対象特徴を所有しており、各特徴は、所定の範囲の数字である１つの数字によって表されることができる。特徴は、フローティングポイント数字によって表されることが可能であるが、事実上はたいていの場合整数である。明確な特徴は直交している必要はない。
【００３７】
識別コンポーネント２０２は定義された特徴とインタフェース接続し、これを分類コンポーネント２０４に送信する。分類コンポーネントは所定の分類ルールに従ってこのような定義済み特徴を分類する。特徴の分類は、パケット２０６が受信者２１０を目的としている、及び／又はこれに対して認証されているか否か、あるいはパケット２０６が望ましくない及び／又は不要であるか否かについての判断を含んでいるため、受信者２１０に達する前にブロックされる。例えば、分類コンポーネント２０４は、Ｒ−ツリー、Ｒ＋−ツリー及び／又はＲ＊−ツリーなどのパケット整合技術及び／又は空間アクセス方法（ＳＡＭ）を用いることができる。このような技術について、ここに開示されているさらなる態様に従って論じる。Ｒ−ツリー及びこの変形例が論じられ、ここに開示されているシステム及び／又は方法が制限されず、かつ任意の空間インデックス方法に等しく適用可能であることが理解されるべきである。
【００３８】
次に図３を参照すると、パケット分類システム３００が示されている。システム３００は、分類コンポーネント３０４とインタフェース接続する識別コンポーネント３０２と、予測コンポーネント３０６とを含んでいる。識別コンポーネント３０２は、受信者３１０への中継を目的としているデータパケット３０８を受信して、この関連特徴に従ってパケット３０８を定義する。定義された関連特徴はシステム３００によって利用されて、パケット３０８が受信者３１０宛てであるか否か、及び／又はパケット３０８が受信者３１０に所望されていないか否かを判断する。パケット３０８が受信者３１０宛てでない、及び／又は所望されていない場合は、システム３００はパケット３０８が受信者３１０に達するのをブロック又は防止する。
【００３９】
パケット３０８は、（複数の）含有特徴３１２、（複数の）生成特徴３１４及び／又は（複数の）ステートフル特徴３１６と称されることが可能な１セットｎ個の対象特徴を有することができる。例えば、ＩＰパケット３０８のソース及び宛先アドレスは、ＩＰｖ４又はＩＰｖ６の場合にそれぞれ０から２３２−１又は１から２１２８−１という所定の範囲で整数によって表すことが可能であるため、含有特徴３１２として直接利用可能である。上位層プロトコル数は通常の含有特徴３１２の別の例であり、０から２５５の範囲の整数である。一般的に、パケット３０８における情報は特徴３１２として直接利用されたり、アルゴリズム的に特徴３１２及び３１４を構築したりすることが可能である。いずれの場合も、このような情報は特徴３１２及び３１４を生成する。パケット３０８に存在するかもしれない情報はまた、特徴３１２及び３１４を生成するために利用されてもよい。このような情報の一般的な例は、（ＩＰｖ４ヘッダーオプション及び／又はＩＰｖ６オプショナルヘッダーなどの）オプショナルデータである。
【００４０】
パケット３０８からの情報はまた、上位層プロトコルヘッダーをカプセル化することから、フィールドなどの（複数の）特徴３１４を生成することにまで利用されてもよい。このような情報の一般的な例はＴＣＰ又はＵＤＰポート番号と、ＩＣＭＰタイプ及びコードである。このようなオプショナル情報が存在しない場合、生成特徴３１４は（特徴の範囲の要素である）区別された「未定義」値をとる。言い換えると、情報が存在しない場合、特徴３１４は依然として定義されている。
【００４１】
ステートフル特徴３１６は、予測コンポーネント３０６の利用によって、前のパケットから呼び出された情報を利用して生成可能である。言い換えると、特徴生成はステートフルである場合がある。予測コンポーネント３０６は、パケット情報及び関連特徴３１２から３１６のルックアップなどを記憶、記録及び実行することができる。このようなデータに基づいて、予測コンポーネント３０６は、予測ステートフル特徴３１６に基づいた現在のパケット３０８に対するステートフル特徴３１６を推論可能である。このように、特定の特徴が定義特徴３１２でも生成特徴３１４でもない場合、これは依然として定義及び分類可能であり、またパケットフィルタを介した受信者３１０へのアクセスを許可又は否認されることが可能である。
【００４２】
各パケット３０８は、ｎ個の特徴値μからなる固定長の特徴ベクトルｖとして表されることが可能である。各ベクトルｖはｎ次元のアフィン特徴空間Ｆにおけるポイントを記述している。従って、ｎ次元の特徴ベクトルは、ｎ次元の特徴空間におけるポイントにマッピングされる。
【００４３】
特徴空間Ｆにおける軸整列ｎ次元直平行六面体Ψは、特徴ごとに隣接するサブレンジを特定することによって定義可能である。
【数１】
2011054179.tif 000003
【００４４】
これらの直平行六面体は「特徴プリズム」と称される。各特徴プリズムは１セットの幾何学的にコヒーレントな分類基準を表している。プリズムＰは、
【数２】
2011054179.tif 000004
【００４５】
である場合にベクトルｖをエンクローズ（ｅｎｃｌｏｓｅｓ）する。
【００４６】
図４は、データアクセスの否認及び／又は許可を容易にするための整合技術を適用するシステム４００を示している。システム４００は、データ発信元４０６からパケット４０４を受信する比較コンポーネント４０２を含んでいる。比較コンポーネント４０２はパケットフィルタ４０８とインタフェース接続する。整合コンポーネント４０２及びパケットフィルタ４０８が別個のコンポーネントとして示されているが、これらは同一のコンポーネントを備えることができる点が理解されるべきである。
【００４７】
Ｐが任意のセットの特徴プリズムとして定義され、かつプリズムｐがＰの任意の要素として定義されるパケット分類技術が利用される。比較コンポーネント４０２は、パケット４０４のベクトルｖが任意のセットの特徴プリズムＰと整合しているか否かを判断する。特徴ベクトルｖは、ベクトルｖをエンクローズするプリズムｐが存在すれば、特徴プリズムＰと整合する。比較コンポーネント４０２が整合を見つければ、関連パケット４０４はフィルタ４０８によって許可され、その宛先４１０に達することができる。このような状況において、特徴プリズムＰはポジティブルールセットｖ４１２を表している。比較コンポーネント４０２が特徴プリズムＰをネガティブルールセット４１４として解釈するれば、整合はない。整合を有していないということは、パケットフィルタ４０８によってブロックされ、かつ宛先４１０に達しないパケット４０４をもたらす。
【００４８】
さらに複雑な分類が、ベクトルｖを特定の特徴プリズムＰのシーケンスや決定ツリーに対しても整合させることによって可能である。従って、パケット分類基準はｎ次元の特徴空間における直平行六面体として説明されており、また特徴ベクトルは幾何学エンクロージャによって基準に整合される。
【００４９】
ｎ次元におけるポイントが１つ以上の領域にあるか否かについての効率的な判断は多数の文献によってよく研究された問題である。このような技術は一般的に空間アクセス方法（ＳＡＭ）として既知である。特に正常（ｓｕｃｃｅｓｓｆｕｌ）なクラスのＳＡＭの一例としてＲ−ツリーと、Ｒ＋−ツリー及びＲ＊−ツリーなどのこの多数の変形例がある。Ｒ−ツリー及びこの変形例が論じられ、ここに開示されているシステム及び／又は方法が制限されず、また任意の空間インデックス方法に等しく適用可能であることが理解されるべきである。
【００５０】
Ｒ−ツリーは既知のＢ＋−ツリーデータ構造の拡張であり、キーは多次元矩形である。内部ノードはチャイルドごとに最小外接矩形を保持する。従来のＲ−ツリー及びＲ＊−ツリーによってＭＢＲは重複することができ、（ツリーの複数のブランチがトラバースされる必要があるため）潜在的により高価なクエリーによってツリーサイズを縮小できる。他方で、Ｒ＋−ツリーは非同一なＭＢＲを保証し、これは、（キーが２つ以上のリーフノードに記憶される必要があるため）ツリーサイズを大きくすることがある。Ｒ＊−ツリーは一般的に、Ｒ−ツリーファミリーの最良の性能とみなされる。Ｒ−ツリーは動的なデータ構造であり、データは常時挿入及び／又は削除可能である。
【００５１】
分類子ルールセットΨは、そのリーフＭＢＲがΨの要素と同型のＲ−ツリーによって表されてもよい。そして効率的なパケット整合は、ツリーに対するポイントクエリーによって達成されてもよく、これは、任意の整合プリズムがリーフで発見されるまで、そのＭＢＲが所望のポイントをエンクローズするノードを帰納的に検索する。分類目的で、クエリー走査（ｔｒａｖｅｒｓａｌ）は、最初のエンクローズプリズムが検出されるとすぐに終了されてもよい。
【００５２】
図５は、パケット分類及び整合を適用するための方法のフローチャートを示している。説明の簡略化のために、以下の説明が一連の動作として図示及び説明される場合、これらの方法によればいくつかの動作はここに図示及び説明されているのとは異なる順序で、かつ／又は他の動作と同時に生じることがあるため、この方法は動作の順序によって制限されないことが理解されるべきである。例えば、当業者は、方法は代替的に、例えば状態図におけるような一連の相互関連状態又はイベントとして表されてもよい点を理解及び認識する。さらに、図示されている動作のすべてが以下の方法を実現するのに必要なわけではない。
【００５３】
方法は、このようなファイアウォールによって保護されている受信者宛てと思われるパケットがファイアウォールで受信される場合に、５０２で開始する。利用可能なファイアウォール技術は、パケットを通過又はブロックし、そうでなければトラヒックフローと無関係なパケットフィルタである。受信されたパケットは５０４で分析されて、目的受信者を判断して、パケットと関連した特徴を分析する。例えば、パケットと関連した多数の特徴（ｎ個の特徴）がある。これらの特徴は含有特徴、生成特徴及び／又はステートフル特徴である。含有特徴は例えば、パケットのソース及び宛先アドレスであってもよい。生成特徴は、オプショナルデータ（例えば、ＩＰｖ４ヘッダーオプション、ＩＰｖ６オプショナルヘッダー）などの、パケットに存在するかもしれない情報に基づいてアルゴリズム的に構築された特徴である。生成特徴はステートフルであり、また履歴情報を利用して前に受信された（複数の）パケットから生成可能である。
【００５４】
分析された特徴は５０６で利用されて、パケットを分類する。特徴は、所定の範囲の数字にある１つの数字（例えば、フローティングポイント、整数・・・）によって表される。特徴は直交する必要はない点に注目すべきである。特徴は、事前定義された分類ルールに従って分類される。分類ルールは、Ｒ−ツリー、Ｒ＋−ツリー及び／又はＲ＊−ツリーなどのパケット整合技術及び／又は空間アクセス方法（ＳＡＭ）を用いることができる。Ｒ−ツリー及びこの変形例が論じられ、ここに開示されているシステム及び／又は方法は制限されず、また任意の空間インデックス方法に等しく適用可能であることが理解されるべきである。
【００５５】
分類されたパケットは５０８において、ブロックされてターゲット受信者に送信されないか、受信者への譲渡を許可される。識別された受信者が目的受信者でない場合、及び／又はパケットが受信者に所望でない場合、パケットはブロックされる。例えば、受信者は特定のソース、主題又は定義基準からの通信を所望しない場合がある。定義された基準内にある分類済みパケットは受信者に通信されず、受信者はこのようなパケットの存在に気づかないままである場合がある。定義された基準内にない分類済みパケットは通過されて、受信者に通信されることを許可される。
【００５６】
次に図６を参照すると、データアクセスの否認及び／又は許可を容易にするパケット整合を適用するための方法が図示されている。方法は６０２で開始し、空間インデックスが構築される。例えば、パケットは固定長の特徴ベクトルｖとして記述可能である。特徴ベクトルはｎ次元の特徴であってもよく、特徴空間はｎ次元の特徴空間であってもよい。特徴ベクトルは１つの数字によって表される特徴を備えており、この数字は所定の範囲内にあり、パケットの少なくとも１つの特徴に基づいて生成可能である。
【００５７】
方法は６０４で継続し、プリズムＰは空間インデックスに挿入される。プリズムは特徴空間における軸整列のｎ次元直平行六面体であり、軸ごとに隣接するサブレンジを特定することによって定義される。各特徴プリズムは１セットの幾何学的にコヒーレントな分類基準を表している。そしてパケットは６０６においてプリズムに対して整合される。例えば、パケットの特徴ベクトルｖは、ベクトルｖをエンクローズするプリズムｐが存在すれば、特徴プリズムＰと整合する。
【数３】
2011054179.tif 000005
【００５８】
整合があれば、特徴プリズムＰはポジティブルールセットを表している。整合によって、データへのアクセスは許可されて、その目的宛先に達することができる。整合ななければ、特徴プリズムＰはネガティブルールセットであり、データアクセスはブロックされる。整合は代替的又は付加的に、ポイントクエリーσを利用することによって実行可能であり、これは各プリズム内部からランダムなポイントを利用して実行される。σポイントクエリーはまた、ランダム生成された「一般的な」ベクトルを利用して実行可能である。σポイントクエリーが実行された後、ポイントクエリーがプリズムと整合するか否かが判断される。
【００５９】
図７は、パケット分類方法のフローチャートを示している。例えば、不要及び／又は未認証パケットから保護されている受信者宛てのパケットがパケットフィルタで受信される場合に、方法は７０２において開始する。パケットはユーザ及び／又はエンティティ（例えば、インターネット、別のシステム、コンピュータ・・・）から受信可能である。７０４でパケットを受信すると、パケットは特徴ベクトルとして記述され、これは具体的な特徴値のベクトルである。各パケットは、ｎ個の特徴値μからなる固定長の特徴ベクトルｖとして表されることが可能である。各特徴ベクトルｖは、ｎ次元のアフィン特徴空間Ｆにおけるポイントを記述している。
【００６０】
方法は７０６で継続し、特徴ベクトルｖがｎ次元の特徴空間におけるポイントにマッピングされる。７１０において、特徴空間Ｆにおける軸整列のｎ次元直平行六面体である特徴プリズムＰは、軸ごとに隣接するサブレンジを特定することによって定義される。７１２において、パケット分類子のルールセットを形成する１セットの特徴プリズムは、特徴プリズムＰに対して分類されたバイナリである。７１４において、特徴ベクトルｖが特徴プリズムＰと整合しているか否かが判断される。ベクトルｖをエンクローズするプリズムｐが存在する場合に、パケットの特徴ベクトルｖは特徴プリズムＰと整合する。判断が「はい」の場合、７１６において、整合があり、パケットはポジティブルールセットとして表されて、パケットフィルタを介するアクセスを許可される。判断が「いいえ」の場合、７１８において、整合はなく、パケットはネガティブルールセットとして表され、パケットはフィルタによってブロックされる。
【００６１】
図８は人工知能（ＡＩ）を用いる通信システム８００を示しており、これはパケットフィルタ８０２と関連した１つ以上の特徴の自動化を容易にする。パケットフィルタ８０２は、パケットフィルタ８０２によって保護されている宛先８０８を目的としたパケット８０４をデータ発信元８０６から受信する。パケットフィルタ８０２は人工知能コンポーネント８１０と関連して作動可能であり、保護されている宛先８０８に達することから、未認証及び／又は不要なパケット８０４を最小化する。
【００６２】
（例えば、分類及びフィルタリングパケットと関連した）通信システムは、この種々の態様を実行するための種々のＡＩベーススキームを用いることができる。例えば、データのパケットが特定の受信者に対して認証されている、かつ／又はこれを目的としているか否かの判断プロセスは、自動分類子システム及びプロセスの利用によって容易にされることが可能である。さらに、同一又は類似のリソースを有する複数の通信システムが用いられる場合、分類子は、いずれのパケットフィルタを特定の状況において用いるのかを判断するために採用可能である。
【００６３】
分類子は、入力属性ベクトルｘ＝（ｘ１、ｘ２、ｘ３、ｘ４、ｘｎ）を、入力があるクラスに属しているという信頼、つまりｆ（ｘ）＝ｃｏｎｆｉｄｅｎｃｅ（ｃｌａｓｓ）にマッピングする機能である。このような分類は確率及び／又は統計ベースの分析（例えば、分析ユーティリティ及びコストへのファクタリング）を用いて、ユーザが自動実行を所望する動作を予測又は推論することができる。例えば通信システムの場合、属性は特徴、用語、フレーズ、又は特徴（例えば、含有、生成、ステートフル）から導かれたデータ固有の特徴であってもよく、またクラスは対象カテゴリやエリア（例えば、分類及び／又は整合のレベル）である。
【００６４】
サポートベクトルマシーン（ＳＶＭ）は、採用可能な分類子の一例である。ＳＶＭは、可能な入力の空間において超曲面を見つけることによって動作し、この超曲面は、非トリガイベントからトリガ基準を分離しようとする。直観的に、これは分類子に、トレーニングデータに近いが、これとは同一ではないテストデータを補正させる。異なるパターンの独立性が採用可能ならば、他の有向及び無向のモデル分類アプローチは、例えばナイーブベイズ、ベイジアンネットワーク、決定ツリー、ニューラルネットワーク、ファジー論理モデル、及び確率分類モデルを含んでいる。ここに使用されている分類はまた、優先順位のモデルを展開するのに利用される統計的回帰を含んでいる。
【００６５】
本件明細書から容易に理解されるように、システムは、（例えば、一般的なトレーニングデータの利用によって）明示的にトレーニングされた、ならびに（例えば、ユーザ挙動を観察し、外部情報を受信することによって）非明示的にトレーニングされた分類子を用いることができる。例えば、ＳＶＭは、分類子コンストラクター及び特徴選択モジュール内のフレーズを学習又はトレーニングすることによって構成される。従って、（複数の）分類子は、所定の基準に従っていつパケットをブロックするか、いつパケットのフィルタ通過を許可するかなどを判断することを含む多数の機能を自動的に学習及び実行するために使用可能であり、これらに制限されない。
【００６６】
次に図９を参照すると、端末９００の可能な構成の概念的ブロック図が示されている。当業者が認識するように、端末９００の正確な構成は、具体的なアプリケーション及び設計制約全体に応じて変化することがある。プロセッサ９０２はここに開示されているシステム及び方法を実現可能である。
【００６７】
端末９００は、アンテナ９０６に結合されているフロントエンドトランシーバ９０４によって実現可能である。ベースバンドプロセッサ９０８はトランシーバ９０４に結合可能である。ベースバンドプロセッサ９０８はソフトウェアベースアーキテクチャや任意のタイプのアーキテクチャによって実現可能である。マイクロプロセッサは、他の機能のうちでコントロール及び全システム管理機能を提供するソフトウェアプログラムを実行するためのプラットフォームとして利用可能である。ディジタル信号プロセッサ（ＤＳＰ）は、マイクロプロセッサ上の処理要求を削減するためにアプリケーション固有のアルゴリズムを実行する埋め込み通信ソフトウェア層によって実現可能である。ＤＳＰは、パイロット信号取得、時間同期、周波数追跡、拡散スペクトル処理、変調及び復調機能、及びフォワードエラー訂正などの種々の信号処理機能を提供するために利用可能である。
【００６８】
端末９００はまた、ベースバンドプロセッサ９０８に結合されている種々のユーザインタフェース９１０を含むことができる。ユーザインタフェース９１０はキーパッド、マウス、タッチスクリーン、ディスプレイ、リンガー、バイブレーター、オーディオスピーカー、マイク、カメラ及び／又は他の入力／出力デバイスを含むことができる。
【００６９】
ベースバンドプロセッサ９０８はプロセッサ９０２を備えている。ベースバンドプロセッサ９０８のソフトウェアベース実現において、プロセッサ９０２はマイクロプロセッサ上で実行するソフトウェアプログラムであってもよい。しかしながら、当業者が容易に認識するように、プロセッサ９０２は本実施形態に制限されず、また、ここに説明されている種々の機能を実行可能なハードウェア構成、ソフトウェア構成、あるいはこれらの組み合わせを含む、当業界で既知の手段によって実現されてもよい。プロセッサ９０２はデータを記憶するためにメモリ９１２に結合可能である。
【００７０】
ここに説明されている実施形態はハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、あるいはこれらの任意の組み合わせによって実現されてもよい点が理解されるべきである。システム及び／又は方法がソフトウェア、ファームウェア、ミドルウェア又はマイクロコード、プログラムコード又はコードセグメントで実現される場合、これらは記憶コンポーネントなどのマシーン読み取り可能な媒体に記憶されてもよい。コードセグメントは手順、機能、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、あるいは命令、データ構造又はプログラムステートメントの任意の組み合わせを表してもよい。コードセグメントは、情報、データ、引数、パラメータ、あるいはメモリコンテンツを通過及び／又は受信することによって別のコードセグメントやハードウェア回路に結合されてもよい。情報、引数、パラメータ、データなどは、メモリ共有、メッセージ渡し、トークン渡し、ネットワーク送信などを含む任意の適切な手段を使用して通過、転送又は送信されてもよい。
【００７１】
上述された事柄は、１つ以上の実施形態の例を含んでいる。当然、これらの実施形態を説明する目的でコンポーネントや方法の考えられる組み合わせをすべて説明することはできないが、当業者は、このような実施形態の多数のさらなる組み合わせ及び入れ換えが可能であることを認識可能である。例えば、ここに説明されている実施形態は、添付の請求項の主旨及び範囲内にあるすべてのこのような代替例、修正及び変形例を包含することを意図している。さらに、用語「含む」が詳細な説明や請求項のいずれかで使用される限り、このような用語は、「備えている」が請求項における従来の用語として用いられる場合に解釈されるように、用語「備える」と同様に含むことが意図されている。
【図１】
2011054179.tif 000006
【図２】
2011054179.tif 000007
【図３】
2011054179.tif 000008
【図４】
2011054179.tif 000009
【図５】
2011054179.tif 000010
【図６】
2011054179.tif 000011
【図７】
2011054179.tif 000012
【図８】
2011054179.tif 000013
【図９】
2011054179.tif 000014
【手続補正書】
【提出日】平成22年10月21日(2010.10.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
パケットを特徴ベクトルとして記述することと、
前記特徴ベクトルを特徴空間にマッピングすることと、
を備える、パケット分類方法。
【外国語明細書】
2011054179000001.pdf