説明

ネットワークパケットの効率的な分類

【課題】ネットワークパケットの効率的な分類のためのシステム及び/又は方法を提供する。
【解決手段】パケットを特徴ベクトルとして記述することと、該特徴ベクトルを特徴空間にマッピングする。さらに、特徴プリズムを定義することと、該特徴プリズムに対して該パケットを分類することと、該特徴ベクトルが該特徴プリズムと整合するか否かを判断することとを含む。該特徴ベクトルが該特徴プリズムと整合する場合、該パケットはデータ受信者に譲渡され、そうでない場合は該パケットはブロックされる。装置構成は、パケットの少なくとも1つの特徴を定義する識別コンポーネントと、少なくとも部分的に該少なくとも1つの定義された特徴に基づいて該パケットを分類する分類コンポーネントとを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2004年6月23日に出願され、「ネットワークパケットの効率的な分類(EFFICIENT CLASSIFICATION OF NETWORK PACKETS)」と題された米国特許仮出願第60/582,442号と、2004年7月15日に出願され、「スケーラブルな遠隔ファイアウォール(SCALABLE REMOTE FIREWALLS)」と題された米国特許仮出願第60/588,549号と、2004年7月15日に出願され、「ネットワークパケットの効率的な分類のためのシステム及び方法(SYSTEM AND METHOD FOR EFFICIENT CLASSIFICATION OF NETWORK PACKETS)」と題された米国特許仮出願第60/588,674号の利点を特許請求するものであり、これらは全体を参照してここに組み込まれる。
【0002】
以下の説明は概してデータ通信に、より具体的にはネットワークパケット及びスケーラブルファイアウォールの効率的な分類に関する。
【背景技術】
【0003】
ファイアウォールは、プライベートネットワークに対する不正アクセスを保護するように設計されたシステムの1タイプであり、ハードウェア、ソフトウェア、あるいはハードウェア及びソフトウェアの組み合わせで実現可能である。ファイアウォール保護の最近の傾向は「パーソナルファイアウォール」である。この傾向のセキュリティの利点は明らかであって、構成可能性、ユーティリティ、及び(モバイルデバイスの場合には)ファイアウォールのポータビリティの改良をもたらしてきた。これは「すべてのノードがファイアウォールである」モデルと称され、不要なパケットの配信コストはごくわずかであるという基本的な経済的前提を想定している。この経済的前提は、特に無線通信の分野では必ずしも正しいわけではない。
【0004】
パケット配信コストがわずかなものではないという点で効果的なこととして、ファイアウォールは不要なトラヒックのボリュームを緩和し、このような不要なトラヒックの少量の削減さえも正味利得である。ファイアウォールポリシーが正規のノード群の実際のトラヒック要件に正確に適合するほど、ポリシーは効果的になり、かつ不要なトラヒックボリュームはさらに緩和される。従って、これらの意味のファイアウォールは、認証済みのソースからポリシーへの遠隔アドホック更新を認めるはずである。
【0005】
一般的なタイプのファイアウォールは、パケットを通過又はブロックし、あるいはトラヒックフローと無関係なパケットフィルタである。供給されたポリシーに従ってパケットを分類する機構は各パケットフィルタの中核である。(OpenBSD’s pf)などのステートフルパケットフィルタは、確立されたトラヒックフローに属するパケットを処理するためのスケーラブル機構を有している。確立されたフローに属していないパケットは、1セットのルールとして表されるポリシーに従って分類される。ルールは概して、各パケットを評価するためのシーケンス順序で処理される。
【0006】
パケット処理をスピードアップさせるためにこれらのルールセットに最適な技術を用いるパケット分類子もある。特定の環境下でルール処理を早期終了させる設備が一般的である。より高度な例はpf’s skipstepsであり、これによって、隣接するルールブロックがパケットと一致しない場合の予測スキップが可能になる。このような技術は、ルールセットが相当に順序付けされており、かつルール基準において強力な共通性を呈していれば、非常に効果的である可能性がある。しかしながら、ルールセットに対して進行中の増分的更新がある極めて動的な環境では、これらの条件は一般的に満たされない。
【0007】
従来、分類子ルールセットは実際上かなり静的な傾向があり、またしばしばマニュアルプロセスによって更新される。現存の分類子は通常シーケンス依存挙動を呈するため、望ましくない又は意図しない副作用なく、任意のルールを挿入し、ポリシーから除去することは一般的に難しい。
【0008】
中央パケットフィルタによって保護されているノードは、常時(通常は、フローを開始するパケットを聞くことによって)サービスを拡張しようとすることがある。同様に、既に提供されているサービスを撤回しようとする場合もある。これはインターネットエンドツーエンドモデルと一致している。アドホックサービス拡張及び撤回を許容しつつ最大数の不要パケットがブロックされるならば、フィルタリングポリシーは、変更が生じるたびに、ノードによって動的に更新されなければならない。フィルタはまた、ノードがネットワークを突然終了する場合に発見する(キープアライブなどの)機構を有していなければならず、使用不可能なルールはタイムリーにポリシーから除去可能である。
【発明の概要】
【0009】
以下は、このような実施形態のいくつかの態様の基本的理解を提供するために、1つ以上の実施形態の簡略的な概要を表している。この概要は該1つ以上の実施形態の広範囲の概観ではなく、該実施形態のキー又は基準要素を識別したり、このような実施形態の範囲を画定したりすることを意図していない。この唯一の目的は、後に示されるさらに詳細な説明に対する前置きとして、上記実施形態のいくつかの概念を簡単に表すことである。
【0010】
実施形態は、ネットワークパケットの効率的な分類のための方法及び/又はシステムについて説明している。一特徴に従って、パケット分類方法が提供される。該方法は、パケットを特徴ベクトルとして記述することと、該特徴ベクトルを特徴空間にマッピングすることとを含んでいる。該特徴ベクトルはn次元の特徴であってもよく、また該特徴空間はn次元の特徴空間であってもよい。該特徴ベクトルは、1つの数字によって表される特徴を備えており、該数字は所定の範囲内になり、また該パケットの少なくとも1つの特徴に基づいて生成可能である。別の態様によると、該方法は、特徴プリズムを定義することと、該特徴プリズムに対して該パケットを分類することと、該特徴ベクトルが該特徴プリズムと整合するか否かを判断することとを含むことができる。該パケットはこの整合プロセスの結果に基づいて分類される。例えば、該特徴ベクトルが該特徴プリズムと整合する場合、該パケットは受信者に渡され、そうでなければブロックされる。
【0011】
さらに別の実施形態に従って、パケット分類装置が提供される。該装置は、該パケットの少なくとも1つの特徴を定義する識別コンポーネントと、少なくとも部分的に該少なくとも1つの定義された特徴に基づいて該パケットを分類する分類コンポーネントとを含んでいる。該識別コンポーネントはさらに、該パケットの該少なくとも1つの特徴を、所定の範囲に含まれる1つの数字として定義することができる。少なくとも部分的に前のパケットからの情報に基づいてステートフル特徴を生成する予測コンポーネントもまた含まれることが可能である。該パケットのデータアクセスの分類を容易にする整合技術を適用する比較コンポーネントもまた含まれることが可能である。該パケット特徴は、該パケットに存在する含有特徴、該パケットの値から合成された生成特徴、及び/又はステートフル特徴であってもよい。
【0012】
さらなる実施形態に従って、プリズムを空間インデックスに挿入するためのコンピュータ実行可能な命令を有するコンピュータ読み取り可能な媒体が提供される。パケットは、該パケットの特徴ベクトルによって該インデックスに対してポイントクエリーを実行することによって、これらのプリズムに対して整合される。
【0013】
さらなる実施形態に従って、パケット整合を提供する命令を実行するプロセッサが提供される。該命令は、空間インデックスを構築することと、該空間インデックスにプリズムを挿入することとを含んでいる。該パケットは、該空間インデックスに対してポイントクエリーを実行することによってプリズムに対して整合される。
【0014】
上記関連目的の達成のために、1つ以上の実施形態は、以下完全に説明され、かつ請求項に特に指摘されている該特徴を備えている。以下の説明及び添付の図面は、該1つ以上の実施形態の詳細な特定の例示的態様を説明いている。しかしながら、これらの態様は、種々の実施形態の原理が採用されてもよく、かつ上記実施形態がこのような態様及び等化物のすべてを含むことを意図する種々の方法のうちのいくつかを示しているにすぎない。
【0015】
(専門用語)
アフィン空間−軸が必ずしも相互に垂直ではなく、同じ単位測定を有してもいないベクトル空間
複雑性−アルゴリズムがスケーリングする方法の数学的測定
直平行六面体−すべての面が矩形のプリズム(凸面体)
特徴プリズム−n次元の特徴空間におけるn次元の軸整列直平行六面体
特徴空間−n番目の軸がn番目の特徴の範囲を表している、有限n次元アフィン空間
特徴ベクトル−具体的な特徴値のベクトル
ファイアウォール−セキュリティポリシーをトラバースネットワークに適用するデバイス
ICMP−インターネットコントロールメッセージプロトコル。インターネットホース間でコントロールメッセージを送信するために利用される。変形例として(IPv6と併用するための)ICMPv6を含む。
【0016】
IP−インターネットプロトコル。変形例としてIPv4(バージョン4)及びIPv6(バージョン6)を含む。
【0017】
パケット−ネットワークにおける送信単位。
【0018】
パケットフィルタ−転送又は廃棄する具体的なパケットを選択する機構。
【0019】
ステートフル−後の反復での潜在的使用のために前の反復からの情報を記憶するアルゴリズム。
【0020】
ステートレス−各反復がすべての反復から独立しているアルゴリズム。
【0021】
上位層プロトコル−パケットのペイロードのプロトコル
R−ツリー−共通の空間データ構造。変形例としてR+−ツリー及びR*−ツリーを含む。
【0022】
TCP−送信コントロールプロトコル。インターネット上のストリームベースデータ転送に一般的に利用される。
【0023】
UDP−ユーザデータグラムプロトコル。インターネット上のデータグラムベースデータ転送に一般的に利用される。
【図面の簡単な説明】
【0024】
【図1】ファイアウォール技術を利用する通信システムのブロック図を示している。
【図2】パケット分類システムのブロック図を示している。
【図3】パケットと関連した特徴に従ってパケットを定義するパケット分類システムを示している。
【図4】整合技術を適用してデータアクセスの否認及び/又は許可を容易にするシステムを示している。
【図5】パケット分類及び整合を適用するための方法のフローチャートを示している。
【図6】パケット整合を適用するための方法のフローチャートを示している。
【図7】パケットを分類して、フィルタリング技術を適用するための方法のフローチャートを示している。
【図8】パケットフィルタに対して機能性を自動化することが可能な人工知能ベースコンポーネントを含む通信システムを示している。
【図9】端末の構成の概念的ブロック図を示している。
【発明を実施するための形態】
【0025】
次に種々の実施形態について図面を参照して説明する。以下の記述において、説明のために、1つ以上の態様の徹底した理解を提供するために多数の具体的な詳細が説明される。しかしながら、(複数の)このような実施形態はこれらの具体的な詳細がなくとも実践可能である点が明らかであろう。他の例において、既知の構造及びデバイスが、これらの実施形態についての説明を容易にするためにブロック図の形態で示されている。
【0026】
本出願において使用されているように、用語「コンポーネント」、「システム」などは、コンピュータ関連エンティティ、ハードウェア、ファームウェア、ハードウェア及びソフトウェアの組み合わせ、ソフトウェア、又は実行中のソフトウェアのいずれを指し示すことが意図されている。例えば、コンポーネントは、プロセッサ上で実行するプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム及び/又はコンピュータであってもよく、これらに制限されない。例証として、コンピューティングデバイス上で実行するアプリケーション及びコンピューティングデバイスの両方がコンポーネントであってもよい。1つ以上のコンポーネントがプロセス及び/又は実行スレッド内に常駐可能であり、またコンポーネントは1つのコンピュータ上にローカライズされたり、及び/又は2つ以上のコンピュータ間に分散されてもよい。加えて、これらのコンポーネントは種々のデータ構造を記憶している種々のコンピュータ読み取り可能な媒体から実行可能である。コンポーネントは、例えば1つ以上のデータパケットを有する信号に従ってローカル及び/又はリモートプロセスによって通信可能である(例えば、ローカルシステムにおける別のコンポーネント、分散システム、及び/又はインターネットなどのネットワークに渡って信号による他のシステムと相互作用するコンポーネントからのデータ)。
【0027】
無線ネットワークにおいて、ファイアウォール機能性をネットワーク周辺に配置して、無用及び/又は不要な無線データ送信を削減することは望ましい。エアインタフェースの帯域はわずかなリソースであるため、受信機によって削減されることがある送信パケットを送信しない、かつ/又はこれらを最小化することが目的である。
【0028】
無線ネットワークにサービス提供するファイアウォールデバイスは多数のモバイルステーションを同時に保護する必要があると思われる。これらのモバイルステーションは通常「常時接続」され、常時クライアントにIPサービスを提供している場合がある。各モバイルステーションは、特定のプロトコルやポート番号によって識別されるような多数のサービスを提供可能である。さらに、モバイルステーションは、サービスへのアクセスを指定セットのネットワークソースに制限することを所望する場合がある。
【0029】
従来のパケットフィルタリング技術は、上記シナリオに適用される際にスケーリングしなくてもよい。これは少なくとも2つの基本的アプローチによって救済可能である。一方のアプローチは強引な利用によるものである。このアプローチは多数のファイアウォールホストを展開しており、各々はモバイルステーション群のセグメントにサービス提供している。別のアプローチは、使用されているパケットフィルタリング技術のスケーラビリティを強化することである。このようなパケットフィルタリング技術は、既存の機構に対する複雑性測定基準の改良を示すべきである。
【0030】
次に図面を参照すると、図1は、ポータブルデバイス又は端末、ポータブル(モバイル)電話、携帯情報端末、パソコン(デスクトップ又はラップトップ)、あるいは他の電子及び/又は通信デバイスで実現可能なファイアウォール技術を利用する通信システム100のブロック図を示している。システム100は、データつまりネットワークパケット104と称される入力及び/又は出力データをフィルタリングするパケットフィルタ102を含んでいる。パケット104は、あるデバイスから別のデバイスに送信及び/又は通信される1グループのデータを含む任意のタイプの通信であってもよい。パケットフィルタ技術は各パケット(入力データ)を検査し、各パケットを分類し、このような検査及び/又は分類の結果として1つ以上の動作を実行する。通常の動作はパケットを具体的な方法で通過、ブロック及び/又はルーティングすることである。ステートフルパケットフィルタはまた、分類を実行する場合に、前に見たパケットを考慮してもよい。
【0031】
制限ではなく図示目的で、パケットフィルタ102によって、パケット102の一方の側に配置されている送信者106から送信された(複数の)データパケットが、パケットフィルタ102のもう一方の側に配置されている受信者108に送信可能になる。受信者108に達することが意図され、かつ/又は認証された送信者106によって搬送された(複数の)パケット104は中継されたり、パケットフィルタ102の通過を許可されたりする。このような受信者108に対して意図されず、かつ/又は認証されていない(複数の)パケット104はパケットフィルタ102によってブロックされ、受信者108に中継されない。このように、受信者108は、不要なパケット及び/又はこのような受信者108に対して意図されていないパケットの受信に無意識であり、かつこれらを受信しない。
【0032】
(複数の)パケットフィルタ102は通常、1セットの分類ルールを特定することによって構成される。一般的に極めて少数の基準でフィルタリングすることによってルールセットのサイズに対してO(log N)複雑性を表す極めて簡単なパケットフィルタを構築することが可能である。しかしながら、より高度かつ柔軟なパケットフィルタは一般的に、ルールセットを本質的に線形に適用し、O(N)性能を生じる。特定の環境下で線形性能よりも良好な性能を可能にする最適化を含むパケットフィルタリング技術もあるが、O(N)は最悪の場合の性能のままである。
【0033】
O(N)性能によるパケットフィルタは、ルール数が比較的小さい場合、とりわけ各ルールが分類基準の豊富な表示を見込んでいれば、受容可能である場合がある。しかしながら、多数のルールにとって、このようなフィルタは実行可能ではない。多数のシステムを保護し、かつ各システムが豊富なセキュリティポリシーを特定できるようにするパケットフィルタは、現存のパケットフィルタリング技術よりも良好な性能を必要とするアプリケーションの良好な例である。
【0034】
開示されている実施形態は、各パケットを処理する際に漸近的にO(log N)複雑性を表すパケット分類機構について説明する。この機構は、パケットフィルタリング、ポリシールーティングなどの異なるクラスのパケットを区別するためのスケーラブル手段を必要とするアプリケーションで利用可能である。
【0035】
図2は、パケット分類システム200のブロック図を示している。一態様によると、パケット分類システム200は各パケットをポイントとして、各ルールをn次元空間におけるプリズムとして表している。プリズムに対するパケットの高速整合は、空間的にインデックス化されたデータ構造を利用することによって達成される。システム200は、分類コンポーネント204とインタフェース接続する識別コンポーネント202を含む。識別コンポーネント202及び分類コンポーネント204は、図示されているように別個に、又は単一のコンポーネントとして採用可能であり、またパケットフィルタのコンポーネントとして別個に、あるいは通信デバイスと一体化されたコンポーネントとして含まれることが可能である。
【0036】
識別コンポーネント202は、受信者210宛てと思われる送信者208によって中継されたパケット206及び(複数の)関連特徴を受信する。送信者208及び/又は受信者210はユーザ及び/又はエンティティであってもよい(例えば、インターネット、別のシステム、コンピュータ・・・)。パケット206は、識別コンポーネント202が各特徴を定義するために利用可能な所定のセットのn個の対象特徴を所有しており、各特徴は、所定の範囲の数字である1つの数字によって表されることができる。特徴は、フローティングポイント数字によって表されることが可能であるが、事実上はたいていの場合整数である。明確な特徴は直交している必要はない。
【0037】
識別コンポーネント202は定義された特徴とインタフェース接続し、これを分類コンポーネント204に送信する。分類コンポーネントは所定の分類ルールに従ってこのような定義済み特徴を分類する。特徴の分類は、パケット206が受信者210を目的としている、及び/又はこれに対して認証されているか否か、あるいはパケット206が望ましくない及び/又は不要であるか否かについての判断を含んでいるため、受信者210に達する前にブロックされる。例えば、分類コンポーネント204は、R−ツリー、R+−ツリー及び/又はR*−ツリーなどのパケット整合技術及び/又は空間アクセス方法(SAM)を用いることができる。このような技術について、ここに開示されているさらなる態様に従って論じる。R−ツリー及びこの変形例が論じられ、ここに開示されているシステム及び/又は方法が制限されず、かつ任意の空間インデックス方法に等しく適用可能であることが理解されるべきである。
【0038】
次に図3を参照すると、パケット分類システム300が示されている。システム300は、分類コンポーネント304とインタフェース接続する識別コンポーネント302と、予測コンポーネント306とを含んでいる。識別コンポーネント302は、受信者310への中継を目的としているデータパケット308を受信して、この関連特徴に従ってパケット308を定義する。定義された関連特徴はシステム300によって利用されて、パケット308が受信者310宛てであるか否か、及び/又はパケット308が受信者310に所望されていないか否かを判断する。パケット308が受信者310宛てでない、及び/又は所望されていない場合は、システム300はパケット308が受信者310に達するのをブロック又は防止する。
【0039】
パケット308は、(複数の)含有特徴312、(複数の)生成特徴314及び/又は(複数の)ステートフル特徴316と称されることが可能な1セットn個の対象特徴を有することができる。例えば、IPパケット308のソース及び宛先アドレスは、IPv4又はIPv6の場合にそれぞれ0から232−1又は1から2128−1という所定の範囲で整数によって表すことが可能であるため、含有特徴312として直接利用可能である。上位層プロトコル数は通常の含有特徴312の別の例であり、0から255の範囲の整数である。一般的に、パケット308における情報は特徴312として直接利用されたり、アルゴリズム的に特徴312及び314を構築したりすることが可能である。いずれの場合も、このような情報は特徴312及び314を生成する。パケット308に存在するかもしれない情報はまた、特徴312及び314を生成するために利用されてもよい。このような情報の一般的な例は、(IPv4ヘッダーオプション及び/又はIPv6オプショナルヘッダーなどの)オプショナルデータである。
【0040】
パケット308からの情報はまた、上位層プロトコルヘッダーをカプセル化することから、フィールドなどの(複数の)特徴314を生成することにまで利用されてもよい。このような情報の一般的な例はTCP又はUDPポート番号と、ICMPタイプ及びコードである。このようなオプショナル情報が存在しない場合、生成特徴314は(特徴の範囲の要素である)区別された「未定義」値をとる。言い換えると、情報が存在しない場合、特徴314は依然として定義されている。
【0041】
ステートフル特徴316は、予測コンポーネント306の利用によって、前のパケットから呼び出された情報を利用して生成可能である。言い換えると、特徴生成はステートフルである場合がある。予測コンポーネント306は、パケット情報及び関連特徴312から316のルックアップなどを記憶、記録及び実行することができる。このようなデータに基づいて、予測コンポーネント306は、予測ステートフル特徴316に基づいた現在のパケット308に対するステートフル特徴316を推論可能である。このように、特定の特徴が定義特徴312でも生成特徴314でもない場合、これは依然として定義及び分類可能であり、またパケットフィルタを介した受信者310へのアクセスを許可又は否認されることが可能である。
【0042】
各パケット308は、n個の特徴値μからなる固定長の特徴ベクトルvとして表されることが可能である。各ベクトルvはn次元のアフィン特徴空間Fにおけるポイントを記述している。従って、n次元の特徴ベクトルは、n次元の特徴空間におけるポイントにマッピングされる。
【0043】
特徴空間Fにおける軸整列n次元直平行六面体Ψは、特徴ごとに隣接するサブレンジを特定することによって定義可能である。
【数1】

