(57)【特許請求の範囲】
【請求項１】
通信ネットワーク（４０）を介して送信される、アルファベットの文字を表現する複数のデータシンボルを有するデータストリーム（３７）を受信し、前記データストリームに含まれるデータパターンを検出し、決定性有限オートマトンを実行する、ネットワークサーバにおける装置（３０）であって、
開始状態（１１）と少なくとも１つの受入状態（１４）とを含む複数の状態（１１，１２，１３，１４，１５）と、前記データストリーム（３７）のデータシンボルによりトリガされる初期状態から目標状態への状態遷移（１６ａ、１６ｂ、１６ｃ）と、各状態遷移に対応するデータシンボル範囲（１８ｘ，１８ｙ）とを有する状態遷移レジスタ（３１）と、
前記状態遷移レジスタ（３１）の各状態の各データシンボルに関し、前記アルファベットが表現される文字符号化方式を判断し、該判断された文字符号化方式のコードテーブルを参照して前記アルファベットにおける対応する文字位置を決定する文字位置決定手段（３２）と、
同じ目標状態への遷移にトリガをかける、前記アルファベットにおける対応する後続の文字位置をもつデータシンボルに関するデータシンボル範囲（１８ｘ，１８ｙ）を含ませるように前記状態遷移レジスタ（３１）を更新する更新手段（３３）と、
前記データストリーム（３７）のデータシンボルが前記更新された状態遷移レジスタ（３１）のデータシンボル範囲（１８ｘ，１８ｙ）に含まれるかどうかを判断し、前記更新された状態遷移レジスタの前記データストリームの前記データシンボルに対応する目標状態（１８ｂ）を決定する範囲決定手段（３４）と、
前記データパターンを検出するために前記初期状態から前記決定された目標状態への状態遷移（１６ａ，１６ｂ，１６ｃ）にトリガをかけるトリガ手段（３５）とを有することを特徴とする装置。
【請求項２】
前記文字位置決定手段（３２）は、前記アルファベットにおける前記対応する文字位置に従って前記状態遷移レジスタ（３１）の各状態に関し全てのデータシンボル（１７ａ）をソートするよう構成されることを特徴とする請求項１に記載の装置。
【請求項３】
前記アルファベットは、コンピュータ用のアルファベット、特に、ＡＣＳＩＩ又は拡張ＡＳＣＩＩのアルファベットを含むことを特徴とする請求項１又は２に記載の装置。
【請求項４】
前記装置（３０）は、前記データシンボル範囲における前記データシンボルの決定と前記状態遷移にトリガをかけることとには関係なく、前記文字位置の決定と前記状態遷移レジスタの更新とを実行するよう構成されることを特徴とする請求項１乃至３のいずれか１項に記載の装置。
【請求項５】
前記装置（３０）は、前記決定性有限オートマトンの受入状態（１４）への状態遷移（１６ａ，１６ｂ，１６ｃ）がトリガされると、前記データパターンの前記検出を最終決定するよう構成されることを特徴とする請求項１乃至４のいずれか１項に記載の装置。
【請求項６】
前記装置（３０）は、前記検出されたデータパターンに従って前記データストリーム（３７）を処理するよう構成されることを特徴とする請求項１乃至５のいずれか１項に記載の装置。
【請求項７】
前記ネットワークサーバ（４２，４３，４４，４７，４８）は、ゲートウェイＧＰＲＳサポートノード（ＧＧＳＮ）を含むことを特徴とする請求項１乃至６のいずれか１項に記載の装置。
【請求項８】
通信ネットワーク（４０）を介して送信され、ネットワークサーバのコンピュータ（３０）により受信される、アルファベットの文字を表現する複数のデータシンボルを有する、データストリーム（３７）に含まれるデータパターンを検出し、前記コンピュータ（３０）が、開始状態（１１）と少なくとも１つの受入状態（１４）とを含む複数の状態（１１，１２，１３，１４，１５）と、前記データストリーム（３７）のデータシンボルによりトリガされる初期状態から目標状態への状態遷移（１６ａ、１６ｂ、１６ｃ）と、各状態遷移に対応するデータシンボル範囲（１８ｘ，１８ｙ）とを有する状態遷移レジスタ（３１）を有する決定性有限オートマトンを実行する、コンピュータにより制御される方法（２０）であって、
前記状態遷移レジスタ（３１）は少なくとも１つのデータシンボル範囲を含み、
前記方法は、
前記コンピュータ（３０）により、前記状態遷移レジスタ（３１）の各状態の各データシンボルに関し、前記アルファベットが表現される文字符号化方式を判断し、該判断された文字符号化方式のコードテーブルを参照して前記アルファベットにおける対応する文字位置を決定する工程と、
前記コンピュータ（３０）により、同じ目標状態への遷移（１６ｂ）にトリガをかける、前記アルファベットにおける対応する後続の文字位置をもつデータシンボルに関するデータシンボル範囲（１８ｘ，１８ｙ）を含ませるように前記状態遷移レジスタ（３１）を更新する工程と、
前記コンピュータ（３０）により、前記データストリームのデータシンボルが前記更新された状態遷移レジスタ（３１）のデータシンボル範囲（１８ｘ，１８ｙ）に含まれるかどうかを判断し（２１）、前記更新された状態遷移レジスタの前記データストリームの前記データシンボルに対応する目標状態（１８ｂ）を決定する（２２）工程と、
前記コンピュータ（３０）により、前記データパターンを検出するために前記初期状態から前記決定された目標状態への状態遷移（１６ａ，１６ｂ，１６ｃ）にトリガをかける（２２）工程とを有することを特徴とする方法。
【請求項９】
前記アルファベットにおける前記対応する文字位置に従って、前記状態遷移レジスタ（３１）の各状態に関し、前記コンピュータ（３０）により全てのデータシンボル（１７ａ）をソートする工程をさらに有することを特徴とする請求項８に記載の方法。
【請求項１０】
前記状態遷移レジスタ（３１）から状態（１５）に対する各状態遷移を除去する工程をさらに有し、
全ての対応する状態遷移に関しては、前記初期状態は前記目標状態に等しいことを特徴とする請求項８又は９に記載の方法。
【請求項１１】
前記状態遷移レジスタ（３１）から状態（１５）に対する各状態遷移を除去する工程をさらに有し、
対応する状態遷移は、結果として受入状態（１４）になることはできないことを特徴とする請求項８又は９に記載の方法。
【請求項１２】
前記状態遷移レジスタ（３１）から状態（１５）に対する各状態遷移を除去する工程をさらに有し、
前記初期状態（１４）は最終状態（１４）であることを特徴とする請求項８又は９に記載の方法。
【請求項１３】
データ記憶デバイスに格納されたコンピュータプログラムコードデータが電子的処理ユニットのメモリにロードされ、前記電子的処理ユニットにより実行されるとき、請求項８乃至１２のいずれか１項に記載の方法を実行するように構成された前記コンピュータプログラムコードデータを有するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理に関し、特に、決定性有限オートマトンを用いてデータストリームにおけるデータパターン検出のための装置及びコンピュータにより制御される方法に関する。
【背景技術】
【０００２】
通信ネットワークにより送信されるデータ量は急速に増加している。高速、大容量パケットデータネットワークとサーバとが採用されて、これらのデータを転送している。なかんずく、試験し監視を行う目的で、所望の、あるいは、合意したサービス品質ＱｏＳを保証するために、例えば、発信元アドレスと宛先アドレスについてのパケットヘッダ情報だけでは要求された情報を取得するためには不十分である。ある場合には、データパケットのペイロードが、例えば、特定のデータパターンに関して検査される必要がある。データマイニング、データウィルスの検出や他の悪意のあるデータは、パケットデータの検査を必要とする別の例である。
【０００３】
例えば、米国特許出願公開第２００８／２７０７６４号公報や欧州特許出願公開第１９８６３９０号公報に開示されたような、パケットを検査する方法は、有限オートマトンを採用することによるものである。有限オートマトン、あるいは、単純にステートマシンは、状態遷移テーブルまたは状態遷移レジスタに従って複数の状態で動作するアブストラクトステートマシンとして採用されるコンピュータにより制御される方法である。そのような状態遷移テーブルは、--有限オートマトンの複数の状態に関し--、現在の状態において特定のデータシンボルを入力するとき現在の初期状態から次の目標状態への遷移を有し、実際には入力データシンボルの特定の文字列のデータパターンの一致へと導くものとなる。そのようなデータシンボルは、例えば、公知のコンピュータアルファベット、情報交換のための米国標準コード、略してＡＳＣＩＩのようなアルファベットに含まれるデータシンボルである。そのようなものとして、後続の目標状態への状態遷移は、非転送遷移（non-forwarding transition）と呼ばれるオートマトンの同じ状態への遷移にも関与するかもしれない。そのような場合、その状態遷移は、初期状態が目標状態に等しい遷移であり、例えば、同じ状態への非転送ループである。
【０００４】
一般に、２つのタイプの有限オートマトンは、決定性有限オートマトン（ＤＦＡ）と非決定性有限オートマトン（ＮＦＡ）に区別される。ＤＦＡは、一定量のメモリアクセスだけを必要とする一方、パケットペイロードを解析するので、処理速度では好ましい。そのような計算効率のコストは、状態の数と状態遷移の数とが指数関数的にメモリ要件を増大させるので、メモリ格納量が大きいことである。ＮＦＡはメモリ格納量の要件は少ないが、各状態からの次の状態は並行的に多数のものがあり得るので、可能性のある全ての場合をチェックするために多くの計算資源を必要とする。
【０００５】
ＤＦＡとＮＦＡとは両方とも長所と短所とがあり、データパケット検査システムに対するソフトウェアツールにおいて採用される。
【０００６】
通信ネットワークにより送信されるデータ量が急速に増大しているので、有限オートマトンを使用するネットワークサーバは余りにも多くの資源、即ち、メモリ格納量、一般にはメモリ容量として示されるメモリアクセスコントローラとを必要とする。従って、有限オートマトンを実行することによりデータパターンを検出するための改善された方法が必要である。
【発明の概要】
【０００７】
本発明の目的は、データストリームにおけるデータパターンを検出する改善された装置と方法を提供することにある。
【０００８】
本発明の目的は、特に、高速データストリームにおいて決定性有限オートマトンを実行するように構成されたデータパターンを検出する装置とコンピュータにより制御される方法を提供することにある。
【０００９】
第１の側面からすれば、それは、アルファベットの文字を表現する複数のデータシンボルを有するデータストリームにおけるデータパターンを検出する装置である。その装置は決定性有限オートマトンを実行し、次の構成を有する。状態遷移レジスタは、開始状態と少なくとも１つの受入状態とを含む複数の状態と、前記データストリームのデータシンボルによりトリガされる初期状態から目標状態への状態遷移とを有する。その装置はさらに、 前記状態遷移レジスタの各状態の各データシンボルに関し、前記アルファベットにおける対応する文字位置を決定する文字位置決定手段と、同じ目標状態への遷移にトリガをかける、前記アルファベットにおける対応する後続の文字位置をもつデータシンボルに関するデータシンボル範囲を含ませるように前記状態遷移レジスタを更新する更新手段とを有する。その装置はさらに、前記データストリームのデータシンボルが前記更新された状態遷移レジスタのデータシンボル範囲に含まれるかどうかを判断し、前記更新された状態遷移レジスタの前記対応する目標状態を決定する範囲決定手段と、前記データパターンを検出するために前記初期状態から前記決定された目標状態への状態遷移にトリガをかけるトリガ手段とを有する。
【００１０】
複数のデータパターンを検出するための装置でデータストリームを処理することに関し、その装置はデータストリームに含まれるデータシンボルと状態遷移テーブルに格納されたデータシンボルとを比較するように構成される。始めに、有限オートマトンは第１の状態、即ち、開始状態にあり、その開始状態に関し、そして、有限オートマトンの更なる各状態に関し、状態遷移テーブルは状態遷移についての情報を有する。このことは、各状態に関し、目標状態とそれに対応するデータシンボルとの組み合わせが、そのレジスタに含まれることを意味する。データストリームのデータシンボルは処理され、例えば、解析され、そして、その時点で状態遷移レジスタに格納されているデータシンボルと比較される。そのレジスタ一致するデータシンボルは対応する目標状態を有し、そして、そのようなものとして、その目標状態への遷移にトリガがかけられる。それから、その処理が繰り返され、データストリームの次のデータシンボルが処理され、例えば、状態遷移レジスタと比較される。
【００１１】
そのデータストリームのデータシンボルが拡張ＡＳＣＩＩのアルファベットのようなコンピュータ用のアルファベットに含まれているなら、各データシンボルは、２５６個の異なる文字の１つである。そのようなものとして、メモリに格納された状態遷移テーブルは、有限オートマトンの各状態に関し、これら２５６文字全てに関する目標状態を含む。例えば、相対的に短い単純な５文字のＡＣＳＩＩ文字列を検出する状態遷移レジスタは、５×２５６＝１２８０個の状態遷移についての情報を保持する。従って、だれでもは広大な文字列や多数の文字列を検出するためには、メモリ要求が急速に増大することを想像できる。
【００１２】
本発明を１つの側面から見れば、メモリ資源の要件が小さい状態遷移レジスタに情報を格納する代替的な方法が見いだされる。状態遷移レジスタに格納される状態遷移はしばしば、同じ目標状態に対して複数の遷移を含む。そのようなものとして、そのレジスタに格納される情報の少なくとも一部は圧縮されやすい。
【００１３】
データストリームのデータシンボルと、そのようなものとして状態遷移レジスタに格納されたデータシンボルは、例えば、（拡張）ＡＳＣＩＩのアルファベットの文字として表現される。そのアルファベットの中で、各文字は後続の番号をもつ。例えば、データシンボル“Ａ”は６５番目のＡＳＣＩＩ文字コードの表現であり、データシンボル“Ｂ”は６６番目のＡＳＣＩＩ文字コードの表現である。発明者は、ほとんどの場合、文字の可能性よりも小さい目標状態があるので、複数の単一データシンボルの表現としてデータシンボルの範囲の利用がなされるなら、状態遷移テーブルにおけるデータシンボルの格納が圧縮できるという内幕を利用した。そのようなものとして、同じ対応する目標状態をもつアルファベットにおいては、後続の文字位置をもつデータシンボルがグループ化されて単一表現となる。
【００１４】
複数の文字はアルファベット内で固定された後続の位置をもつので、文字の範囲はグループ化され同じ目標状態にトリガをかけることができる。
【００１５】
本発明の第１の側面に従う装置は、状態遷移レジスタに含まれる全てのデータシンボルの文字位置を決定する手段を有する。その状態遷移レジスタの状態に関し、全ての記録がチェックされ、データシンボルのどのシリーズが同じ対応する目標状態をもつ後続する文字位置を参照しているのかを決定する。例えば、もし状態１のデータシンボル“Ａ”、“Ｂ”、“Ｃ”、“Ｄ”、“Ｅ”が目標状態２への遷移にトリガをかけるなら、これらのシンボルはグループ化され、より小さいメモリ容量で表現される。データシンボルは文字位置６５から６９までを表現し、例えば、単一のデータシンボル範囲はそこに含まれる全てのシンボルに対して指示することができる。状態遷移レジスタは、より少ない、強力なメモリ参照で更新され、そのようにして、メモリ資源の削減がその装置により達成される。
【００１６】
圧縮された、例えば、更新された状態遷移テーブルを実行する際、その装置は、データストリームのデータシンボルが更新された状態遷移レジスタのデータシンボル範囲に含まれているかどうかを決定する手段を有し、その後にそのレジスタの対応する目標状態を判断する。トリガをかける手段を用いることで、その装置は、目標状態に従った有限オートマトンを実行し、その目標状態への遷移にトリガをかける。そのようなものとして、有限オートマトンは実行され、データストリームにおいて状態遷移レジスタに従ってデータパターンを検出する。
【００１７】
更なる例では、前記決定する手段は、状態遷移レジスタの各状態に関し、アルファベットにおける対応する文字位置に従って全てのデータシンボルをソートするよう構成されている。
【００１８】
データシンボルがアルファベットの文字として表現されるので、それらはアルファベットの中に定義された文字位置をもつ。状態遷移レジスタを更新してデータシンボルの範囲を後続する文字位置をもつデータシンボルに対する表現として含めるためには、アルファベットの中でそれらの相対位置に従ってデータシンボルをまずソートすることには利点がある。複数の状態遷移、即ち、対応する目標状態を備える複数のデータシンボルのセットがその文字位置又はアルファベットに従う文字コード表現に従ってソートされるなら、その装置はどの状態遷移がグループ化されるのかをより簡単に決定することができるので、このことは処理を増やすものとなる。
【００１９】
別の例では、アルファベットはコンピュータ用のアルファベット、特に、ＡＳＣＩＩ又は拡張ＡＳＣＩＩのアルファベットを含む。
【００２０】
アルファベットは、装置により処理されるどんなアルファベットでも良い。即ち、コンピュータはデータパターンを検出するコンピュータに実装された方法を実行する。とりわけ、そのアルファベットは人間により解読可能などんなアルファベットでも良く、例えば、ラテン語のアルファベットやギリシャ語のアルファベットでも良い。人間が解読可能なアルファベットの中で、データシンボル、例えば、文字はしばしば、照合の方法としてアルファベット順としても知られている、シンボルの標準的な順序に従って関係づけられる。
【００２１】
アルファベットはまた、コンピュータ又は数学的なアルファベットでも良く、これは文字が文字符号化に従って、即ち、ＡＳＣＩＩの順序、又は、辞書編纂的な順序に従って順序づけられることを意味する。例えば、文字符号化ＡＳＣＩＩと拡張ＡＳＣＩＩはしばしば通信ネットワークで用いられている。より現代的な符号化のタイプ、例えば、ＩＳＯ／ＩＥＣ  １０６４６  ユニバーサル文字セットとＵｎｉｃｏｄｅ、又は、より具体的に言えば、ＩＳＯ／ＩＥＣ  ８８５９−１〜１６、又は、ＵＴＦ−８、又は、ＵＴＦ−１６に従う符号化が用いられても良い。
【００２２】
更なる例では、そのデータシンボルはＡＳＣＩＩアルファベット、特に、拡張ＡＳＣＩＩアルファベットの文字を表現する。ここで、その文字位置は、ＡＳＣＩＩ文字の２進法、８進法、１０進法、又は１６進法のコードで表現する。アルファベットの符号化に従って、例えば、アルファベットの順番に従って、２進、８進、１０進、又は１６進コード表現の夫々が利用される。
【００２３】
別の例では、その装置は、文字位置の決定と、データシンボル範囲におけるデータシンボルの決定に係らず状態遷移テーブルの更新と、状態遷移のトリガとを実行するように構成される。
【００２４】
第１の例では、その装置は、どの有限オートマトンが実行されるのかに従う状態遷移を有する状態遷移レジスタを読取るよう構成される。その状態遷移テーブルはメモリ容量を少なくするために範囲が定められたデータシンボルを含めるよう更新される。さらに、その装置は、更新／圧縮される状態遷移レジスタに従って有限オートマトンを実行する。その有限オートマトンの出力結果、例えば、データパターンが一致するかどうかは、もし初期の状態遷移レジスタに従って実行されるなら、更新される状態遷移テーブルに従って実行されるときと同じである。
【００２５】
一旦更新されたなら、状態遷移テーブルは更なる有限オートマトンの実行において再利用される。従って、前記装置又はいずれの装置も状態遷移レジスタを更新してデータシンボル範囲を含むように構成され、そして、異なるタイミング、又は、異なる装置では、更新された状態遷移レジスタが用いられてデータパターンを検出できる。そのようなものとして、単一の装置に実装されるなら、その装置は、範囲が定められたデータシンボルを含む圧縮された状態遷移テーブルレジスタを用いて有限オートマトンを実行するとともに、範囲が定められたデータシンボルを含めるよう状態遷移レジスタを更新するよう構成される。もし、その装置が同じ状態遷移レジスタにより含まれる更なる有限オートマトンを実行するなら、それは、その更新ステップを実行する代わりに更新された状態遷移レジスタを再利用することができる。
【００２６】
また更なる例では、その装置は、決定性有限オートマトンの受入状態への状態遷移がトリガされると、データパターンの検出を最終決定するよう構成される。
【００２７】
有限オートマトン理論は、全てのデータシンボルが、検出されたパターンの一致があったかなかったかの結果が与えられる前に処理されることを規定している。このことは、たとえオートマトンがそれは決して受入状態となる結果にはなり得ない状態に達するとしても、データストリームの全ての入力データシンボルが処理される必要があることを意味している。このことは、オートマトンの解析速度に大きな影響を与える。
【００２８】
いくつかの応用によれば、その装置は、標準オートマトン理論に従って動作するよう構成される。しかしながら、そのいくつかの正式の要件が緩和されるなら、状態遷移レジスタにおいて、より高圧縮が達成される。例えば、パケット検査の領域において、しばしば入力データシンボルストリームにおけるパターン一致の全ての事例をレポートする必要はない。最初の一致、即ち、受入状態である有限オートマトンにより達する第１の状態は、有限オートマトンを終了させ、その結果をレポートするには十分である。
【００２９】
その結果、検出が最終決定され、即ち、有限オートマトンがその開始状態に戻るというリターン機能を実装することにより、更なる状態遷移が状態遷移レジスタから除去される。都合のよいことに、このことは更なる圧縮ができるという結果になり、そのようなものとして、更にメモリ容量を小さくすることができる。
【００３０】
別の例では、データストリームがコンピュータにより検出されるデータパケットに従って処理される。この方法を実行するコンピュータは複数のサービス、例えば、ゲートウェイにおける設定においてトラフィックにフィルタをかけるために用いられる。そのようなものとして、コンピュータはデータストリームにおける望まれないトラフィックを検出することができる。データストリームはコンピュータにより受信され、データパターンに従う一致がとられる。もし、パターンが一致するなら、そして、そのようなものとして、望まれないトラフィックが検出されるなら、コンピュータはそのデータストリームに更なる作用を実行させることができる。そのパターンに依存して、適切な動作が実行される。例えば、望まれないプロトコルやウィルスについてのデータが一致したものは削除したり、経路変更できる。
【００３１】
第２の例では、コンピュータにより受信されるアルファベットの文字を表現する複数のデータシンボルを有するデータストリームにおけるデータパターンを検出するコンピュータにより制御される方法であって、前記コンピュータが、開始状態と少なくとも１つの受入状態とを含む複数の状態と、前記データストリームのデータシンボルによりトリガされる初期状態から目標状態への状態遷移とを有する圧縮状態遷移レジスタを有する決定性有限オートマトンを実行し、前記圧縮状態遷移レジスタは少なくとも１つのデータシンボル範囲を含む方法であって、前記方法は、
前記コンピュータにより、前記圧縮状態遷移レジスタから、前記データストリームのデータシンボルが前記圧縮状態遷移レジスタのデータシンボル範囲に含まれるかどうかを判断し、前記圧縮状態遷移レジスタの対応する前記目標状態を決定する工程と、
前記コンピュータにより、前記データパターンを検出するために前記初期状態から前記決定された目標状態への状態遷移にトリガをかける工程とを有することを特徴とする方法が呈示される。
【００３２】
上記工程に従う方法を用いれば、データパターンがその方法を実行するコンピュータにより受信されるデータストリームにおいて検出される。オートマトン理論に従えば、状態遷移レジスタがコンピュータに存在するが、本発明の一側面に従えば、そのレジスタは圧縮状態遷移レジスタであり、データシンボルの少なくとも１つのセットがデータシンボル範囲によって表現される。その方法は、その時点で処理されるデータストリームのデータシンボルに従ってオートマトンの次の目標状態を決定するためのルックアップ処理を実行する工程を有する。オートマトン理論に従えば、そのデータシンボルは状態遷移レジスタにおける一致するデータシンボルに対して比較される。対応する目標状態は、有限オートマトンがトリガされる状態である。
【００３３】
しかしながら、第２の例によれば、オートマトン理論は決定する工程に従って実施され、入力データストリームのデータシンボルに対して、それがどのグループに属するのかが決定される。このことは、もしそれがデータシンボル範囲により表現されるなら、その対応する目標状態を決定することを意味する。もし、データシンボル範囲により表現されないなら、標準的なオートマトン理論に従って決定するのは目標状態である。それから、更なる工程では、目標状態への遷移がそれに応じてトリガされる。
【００３４】
第３の例では、上記記載の圧縮状態遷移レジスタを生成するコンピュータにより制御される方法が呈示され、その方法は、
前記コンピュータにより、前記圧縮状態遷移レジスタの各状態の各データシンボルに関し、前記アルファベットにおける対応する文字位置を決定する工程と、
前記コンピュータにより、同じ目標状態への遷移にトリガをかける前記アルファベットにおいて対応する後続の文字位置をもつ複数のデータシンボルに関する複数のデータシンボル範囲を含ませるように前記圧縮状態遷移レジスタを更新する工程とを有する。
【００３５】
一旦、状態遷移レジスタが更新されたなら、それは、データパターンを検出するために有限オートマトンを実行する元々の状態遷移レジスタに対する代替品として用いられる。そのようなものとして、前記方法の更新する工程は、更新されたレジスタを用いて有限オートマトンを実行する工程を実行する方法と同じコンピュータにより実行される。しかしながら、それらの工程は、異なるコンピュータにより別々に実行されても良い。例えば、第１のコンピュータは、状態遷移レジスタを圧縮する、即ち、ライブラリの単一の或いは複数の状態遷移レジスタをを解析するよう構成され、そして、第２のコンピュータはライブラリの単一の又は複数の更新／圧縮レジスタに従って有限オートマトンを実行するよう構成される。
【００３６】
そのようなものとして、例えば、決定がアルファベットの順序であるように、アルファベットにおけるデータシンボルの文字位置を決定することと、そのアルファベットにおける対応する後続の文字位置をもつデータシンボルに対するシンボル範囲を含むように状態遷移レジスタを更新することと、同じ目標状態への遷移にトリガをかけることを含むコンピュータにより制御された方法は、有限オートマトンの実行に係りなく実行されるという利点がある。
【００３７】
更なる例では、その方法は、コンピュータにより、状態遷移レジスタの各状態に関し、アルファベットにおける対応する文字位置に従って全てのデータシンボルをソートする工程を有する。
【００３８】
そのデータストリームのデータシンボルは、アルファベットの文字形式で表現される。そのようなものとして、それらはアルファベットの中に特有の位置をもつ。データシンボル範囲を含むように状態遷移レジスタを更新することは、これらの位置に従って実行される。アルファベットにおけるその位置に従ってデータシンボルをソートすること、例えば、アルファベット順にすること、又は、アルファベットの順序で配置することは、レジスタの後続するデータシンボルの変化しない目標状態に関して、状態遷移のグループ、例えば、データシンボル範囲が形成されるので、レジスタの解析速度が速まると言う利点をもつ。
【００３９】
更に別の例では、その方法はさらに、状態遷移テーブルから状態に関する各状態遷移を除去する工程を有し、全ての対応する状態遷移に対して、初期状態は目標状態に等しい。
【００４０】
説明したように、非圧縮の状態遷移レジスタは、有限オートマトンの各状態に関し、データシンボルと対応する目標状態とを有する。本発明の一例に従う圧縮状態遷移レジスタもまた、少なくとも１つのデータシンボル範囲を有する。幾つかの状態に関し、各状態遷移はさらなる状態への遷移を含んではいない。このことは、有限オートマトンが廃線に入ってしまい、そのようなものとして、その状態に居続けるか、又は、各データシンボルにおいて非転送遷移としても知られる同じ状態への遷移にトリガをかけることを意味する。その状態遷移レジスタに含まれるこの情報はデータパターンの検出には何の貢献もしないのであるから、そのような情報を除去することには利点がある。そのようなものとして、全ての更なる状態遷移が、有限オートマトンが異なる状態への遷移にトリガをかけることのできないレジスタから除去され、そのような場合には、目標状態は初期である。
【００４１】
別の例では、その方法はさらに、状態遷移テーブルから状態についての各状態遷移を除去する工程を有し、その場合にはどんな対応する状態遷移も受入状態にはなれない。
【００４２】
非転送状態に関する状態遷移を除去することに加えて、これらの状態に続く状態もまた状態遷移テーブルから除去される。さらに、それらの状態遷移もまた除去され、その場合には、有限オートマトンのトラックの後続する状態においてどんなものも受入状態を有することはない。このことは、データパターンを検出する例において、有限オートマトンが特有の状態に入り、その状態からは、全ての直接的な目標状態に関し、現在の状態がソース状態であり、その全ての更なる目標状態に関し、どの状態も受入状態ではない。従って、データパターンにおいて一致する機会はなく、そこで、対応する情報、即ち、その状態にあるデータシンボルと目標状態とを、状態遷移レジスタから除去し、更なる圧縮を達成することには利点がある。
【００４３】
更なる例では、その方法は状態遷移テーブルから各状態遷移を除去する工程をさらに有し、初期状態は最終状態である。幾つかの応用に関しては、有限オートマトンの最初のヒットで十分である。例えば、最初の受入状態に入ったときデータパターンにおける一致が呈示される。そのような応用では、状態遷移レジスタは、その応用では検出されたパターンについて必要な情報を付加することはないので、さらにそのレジスタの全ての後続する状態遷移を除去することによってさえも構成される。
【００４４】
第４の例では、コンピュータプログラムコードデータが電子的処理ユニットのメモリにロードされ、前記電子的処理ユニットにより実行されるとき、上述した特徴のいずれかに従う方法を実行するように構成された前記コンピュータプログラムコードデータを格納するデータ記憶デバイスに格納されるコンピュータプログラムが呈示される。
【００４５】
第５の例では、上述の例に従うネットワークサーバを有する通信ネットワークが呈示される。
【００４６】
次に、本発明について添付図面を参照しながら多数の代表的な実施例を用いて以下に詳細に説明する。
【図面の簡単な説明】
【００４７】
【図１】５つの状態とその状態の間での状態遷移を含む単純化された有限オートマトンを示す図である。
【図２】さらに状態遷移レジスタを有する単純化された有限オートマトンを示す図である。
【図３】さらに範囲が定められた／圧縮された状態遷移レジスタを有する単純化された有限オートマトン示す図である。
【図４】本発明の側面に従うフローチャートである。
【図５】本発明の更なる側面に従うネットワークサーバを示す図である。
【図６】本発明の別の側面に従う通信ネットワークを示す図である。
【発明を実施するための形態】
【００４８】
図１では、有限オートマトン１０の表現の例が開示される。有限オートマトンはデータストリーム、即ち、通信ネットワークにおけるデータトラフィックにおけるデータパターンを識別するために用いられる。そのような識別は、例えば、ウィルス又はスパイウェア検出、侵入検出システム、コンテンツフィルタリング、プロトコルマッチングなどにおいて適用される。
【００４９】
図１に示される有限オートマトン１０は、複数の状態１１、１２、１３、１４、１５を有する。これらの状態はまた、ノードとしても言及される。データパターンマッチング処理は有限オートマトン１０の開始状態１１で開始する。開始状態はエントリ動作が存在しない状態、即ち、結果的にその状態に遷移することはないという状態として定義される。図１において、状態１１はそのような開始状態である。
【００５０】
コンピュータにより処理されるデータストリームは、データシンボルのシーケンスを有する。これらのデータシンボル又は文字はコンピュータにより受信され、一度に１回、有限オートマトン１０の現在の状態への入力として用いられ、状態遷移１６ａ、１６ｂ、１６ｃにトリガをかける。パターンマッチング処理の開始時には、開始状態１１は現在の状態又は初期状態である。データストリームの最初のデータシンボルは状態遷移１６を決定する。例えば、最初のデータシンボルがＡＳＣＩＩテーブルの文字“０”、即ち、文字コード“０”を参照するなら、開始状態である状態０（ゼロ）１１から第１の状態１５への状態遷移１６ｃにトリガがかけられる。しかしながら、第１のデータシンボルが文字（コード）１を参照するなら、第２の状態１２への状態遷移１６ｂにトリガがかけられる。第１の状態遷移１６ｂ、１６ｃの後、その遷移にトリガがかけられる状態、即ち、状態１２又は１５がその時点での現在の状態である。
【００５１】
そのとき、再び現在の状態、即ち、状態１２に関し、データストリームの次のデータシンボルが次の状態遷移を決定するために用いられる。もし、次のデータシンボルが文字コード“５”であれば、第１の状態１５への状態遷移にトリガがかけられ、範囲０−７における全ての文字と範囲１０−２５５における全ての文字に対して同じ事を考慮する。しかしながら、そのデータストリームにおける次のデータシンボルが文字の８又は９であるなら、第３の状態１３への状態遷移にトリガがかけられる。それから、第３のデータシンボルに関し、文字０−２、５−２５５の全てについては第１の状態への状態遷移にトリガがかけられる。しかしながら、もし第３のデータシンボルが文字３又は４であれば、第４の状態１４に入る。これは受入状態又は最終状態であり、二重丸により表現されている。
【００５２】
受入状態に到達したなら、有限オートマトンが有限オートマトンに従ってデータパターンについての一致を与える。この例では、これは正規の表現では｛［１−５］，［８−９］，［３−４］｝での一致であり、それは最初のデータシンボルに対して文字１−５のいずれか、それから、第２のデータシンボルに対して文字８又は９、最後に第３のデータシンボルに対して文字３又は４である。
【００５３】
複数の有限オートマトンが存在し、複数のプロトコル、データ文字列、ウィルスなどを判断するための複数のデータパターンを生じさせることができる。図１に開示された有限オートマトンは、図示された一定量の遷移と状態だけが存在するので、有限オートマトンの簡略版である。実際には、完全な有限オートマトンは、可能性のある入力データシンボル全てに対しての状態遷移を表示する。それゆえに、ＡＣＣＩＩ文字のアルファベットの２５６個の可能性があるデータシンボルに対して、有限オートマトンの全ての状態は、２５６個の状態遷移をもつ。しかしながら、たいていの状態遷移は同じ後続の状態への遷移にトリガをかけ、それゆえに、単一の範囲として視覚的に表示される。図１の例では、状態０（ゼロ）１１から第１の状態１５への状態遷移は２つの状態遷移からなり、１つは文字０に対する単一の状態遷移と、６から２５５の範囲における全ての文字に対する範囲の定められた状態遷移である。
【００５４】
図１に表示されたグラフは、状態図の形式での有限オートマトンであるが、それは表示の例に過ぎない。別のタイプの表示が存在する。従来技術による有限オートマトンがもっと形式的な方法でコンピュータに格納される、図１に表示される状態図は、各状態に対する限定された量だけの状態遷移を表示する。コンピュータに格納された有限オートマトンの実施形である従来技術による状態遷移テーブルは、各状態に対する可能性のある全ての状態遷移に対する記録を保持する。状態図をもつ、そのようなレジスタを表示することが不明確なので、その状態図は状態遷移レジスタの簡略化された表現形式となる。しかしながら、状態遷移レジスタは図１に示された可視化された表現によるのと同じ正規の表現形式を含ませるためのより形式的で機能的な方法である。状態遷移レジスタは、一定の入力がある際の状態に対する出力を定義する真偽表のようなものである。
【００５５】
有限オートマトンを実装するコンピュータにより処理されているデータストリームのデータシンボルは文字として表現される。これらの文字は、“１”、“ａ”、“β”のような知られた文字であって良いが、それらはまた、“＞”、“−”、“「”のようなコンピュータ用の文字でも良い。これらの文字は、標準的な固定のデータシンボルのセットを含むアルファベットの一部を構成する。複数のアルファベット、例えば、アラビア語、シリア語、キリル語、ヘブライ語、ラテン語のアルファベットのような、よく知られた人間が識別可能である自然のアルファベットが存在する。しかしながら、コンピュータ用のアルファベットもそのようなアルファベットと考えられ、それらには、数字、一般的な句読点、特定の自然の言語における記号に対応しない制御文字を含むより多くの文字を含んでいる。
【００５６】
そのようなものとして、本発明によれば、アルファベットとは最も広い意味でのシンボルの集合であると考えられる。コンピュータシステムでは、アルファベットは、複数の文字の順序と文字情報の単位とのうちの少なくともいずれかにより文字要素を表現することにより符号化される。その文字は次に、コンピュータ内部で２進数で表現される。文字をバイナリデータに変換するシステムは、文字セット符号化、文字符号化、又は、文字符号化方式である。
【００５７】
情報交換のための米国標準コード（ＡＳＣＩＩ）は標準的な文字符号化の例であり、文字、数字、句読点などが表現される。各文字、即ち、各データシンボルはそれが示されることによってユニークな番号をもつ。そのようなものとして、各データシンボルは、このコード方式の内部に、所定の固定位置をもつ。ＡＳＣＩＩは単に文字符号化方式の例に過ぎず、拡張ＡＳＣＩＩ、ユニコード変換フォーマット（ＵＴＦ）のような他の符号化方式もまた、そのアルファベット内でのデータシンボルに対する文字位置、例えば、符号方式が知られている限り、固定のユニークな番号表現に従ってデータシンボル指示のために用いられる。
【００５８】
図１によれば、データシンボルの２５６個の異なるコード表現、例えば、０−２５５がある。符号化方式に依存して、それらは異なる文字を表現できる。例えば、ＡＳＣＩＩ符号方式が用いられるなら、１０進コードで９７は文字“ａ”を表現する。そのようなものとして、有限オートマトンを実行するコンピュータがデータストリームを処理し、その入力データストリームにおける現在のデータシンボルとして文字“ａ”を読み取るなら、その１０進表現は９７、例えば、ＡＳＣＩＩ符号化方式によれば、そのアルファベット内の９７番目の位置となる。可能性のある全てのデータシンボルはその符号化方式の内で、そして、そのようなものとしてのアルファベット内のユニークな位置を表現し、その方式に従ってソートされる。
【００５９】
図２では、図１の状態図１０が開示されているが、そこでは対応する状態遷移テーブル１７も付与されている。その状態遷移テーブルは、あるデータシンボルを現在の初期状態に入力する際にどんな状態遷移がトリガされることになるのかについての情報を格納するのと類似の真偽表と考えられる。この図に開示された単純化された状態遷移テーブル１７は２つの行１７ａ、１７ｂを有する。第１行１７ａはアルファベットの全てのデータシンボル、例えば、その１０進数表記により表現される拡張ＡＳＣＩＩテーブルに含まれる２５６個のデータシンボルの有限なセットを含む。それから、第２行１７ｂにおけて、全てのデータシンボルに関し、対応する状態が呈示される。これは、もし対応するデータシンボルがデータストリームのデータシンボルであるなら、状態遷移にトリガがかけられる状態である。そのようなものとして、各状態に関し、そのような情報が状態遷移テーブルに含まれる。
【００６０】
複数の状態遷移テーブル、例えば、一次元状態テーブル、二次元状態テーブルが存在する。その状態遷移テーブルは状態遷移レジスタの形式で有限オートマトンを実行するコンピュータのメモリに含まれる。そのようなものとして、本発明に従う状態遷移テーブルは、例えば、図２に開示された状態遷移テーブル１７として定義される。
【００６１】
状態遷移レジスタは、処理されるデータストリームの可能性のある各状態とデータシンボルに関して状態遷移を保持するので、単純な正規の表現方法でもかなり大きな記憶容量を必要とする。ある応用では、大容量の正規の表現がそのようなものとして処理される必要があり、有限オートマトンに対するメモリ容量（状態遷移レジスタ）は大きい。そのメモリ容量を少なくし、メモリ量に制限のない有限オートマトンを処理できるために、状態遷移レジスタの圧縮は有利である。
【００６２】
図１と図２の有限オートマトンを呈示するために用いられる目に見える工夫はまた、本当の状態遷移レジスタを圧縮するためにも適合される。単一の文字コードのための状態遷移として呈示される状態遷移と文字コードの範囲に対する状態遷移との間には区別がつけられる。例えば、図１と図２とにおける状態遷移１６ｃは単一での状態遷移である。図１と図２の状態遷移１６ａと１６ｂは、２５０個の異なる文字（１６ａ）と５個の異なる文字（１６ｂ）とをそれぞれに表現する範囲の定められた状態遷移である。
【００６３】
本発明の第１の側面からすれば、単一での遷移とグループ化された又は範囲が定められた遷移との間のそのような区別が実施される。範囲の定められた状態遷移の各表現に関し、データ格納量の削減と、そのようなメモリ容量削減が得られる。決定性有限オートマトンについて範囲の定められた状態遷移を実装することは、標準的なオートマトン理論とは少し異なっている。なぜなら、標準的なオートマトン理論は全ての単一での遷移についての格納量を規定するものであるからである。
【００６４】
範囲の定められた状態遷移は同じ目標状態へと向かう状態遷移をユニークな範囲の定められた遷移として表現する。複数の状態遷移を状態遷移レジスタ内の範囲の定められた状態遷移へと変換することについて、既に計算された決定性有限オートマトンが用いられる。そこでは、決定性有限オートマトンの全ての状態が反復される。各状態に関し、入力アルファベットに存在する全てのデータシンボルに関してユニークな位置を配列アレイに備える。アルファベットにおける各データシンボルについて、そのアルファベットの後続するデータシンボル、即ち、文字コードテーブルに従う次の文字が、決定性有限オートマトンの同じ目標状態に向かうなら、範囲の定められた遷移が作成される。それから、個々の状態の代わりに範囲の定められた状態だけがそのレジスタに格納され、それを用いるとサイズ削減が得られ、その結果、メモリ容量をより小さくする。
【００６５】
圧縮状態遷移レジスタを用いることは、オートマトン理論の公式な実施形に従う状態遷移レジスタと比較して、多少異なる。圧縮状態遷移レジスタの使用によれば、その第１のステップは、入力データストリームのデータシンボルが、そのレジスタ内の範囲の定められた遷移又は単一での遷移の内に含まれるかどうかを判断することである。圧縮状態遷移レジスタ内で、コンピュータはそのデータシンボル、即ち、その文字コードが単一での文字遷移の代わりに、ある範囲に属しているかどうかを判断する。
【００６６】
その範囲は複数の方法で決定できる。例えば、各範囲は初期の文字コード表現、即ち、コード４１と最終の文字コード表現、即ち、コード４８とを有し、これにより表現された文字コードの範囲を記述できる。コンピュータは入力データシンボルが状態遷移レジスタ１７内のデータがシンボル１７ａを順番に解析することにより、その範囲に含まれているかどうかを判断できる。もし、現在の文字コードと過去の処理された文字コードとが非連続的であり、入力データシンボルがそこに含まれているなら、ヒットが発生し、対応する状態１７ｂが初期化のために読み出され、例えば、そこへの遷移にトリガをかける。さらに、その範囲はまた、開始文字コード表現の定義のみによっても判断できる。後続する文字コードから、単一のデータシンボル又は範囲が状態遷移テーブルに格納されているのかどうかが判断される。
【００６７】
図３は、そのような圧縮された、例えば、範囲が定められた、状態遷移テーブルを示しており、対応する状態図１０に関し、アルファベット内の連続する文字コード位置によりトリガがかけられるある状態から同じ目標状態への状態遷移が範囲１８ｘ，１８ｙとして表現されている。
【００６８】
初期のゼロ（０）状態１１に関し、可能性のある２５６個のデータシンボル、即ち、ＡＣＳＩＩ文字コードの１０進表記に従って、２５６個の状態遷移が可能である。その図から、これら２５６個の遷移は、目標状態“１”１５又は目標状態“２”１２への遷移だけになるという結果になることは明らかである。そのようなものとして、全てのデータシンボルがこれらの状態に従ってグループ化される。しかしながら、どのデータシンボルがどのグループに属するのかを決定するために、レジスタ全体が繰り返し解析される必要がある。アルファベット内の相対位置に従って、レジスタにおけるデータシンボルをソートすることにより、そのような反復的な解析はスキップされる。レジスタ１８のデータシンボル１８ａが順番に解析され、遷移がトリガされることになる状態の直接アドレスを与える。
【００６９】
図４には、圧縮状態遷移レジスタ、即ち、同じ目標状態への遷移にトリガをかける後続のデータシンボルについての範囲の定められた状態遷移を含めるために更新される状態遷移レジスタを用いる方法のステップが説明されている。そこで、最初のステップ２１では、更新された又は圧縮された状態レジスタから、入力データストリームのデータシンボルがそのレジスタのデータシンボル範囲に含まれるかどうかを判断する。
【００７０】
第２のステップ２２では、コンピュータは有限オートマトンが遷移のトリガをかける対応する目標状態を決定する。この目標状態は前のステップ２１において決定されたデータシンボル又はデータシンボル範囲に対応している。
【００７１】
最後のステップ２３では、有限オートマトンが、ステップ２２において決定された目標状態への遷移にトリガをかける。そのようなものとして、コンピュータはデータストリームのデータシンボルを処理し、そのストリームでの次のデータシンボルについての処理を続け、再び方法のステップ２１〜２３を開始する。
【００７２】
図５は本発明に従うコンピュータにより制御される方法を実行するコンピュータ３０の簡略的な図である。そのコンピュータは、図５には開示されておらずコンピュータ、又は、特にネットワークサーバや通常の動作のための通信ネットワークにおけるノードには存在する中央処理ユニットのような更なるユニットを含む。
【００７３】
コンピュータ３０は状態遷移レジスタ３１を含み、そこには有限オートマトンの全ての状態に関する状態遷移が格納される。コンピュータはリンク３７により通信ネットワーク３６に接続される。通信ネットワーク３６はどんなネットワークでも良く、そこではデータがパーティ間、ノード間、或いは、その組み合わせたものの間で送信される。ネットワーク３６内では、特に、ネットワーク接続３７により、データストリームが転送される。これらのデータストリームは有限オートマトンを実行するコンピュータ３０により処理される。そのコンピュータには文字位置決定手段３２が備えられる。それを用いてデータストリーム３７のデータシンボルが処理され解析される。各データシンボルは文字により表現され、その文字は文字符号化方式に従ってアルファベット内の文字コードを表現する。データストリームについてある瞬間に処理されたデータシンボルは、例えば、文字“ａ”であるかもしれない。コンピュータ３０は、特に、文字位置決定手段３２は、どの文字コード方式が用いられるのか、例えば、どんなアルファベットを適用するのかを判断する。もし、例えば、ＡＳＣＩＩ文字符号化方式が用いられるなら、文字位置決定手段３２はデータストリーム３７のデータシンボルをＡＳＣＩＩコードテーブルと比較し、その位置を決定する。即ち、文字“ａ”に対しては１０進位置９７と決定する。
【００７４】
コンピュータ３０の更新手段３３は状態遷移テーブルを読み出し、そして、文字位置決定手段３２の符号化方式に従って、そのレジスタに含まれるデータシンボルの位置を決定する。符号化方式に従った後続の位置をもつデータシンボルに関し、即ち、“ａ”−“ｅ”はそのＡＳＣＩＩコードが９７−１０１であり、そして、対応する目標状態が同じであるものについては、更新手段３３は単一のデータシンボルの代わりにコードの範囲を含ませるように状態遷移レジスタ３１を更新するよう構成される。オリジナルのデータシンボルがレジスタからは除去され、これにより、そこに格納される情報量を削減し、そのようにしてメモリ容量を小さくする。
【００７５】
範囲決定手段３４は、有限オートマトンの実行時、データストリーム３７のデータシンボルが状態遷移レジスタの範囲内に含まれているかどうかを決定するよう構成される。もし、その状態遷移レジスタが単一のデータシンボルだけを含むなら、コンピュータはただそのデータシンボルを順々に解析し、それらを入力データストリームと比較する。範囲決定手段３４はトリガ手段３５にどの対応する目標状態への遷移がトリガされるべきであるのかを通知する。そのとき、トリガ手段はこの遷移を実行する。そのとき、コンピュータ３０はデータストリームの次のデータシンボルを処理するよう続行できる。
【００７６】
図５に示されたコンピュータ３０はいくつかのユニットを有している。これらのユニット各々は自分自身のユニークなタスクをもっている。しかしながら、１つの側面からすれば、コンピュータ３０はこれらユニット３２、３３、３４、３５のわずかだけを有することもできる。例えば、範囲の定められた遷移を有する更新状態遷移レジスタへと状態遷移レジスタ３１を更新するユニット３２と３３だけを有することできる。コンピュータ３０はまた、従来の状態遷移レジスタを圧縮されたレジスタに更新することなく、有限オートマトンを圧縮状態遷移レジスタを用いて実行するユーザ３４と３５を有することもできる。
【００７７】
図６は通信ネットワーク４０における複数のネットワークサーバ又はノード４２、４３、４４、４７、４８を示している。各ネットワークサーバはそのネットワーク内において一定のタスクを実行することができるように具体的に構成されている。その例は、ゲートウェイ汎用パケット無線サービス（ＧＰＲＳ）サポートノード（ＧＧＳＮ）であり、図には参照番号４２で示されている。ＧＧＳＮはインターネット４１のような外部ネットワークとＧＰＲＳネットワークのデータストリームを接続したりルーティングすることを担当するゲートウェイである。ＧＧＳＮはゲートウェイとしてのその機能において、データストリームを通過させる。そのデータストリームに含まれるデータパケットに関し、ＧＧＳＮは、少なくともその宛先に気づいているが、ほとんどの場合、そのパケットに含まれる実際のペイロードには注意を払わない。
【００７８】
ペイロード依存の処理を実行することについて、ＧＧＳＮのようなネットワークサーバには図５に図示されたコンピュータ３０に従うユニットが装備されている。そのようなものとして、状態遷移レジスタを含むように構成されるなら、ネットワークサーバは削減されたメモリ容量で有限オートマトンを実行するよう構成される。
【００７９】
図６はさらに、あるエリア内で複数の移動局との間でデータパケットを配信するよう構成されたサーバＧＰＲＳサポートノード（ＳＧＳＮ）４３、一定量のデジタル加入者ラインのデータを寄せ集めるデジタル加入者ラインアクセスマルチプレクサ（ＤＳＬＡＭ）４８、それらのデータを単一のネットワークリンクによりトランスポートするためのＤＳＬモデム、無線基地局（ＲＢＳ）４３、又は、ブロードバンドリモートアクセスサーバ（ＢＲＡＳ）４７のような他のネットワークサーバを示している。複数の端末４５、４６、５０の間での通信を可能にするこれらサーバ各々は少なくとも図５に示したユニットを有することにより本発明の一側面に従った方法を実行するように構成されている。しかしながら、図６に示されたネットワークサーバはただ例示としてのみ示されている。本発明の一側面に従う方法がこの図に示されたネットワークサーバに限定されるものではく、複数のネットワークサーバにおいて実行されても良い。
【図１】
0006055548.tif 000002
【図２】
0006055548.tif 000003
【図３】
0006055548.tif 000004
【図４】
0006055548.tif 000005
【図５】
0006055548.tif 000006
【図６】
0006055548.tif 000007