(57)【要約】【課題】多数の高速ポートと多数のチャネル上でテストを同時に行なうように可変的に構成できる通信テスト装置を提供する。【解決手段】本発明は、携帯電話データを分析するチャネル化装置を提供する。この装置は、タイムスロットデータおよび該タイムスロットデータに対応するコンテキスト情報を含む携帯電話データを記憶する循環バッファと、記憶されたタイムスロットデータを、各チャネルが複数のフレームフラグメントを有する複数のチャネルにパースするエクストラクタと、記憶されたコンテキスト情報および対応するチャネルに従って、フレームフラグメントを蓄積するフレーマと、蓄積されたフレームフラグメントを完全なフレームにグループ化するパケタイザと、フレームフラグメントおよび完全なフレームに基づいて、各チャネルに関連づけられた携帯電話データ使用統計値を生成する統計ユニットと、を有する。【選択図】図２
2005318594.tif 000002
【特許請求の範囲】
【請求項１】
携帯電話データを分析する方法であって、
前記携帯電話データ内の一意的なチャネルを識別し、前記携帯電話データを、識別された各チャネルと関連づけられた複数のフレームフラグメントにパースおよび記憶するステップと、
各識別されたチャネル内の関連するフレームフラグメントを識別し、識別された関連するフレームフラグメントを完全なフレームに形成するステップと、
前記フレームフラグメントおよび前記完全なフレームに基づいて、チャネルごとに携帯電話データ使用統計値を生成するステップと、
を含む方法。
【請求項２】
前記データは、携帯電話網データ、携帯電話シグナリングデータ、パケットデータとしてエンコードされた携帯電話音声のうち少なくとも１つを含む、請求項１に記載の方法。
【請求項３】
前記フレームフラグメントを特定のチャネルに属するものとして識別するステップは、チャネル化テーブルに記憶された値に基づく、請求項１に記載の方法。
【請求項４】
前記フレームフラグメントを特定のフレームに属するものとして識別するステップは、ハイレベルデータリンク制御プロトコルに従う、請求項３に記載の方法。
【請求項５】
前記フレームフラグメントを特定のフレームに属するものとして識別するステップは、トランスコーダレートアダプタユニットプロトコルに従う、請求項４に記載の方法。
【請求項６】
前記携帯電話使用統計値は、合計バイトカウント、合計フレームカウント、合計ショートフレームカウント、合計異常終了フレームカウント、合計フレーム・チェックサム・エラーフレームカウントのうち少なくとも１つを含む、請求項１に記載の方法。
【請求項７】
携帯電話データを分析するチャネル化装置であって、
タイムスロットデータおよび該タイムスロットデータに対応するコンテキスト情報を含む携帯電話データを記憶する循環バッファと、
前記記憶されたタイムスロットデータを、各チャネルが複数のフレームフラグメントを有する複数のチャネルにパースするエクストラクタと、
前記記憶されたコンテキスト情報および対応するチャネルに従って、前記フレームフラグメントを蓄積するフレーマと、
前記蓄積されたフレームフラグメントを完全なフレームにグループ化するパケタイザと、
前記フレームフラグメントおよび完全なフレームに基づいて、各チャネルに関連づけられた携帯電話データ使用統計値を生成する統計ユニットと、
を有する装置。
【請求項８】
前記循環バッファは、エクストラクタ、フレーマ、パケタイザ、および統計ユニットと同時に通信する、請求項７に記載の装置。
【請求項９】
各タイムスロットのどのビットがチャネルに対応するかを識別するエントリを記憶するチャネル化テーブルをさらに有する、請求個８に記載の装置。
【請求項１０】
前記フレーマは、前記パケタイザが前記蓄積されたフレームフラグメントを開始フレームフラグメント、中間フレームフラグメント、終了フレームフラグメントのうち１つとして認識するように、前記蓄積されたフレームフラグメントにタグをつける、請求項９に記載の装置。
【請求項１１】
前記フレーマは、２Ｇまたは２．５Ｇの携帯電話システム内でハイレベルデータリンク制御プロトコルを使用する、請求項１０に記載の装置。
【請求項１２】
前記フレーマは、２Ｇまたは２．５Ｇの携帯電話システム内でトランスコーダレートアダプタユニットプロトコルを使用する、請求項１０に記載の装置。
【請求項１３】
前記パケタイザは、
チャネルごとに、各開始フレームフラグメントにヘッダを追加し、各終了フレームフラグメントにトレーラを追加する出力ユニットと、
前記フレームフラグメントを、各チャネルに対応する出力ユニットから完全なフレームにコンパイルするバッファマネジャと、
を有する請求項１０に記載の装置。
【請求項１４】
前記携帯電話データ使用統計値は、合計バイトカウント、合計フレームカウント、合計ショートフレームカウント、合計異常終了フレームカウント、合計フレームチェックサムエラーフレームカウントのうち少なくとも１つを含む、請求項９に記載の装置。
【請求項１５】
前記携帯電話データは、携帯電話網データ、シグナリングデータ、パケットデータとしてエンコードされた携帯電話音声のうち少なくとも１つを含む、請求項１４に記載の装置。
【請求項１６】
前記携帯電話使用統計値、前記携帯電話網データ、前記シグナリングデータ、および前記完全フレームのうち少なくとも１つが表示用に出力される、請求項１５に記載の装置。
【請求項１７】
携帯電話データを分析する方法であって、
フレームフラグメントを有する複数のチャネルを含む携帯電話データを、複数のポートから同時に監視するステップと、
前記携帯電話データを、各チャネル内でフレームフラグメントから完全なフレームにグループ化するステップと、
チャネルごとに、前記完全なフレームおよび前記フレームフラグメントに基づいて携帯電話データ統計を収集するステップと、
を含む方法。
【請求項１８】
前記複数のポートは最大で８個のＴ１ポートまたはＥ１ポートを含む、請求項１７に記載の方法。
【請求項１９】
前記携帯電話データは、携帯電話網データおよび携帯電話シグナリングデータのうち少なくとも１つを含む、請求項１８に記載の方法。
【請求項２０】
各チャネルに対応する各フレームが、他のフレームからは独立してグループ化できるように、前記フラグメントを前記完全なフレームにデインタリーブするステップをさらに含む、請求項１９に記載の方法。
【請求項２１】
前記携帯電話データ統計は、合計バイトカウント、合計フレームカウント、合計ショートフレームカウント、合計異常終了フレームカウント、合計フレーム・チェックサム・エラーフレームカウントのうち少なくとも１つを含む、請求項２０に記載の方法。
【請求項２２】
前記携帯電話データ統計、前記携帯電話網データ、前記携帯電話シグナリングデータのうち少なくとも１つをユーザに表示するステップをさらに含む、請求項２１に記載の方法。
【請求項２３】
携帯電話データを分析するシステムであって、
複数の入力からの携帯電話データをチャネルに分離し記憶する手段と、
各チャネル内のフレームフラグメントを識別し、該フレームフラグメントをチャネルごとに完全なフレームにグループ化する手段と、
チャネルごとに、前記識別されたフレームフラグメントおよび完全なフレームに基づいて、携帯電話使用統計値を記憶する手段と、
を有するシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯電話データを分析するためのチャネル化装置および方法に関する。
【背景技術】
【０００２】
携帯電話すなわちセルラ電話のネットワークは増加し続けており、ネットワークの大きさ、速度、複雑さも同様に増加している。そのような高速データ需要を満たすことができる通信サービス技術には、既存のＴ１／Ｅ１技術が含まれる。
【０００３】
テストが行われ、新しいサービス設置に資格を与え、また既存の設置で生じた問題をトラブルシュートする。シグナルアナライザにより、分散テストと分析による携帯電話網のチェックまたは問題のトラブルシュートが可能である。
【０００４】
コストを低減しサービス技術者の生産性を向上するために、多くの通信サービスプロバイダが、現場作業管理、データベースアクセス、およびシステムテストと分析用のポータブルコンピュータ（たとえばラップトップＰＣ）を自社の保守技術者に携帯させている。しかし、移動ネットワークの大きさと速度が増大するについて、より多くのチャネルを同時にモニタし分析する能力に対する必要性も増加している。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
既存の通信テスト製品は一般にプロセッサベースであり、６４チャネルしかサポートすることができない。したがって、既存の通信テスト製品では一般に、パーソナルコンピュータに備えられているような複雑な回路およびプロセッサが必要である。したがって、多数の高速ポートと多数のチャネル上でテストを同時に行なうように可変的に構成できる通信テストシステムを容易に生産できると有益である。
【課題を解決するための手段】
【０００６】
本発明は、携帯電話データを分析するチャネル化装置を提供する。この装置は、タイムスロットデータおよび該タイムスロットデータに対応するコンテキスト情報を含む携帯電話データを記憶する循環バッファと、記憶されたタイムスロットデータを、各チャネルが複数のフレームフラグメントを有する複数のチャネルにパースするエクストラクタと、記憶されたコンテキスト情報および対応するチャネルに従って、フレームフラグメントを蓄積するフレーマと、蓄積されたフレームフラグメントを完全なフレームにグループ化するパケタイザと、フレームフラグメントおよび完全なフレームに基づいて、各チャネルに関連づけられた携帯電話データ使用統計値を生成する統計ユニットと、を有する。
【発明を実施するための最良の形態】
【０００７】
本発明の実施形態のこれらの態様と利点および／または他の態様と利点は、実施形態に関する次の説明を付随する図面と共に参照すればより明らかになり、容易に理解されるであろう。
【０００８】
次に本発明の実施形態を詳細に参照する。本発明の例は付随する図面に示されており、図面を通じて同様な参照番号は同様な要素を指す。次に図面を参照することによって、実施形態を説明する。
【０００９】
図１は、本発明の一実施形態による、チャネル化（channelization）によって携帯電話データを分析する方法を示すフローチャートである。次に図１を参照すると、動作１１０では、携帯電話網からの多数の入力から受信されたデータ内の一意的なチャネルを識別し、ついで、データを各チャネルに関連づけられたフレームフラグメントにパース（parse、解析）する。例えば、２Ｇまたは２．５Ｇの携帯電話網上の８つまでのＴ１ポートまたはＥｌポートからのデータを、同時に受信することができる。フレームフラグメントは、チャネル化テーブルに記憶された値に基づいて、特定のチャネルに属するものとして識別される。これについては後述する。典型的には、データはシグナリングデータである。しかし、本発明はシグナリングデータに限定されず、データは、音声データ、または、テキストメッセージデータ、インターネットデータ（携帯電話をインターネットサーフィンに使用する場合）など、他のタイプの携帯電話データであってもよい。さらに、本発明の実施例はＴ１ポートまたはＥｌポートだけを処理することに限定されず、８ポート以上からの入力を受信し、多数のチャネルを分析することができる。
【００１０】
プロセスは動作１１０から動作１２０に移り、互いに関連するフレームフラグメントを識別し、完全なフレームに形成またはグループ化される。フレームフラグメントは、ハイレベルデータリンク制御（High Level Data Link Control、ＨＤＬＣ）プロトコル、またはトランスコーダレートアダプタユニット（Transcoder and Rate Adaptor Unit、ＴＲＡＵ）プロトコルのいずれかにしたがって、チャネル化テーブルを使用して特定のフレームに属するものとして識別される。ついで、完全なフレームが識別されたフレームフラグメントから形成され、次にメモリに出力される。ここでプロセッサ（図示せず）はフレームフラグメントにアクセスし、完全なフレームをコピーしＰＣに転送して、ユーザに表示する。
【００１１】
プロセスは動作１２０から動作１３０に移り、チャネルごとに、フレームフラグメントと完全なフレームに基づいて携帯電話データ使用統計値（mobile telephony data usage statistics）が生成される。携帯電話データ使用統計値は典型的には、合計バイトカウント、および、合計フレームカウント、合計ショートフレームカウント、合計異常終了フレームカウント、合計フレームチェックサムエラーフレームカウントを、所定の組合せで含む。ついで、これらの携帯電話データ使用統計値は、ユーザとインタフェースする機能を有するディスプレイ、または、パーソナルコンピュータ、他の装置に出力される。また、携帯電話データ使用統計値はメモリ内に記憶され、後からユーザが検索して携帯電話網を検査することができる。さらに、完全なフレームは、ＰＣ、または、端末、その他のディスプレイ装置を介してユーザに表示することができる。本方法は、ハードウェア、または、ソフトウェア、ハードウェアとソフトウェアの組合せの中で実装することができる。
【００１２】
図２は、本発明の一実施形態に従って携帯電話データを分析するチャネル化装置２００の構成図である。図２を参照するとチャネル化装置は、循環バッファ（circular buffer）２０４、エクストラクタ（extractor）２１６、フレーマ（framer）２２０、パケタイザ（packetizer）２２４、および統計ユニット２３０を含む書替え可能ゲートアレイ（ＦＰＧＡ）２０１を備える。チャネル化テーブル２３４はＦＰＧＡ２０１上のメモリに記憶されるが、外部メモリ（図示せず）に存在してもよい。携帯電話データはバス２０２で受信され、循環バッファ２０４に記憶される。携帯電話データは、最高で８つのＴ１ポートまたは８つのＥｌポートを含む移動通信網からの多重化データであるが、ポートはこれに限定されない。他のタイプの高速ポートから受信された、他のエンコードされたパケットデータも、チャネル化装置２００によって処理できることが理解されよう。
【００１３】
循環バッファ２０４は、コンテキスト情報フィールド２０６、および、フラグメント化テーブル２０８、データ記憶領域２１０、アクセスコントローラ２１２を含む。循環バッファ２０４は携帯電話データを記憶し、携帯電話データは、タイムスロットデータとタイムスロットデータに対応するコンテキスト情報とを含む。Ｔ１フレームまたはＥ１フレーム内の特定の位置の１バイトは、タイムスロットと呼ばれる。コンテキスト情報フィールド２０６はタイムスロットに対応するコンテキスト情報を記憶する。情報は、例えばタイムスロットバイトの開始ポート、タイムスロット番号、タイムスロットバイトがいつ受信されたか示すタイムスタンプなどである。データ記憶領域２１０は３２バイトで、受信されたタイムスロットを記憶する。次により完全に説明するように、エクストラクタ２１６によって生成されるフラグメント化テーブル２０８は、バイトが各プロセッサ、すなわちエクストラクタ２１６、フレーマ２２０、パケタイザ２２４、統計ユニット２３０に入ると、バイトと共に移動するエントリを記憶する。アクセスコントローラ２１２は、循環バッファ２０４と、エクストラクタ２１６、フレーマ２２０、パケタイザ２２４、統計ユニット２３０の各々の間の通信を制御する。
【００１４】
アクセスコントローラ２１２はポインタ（図示せず）を使用してバイトを待ち行列に入れ、エクストラクタ２１６、フレーマ２２０、パケタイザ２２４、統計ユニット２３０のうちの１つであるプロセッサによって処理する。所与のバイトは、循環バッファ２０４を通過する間、１つのプロセッサから別のプロセッサに移動する。前のプロセッサによって処理されたデータのバイトが循環バッファ２０４にある限り、各プロセッサはバイトを処理する。各プロセッサがバイトを処理すると、そのバイトに対応するコンテキスト情報フィールド２０６とフラグメント化テーブル２０８は、追加、または、修正、書き直しされ、次のプロセッサに使用される。エクストラクタ２１６、フレーマ２２０、パケタイザ２２４、統計ユニット２３０は各々並列処理し、高スループットを達成することができる。
【００１５】
エクストラクタ２１６は記憶されたタイムスロットデータを、各チャネルが複数のフレームフラグメントを有する複数のチャネルへパースする。具体的には、エクストラクタ２１６は、バイトに関するタイムスロットとポート番号および循環バッファ２０４からのバイトとを読み取り、バイト内のビットを対応するチャネルに分離する。エクストラクタ２１６は、そのバイトに対応するタイムスロットとポート番号とを使用して、チャネル化テーブル２３４を参照することによってバイトをパースする。
【００１６】
タイムスロットの各ビットを８つの異なるチャネルに使用できるので、チャネル化テーブル２３４はポートごとタイムスロットごとに最高で８つまでのエントリを有する。必要ではないが好ましくは、ユーザは、ＦＰＧＡ２０１が通信するように結合された通信リンクのタイプに依存してチャネル化テーブル２３４の構成を作成し、各ポート上の各タイムスロットについて、指定されたチャネルに属するビット、そのチャネルが使用するフレーミング、必要なフィルタリング、使用すべきＣＲＣの変量を指定する。各エントリについて、チャネル番号、フレーミングタイプ、フィルタリングオプション、ＣＲＣオプションと共にビットフィールドがチャネル化テーブル２３４から読みだされる。チャネル化テーブル２３４はデフォルト設定にプリセットすることができ、ユーザが入力装置（図示せず）を介してオプションとして変更することができる。
【００１７】
エクストラクタ２１６は各ビットフィールドおよびチャネル番号をとり、循環バッファ２０４のフラグメント化テーブル２０８へエントリを生成する。フラグメント化テーブル２０８中の各エントリは、フラグメント化テーブル２０８の新しいバイトの大きさのエントリ内の最下位ビットにシフトダウンされた、１から８ビットの入力データバイト、フラグメントエントリデータバイト内で有効なビット数、および、チャネル化テーブルから読み出したチャネル番号、フレーミングタイプ、フィルタリングオプション、ＣＲＣオプションを含む。
【００１８】
例えば、タイムスロットがエクストラクタ２１６によって循環バッファ２０４から読み出されると仮定する。エクストラクタはチャネル化テーブル２３４中で、そのタイムスロットとポート番号に対応するエントリをルックアップし、タイムスロットのビット２、５、６がチャネル１に属することを決定する。ついで、エクストラクタ２１６は、これらの３ビットを、新しいバイトサイズのエントリのビット０、１、２としてフラグメント化テーブル２０８に書き込む。したがって、チャネル１に対応するこれらの３ビットは、循環バッファ２０４内のフラグメント化テーブル２０８エントリ内のフレームフラグメントとなり、次のプロセッサであるフレーマ２２０によって処理する準備ができる。
【００１９】
フレーマ２２０は、記憶されたコンテキスト情報および対応するチャネルに従ってフレームフラグメントを蓄積する。フレーマ２２０は循環バッファ２０４から各フレームフラグメントを読み出し、以前のフレームフラグメントから同様なチャネルからのビットを連結し、既定のフレーミングパターンをチェックしてフレームを描写する。フレーマ２２０は、ハイレベルデータリンク制御（ＨＤＬＣ）プロトコルまたはトランスコーダレートアダプタユニット（ＴＲＡＵ）プロトコルのいずれかを使用して、パケタイザ２２４が、蓄積されたフレームフラグメントが開始フレームフラグメント、中間フレームフラグメント、終了フレームフラグメントのいずれであるかを認識するように、蓄積されたフレームフラグメントにタグをつける。フレーマ２２０は最高で２０４８のチャネルを同時にサポートすることができる。
【００２０】
フレーマ２２０がＨＤＬＣプロトコルを使用する場合、フレーマ２２０は、循環バッファ２０４がバス２０２上で新しいタイムスロットを受信するごとに、循環バッファ２０４からバイトを読み出す。この読み出されたバイトには、最大８個のフレームフラグメントを伴うフラグメント化テーブル２０８のエントリが関連づけられている。各フレームフラグメントは、データ（すなわち１ビットから８ビット）、および、データの大きさ（すなわち１から８）、対応するチャネル番号を含む。
【００２１】
図３はＨＤＬＣフレームの例である。図３の例を参照すると、ＨＤＬＣプロトコルの標準フレームはデータと制御メッセージの両方を処理する。開始インジケータ３０２は８ビットのパターンである。ペイロード３０４はアドレス部分とデータ部分を含み、ゼロビット挿入が行なわれる前には多数の８ビットである。ＣＲＣは、１６ビット長のＣＲＣワード３０６を含む。終了インジケータ３０８またはフレーム描写フラグは既定のパターンの８ビットである。ＨＤＬＣフレームはさらにシグナリングシステム番号７（ＳＳ７）フォーマットを含んでいてもよい。
【００２２】
本発明のこの態様によれば、フレーマ２２０は、２４ビットシフトレジスタ（図示せず）、ビットシフトカウンタ（図示せず）、メモリ（図示せず）を含む。メモリはＦＰＧＡ２０１の内部メモリである。これらのコンポーネントは、本発明の実施形態によってＦＰＧＡ２０１の中で実装される。
【００２３】
具体的には、メモリは各チャネルに関して独立して検索できる次の情報を含むように分割される。所与のチャネルビットストリームの最後の１６ビット（「ＰｒｅｖｉｏｕｓＤａｔａ」と呼ぶ）、出力ビットを出力バイトに変換するために使用する位相インジケータ（０−７）、新しいフレームが開始するところであることを示す「ＮｅｗＦｒａｍｅ」と呼ばれるインジケータ、他のフラグメントに切り替わる直前に発生したゼロビット削除（zero bit deletion、ＺＢＤ）を示す「ＰｒｉｏｒＺＢＤ」と呼ばれるインジケータ、少なくとも第１のフラグが入力されるまで出力を抑制するために使用するインジケータ「ＧｏｔＭｙＦｉｒｓｔＦｌａｇ」である。
【００２４】
データを処理する際に、フレーマ２２０は一連の動作を介して各フラグメントを処理する。シフトレジスタビット（１５：０）には、問題のチャネルに関するメモリから「ＰｒｅｖｉｏｕｓＤａｔａ」がロードされ、ビットシフトカウンタはゼロに初期化される。残りのシフトレジスタビット（２３：１６）には、着信フレームフラグメントデータ（１ビットから８ビット）がロードされる。「ＰｒｉｏｒＺＢＤ」インジケータが設定される場合、ビット（２２：１５）には着信データがロードされる。これは、このチャネルに関するフラグメントが最後に処理されたときにゼロビットは削除されているためである。シフトレジスタ中のビットは右に１つシフトされ、位相インジケータはインクリメントされ、ビットシフトカウンタもインクリメントされる。位相インジケータが７の値を有しなければインクリメントされ、７の値を有する場合は０に設定される。シフトレジスタのビット（１５：８）は、それぞれフレーム描写フラグおよび異常終了フレームインジケータである、０１１１１１１０または１１１１１１１０のデータパターンについてチェックされる。シフトレジスタのビット（１３：８）は、ゼロビット削除する必要性を示す０１１１１１に関してチェックされる。その間に、位相インジケータは０の値に関してチェックされ、「ＧｏｔＭｙＦｉｒｓｔＦｌａｇ」インジケータは、少なくとも１つのフレーム描写フラグが検出されたことを示すように設定される。「ＧｏｔＭｙＦｉｒｓｔＦｌａｇ」が真で位相インジケータが０である場合、シフトレジスタビット（７：０）が出力され、現在処理されているフラグメント化テーブル２０８中のフラグメントエントリに書き戻される。開始インジケータが設定され、また、「ＮｅｗＦｒａｍｅ」が設定されているがフレーム描写フラグがこの瞬間に検出されていない場合、「ＮｅｗＦｒａｍｅ」は無効になる。「ＮｅｗＦｒａｍｅ」が設定されておらずフレーム描写フラグが検出された場合には、終了インジケータが設定される。開始インジケータと終了インジケータのいずれも適用できない場合、インジケータは、検出されたフレームフラグメントが完全なフレームの中間であることを示す中間インジケータに設定される。
【００２５】
フレーム描写フラグまたは異常終了フレームインジケータが検出された場合、内部フラグ「ＮｅｗＦｒａｍｅ」が設定される。フレーム描写フラグが検出された場合、内部フラグ「ＧｏｔＭｙＦｉｒｓｔＦｒａｍｅ」が設定される。異常終了フレームインジケータが検出された場合、内部フラグ「ＧｏｔＭｙＦｉｒｓｔＦｒａｍｅ」は無効になる。
【００２６】
ビットシフトカウンタが着信フレームフラグメントの大きさに等しい場合、シフトレジスタのビット（１５：０）は、現在処理されているフラグメント化テーブル２０８内のフラグメントエントリに書き戻され、次のフレームフラグメントの処理の準備ができる。さらに、ゼロビット削除を行なう必要がある場合、インジケータ「ＰｒｉｏｒＺＢＤ」が設定される。
【００２７】
ビットシフトカウンタが着信フレームフラグメントの大きさと等しくなく、ゼロビット削除を行う必要がある場合、ビット（１３）が削除され、ビット（１２：１）は右に１つシフトされ、ビット（２３：１４）は右に２つシフトされる。これ以外の場合、ゼロビット削除の必要がなければ、ビット（２３：１）は右に１つシフトされる。ついで、位相インジケータをインクリメントし、フレーム描写フラグと異常終了フレームインジケータをチェックすることによってプロセスが継続する。
【００２８】
ＨＤＬＣを使用するフレーマ２２０からの出力は、バイト（タイムスロット）がバス２０２上のチャネル化装置２００に入力されるごとに出力される。このバイトには、最大８個のフレームフラグメントを中に含むフラグメント化テーブル２０８が関係づけられる。
【００２９】
各フラグメントは、８ビットのデータ、開始フレームインジケータ、中間フレームインジケータ、終了フレームインジケータ、チャネル番号、異常終了フレームインジケータ、ＦＣＳエラーフレームインジケータを含む。
【００３０】
フレーマ２２０がＴＲＡＵプロトコルを使用する場合、フレーマ２２０は、循環バッファ２０４が新しいタイムスロットをバス２０２上で受信するごとに循環バッファ２０４からバイトを読みだす。このバイトには、最大で８個のフレームフラグメントを中に伴うフラグメント化テーブルが関連づけられている。各フレームフラグメントは、データ（すなわち１ビットから８ビット）、データのサイズ（すなわち１から８）、対応するチャネル番号を含む。
【００３１】
図４はＴＲＡＵフレームの例である。図４の例を参照すると、Ｄはデータビットを指し、Ｃｎは制御ビットを指し、Ｔはタイミング調節ビットを指す。タイミング調節ビットは、次のフレームが現在のフレーム終了より４ビット早く開始したときに使用される。本発明では、小さな修正を行えばＴＲＡＵフレームのほかの変形も使用できることを理解されたい。
【００３２】
本発明の１態様によればフレーマ２２０は、２６ビットシフトレジスタ（図示せず）、ビットシフトカウンタ（図示せず）、メモリ（図示せず）を含む。本発明の１態様ではメモリはＦＰＧＡ２０１の内部メモリである。本発明の一実施形態により、他のコンポーネントもＦＰＧＡ２０１の中で実装される。
【００３３】
この例では、メモリを分割し、各チャネルについて独立して検索することができる次の情報を含める。所与のチャネルビットストリームの最後の１８ビット（「ＰｒｅｖｉｏｕｓＤａｔａ」と呼ぶ）、出力ビットを出力バイトに変換するために使用する位相インジケータ（０−７）、検出された連続的な不良なフレーミングパターンを記録する「ＢｗｄＧｕａｒｄ」と呼ばれるカウント、現在のフレームの出力に残されたビット数を記録する「ＢｉｔｓＦｒｏｍＥｎｄ」と呼ばれるカウント、現在のフレームからすでに出力されたビット数を記録する「ＢｉｔｓＦｒｏｍＳｔａｒｔ」と呼ばれるカウント、また、フレーム同期化が達成されたかどうかを示す「ＦｒａｍｉｎｇＳｔａｔｅ」と呼ばれるインジケータである。
【００３４】
動作においては、ＴＲＡＵを使用するフレーマ２２０は、すべてのフレームフラグメントが識別され、完全なフレームバイトに変換されるまで、一連の動作を介して各フラグメントを処理する。シフトレジスタビット（１７：０）には、問題のチャネルに関するメモリから「ＰｒｅｖｉｏｕｓＤａｔａ」をロードし、ビットシフトカウンタはゼロに初期化する。シフトレジスタビット（２５：１８）には、着信フレームフラグメントデータ（１ビットから８ビット）をロードする。ローカル変数は、フレームフラグメントから得られ現在処理されているチャネルに関するローカルメモリエントリから復元されると、「ＢｗｄＧｕａｒｄ」、「ＢｉｔｓＦｒｏｍＥｎｄ」、「ＢｉｔｓＦｒｏｍＳｔａｒｔ」、「ＦｒａｍｉｎｇＳｔａｔｅ」に設定される。次に、シフトレジスタ中のビットは１つ右にシフトされ、位相インジケータはインクリメントされ、ビットシフトカウンタもインクリメントされる。位相インジケータが７の値を有しなければ位相インジケータはインクリメントされるが、７の値を有する場合には０に設定される。ビット（１７：１）は、種々のＴＲＡＵフレームタイプに関するＴＲＡＵフレーミングパターンの共通部分である１００００００００００００００００データパターンについてチェックされる。このチャネルに関する現在のフレーミング状態はアウトオブフレーム（ｏｕｔ−ｏｆ−ｆｒａｍｅ、ＯＯＦ）であり、フレーミングパターンが検出され、フレーミング状態はインフレーム（ｉｎ−ｆｒａｍｅ、ＩＮＦ）に設定される。同時に、「ＢｉｔｓＦｒｏｍＥｎｄ」は３１９に設定され、「ＢｉｔｓＦｒｏｍＳｔａｒｔ」は１に設定され、「ＢｗｄＧｕａｒｄ」は０に設定される。
【００３５】
このチャネルに関する現在のフレーミング状態がＩＮＦで「ＢｉｔｓＦｒｏｍＥｎｄ」＝０で、フレーミングパターンが検出された場合、「ＢｗｄＧｕａｒｄ」は０に設定され、これ以外の場合は、期待される場所にフレーミングパターンがないため、「ＢｗｄＧｕａｒｄ」がインクリメントされる。「ＢｗｄＧｕａｒｄ」が３の値に達する場合、フレーミング状態はＯＯＦに設定される。
【００３６】
ＴＲＡＵフレーミングパターンが検出されないかフレーミング状態がＩＮＦでない場合、「ＢｉｔｓＦｒｏｍＥｎｄ」はデクリメントされ、「ＢｉｔｓＦｒｏｍＳｔａｒｔ」がインクリメントされる。「ＢｉｔｓＦｒｏｍＳｔａｒｔ」が１７に達すると、Ｃ１ビットからＣ５ビットを検査する。Ｃ１ビットからＣ５ビットが所定の値を有する場合、フレームに対してタイミング調節制御（timing adjustment control、ＴＡＣ）を行ってもよい。
【００３７】
フレームにＴＡＣを行う場合、「ＢｉｔｓＦｒｏｍＳｔａｒｔ」が２２と等しければ、Ｃ６ビットからＣ１１ビットを検査しＴＲＡＵ標準に従って解読する。この結果、値「ＢｉｔｓＦｒｏｍＥｎｄ」が調節され、次のフレームのフレーミングパターンがフレーミングパターンの正常な間隔に対してオフセットされてテストされる。
【００３８】
位相インジケータが０でフレーミング状態がＩＮＦである時には、シフトレジスタのビット（７：０）は現在処理されているフラグメント化テーブル２０８中のフラグメントエントリへ書き戻される。「ＢｉｔｓＦｒｏｍＳｔａｒｔ」＝１の場合、開始インジケータが設定され、「ＢｉｔｓＦｒｏｍＳｔａｒｔ」＝３１３の場合、終了インジケータが設定され、開始インジケータも終了インジケータも適用できない場合は、インジケータは中間に設定される。
【００３９】
ビットシフトカウンタが着信データの大きさと同じ場合、シフトレジスタビット（１７：０）は、値「ＢｉｔｓＦｒｏｍＳｔａｒｔ」、「ＢｉｔｓＦｒｏｍＥｎｄ」、「ＦｒａｍｉｎｇＳｔａｔｅ」、「ＢｗｄＧｕａｒｄ」と共に、現在処理されているフラグメント化テーブル２０８中のフラグメントエントリへ書き戻される。ついで次のフレームフラグメントの処理準備ができる。続くフレームフラグメントも同様の方法で処理される。
【００４０】
ＴＲＡＵを使用するフレーマ２２０からの出力は、バイト（タイムスロット）がバス２０２上のチャネル化装置に入力されるごとに出力される。このバイトには、最大で８個のフレームフラグメントを伴うフラグメント化テーブル２０８が関連づけられる。各フラグメントは、８ビットのデータ、開始フレームインジケータ、中間フレームインジケータ、終了フレームインジケータ、チャネル番号を含む。
【００４１】
パケタイザ２２４は、蓄積されたバイトサイズのフレームフラグメントを完全なフレームにグループ化する。パケタイザ２２４は各フラグメントテーブル２０８エントリをチェックし、着信バイトから各チャネルに関する完全なフレームを構築する。パケタイザ２２４は、他のチャネルからは独立して各チャネルを処理することができる。このデインタリーブ機能により、チャネル化装置は効率的に動作でき、各チャネルを他のチャネルとは別に処理できる。本発明の別の態様によれば、パケタイザは、長さフィールドに基づいてＳＳ７メッセージをフィルタリングし、ＴＲＡＵアイドルスピーチフレームをフィルタリングすることができる。
【００４２】
図５は、図２のパケタイザ２２４のより詳細な構成図である。パケタイザ２２４は出力ユニット５００とバッファマネジャ５０２を備える。出力ユニット５００は、チャネルごとに、各開始フレームフラグメントにヘッダを加え、各終了フレームフラグメントにトレーラを加える。バッファマネジャ５０２は、各チャネルに対応する出力ユニット５００からフレームフラグメントを、開始フレームフラグメント、少なくとも１つの中間フラグメント、終了フレームフラグメントを含む完全なフレームにグループ化する。ついで完全なフレームはメモリに送信され、プロセッサによってアクセスされ、プロセッサはフレームをコピーしＰＣに転送してユーザに表示する。
【００４３】
図６は、図５のバッファマネジャ５０２の詳細な構成図である。図６を参照すると、ストリーム状態リスト（stream status list、ＳＳＬ）６５０、フリーブロックリスト（free block list、ＦＢＬ）６５１、完成したメッセージリスト（completed message list、ＣＭＬ）６５２は、外部ＳＤＲＡＭ６４４の中で維持されるリストである。これらのリストはそれぞれ、ＳＳＬマネジャ６２２、ＦＢＬマネジャ６３８、ＣＭＬマネジャ６２４によって管理される。入力バッファ６０４は、図５の出力ユニット５００からフレームフラグメントを受信する。ＳＳＬマネジャ６２２は、フレームフラグメントが新しいフレームの開始であるか、既存のフレームの継続であるか、または既存のフレームの終了であるかを接続６０６を介して決定する。フレームフラグメントが新しいフレームであることをＳＳＬ６２２が決定した場合、バッファ番号をＦＢＬマネジャ６３８から得て、バッファ番号はそのインデックスに関してＳＳＬ６５０の中で保存される。フレームフラグメントが継続であることをＳＳＬマネジャ６２２が決定した場合、既存のバッファをＳＳＬ６５０から得る。コア６１２は、外部ＳＤＲＡＭ６１６などのメモリ内の割り付けられたバッファにデータを書き込む。外部ＳＤＲＡＭ６１６は、各々が１つのフレームを保持する十分な大きさを有する多くの個別のバッファに分割される。
【００４４】
全フレームが書き込まれたとコア６１２が決定した場合、コア６１２は、完成したメッセージリスト（ＣＭＬ）マネジャ６２４を介してＣＭＬ６５２にメッセージを追加する。ＣＭＬマネジャ６２４は、出力要素６２０に、完全なフレームが出力を待っていることを伝える。出力要素６２０はコア６１２を介してフレームにアクセスし、接続２２６を介してフレームをメモリに出力し、ＰＣ、ネットワーク化されたコンピュータ、他のディスプレイ装置に転送する。
【００４５】
再び図２を参照すると、統計ユニット２３０は、フレームフラグメントと完全なフレームに基づいて各チャネルと関連づけられた携帯電話データ使用統計値を生成する。携帯電話データ使用統計値は、合計バイトカウント、合計フレームカウント、合計ショートフレームカウント、合計異常終了フレームカウント、合計フレームチェックサムエラーフレームカウントを既定の組合せで含む。
【００４６】
統計ユニット２３０はフラグメントテーブル２０８全体を走査し、バイトを読み出して、選択された統計を生成する。統計は後からユーザが検索するために記憶してもよいし、収集された統計をユーザに表示するためにパーソナルコンピュータ（ＰＣ）または他のディスプレイ装置に送信してもよい。
【００４７】
本明細書に記述された本発明の実施形態は、マルチチャネル携帯電話網モニタリングチャネル化装置と共に使用するために設計されている。チャネル化装置は最大で２０４８までの同時チャネルをサポートする。並列処理構造のために、チャネル化装置は高速かつ効率的である。チャネル化装置は製造の容易さのために、ＦＰＧＡを使用して実装される。
【００４８】
本発明の実施形態をＦＰＧＡ上に実装するように説明したが、本発明のほかの実施形態も、コンピュータ読み取り可能記録媒体内のコンピュータ読み取り可能コードとして実装できる。コンピュータ読み取り可能記録媒体は、コンピュータシステムが読み取ることのできるデータが記憶されるすべての種類の記録装置を含む。このようなコンピュータ読み取り可能記録媒体は、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピーディスク、光データ記憶装置、たとえばインターネットなどの搬送波を介した送信である。さらに、コンピュータ読み取り可能記録媒体はネットワークを介して接続されたコンピュータシステム間で分散させることができ、コンピュータ読み取り可能コードをその上に記憶させ、分散方法で実行することができる。
【００４９】
詳述した明細から本発明の実施形態の多くの態様および利点が明らかであり、付随する請求項は、本発明の実施形態のこれらのすべての特徴および利点を本発明の真の精神および範囲の中に入れることを目的としている。さらに、当業者であれば多数の修正と変更が容易に思いつくと考えられ、本発明を、図示し説明した実施形態通りの構造および動作に限定することが目的ではない。従って、すべての適切な修正および等価物は、本発明の範囲の中に含まれる。例えば、図１の中のプロセスは例であって修正が可能であり、図２のチャネル化装置は例としてのＦＰＧＡの実施形態であり、代わりに外部コンポーネントを使用した修正および構成も可能である。
【図面の簡単な説明】
【００５０】
【図１】本発明の一実施形態による、チャネル化によって携帯電話データを分析する方法を示すフローチャートである。
【図２】本発明の一実施形態による、携帯電話データを分析するチャネル化装置の構成図である。
【図３】図２のフレーマによって処理されたＨＤＬＣフレームの例を示す図である。
【図４】図２のフレーマによって処理されたＴＲＡＵフレームの例を示す図である。
【図５】図２のパケタイザの構成図である。
【図６】図５のバッファマネジャの動作を示す構成図である。
【符号の説明】
【００５１】
２００  チャネル化装置
２０１  書替え可能ゲートアレイ（ＦＰＧＡ）
２０２  バス
２０４  循環バッファ
２０６  コンテキスト情報フィールド
２０８  フラグメント化テーブル
２１０  データ記憶領域
２１２  アクセスコントローラ
２１６  エクストラクタ
２２０  フレーマ
２２４  パケタイザ
２２６  接続
２３０  統計ユニット
２３４  チャネル化テーブル
【図１】
2005318594.tif 000003
【図２】
2005318594.tif 000004
【図３】
2005318594.tif 000005
【図４】
2005318594.tif 000006
【図５】
2005318594.tif 000007
【図６】
2005318594.tif 000008