【0044】
これらの直平行六面体は「特徴プリズム」と称される。各特徴プリズムは1セットの幾何学的にコヒーレントな分類基準を表している。プリズムPは、
【数2】

【0045】
である場合にベクトルvをエンクローズ(encloses)する。
【0046】
図4は、データアクセスの否認及び/又は許可を容易にするための整合技術を適用するシステム400を示している。システム400は、データ発信元406からパケット404を受信する比較コンポーネント402を含んでいる。比較コンポーネント402はパケットフィルタ408とインタフェース接続する。整合コンポーネント402及びパケットフィルタ408が別個のコンポーネントとして示されているが、これらは同一のコンポーネントを備えることができる点が理解されるべきである。
【0047】
Pが任意のセットの特徴プリズムとして定義され、かつプリズムpがPの任意の要素として定義されるパケット分類技術が利用される。比較コンポーネント402は、パケット404のベクトルvが任意のセットの特徴プリズムPと整合しているか否かを判断する。特徴ベクトルvは、ベクトルvをエンクローズするプリズムpが存在すれば、特徴プリズムPと整合する。比較コンポーネント402が整合を見つければ、関連パケット404はフィルタ408によって許可され、その宛先410に達することができる。このような状況において、特徴プリズムPはポジティブルールセットv412を表している。比較コンポーネント402が特徴プリズムPをネガティブルールセット414として解釈するれば、整合はない。整合を有していないということは、パケットフィルタ408によってブロックされ、かつ宛先410に達しないパケット404をもたらす。
【0048】
さらに複雑な分類が、ベクトルvを特定の特徴プリズムPのシーケンスや決定ツリーに対しても整合させることによって可能である。従って、パケット分類基準はn次元の特徴空間における直平行六面体として説明されており、また特徴ベクトルは幾何学エンクロージャによって基準に整合される。
【0049】
n次元におけるポイントが1つ以上の領域にあるか否かについての効率的な判断は多数の文献によってよく研究された問題である。このような技術は一般的に空間アクセス方法(SAM)として既知である。特に正常(successful)なクラスのSAMの一例としてR−ツリーと、R+−ツリー及びR*−ツリーなどのこの多数の変形例がある。R−ツリー及びこの変形例が論じられ、ここに開示されているシステム及び/又は方法が制限されず、また任意の空間インデックス方法に等しく適用可能であることが理解されるべきである。
【0050】
R−ツリーは既知のB+−ツリーデータ構造の拡張であり、キーは多次元矩形である。内部ノードはチャイルドごとに最小外接矩形を保持する。従来のR−ツリー及びR*−ツリーによってMBRは重複することができ、(ツリーの複数のブランチがトラバースされる必要があるため)潜在的により高価なクエリーによってツリーサイズを縮小できる。他方で、R+−ツリーは非同一なMBRを保証し、これは、(キーが2つ以上のリーフノードに記憶される必要があるため)ツリーサイズを大きくすることがある。R*−ツリーは一般的に、R−ツリーファミリーの最良の性能とみなされる。R−ツリーは動的なデータ構造であり、データは常時挿入及び/又は削除可能である。
【0051】
分類子ルールセットΨは、そのリーフMBRがΨの要素と同型のR−ツリーによって表されてもよい。そして効率的なパケット整合は、ツリーに対するポイントクエリーによって達成されてもよく、これは、任意の整合プリズムがリーフで発見されるまで、そのMBRが所望のポイントをエンクローズするノードを帰納的に検索する。分類目的で、クエリー走査(traversal)は、最初のエンクローズプリズムが検出されるとすぐに終了されてもよい。
【0052】
図5は、パケット分類及び整合を適用するための方法のフローチャートを示している。説明の簡略化のために、以下の説明が一連の動作として図示及び説明される場合、これらの方法によればいくつかの動作はここに図示及び説明されているのとは異なる順序で、かつ/又は他の動作と同時に生じることがあるため、この方法は動作の順序によって制限されないことが理解されるべきである。例えば、当業者は、方法は代替的に、例えば状態図におけるような一連の相互関連状態又はイベントとして表されてもよい点を理解及び認識する。さらに、図示されている動作のすべてが以下の方法を実現するのに必要なわけではない。
【0053】
方法は、このようなファイアウォールによって保護されている受信者宛てと思われるパケットがファイアウォールで受信される場合に、502で開始する。利用可能なファイアウォール技術は、パケットを通過又はブロックし、そうでなければトラヒックフローと無関係なパケットフィルタである。受信されたパケットは504で分析されて、目的受信者を判断して、パケットと関連した特徴を分析する。例えば、パケットと関連した多数の特徴(n個の特徴)がある。これらの特徴は含有特徴、生成特徴及び/又はステートフル特徴である。含有特徴は例えば、パケットのソース及び宛先アドレスであってもよい。生成特徴は、オプショナルデータ(例えば、IPv4ヘッダーオプション、IPv6オプショナルヘッダー)などの、パケットに存在するかもしれない情報に基づいてアルゴリズム的に構築された特徴である。生成特徴はステートフルであり、また履歴情報を利用して前に受信された(複数の)パケットから生成可能である。
【0054】
分析された特徴は506で利用されて、パケットを分類する。特徴は、所定の範囲の数字にある1つの数字(例えば、フローティングポイント、整数・・・)によって表される。特徴は直交する必要はない点に注目すべきである。特徴は、事前定義された分類ルールに従って分類される。分類ルールは、R−ツリー、R+−ツリー及び/又はR*−ツリーなどのパケット整合技術及び/又は空間アクセス方法(SAM)を用いることができる。R−ツリー及びこの変形例が論じられ、ここに開示されているシステム及び/又は方法は制限されず、また任意の空間インデックス方法に等しく適用可能であることが理解されるべきである。
【0055】
分類されたパケットは508において、ブロックされてターゲット受信者に送信されないか、受信者への譲渡を許可される。識別された受信者が目的受信者でない場合、及び/又はパケットが受信者に所望でない場合、パケットはブロックされる。例えば、受信者は特定のソース、主題又は定義基準からの通信を所望しない場合がある。定義された基準内にある分類済みパケットは受信者に通信されず、受信者はこのようなパケットの存在に気づかないままである場合がある。定義された基準内にない分類済みパケットは通過されて、受信者に通信されることを許可される。
【0056】
次に図6を参照すると、データアクセスの否認及び/又は許可を容易にするパケット整合を適用するための方法が図示されている。方法は602で開始し、空間インデックスが構築される。例えば、パケットは固定長の特徴ベクトルvとして記述可能である。特徴ベクトルはn次元の特徴であってもよく、特徴空間はn次元の特徴空間であってもよい。特徴ベクトルは1つの数字によって表される特徴を備えており、この数字は所定の範囲内にあり、パケットの少なくとも1つの特徴に基づいて生成可能である。
【0057】
方法は604で継続し、プリズムPは空間インデックスに挿入される。プリズムは特徴空間における軸整列のn次元直平行六面体であり、軸ごとに隣接するサブレンジを特定することによって定義される。各特徴プリズムは1セットの幾何学的にコヒーレントな分類基準を表している。そしてパケットは606においてプリズムに対して整合される。例えば、パケットの特徴ベクトルvは、ベクトルvをエンクローズするプリズムpが存在すれば、特徴プリズムPと整合する。
【数3】

【0058】
整合があれば、特徴プリズムPはポジティブルールセットを表している。整合によって、データへのアクセスは許可されて、その目的宛先に達することができる。整合ななければ、特徴プリズムPはネガティブルールセットであり、データアクセスはブロックされる。整合は代替的又は付加的に、ポイントクエリーσを利用することによって実行可能であり、これは各プリズム内部からランダムなポイントを利用して実行される。σポイントクエリーはまた、ランダム生成された「一般的な」ベクトルを利用して実行可能である。σポイントクエリーが実行された後、ポイントクエリーがプリズムと整合するか否かが判断される。
【0059】
図7は、パケット分類方法のフローチャートを示している。例えば、不要及び/又は未認証パケットから保護されている受信者宛てのパケットがパケットフィルタで受信される場合に、方法は702において開始する。パケットはユーザ及び/又はエンティティ(例えば、インターネット、別のシステム、コンピュータ・・・)から受信可能である。704でパケットを受信すると、パケットは特徴ベクトルとして記述され、これは具体的な特徴値のベクトルである。各パケットは、n個の特徴値μからなる固定長の特徴ベクトルvとして表されることが可能である。各特徴ベクトルvは、n次元のアフィン特徴空間Fにおけるポイントを記述している。
【0060】
方法は706で継続し、特徴ベクトルvがn次元の特徴空間におけるポイントにマッピングされる。710において、特徴空間Fにおける軸整列のn次元直平行六面体である特徴プリズムPは、軸ごとに隣接するサブレンジを特定することによって定義される。712において、パケット分類子のルールセットを形成する1セットの特徴プリズムは、特徴プリズムPに対して分類されたバイナリである。714において、特徴ベクトルvが特徴プリズムPと整合しているか否かが判断される。ベクトルvをエンクローズするプリズムpが存在する場合に、パケットの特徴ベクトルvは特徴プリズムPと整合する。判断が「はい」の場合、716において、整合があり、パケットはポジティブルールセットとして表されて、パケットフィルタを介するアクセスを許可される。判断が「いいえ」の場合、718において、整合はなく、パケットはネガティブルールセットとして表され、パケットはフィルタによってブロックされる。
【0061】
図8は人工知能(AI)を用いる通信システム800を示しており、これはパケットフィルタ802と関連した1つ以上の特徴の自動化を容易にする。パケットフィルタ802は、パケットフィルタ802によって保護されている宛先808を目的としたパケット804をデータ発信元806から受信する。パケットフィルタ802は人工知能コンポーネント810と関連して作動可能であり、保護されている宛先808に達することから、未認証及び/又は不要なパケット804を最小化する。
【0062】
(例えば、分類及びフィルタリングパケットと関連した)通信システムは、この種々の態様を実行するための種々のAIベーススキームを用いることができる。例えば、データのパケットが特定の受信者に対して認証されている、かつ/又はこれを目的としているか否かの判断プロセスは、自動分類子システム及びプロセスの利用によって容易にされることが可能である。さらに、同一又は類似のリソースを有する複数の通信システムが用いられる場合、分類子は、いずれのパケットフィルタを特定の状況において用いるのかを判断するために採用可能である。
【0063】
分類子は、入力属性ベクトルx=(x1、x2、x3、x4、xn)を、入力があるクラスに属しているという信頼、つまりf(x)=confidence(class)にマッピングする機能である。このような分類は確率及び/又は統計ベースの分析(例えば、分析ユーティリティ及びコストへのファクタリング)を用いて、ユーザが自動実行を所望する動作を予測又は推論することができる。例えば通信システムの場合、属性は特徴、用語、フレーズ、又は特徴(例えば、含有、生成、ステートフル)から導かれたデータ固有の特徴であってもよく、またクラスは対象カテゴリやエリア(例えば、分類及び/又は整合のレベル)である。
【0064】
サポートベクトルマシーン(SVM)は、採用可能な分類子の一例である。SVMは、可能な入力の空間において超曲面を見つけることによって動作し、この超曲面は、非トリガイベントからトリガ基準を分離しようとする。直観的に、これは分類子に、トレーニングデータに近いが、これとは同一ではないテストデータを補正させる。異なるパターンの独立性が採用可能ならば、他の有向及び無向のモデル分類アプローチは、例えばナイーブベイズ、ベイジアンネットワーク、決定ツリー、ニューラルネットワーク、ファジー論理モデル、及び確率分類モデルを含んでいる。ここに使用されている分類はまた、優先順位のモデルを展開するのに利用される統計的回帰を含んでいる。
【0065】
本件明細書から容易に理解されるように、システムは、(例えば、一般的なトレーニングデータの利用によって)明示的にトレーニングされた、ならびに(例えば、ユーザ挙動を観察し、外部情報を受信することによって)非明示的にトレーニングされた分類子を用いることができる。例えば、SVMは、分類子コンストラクター及び特徴選択モジュール内のフレーズを学習又はトレーニングすることによって構成される。従って、(複数の)分類子は、所定の基準に従っていつパケットをブロックするか、いつパケットのフィルタ通過を許可するかなどを判断することを含む多数の機能を自動的に学習及び実行するために使用可能であり、これらに制限されない。
【0066】
次に図9を参照すると、端末900の可能な構成の概念的ブロック図が示されている。当業者が認識するように、端末900の正確な構成は、具体的なアプリケーション及び設計制約全体に応じて変化することがある。プロセッサ902はここに開示されているシステム及び方法を実現可能である。
【0067】
端末900は、アンテナ906に結合されているフロントエンドトランシーバ904によって実現可能である。ベースバンドプロセッサ908はトランシーバ904に結合可能である。ベースバンドプロセッサ908はソフトウェアベースアーキテクチャや任意のタイプのアーキテクチャによって実現可能である。マイクロプロセッサは、他の機能のうちでコントロール及び全システム管理機能を提供するソフトウェアプログラムを実行するためのプラットフォームとして利用可能である。ディジタル信号プロセッサ(DSP)は、マイクロプロセッサ上の処理要求を削減するためにアプリケーション固有のアルゴリズムを実行する埋め込み通信ソフトウェア層によって実現可能である。DSPは、パイロット信号取得、時間同期、周波数追跡、拡散スペクトル処理、変調及び復調機能、及びフォワードエラー訂正などの種々の信号処理機能を提供するために利用可能である。
【0068】
端末900はまた、ベースバンドプロセッサ908に結合されている種々のユーザインタフェース910を含むことができる。ユーザインタフェース910はキーパッド、マウス、タッチスクリーン、ディスプレイ、リンガー、バイブレーター、オーディオスピーカー、マイク、カメラ及び/又は他の入力/出力デバイスを含むことができる。
【0069】
ベースバンドプロセッサ908はプロセッサ902を備えている。ベースバンドプロセッサ908のソフトウェアベース実現において、プロセッサ902はマイクロプロセッサ上で実行するソフトウェアプログラムであってもよい。しかしながら、当業者が容易に認識するように、プロセッサ902は本実施形態に制限されず、また、ここに説明されている種々の機能を実行可能なハードウェア構成、ソフトウェア構成、あるいはこれらの組み合わせを含む、当業界で既知の手段によって実現されてもよい。プロセッサ902はデータを記憶するためにメモリ912に結合可能である。
【0070】
ここに説明されている実施形態はハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、あるいはこれらの任意の組み合わせによって実現されてもよい点が理解されるべきである。システム及び/又は方法がソフトウェア、ファームウェア、ミドルウェア又はマイクロコード、プログラムコード又はコードセグメントで実現される場合、これらは記憶コンポーネントなどのマシーン読み取り可能な媒体に記憶されてもよい。コードセグメントは手順、機能、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、あるいは命令、データ構造又はプログラムステートメントの任意の組み合わせを表してもよい。コードセグメントは、情報、データ、引数、パラメータ、あるいはメモリコンテンツを通過及び/又は受信することによって別のコードセグメントやハードウェア回路に結合されてもよい。情報、引数、パラメータ、データなどは、メモリ共有、メッセージ渡し、トークン渡し、ネットワーク送信などを含む任意の適切な手段を使用して通過、転送又は送信されてもよい。
【0071】
上述された事柄は、1つ以上の実施形態の例を含んでいる。当然、これらの実施形態を説明する目的でコンポーネントや方法の考えられる組み合わせをすべて説明することはできないが、当業者は、このような実施形態の多数のさらなる組み合わせ及び入れ換えが可能であることを認識可能である。例えば、ここに説明されている実施形態は、添付の請求項の主旨及び範囲内にあるすべてのこのような代替例、修正及び変形例を包含することを意図している。さらに、用語「含む」が詳細な説明や請求項のいずれかで使用される限り、このような用語は、「備えている」が請求項における従来の用語として用いられる場合に解釈されるように、用語「備える」と同様に含むことが意図されている。

【特許請求の範囲】
【請求項1】
パケットを特徴ベクトルとして記述することと、
前記特徴ベクトルを特徴空間にマッピングすることと、
を備える、パケット分類方法。
【請求項2】
特徴プリズムを定義することと、
前記特徴プリズムに対して前記パケットを分類することと、
前記特徴ベクトルが前記特徴プリズムと整合するか否かを判断することと、
をさらに備える、請求項1に記載の方法。
【請求項3】
前記特徴ベクトルが前記特徴プリズムと整合する場合、前記パケットがパケットフィルタを介して送信されるようにすることをさらに備える、請求項2に記載の方法。
【請求項4】
前記特徴ベクトルが前記特徴プリズムと整合しない場合、前記パケットをパケットフィルタによってブロックすることをさらに備える、請求項2に記載の方法。
【請求項5】
ベクトルvをエンクローズするプリズムpが存在する場合、前記パケットの特徴ベクトルvが特徴プリズムPと整合する、請求項2に記載の方法。
【請求項6】
前記特徴ベクトルはn次元の特徴ベクトルである、請求項1に記載の方法。
【請求項7】
前記特徴空間はn次元の特徴空間である、請求項1に記載の方法。
【請求項8】
前記特徴ベクトルは、1つの数字によって表される特徴を備える、請求項1に記載の方法。
【請求項9】
前記特徴は所定の範囲内の1つの数字によって表される、請求項8に記載の方法。
【請求項10】
前記数字は、前記パケットの少なくとも1つの特徴に基づいて生成される数字である、請求項8に記載の方法。
【請求項11】
前記パケットを特徴ベクトルとして記述することはパケット分類基準に基づいて記述される、請求項1に記載の方法。
【請求項12】
パケットの少なくとも1つの特徴を定義する識別コンポーネントと、
少なくとも部分的に前記少なくとも1つの定義された特徴に基づいて前記パケットを分類する分類コンポーネントと、を備えるパケット分類装置。
【請求項13】
前記識別コンポーネントは前記パケットの前記少なくとも1つの特徴を、所定に範囲内に含まれる1つの数字として定義する、請求項12に記載の装置。
【請求項14】
少なくとも部分的に前のパケットからの情報に基づいてステートフル特徴を生成する予測コンポーネントをさらに備える、請求項12に記載の装置。
【請求項15】
整合技術を適用して、前記パケットのデータアクセスの分類を容易にする比較コンポーネントをさらに備える、請求項12に記載の装置。
【請求項16】
前記少なくとも1つの特徴は、前記パケットに存在する含有特徴である、請求項12に記載の装置。
【請求項17】
前記少なくとも1つの特徴は、未定義値によって表される生成特徴である、請求項12に記載の装置。
【請求項18】
前記未定義値は前記特徴の範囲の要素である、請求項17に記載の装置。
【請求項19】
前記少なくとも1つの特徴はステートフル特徴である、請求項12に記載の装置。
【請求項20】
モバイル電話である、請求項12に記載の装置。
【請求項21】
携帯情報端末である、請求項12に記載の装置。
【請求項22】
パソコンである、請求項12に記載の装置。
【請求項23】
データパケットを特徴ベクトルとして識別する手段と、
前記特徴ベクトルを特徴空間に対応付ける手段と、
を備える、データパケット分類システム。
【請求項24】
特徴プリズムを定義する手段と、
前記特徴プリズムに関連して前記データパケットを分類する手段と、
前記特徴ベクトルを前記特徴プリズムに整合させる手段と、
をさらに備える、請求項23に記載のシステム。
【請求項25】
前記特徴ベクトルが前記特徴プリズムと整合する場合、前記データパケットが受信者に渡されるようにする手段をさらに備える、請求項24に記載のシステム。
【請求項26】
前記特徴ベクトルが前記特徴プリズムと整合しない場合、前記データパケットを受信者からブロックする手段をさらに備える、請求項24に記載のシステム。
【請求項27】
前記特徴ベクトルは、1つの数字によって表されることが可能な特徴を備える、請求項23に記載のシステム。
【請求項28】
前記特徴は、所定の範囲内の1つの数字によって表されることが可能である、請求項27に記載のシステム。
【請求項29】
前記数字は、前記パケットの少なくとも1つの特徴に基づいて生成された数字である、請求項27に記載のシステム。
【請求項30】
前記特徴ベクトルはn次元の特徴ベクトルである、請求項23に記載のシステム。
【請求項31】
前記特徴空間はn次元の特徴空間である、請求項23に記載のシステム。
【請求項32】
請求項23に記載のシステムを備える、ポータブル通信デバイス。
【請求項33】
パケット整合を適用するための命令を実行するプロセッサであって、前記命令は、
空間インデックスを構築することと、
プリズムを前記空間インデックスに挿入することと、
ポイントクエリーを前記空間インデックスに実行することによってプリズムに対してパケットを整合させることと、
を備える、プロセッサ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2011−54179(P2011−54179A)
【公開日】平成23年3月17日(2011.3.17)
【国際特許分類】
【外国語出願】
【出願番号】特願2010−210843(P2010−210843)
【出願日】平成22年9月21日(2010.9.21)
【分割の表示】特願2007−518222(P2007−518222)の分割
【原出願日】平成17年6月21日(2005.6.21)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】