(57)【特許請求の範囲】
【請求項１】
パケット化されたデータを処理しながら、そのモデムプロセッサに対する割込を管理することによって、電気通信デバイスの性能を向上させる方法において、
パケット化されたデータを受け取ることと、
前記受け取ったパケット化されたデータに関する、時間ベースのしきい値と、データ量ベースのしきい値とのうちの少なくとも１つを記憶させることと、
ソフトウェアによって処理される準備ができている前記パケット化されたデータが、前記時間ベースのしきい値と、前記データ量ベースのしきい値とのうちの少なくとも１つを超えたとき、前記モデムプロセッサに対するソフトウェア割込を開始することと、
割込が開始されなかった場合に前記パケット化されたデータを累積し、そして割込の頻度を減少させるために、少なくとも、前記時間ベースのしきい値、および、前記データ量ベースのしきい値を調整することとを含む方法。
【請求項２】
サービスの品質、優先順位、処理帯域幅、バスアクティビティ、または利用可能なバッテリー寿命に基づいて、しきい値を調整することをさらに含む請求項１記載の方法。
【請求項３】
パケット化されたデータを処理しながら、そのモデムプロセッサに対する割込を管理することによって、電気通信デバイスの性能を向上させることができるプロセッサにおいて、
前記プロセッサは、
パケット化されたデータを受け取ることと、
前記受け取ったパケット化されたデータに関する、時間ベースのしきい値と、データ量ベースのしきい値とのうちの少なくとも１つを記憶させることと、
ソフトウェアによって処理される準備ができている前記パケット化されたデータが、前記時間ベースのしきい値と、前記データ量ベースのしきい値とのうちの少なくとも１つを超えたとき、前記モデムプロセッサに対するソフトウェア割込を開始することと、
割込が開始されなかった場合に前記パケット化されたデータを累積し、そして、少なくとも、前記時間ベースのしきい値、および、前記データ量ベースのしきい値を調整して、割込の頻度を減少させることと、のための命令を実行できるプロセッサ。
【請求項４】
サービスの品質、優先順位、処理帯域幅、バスアクティビティ、または利用可能なバッテリー寿命に基づいて、しきい値を調整することをさらに含む請求項３記載のプロセッサ。
【請求項５】
コンピュータ読み取り可能記憶媒体において、
前記コンピュータ読み取り可能記憶媒体は、パケット化されたデータを処理しながら、そのモデムプロセッサに対する割込を管理することによって、電気通信デバイスの性能を向上させるためのコードを含み、
前記コードは、
パケット化されたデータをコンピュータに受け取らせるためのコードと、
前記受け取ったパケット化されたデータに関する、時間ベースのしきい値と、データ量ベースのしきい値とのうちの少なくとも１つをコンピュータによって記憶させるためのコードと、
ソフトウェアによって処理される準備ができている前記パケット化されたデータが、前記時間ベースのしきい値と、前記データ量ベースのしきい値とのうちの少なくとも１つを超えたとき、前記モデムプロセッサに対するソフトウェア割込をコンピュータに開始させるためのコードと、
割込が開始されなかった場合に前記パケット化されたデータをコンピュータに累積させ、そして、少なくとも、前記時間ベースのしきい値、および、前記データ量ベースのしきい値を調整させて、割込の頻度を減少させるためのコードとを含むコンピュータ読み取り可能記憶媒体。
【請求項６】
前記コンピュータ読み取り可能記憶媒体は、サービスの品質、優先順位、処理帯域幅、バスアクティビティ、または利用可能なバッテリー寿命に基づいて、しきい値をコンピュータに調整させるためのコードをさらに含む請求項５記載のコンピュータ読み取り可能記憶媒体。
【請求項７】
コンピュータプログラムにおいて、
パケット化されたデータを処理しながら、そのモデムプロセッサに対する割込を管理することによって、電気通信デバイスの性能を向上させるためのコードを含み、
前記コードは、
パケット化されたデータをコンピュータに受け取らせるためのコードと、
前記受け取ったパケット化されたデータに関する、時間ベースのしきい値と、データ量ベースのしきい値とのうちの少なくとも１つをコンピュータによって記憶させるためのコードと、
ソフトウェアによって処理される準備ができている前記パケット化されたデータが、前記時間ベースのしきい値と、前記データ量ベースのしきい値とのうちの少なくとも１つを超えたとき、前記モデムプロセッサに対するソフトウェア割込をコンピュータに開始させるためのコードと、
割込が開始されなかった場合に前記パケット化されたデータをコンピュータに累積させ、そして、少なくとも、前記時間ベースのしきい値、および、前記データ量ベースのしきい値を調整させて、割込の頻度を減少させるためのコードとを含むコンピュータプログラム。
【請求項８】
サービスの品質、優先順位、処理帯域幅、バスアクティビティ、または利用可能なバッテリー寿命に基づいて、しきい値をコンピュータに調整させるためのコードをさらに含む請求項７記載のコンピュータプログラム。
【発明の詳細な説明】
【米国特許法第１１９条による優先権の主張】
【０００１】
本出願は、“ＷＷＡＮ技術のためのハードウェアアクセラレーション”と題し、２００８年６月１９日に出願されている米国仮特許出願番号第６１／０７４，０９９号の利益を主張し、この全体は、参照によりここに組み込まれている。
【背景】
【０００２】
Ｉ．分野
下記の説明は、一般的に、ワイヤレス通信システムに関連し、さらに詳細には、ワイヤレスワイドエリアネットワークのためのハードウェアアクセラレーションに関連する。
【０００３】
ＩＩ．背景
音声、データ等のような、さまざまなタイプの通信コンテンツを提供するために、ワイヤレス通信システムが広範囲に展開されている。これらのシステムは、利用可能なシステムリソース（例えば、帯域幅および送信電力）を共有することによって、複数のユーザとの通信をサポートすることができる多元接続システムであってもよい。このような多元接続システムの例は、コード分割多元接続（ＣＤＭＡ）システムや、時分割多元接続（ＴＤＭＡ）システムや、周波数分割多元接続（ＦＤＭＡ）システムや、Ｅ−ＵＴＲＡを含む３ＧＰＰロングタームエボリューション（ＬＴＥ）システムや、直交周波数分割多元接続（ＯＦＤＭＡ）システムを含む。
【０００４】
直交周波数分割多重（ＯＦＤＭ）通信システムは、効率的に、全システム帯域幅を複数（ＮF個）の副搬送波に区分する。これらの副搬送波は、周波数サブチャネル、トーン、または周波数ビンとも呼ばれることがある。ＯＦＤＭシステムの場合、送信されるデータ（すなわち、情報ビット）は、コード化されたビットを発生させるための特定のコーディングスキームにより最初にエンコードされ、コード化されたビットは、複数のビットシンボルにさらにグループ化され、この複数のビットシンボルは、その後、変調シンボルにマッピングされる。それぞれの変調シンボルは、データ送信のために使用される特定の変調スキーム（例えば、Ｍ−ＰＳＫまたはＭ−ＱＡＭ）によって規定されている信号配列におけるポイントに対応している。それぞれの周波数副搬送波の帯域幅に依存しているかもしれないそれぞれの時間間隔で、変調シンボルは、ＮF個の周波数副搬送波のそれぞれの周波数副搬送波上で送信されてもよい。したがって、システム帯域幅にわたって、異なる量の減衰によって特徴付けられている、周波数選択性フェーディングによって生じるシンボル間干渉（ＩＳＩ）に対処するために、ＯＦＤＭを使用してもよい。
【０００５】
一般的に、ワイヤレス多元接続通信システムは、同時に、複数のワイヤレス端末に対する通信をサポートすることができる。複数のワイヤレス端末は、フォワードおよびリバースリンク上での送信を通して、１つ以上の基地局と通信する。フォーワードリンク（またはダウンリンク）は、基地局から端末への通信リンクのことを意味し、リバースリンク（またはアップリンク）は、端末から基地局への通信リンクのことを意味する。この通信リンクは、単一入力単一出力、複数入力単一出力、または複数入力複数出力（ＭＩＭＯ）システムによって確立されてもよい。
【０００６】
ＭＩＭＯシステムは、データ送信のために、複数（ＮＴ本）の送信アンテナおよび複数（ＮＲ本）の受信アンテナを使用する。ＮＴ本の送信アンテナおよびＮＲ本の受信アンテナによって形成されるＭＩＭＯチャネルは、ＮＳ個の独立チャネルに分解されてもよい。一般的に、ＮＳ個の独立チャネルのそれぞれは、次元に対応する。複数の送信および受信アンテナによって生成されるさらなる次元が利用される場合、ＭＩＭＯシステムは、向上した性能（例えば、より高いスループットおよび／またはより高い信頼性）を提供できる。ＭＩＭＯシステムはまた、時分割デュプレックス（ＴＤＤ）および周波数分割デュプレックス（ＦＤＤ）システムをサポートする。ＴＤＤシステムでは、相互関係の原理によって、リーバスリンクチャネルからフォワードリンクチャネルの推定ができるように、フォワードおよびリバースリンク送信は同じ周波数領域上でなされる。これによって、複数のアンテナがアクセスポイントにおいて利用可能であるときに、アクセスポイントが、フォワードリンク上の送信ビーム形成利得を抽出することが可能になる。
【０００７】
ハンドセットにおいて追加の機能および能力が実現されると、ワイヤレスシステムはより複雑になるので、ハンドセットまたは移動体デバイス上に内在しているハードウェアの性能を向上させる必要性が高まっている。特に、ワイヤレスワイドエリアネットワーク（ＷＷＡＮ）のようなワイヤレスネットワークや関係デバイスについては、ネットワーク上の平均以下の性能のコンポーネントが原因のネットワーク待ち時間を軽減させながらも、デバイスの処理スピードおよびメモリ性能を向上させる必要がある。
【概要】
【０００８】
以下では、クレームした主題事項のいくつかの態様の基本的な理解を提供するために、簡略化した概要を示している。この概要は、多彩な概略ではなく、重要な／不可欠なエレメントを識別することにも、クレームした主題事項の範囲について詳細に述べることにも向けられていない。この唯一の目的は、後に示す、より詳細な説明の前置きとして、いくつかの概念を簡単な形態で示すことである。
【０００９】
システムおよび方法は、例えば、ワイヤレスワイドエリアネットワーク（ＷＷＡＮ）のようなネットワーク上でのコンポーネントオペレーティングの性能を高めるための、ハードウェアアクセラレーション機能を提供する。１つの態様では、処理動作を最小限にするために、解読の結果を外部メモリにコピーする前に、データ解読のような内部処理を実行する。別の態様は、処理性能を促進するために、適応または動的データ集約と、割込処理とを含む。別のハードウェアアクセラレーション態様では、異なるハードウェアパスを通して、データパス処理最適化が提供され、これは、外部メモリに移動させる前に、バッファにおいてデータ解読をデコードする、または、外部メモリにおいて直接的に解読を実行することによる、いずれかである。任意の所定の時点で、ハードウェアパスは、特定のシナリオに基づいて動的に選択される。いずれにしても、ハードウェアは簡素化され、伴う動作および論理の数を減少させることによって、処理性能が高くなる。
【００１０】
さらに別の態様では、バッファプールコンポーネントを提供し、バッファプールコンポーネントは、頻度が低い間隔で、および／または、内在するプロセッサがビジーほどではないときの期間に、データ処理を生じさせることを可能して、よりビジーな処理時間に対する性能帯域幅をセーブする。さらなる別のアクセラレーション態様では、アプリケーションプロセッサが、宛先プロセッサまたはプロセスによって、適切なフォーマットでデータを準備する。これは、宛先プロセッサが、このようなデータを、各宛先に適切な処理フォーマットに変形させる必要性を軽減させる。さらなる別の態様では、キーストリーム処理コンポーネントを提供し、キーストリーム処理コンポーネントでは、さまざまなパラメータおよびデータ値を、再生成させなければならないというよりむしろ他のパラメータから導出することができる。このような導出処理により、ハードウェアアクセラレータの性能はさらに高くなる。
【００１１】
先述の関連した目的の達成のために、以下の説明および図面とともに、いくつかの実例的な態様をここに記述する。しかしながら、これらの態様は、ほんの数例のさまざまな方法を示しているにすぎず、ここでは、クレームした主題事項の原理を使用してもよく、このクレームした主題事項はこのようなすべての態様およびこれらの均等物を含むことを意図している。他の利点および新規な特徴は、図面とともに考慮したときに以下の詳細な説明から明らかになる。
【図面の簡単な説明】
【００１２】
【図１】図１は、ワイヤレス通信システムのためのハードウェアアクセラレーションコンポーネントを提供する、システムの高レベルブロック図である。
【図２】図２は、ワイヤレスシステムに対するデータ解読を図示しているフロー図である。
【図３】図３は、ワイヤレス通信システムに対する適応集約を図示しているフロー図である。
【図４】図４は、ワイヤレス通信システムに対する最適化されたデータパス処理を図示しているフロー図である。
【図５】図５は、ワイヤレス通信システムに対するバッファプール処理を図示しているフロー図である。
【図６】図６は、ワイヤレス通信システムに対するアプリケーションフォーマット化を図示しているフロー図である。
【図７】図７は、ワイヤレス通信システムに対するキーストリーム処理を図示しているフロー図である。
【図８】図８は、ワイヤレスバーストサイズ処理を使用する例示的な通信装置を図示している。
【図９】図９は、多元接続ワイヤレス通信システムを図示している。
【図１０】図１０は、例示的な通信システムを図示している。
【図１１】図１１は、例示的な通信システムを図示している。
【図１２】図１２は、アクセラレーション処理のための例示的な論理モジュールを図示している。
【詳細な説明】
【００１３】
ワイヤレスシステムのハードウェア性能を向上させるための、さまざまなシステムおよび方法を提供する。一例として、１つの方法およびシステムは、外部メモリに移す前にデータを解読し、無効な解読パラメータが使用されたケースに対する不測の事態に対応するためのものである。別の方法およびシステムは、遅延敏感データに対する短い待ち時間を維持しながらも、割込オーバーヘッドを最小限にするために、適応集約長および優先キューにより割込を減少させるものである。別の方法およびシステムは、ワイヤレスワイドエリアネットワーク（ＷＷＡＮ）プロトコルスタック中のデータコピーを減少させるために、少なくとも２つの最適化されたデータパスを使用するものである。別の方法およびシステムは、バッファプールメカニズムを提供し、これにより、キャッシュ汚染を防ぐために、ソフトウェアが、効率的な方法および手段でデータバッファをハードウェアに提供することが可能になるものである。別の方法およびシステムは、余分なコピーを防ぐために、アプリケーションプロセッサによって準備されるネットワークドライバインターフェース仕様（ＮＤＩＳ）データバッファを備えるものである。そして、さらなる別の方法およびシステムは、ソフトウェアが解読を実行できるようにし、これにより、遅延を減少させ、余分なデータコピーを防いで、解読タスクを実行するためのソフトウェア処理を減少させるための、ハードウェアによって発生されるキーストリームバンクを有するものである。
【００１４】
これから図１を参照すると、システム１００は、ワイヤレスワイドエリアネットワーク（ＷＷＡＮ）アクセラレーションコンポーネント１１０を図示しており、このワイヤレスワイドエリアネットワーク（ＷＷＡＮ）アクセラレーションコンポーネント１１０は、処理性能を促進し、ハードウェアの複雑性を軽減させるために、ワイヤレスネットワーク１２０の１つ以上のコンポーネントにわたって配備することができる。示したように、例えば、ユーザ機器や、移動体デバイスや、基地局のようなネットワークコンポーネントにおけるハードウェア性能を向上させることを可能にする、さまざまなコンポーネントが提供されており、これについては以下で詳細に記述する。アクセラレーションコンポーネントの一般的な概略を提供し、その後に、以下で図２〜７についてのより詳細な説明を続ける。
【００１５】
１つの態様では、データ解読１３０のような内部処理は、処理動作を最小限にするために、解読の結果を外部メモリにコピーする前に実行される。この内部処理は、パラメータ解読を含み、これについては以下でより詳細に記述する。別の態様は、処理性能を促進するために、１４０における適応または動的データ集約および割込処理を含む。これは、さらなるデータ処理アクティビティのためにプロセッサに割込みをかける最適な時間を決定するための、しきい値を監視することを含む。別のハードウェアアクセラレーション態様では、異なるハードウェアパスを通して、データパス処理最適化１５０が提供され、これは、外部メモリに移動させる前に、バッファにおいてデータ解読をデコードする、または、外部メモリにおいて直接的に解読を実行することによる、いずれかである。任意の所定の時点で、ハードウェアパスは、特定のシナリオに基づいて動的に選択される。いずれにしても、ハードウェアは簡素化され、伴う動作および論理の数を減少させることによって、処理性能が高くなる。
【００１６】
さらに別の態様では、バッファプールコンポーネント１６０が提供され、バッファプールコンポーネント１６０は、頻度が低い間隔で、および／または、内在するプロセッサがビジーほどではないときの期間に、データ処理を生じさせることを可能して、よりビジーな処理時間に対する性能帯域幅をセーブする。さらなる別のアクセラレーション態様では、アプリケーションプロセッサが、１７０において、宛先プロセッサまたはプロセスにより適切なフォーマットでデータを準備する。これは、宛先プロセッサが、このようなデータを、それぞれの宛先に適切な処理フォーマットに変形させる必要性を軽減させる。さらなる別の態様では、キーストリーム処理コンポーネント１８０が提供され、キーストリーム処理コンポーネント１８０では、さまざまなパラメータおよびデータ値を、再度毎回、再生成させなければならないというよりむしろ、他のパラメータから導出することができる。このような導出処理により、ハードウェアアクセラレータの性能はさらに高くなる。データ解読１３０については、図２に関連して、より詳細に記述し、適応集約１４０については、図３に関連して、より詳細に記述し、最適化パス処理１５０については、図４に関連して、より詳細に記述し、バッファプール処理１６０は、図５に関連して、より詳細に記述し、アプリケーションフォーマット化１７０については、図６に関連して、より詳細に記述し、キーストリーム処理１８０については、図７に関連して、より詳細に記述していることに留意されたい。
【００１７】
開始する前に、ワイヤレスネットワーク１２０および（示していない）関係するコンポーネントの簡単な概略について提供する。システム１００は、１つ以上の（ノード、進化ノードＢ−ｅＮＢ、フェムト局、ピコ局等とも呼ばれる）基地局を含む。基地局は、ワイヤレスネットワーク１２０を通して、第２のデバイス（または、複数のデバイス）と通信する能力があるエンティティとすることができる。例えば、それぞれのデバイスは、（端末、ユーザ機器、局、または移動体デバイスとも呼ばれる）アクセス端末とすることができる。基地局は、ダウンリンクを通してデバイスと通信し、アップリンクを通してデータを受信することができる。デバイスは、ダウンリンクを通してデータを送信したり、アップリンクチャネルを通してデータを受信したりすることもできるので、アップリンクおよびダウンリンクのような、このような指定は任意である。
【００１８】
システム１００は、アクセス端末または移動体デバイスとともに使用でき、例えば、ＳＤカード、ネットワークカード、ワイヤレスネットワークカード、（ラップトップ、デスクトップ、パーソナルデジタルアシスタント（ＰＤＡ）を含む）コンピュータ、移動体電話機、スマートフォン、またはネットワークにアクセスするために利用できる他の何らかの適した端末のようなモジュールであり得ることに留意されたい。端末は、（示していない）アクセスコンポーネントによってネットワークにアクセスする。１つの例では、端末とアクセスコンポーネントとの間の接続は、実際にはワイヤレスであってもよく、この接続では、アクセスコンポーネントは基地局であってもよく、移動体デバイスはワイヤレス端末である。例えば、端末および基地局は、何らかの適したワイヤレスプロトコルによって通信してもよく、このワイヤレスプロトコルには、時分割多元接続（ＴＤＭＡ）、コード分割多元接続（ＣＤＭＡ）、周波数分割多元接続（ＦＤＭＡ）、直交周波数分割多重（ＯＦＤＭ）、ＦＬＡＳＨ ＯＦＤＭや、直交周波数分割多元接続（ＯＦＤＭＡ）、または他の何らかの適したプロトコルを含んでいてもよいが、これらに限定されるものではない。
【００１９】
アクセスコンポーネントは、ワイヤードネットワークまたはワイヤレスネットワークに関係するアクセスノードとすることができる。そのため、アクセスコンポーネントは、例えば、ルータ、スイッチ、またはは、これらに類するものとすることができる。アクセスコンポーネントは、他のネットワークノードと通信するために、１つ以上のインターフェース、例えば、通信モジュールを備えることができる。さらに、アクセスコンポーネントは、セルラタイプネットワークにおける基地局（または、ワイヤレスアクセスポイント）とすることができ、ここで、基地局（または、ワイヤレスアクセスポイント）は、ワイヤレスカバレージエリアを複数の加入者に提供するために利用される。このような基地局（または、ワイヤレスアクセスポイント）は、１つ以上のセルラ電話機および／または他のワイヤレス端末に対して、隣接エリアのカバレージを提供するように配置できる。
【００２０】
これから図２〜図７を参照すると、ワイヤレス通信方法論が図示されている。説明の簡略化の目的のために、方法論（および、ここで記述する他の方法論）を一連の動作として教示および記述しているが、いくつかの動作が、１つ以上の態様にしたがって、ここで教示および記述した順序とは異なった順序で、および／または、他の動作と同時に行われることがあるので、動作の順序によって方法論が限定されないことを理解および正しく認識すべきである。例えば、状態図のような図中で一連の相互関係状態またはイベントとして方法論を代替的に表すことができることを、当業者は理解および正しく認識するだろう。さらに、クレームした主題事項にしたがって方法論を実現するために、図示した動作すべてを利用しないこともある。一般的に、図３〜図５における処理により、ハンドオーバメッセージがユーザ機器によって最小遅延で受信されている可能性が高くなる。これは、ノードまたはデバイス間のハンドオーバー中の、より短い機能停止または遅延を含み、エンドユーザ経験を、特に、ハンドオーバー停止が受け入れられないリアルタイム遅延敏感サービスを向上させることができる。
【００２１】
図２を参照すると、プロセス２００は、ワイヤレスシステムに対するデータ解読について説明している。ユニバーサル移動体電気通信システム／ロングタームエボリューション（ＵＭＴＳ／ＬＴＥ）無線インターフェースプロトコルに対して、解読機能が無線リンク制御（ＲＬＣ）プロトコルの一部として指定され、または、パケットデータ収束プロトコル（ＰＤＣＰ）プロトコルの一部としてさえも指定される。普通は、上位レイヤにおける処理のために、解読されていないデータを外部メモリにコピーできるように、デコーダの出力において解読機能を実現することが好ましい。そうでない場合には、デコーダから外部メモリに直接的にデータをコピーすることもできるが、データを解読ハードウェアに戻して、再度、外部メモリに戻すために、追加コピーが必要とされる。これを取り扱うための例示的なアプローチは、外部メモリにコピーする前に解読して、コピー動作をセーブすることである。しかしながら、これは、解読パラメータを確実に導出するためのハードウェアが必要である。そうでなければ、解読は失敗し、この時点の後に、ソフトウェアが、データをまったく解釈できないだろう。
【００２２】
パケットを解読するための２つの入力パラメータ：１．（それぞれのパケットのヘッダにおいてシグナリングされる）パケットシーケンス番号と、２．（内部で維持され、シーケンス番号に基づいて更新される）ハイパーフレーム番号とがある。パケットシーケンス番号は、（最大シーケンス番号に達する）ある時点まで、新しいデータパケットごとに１つずつ増え、その後、パケットシーケンス番号は、０から再スタート（ロールオーバー）する。これが生じるとき、内部で維持されているハイパーフレーム番号（ＨＦＮ）は、１ずつ増える。通常の状態では、これにより、シーケンス番号に基づいて、ＨＦＮの信頼性のある予測ができ、これにより、ハードウェアで容易に実現することができるだろう。しかしながら、いくつかのケースでは、パケットの再送信は、暗号化パラメータが変わることがあるハンドオーバシナリオと組み合わされることから、ＨＦＮを予測することは困難である。これらのインスタンスにおけるＨＦＮを解くには、さらなるハードウェア複雑性が必要である。しかしながら、このさらなる複雑性がなければ、ハードウェアが誤った暗号化パラメータを使用するかもしれず、データ損失が生じるかもしれない。さらに悪いことには、ハードウェアは、潜在的に、いつまでも同期が外れたままであり、これは、ＲＬＣリセットにつながる。これを直す１つの態様は、ソフトウェアが、ハードウェア中のＨＦＮ不一致を検出し、必要とされるときには、これを訂正することを促進するとともに、解読パラメータ、特に、ＨＦＮを導出して、外部メモリへのコピーの前に解読を実行することである。
【００２３】
図２は、データの高速な解読を使用している、ハードウェアアクセラレーションのための例示的なプロセス２００を図示している。動作では、例示的なプロセス２００の初期化２１１の後、２１２において、ＨＦＮを検出する。ＨＦＮを追跡するための高度な論理を適切な場所に持つことによることか、または、オプション的に、２１３において、破損したヘッダおよびデータを有する連続パケットの最大数を単にチェックすることによることのいずれかで、検出機能を実現できる２１２。２１５において、ＨＦＮの不一致について、結果として得られたＨＦＮをテストする。不一致または破損したＨＦＮが見つけられた場合、例示的なプロセス２００は、暗号化されたデータを不正確なＨＦＮにより再暗号化し２１６、再暗号化されたデータを正確なＨＦＮにより解読する２１７。次に、例示的なプロセッサ２００は、データを外部メモリにコピーして２１８、この時点から新しいＨＦＮを使用するように前に進む。最後に、例示的なプロセス２００が、２１９において終了する。この方法の使用によって、ＨＦＮの不一致に直面したときのデータ損失を防ぐことができる。さらに、外部メモリにコピーする前にデータを解読することによって、データコピーの数を減少させ、スループットを増加させることができる。
【００２４】
図３は、ワイヤレス通信システムに対する適応集約を図示しているプロセス３００である。ハードウェアにおけるプロトコルアクセラレーションを実現するときに、到来データをスタック上に高速に転送して、遅延敏感サービスに対する遅延を制限するために、頻繁な割り込みをモデムプロセッサに送ることが、必要なときがある。一方、プロセッサに割込をかけることは、オーバーヘッド（例えば、ソフトウェア中における文脈切り替え）を追加し、利用可能な処理リソースを減少させる。これを取り扱うための１つの例示的な方法は、データの動的集約を実現することである。
【００２５】
図３は、適応集約長および優先キューを使用している、ハードウェアアクセラレーションのための別の例示的なプロセス３００を図示しているフローチャートである。動作では、初期化３２１の後、３２４においてデータが到着したとき、しきい値をテストする。このしきい値は、時間ベースしきい値および／またはデータ量ベースしきい値とすることができ、それぞれ、３２６および３２７である。データが転送された最後の時間が終了してからの時間がしきい値３２６を超えたとき、そして、新しいデータが到着した場合に、ソフトウェアに対する割込３２８をトリガできる。また、ソフトウェアによって処理される準備ができているデータの量が第２のしきい値３２７を超えたときに、ソフトウェアに対する割込３２８をトリガできる。そうでない場合には、ソフトウェアに割り込みをかけずにデータを累積することができ、３２９において、プロセスは終了する。
【００２６】
これらのしきい値３２６および３２７は、処理されるデータのタイプ（に限定されないが）に基づいて、例えば、サービスの品質（ＱｏＳ）、優先順位に基づいて、あるいは、データがシグナリングされているか、または、ユーザプレーンであるか否かに基づいて、動的に調整することができる。例えば、リアルタイムアプリケーション（例えば、ＶｏＩＰ、ゲーム）用の優先順位が高いデータ、または、シグナリングデータは、より低い集約しきい値が与えられた独立したキュー中で処理することができる。遅延制約がない他のユーザプレーンデータは、より高い集約しきい値を有する独立したキュー中で処理することができる。データ量が多いケースでは、他の場所でのバッファリング遅延が原因で、遅延は、通常、敏感ではない。したがって、集約しきい値を動的に設定するために、測定されたデータ量（バイト／秒）を使用できる。しきい値はまた、利用可能な処理／バス帯域幅リソース、他の同時に実行しているアプリケーション、利用可能なバッテリー寿命等に基づいて調整できる。したがって、到来データに対する時間および／または量のしきい値の実現により、ソフトウェア割込の数を減少させるので、利用可能な処理リソースを増加させること／ＭＩＰＳおよび電力消費を減らすことができる。
【００２７】
図４は、ワイヤレス通信システムのための最適化データパス処理を図示しているプロセス４００である。ＬＴＥおよびワイヤレスＣＤＭＡ（ＷＣＤＭＡ）のようなＷＷＡＮプロトコルを実現するとき、例えば、暗号化／解読、ＨＤＬＣフレーム化や、ＣＲＣチェックサム計算や、プロトコルヘッダ挿入のようないくつかの機能が存在し、これらは、ハードウェアアクセラレーションに好適である。直接的アプローチは、それぞれのレイヤにおける、これらの機能：ＲＬＣ／ＰＤＣＰにおける暗号化／解読や、ＰＰＰ／データサービスレイヤにおけるＨＤＬＣフレーム化や、ＩＰまたはＴＣＰレイヤにおけるＣＲＣチェックサム等を実行することである。しかしながら、これは、外部メモリ中の記憶装置とハードウェアアクセラレータとの間でデータが移動されるごとに、（他の用途に利用可能な低いバス帯域幅を残す）バス利用でのオーバヘッドコストと電力消費とが生じることになるので、リソースの観点から非効率的である。
【００２８】
例えば、これらの機能を互いにグループ化し、これらを１回限りで実行することによって、バスアクティビティを減少させることができる。これを実現するために、ＷＷＡＮプロトコルの本質を考慮に入れるべきである。２つの基本的なアプローチが存在する。以下では、これらをオプション１およびオプション２と表す。
【００２９】
オプション１の場合：このオプションでは、外部メモリに移動させる前に、デコーダ出力バッファ中にあるとき、データを直接的に解読する。しかしながら、いくつかのケースでは、パケットの一部分だけが受け取られ、このケースでは、パケットを解読できない。パケットが外部メモリに移動されるであろうケースでは、パケットの一部が受け取られるまでパケットはとどまる。その時点で、完成したパケットは、解読のために、ハードウェアバッファに戻されるだろう。その後、完成したパケットは、上位レイヤパケットに再組み立てされる。上位レイヤでは、データは、再度、ハードウェアアクセラレーション機能を受けるかもしれない。つながれたデバイス（例えば、ＵＳＢ）に対するデータコールの場合には、これは、ＰＰＰに対する高レベルデータリンク制御（ＨＤＬＣ）フレーム化、イーサネット（登録商標）に対するヘッダ挿入、または固有ＩＰに対するＣＲＣ追加等とすることができる。アプリケーションプロセッサにおけるアプリケーションに対する埋め込みデータコールの場合、これは、ＩＰおよびＴＣＰレイヤにおけるＣＲＣ計算等とすることができる。その後、データは、埋め込みアプリケーションのためのアプリケーションプロセッサ中のメモリ位置に向けられるか、または、つながれたコールに向けられるか、のいずれかである。ソフトウェアは、データが向かうことになる場所を決定するために、インターネットプロトコル（ＩＰ）ベースのルーティング機能を実現できる。いずれにしても、これにより、データを移動させる。この観点から、データを移動させるのが１度ですむように、データ移動動作をハードウェアアクセラレーション機能と組み合わせることによって、効率性を得ることができる。要約すると、データを２度 − １度目は、デコーダバッファからモデムプロセッサメモリに、そして２度目は、モデムプロセッサメモリからアプリケーションプロセッサメモリまたはつながれたデバイスに、（部分的パケットを除いて）移動させることができる。
【００３０】
オプション２の場合：このオプションは、基本的には、オプション１と見ることができるが、解読は、第２のデータ移動動作の一部である。これは、解読する前に、データをデコーダから外部メモリに直接的に移動させることを暗に示しており、ハードウェア中の論理が暗号化パラメータを決定するのを簡単にする。データが外部メモリに移動されているときに、暗号化パラメータは、ソフトウェア自体で決定することができる。しかしながら、このアプローチの１つの欠点は、ＩＰルーティング機能がハードウェア中で実現されることである。その理由は、データが依然として暗号化されている間に、データをフィルタリングすることは不可能であるからである。これには、ルーティング目的で、ＩＰフィルタのテーブルによりプログラミングできるためのハードウェアが必要であり、これには、さらなるハードウェアの複雑性が必要となる。ソフトウェアは、依然として、ルーティングテーブルを正確にプログラミングする役割を担っている。パケットが他の何らかのエントリと一致しない事態に遭遇したとき、望みどおりパケットをルーティングするように、デフォルトルーティングエントリをセットアップすることができる。
【００３１】
オプション２の別の態様は、ＩＰルーティング機能をソフトウェア中で実現できるようにするために、ＩＰ／ＴＣＰヘッダが解読されるように、部分的解読を実行することである。ソフトウェア処理オーバーヘッドを最小化するために、完全な解読のための制御構造を、（独立した記憶場所中に）部分的な解読のための制御構造とともに準備することができる。部分的解読のための制御構造は、ハードウェアに対して実行依頼し、部分的に解読されたＩＰ／ＴＣＰヘッダは、ソフトウェアに戻される。その後、これらは、ソフトウェア中のＩＰルーティング機能を受けるだろう。宛先が決定されたとき、完全な解読のための制御構造は、ソフトウェアＩＰルーティングに基づく宛先により更新され、完全な解読＋ＩＰルーティングのための制御構造は、ハードウェアに対して実行依頼することができる。付加的なハードウェアアクセラレーション機能（チェックサム、ＨＤＬＣフレーム化等）も同様に、この時点で追加できる。したがって、この方法およびシステムは、データコピーを減少させ、これにより、バス利用および電力消費が少なくなる。
【００３２】
図４は、上述したデータ処理に関するものであり、そして、減少したデータ移動を用いている例示的なプロセス４００を図示している。初期化４３１の後に、例示的なプロセス４００は、パケット／データ情報を取得するように進み４３２、そうするとすぐに、部分的なパケット／データ情報についてのテストが実行される４３３。パケット／データが未完成であると決定された場合、部分的パケット／データを外部メモリに移動させ４３４、パケットの完成を待つ。パケット／データの完成４３５の後に、例示的なプロセス４００は、４３７における解読のために、パケット／データをデコードバッファに移動させる４３６。しかしながら、４３３において、パケット／データが完成であると決定された場合、４３７において、パケット／データを解読する。オプション２の拡張バージョンについて先に述べたように、解読４３７は、部分的な解読のみであってもよい。解読４３７の後、上述したような条件にしたがって、解読したパケット／データを最初にモデムメモリに移動させる４３８。その後、モデムでないハードウェア上のメモリへの、さらなる第２の移動４３９は、上述したような条件にしたがって実行される。オプション２で述べたように、解読４３７は、第２の移動４３９の後に生じさせてもよい。ハードウェアメモリ移動４３９の完了の後、例示的なプロセッサ４００は、４４０において終了する、または、オプション的に、ストリームにおける次のパケット／データのために４３２に戻る（示してない）。
【００３３】
図５は、ワイヤレス通信システムに対するバッファプール処理を図示しているプロセス５００である。書き込むためのハードアクセラレータ用のバッファを提供する１つの方法は、それぞれのハードウェアタスクを有するバッファを準備することによる。しかしながら、このアプローチは、一般的に、さらなるソフトウェア処理が必要であり、クリティカルなタイムラインを増やすことがある。より効率的な例示的なアプローチは、より少ない頻度でバッファを提供し、クリティカルなタイムラインの外側にすることである。
【００３４】
図５は、バッファプールメカニズムを使用している、ハードウェアアクセラレーションのための例示的な構成を図示しているブロック図５００である。ハードウェア５４０による使用のための、バッファの動的なプール５２０は、ソフトウェア５６０によって制御される。バッファのプール５２０とハードウェア５４０との間のアクセス制御５５０は、ソフトウェア５６０によって促進および／または節制される。以下に説明するように、バッファのプール５２０は、ハードウェア５４０からのステータス信号５７０によって転送されるハードウェアニーズにしたがって、ソフトウェア５６０によって動的に調整されてもよい５８０。バッファのプール５２０の動作およびサイズを制御するために、しきい値およびソフトウェア信号を使用してもよい。いくつかの態様では、ソフトウェア５６０は、バッファのプール５２０を備えるハードウェア５４０を提供し、バッファのプール５２０に対して、ハードウェア５４０は、到来データを書き込むことができ、バッファのプール５２０は、複数のタスク全体にわたるように大きさが決められる。ハードウェア５４０は、バッファのうちのいくつを既に使用したか、そしてどのポイントまで、最近のバッファを満たしたかを追跡することができる。その後、この情報は、ハードウェアタスクの完成に関係するステータス情報５７０としてソフトウェア５６０に戻される。例えば、周期的に、または、プール５２０におけるフリースペースの量がしきい値を下回ったときにソフトウェア割込をトリガするさまざまなレベルメカニズムに基づいて、さまざまなメカニズムによって、プール５２０を補充することができ、このしきい値のポイントで、ソフトウェア５６０は、プール５２０を補充することができる。１つの主な利点は、これが、プロセッサが大変ビジーでないときに起きることである。さらに、プールサイズを大きくすることによって、プール５２０をリフィルする頻度を減少させることができる。
【００３５】
ハードウェア５４０が、データをこれらのバッファ５２０に移動させたときに、ハードウェア５４０がキャッシュ行アラインされていないメモリ位置に関するデータを書き込むことをやめるので、キャッシュの不一致が生じるケースが存在するかもしれない。何らかの潜在的なキャッシュの汚染問題を防ぐために、ハードウェア５４０がある量のデータの処理を終えたときに、ハードウェア５４０は、次のキャッシュアラインされているメモリ位置に自動的に移動することができ、そのポイントから書き込みを開始することができる。したがって、ソフトウェア５６０は、キャッシュ汚染の問題を防ぐために、余計なキャッシュ管理を実行する必要はない。結果的に、ハードウェアアクセラレーションタスク用の出力バッファを準備するためのソフトウェア処理を減少させることが可能である。
【００３６】
図６は、ワイヤレス通信システムに対するアプリケーションフォーマット化を図示しているプロセス６００である。データが１つのエンティティから別のエンティティに渡される従来の設計では、到来データを記憶するために一時バッファが（例えば、共有メモリインターフェースを通して）ターゲットエンティティによって提供されるだろう。この文脈では、「エンティティ」は、プロセッサまたはハードウェアクセラレータブロックのいずれかとすることができる。ソースエンティティが、データをこの位置にコピーし、ターゲットにシグナリングして、その後、再度、このデータを、ターゲットアプリケーションによって読み取り可能なデータ構造にコピーする。重複コピーを防ぐために、１つの例示的なアプローチは、アプリケーションによって読み取り可能なデータ構造をソースエンティティに対して直接的に渡すようにターゲットエンティティにさせることである。したがって、１つのコピーを避けることができる。
【００３７】
図６は、ターゲットエンティティがデータ構造を直接的に渡す、ハードウェアアクセラレーションのための別の例示的なプロセス６００を図示している。例示的なプロセス６００は、６１０における初期化で開始する。いくつかの態様では、初期化の後、データがターゲットに送られることになることを、ソースはターゲットにシグナリングしてもよい。他の態様では、データを受け取るであろうことをターゲットがソースにシグナリングしてもよい。したがって、６３０は、オプション的なステップとして図示しており、６３０は、インプリメンテーションに基づいて、オプションであっても、または、オプションでなくてもよい。例示的なプロセスは、次に６５０に続き、６５０では、ターゲットが、ターゲットに特有な構造または形態をソースに送る。受信の後、６７０において、ソースは、そのデータをターゲットにより提供されたフォーマットにコピーする。次に通知の後、ターゲットは、ソースによりコピーされたデータ６８０を読み取り、このデータは、この時点で、ターゲットによりすぐに使用される形態でフォーマット化されている。ソースによりコピーされたデータを読み取った後、例示的なプロセスは、６９０において終了する。この例示的なプロセス６００の使用により、２つのエンティティ間でデータを転送するときの典型的なさらなるコピーをなくし、これにより、バス帯域幅および電力消費を減少させることができる。
【００３８】
この方法の１つの特定の例は、ネットワークドライバインターフェース仕様（ＮＤＩＳ）ドライバであり、これは、商業的に入手可能なオペレーティングシステムとインターフェースするときに使用され、それぞれあるフォーマットのヘッダを持つバッファにコピーされるデータを予測する。例示的なプロセス６００を使用することによって、ターゲットエンティティ（アプリケーションプロセッサ）は、ＮＤＩＳバッファをソースエンティティ（プロトコルハードウェアアクセラレータ）直接的に渡すことができる。ソースエンティティは、データをコピーし、そして、開始アドレスや長さのような、ＮＤＩＳヘッダフィールドも埋めて、実行されたことをターゲットエンティティに戻すようにシグナリングする。今ではもう、ターゲットは、さらなるコピーを実行する必要はないが、残りのＮＤＩＳヘッダフィールドを満たす必要がある。
【００３９】
図７は、ワイヤレス通信システムに対するキーストリーム処理を図示しているプロセス７００である。一般的に、解読することは、解読パラメータに基づいてキーストリームを発生させ、その後、暗号化されたプロトコルデータユニット（ＰＤＵ）とキーストリームをＸＯＲ処理（排他的論理和処理）することからなる。従来アプローチでは、暗号化されたＰＤＵは、解読のために、最初に、外部メモリからハードウェアメモリに移動され、その後再度、外部メモリに戻すように移動させる。したがって、このケースでは、データは２度移動される。このプロセスを改善させるための例示的なアプローチは、暗号化パラメータをハードウェアにソフトウェアプログラムさせ、前もって、多数のパケットに対するキーストリームのみを、ハードウェアに予め計算させることである。ソフトウェアは、単に、第１のＰＤＵに対する暗号化パラメータを提供する必要があるだけなので、これは効率的に実行でき、これにより、ハードウェアは、後続するデータＰＤＵすべてに対する暗号化パラメータを自動的に導出することができる。したがって、暗号化パラメータをプログラミングするソフトウェアオーバーヘッドは、ほぼゼロに減る。受信データＰＤＵをソフトウェアが解読する必要があるとき、ソフトウェアは、正確なキーストリームをピックアップし、データＰＤＵとＸＯＲ演算を実行する。
【００４０】
図７は、ハードウェアによって発生されたキーストリームバンクを使用している、ハードウェアアクセラレーションのための別の例示的なプロセス７００を図示している。例示的なプロセス７００は、初期化７１０の後、キーストリーム計算７３０のために、ソフトウェアが、暗号化パラメータ７２０をハードウェアに転送することにより進む。ハードウェアは、予め計算されたキーストリームのバンクを発生させてもよく、予め計算されたキーストリームのバンクは、少ない待ち時間の、ハードウェアメモリ中に、または、外部メモリ中でさえ記憶させることができる。異なる暗号化パラメータを持つことがある異なるデータフローに対して独立したキーストリームを記憶することが望ましい。
【００４１】
いくつかの態様では、確実に、十分なキーストリームが存在するようにする、すなわち、キーストリームのバンクを一定間隔で補充するようにする、メカニズムを有することが望ましいかもしれない。この利益は、キーストリームバンクが十分に大きい場合には、これを頻繁に実行する必要がないことである。メカニズムは、タイマの手段７６０によって、または、しきい値の手段７６０によって実現することができる。例えば、手段７６０が、利用可能なキーストリームの数がしきい値よりも下に落ちたことを示したとき、または、時間制限を超えているとき、手段７６０は、新しいキーストリームを発生させるように、ハードウェアをプログラミングするために、ソフトウェアに対する割込７７０を送ることができる。キーストリームバンク７６０が十分である場合に、ハードウェアからの適切なキーストリームは、７７８におけるデータフローのために適切なプロセッサ／バッファに転送することができる。いくつかの態様では、データフローのためにキーストリームは、バンクテスト手段７６０の前に転送されてもよい７８０。キーストリーム７８０の転送の後に、例示的なプロセス７００は、７９０において終了してもよい。
【００４２】
暗号化パラメータの再構成のケースでは、キーストリームのバンクをフラッシュアウトさせるべきであり、結果的に、新しい組のキーストリームを発生させる必要があることに留意すべきである。これが特に適している１つのアプリケーションは、（（例えば、ＶｏＩＰ、ゲーム）のような低データレート、リアルタイムサービス）パケットサイズが小さいデータストリームのためのものである。ここで、各ＰＤＵに対するキーストリームの長さは短い。このことは、キーストリームを記憶するためのメモリ要求を減少させるのに役立つ。この例示的なアプローチはまた、部分的な解読のために使用することができ、例えば、これにより、パケットペイロード全体を解読せずに、ＩＰ／ＴＣＰヘッダのみの解読で、ソフトウェアが、ＩＰルーティングを実行することができるようになる。部分的な解読により、より少ないキーストリームを記憶することができるので、このケースは有用であり、このケースでは、ハードウェアメモリ要求が比較的に少ない。したがって、この例示的なプロセス７００は、遅延敏感なアプリケーションに対して解読を実行することに対する遅延を減少させることができる。さらに、（ＸＯＲ演算のための付加的な処理を犠牲にして）解読パラメータを準備するためのソフトウェア処理を減少させることもできる。さらに、バス帯域幅を減少させることができる（より従来のハードウェアアプローチによる２回のコピーの代わりに、１回のコピー）。
【００４３】
ここで記述した技術は、さまざまな手段によって実現してもよい。例えば、これらの技術は、ハードウェアで、ソフトウェアで、または、これらを組み合わせたもので実現してもよい。ハードウェアインプリメンテーションの場合、処理ユニットは、１つ以上の、特定用途向け集積回路（ＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）、デジタル信号処理デバイス（ＤＳＰＤ）、プログラマブルロジックデバイス（ＰＬＤ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プロセッサ、制御装置、マイクロ制御装置、マイクロプロセッサ、ここに記述した機能を実行するように設計されている他の電子ユニット、または、これらを組み合わせたものの内で実現してもよい。ソフトウェアでは、ここで記述した機能を実行するモジュール（例えば、手順、関数等）によるインプリメンテーションとすることができる。ソフトウェアコードはメモリユニット中に記憶され、プロセッサにより実行されてもよい。
【００４４】
１つの態様では、電気通信信号中のパケット化されたデータをハイパーフレーマー番号（ＨＦＮ）により解読する方法を提供する。方法は、ＨＦＮを決定することと、不一致のＨＦＮについてテストすることと、不一致のＨＦＮが検出された場合に、不一致のＨＦＮにより解読されたデータを再構成することと、正確なＨＦＮを使用して、データを解読することと、正確なＨＦＮが利用された後、解読されたデータを外部メモリにコピーすることとを含み、外部メモリにデータをコピーする際の減少は、不一致のＨＦＮが検出されたときに達成される。これは、解読されたデータをコピーする前に、１つ以上の解読パラメータを導出することと、ＨＦＮに加えて、パケットシーケンス番号を導出することとを含む。
【００４５】
別の態様では、電気通信信号中のパケット化されたデータをハイパーフレーマー番号（ＨＦＮ）により解読できるプロセッサを提供する。プロセッサは、ＨＦＮを決定することと、不一致のＨＦＮについてテストすることと、不一致のＨＦＮが見つけられた場合に、不一致のＨＦＮにより解読されたデータを再構成することと、正確なＨＦＮを使用して、データを解読することと、正確なＨＦＮが利用された後、解読されたデータを外部メモリにコピーすることと、のための命令を含み、外部メモリにデータをコピーする際の減少は、不一致のＨＦＮが検出されたときに達成される。
【００４６】
別の態様では、コンピュータ読み取り可能媒体は、電気通信信号中のパケット化されたデータをハイパーフレーマー番号（ＨＦＮ）により解読するための命令を含む。これは、
ＨＦＮを決定することと、不一致のＨＦＮについてテストすることと、不一致のＨＦＮが見つけられた場合に、不一致のＨＦＮにより解読されたデータを再構成することと、正確なＨＦＮを使用して、データを解読することと、正確なＨＦＮが利用された後、解読されたデータを外部メモリにコピーすることと、のための命令を含み、外部メモリにデータをコピーする際の減少は、不一致のＨＦＮが検出されたときに達成される。
【００４７】
さらに別の態様では、パケット化されたデータを処理しながら、そのモデムプロセッサに対する割込を管理することによって、電気通信デバイスの性能を向上させる方法を提供する。これは、パケット化されたデータを受け取ることと、受け取ったパケット化されたデータに関する、時間ベースのしきい値と、データ量ベースのしきい値とのうちの少なくとも１つを記憶させることと、ソフトウェアによって処理される準備ができているパケット化されたデータが、時間ベースのしきい値と、データ量ベースのしきい値とのうちの少なくとも１つを超えたとき、モデムプロセッサに対するソフトウェア割込を開始することと、割込が開始されなかった場合にパケット化されたデータを累積し、そして割込の頻
度を減少させるために、少なくとも、時間ベースのしきい値、および、データ量ベースのしきい値を調整することとを含む。方法は、サービスの品質、優先順位、処理帯域幅、バスアクティビティ、または利用可能なバッテリー寿命に基づいて、しきい値を調整することを含む。
【００４８】
別の態様では、パケット化されたデータを処理しながら、そのモデムプロセッサに対する割込を管理することによって、電気通信デバイスの性能を向上させることができるプロセッサを提供する。プロセッサは、パケット化されたデータを受け取ることと、受け取ったパケット化されたデータに関する、時間ベースのしきい値と、データしきい値とのうちの少なくとも１つを記憶させることと、ソフトウェアによって処理される準備ができているパケット化されたデータが、時間しきい値と、データしきい値とのうちの少なくとも１つを超えたとき、モデムプロセッサに対するソフトウェア割込を開始することと、割込が開始されなかった場合にパケット化されたデータを累積し、そして、少なくとも、時間しきい値、および、データしきい値を調整して、割込の頻度を減少させることと、のための命令を含む。
【００４９】
別の態様では、パケット化されたデータを処理しながら、そのモデムプロセッサに対する割込を管理することによって、電気通信デバイスの性能を向上させるための命令を含む機械読み取り可能媒体を提供する。媒体は、パケット化されたデータを受け取ることと、受け取ったパケット化されたデータに関する、時間ベースしきい値と、データベースしきい値とのうちの少なくとも１つを記憶させることと、ソフトウェアによって処理される準備ができているパケット化されたデータが、時間しきい値と、データしきい値とのうちの少なくとも１つを超えたとき、モデムプロセッサに対するソフトウェア割込を開始することと、割込が開始されなかった場合にパケット化されたデータを累積し、そして、少なくとも、時間しきい値、および、データしきい値を調整して、割込の頻度を減少させること、とのためのための命令を含む。
【００５０】
別の態様では、パケット化されたデータの電気通信処理に関する機能をグループ化することによって、電気通信デバイスにおける機能の処理の際の効率性を得る方法を提供する。方法は、暗号化と、解読と、高レベルデータリンク制御（ＨＤＬＣ）フレーム化と、チェックサム計算と、プロトコルヘッダ挿入とのうちの少なくとも１つに関連する機能をグループ化することと、グループとして機能を実行することとを含み、非グループベースで機能を実行することと比較して、バスアクティビティが減少し、グループ化することは、電気通信デバイス中のハードウェアにわたる、データの減少した移動を可能にする。データの２度の移動は、グループを実行するために使用される、または、暗号化および解読のうちの少なくとも１つの機能は、データの最初の移動の後に実行される。インターネットプロトコル／転送制御（ＩＰ／ＴＣＰ）ヘッダに対する部分的な解読は、データの最初の移動の後に実行される。
【００５１】
別の態様では、パケット化されたデータの電気通信処理に関する機能をグループ化することによって、電気通信デバイスにおける機能の処理の際の効率性を得ることができるプロセッサにおいて、プロセッサは、暗号化と、解読と、フレーム化と、チェックサム計算と、プロトコルヘッダ挿入とのうちの少なくとも１つに関連する機能をグループ化することと、グループとして機能を実行することと、のための命令を実行でき、非グループベースで機能を実行することと比較して、バスアクティビティが減少する。
【００５２】
別の態様では、パケット化されたデータの電気通信処理に関する機能をグループ化することによって、電気通信デバイスにおける機能の処理の際の効率性を得るための命令を含む機械読み取り可能媒体において、暗号化と、解読と、フレーム化と、チェックサム計算と、プロトコルヘッダ挿入とのうちの少なくとも１つに関連する機能をグループ化することと、グループとして機能を実行することと、のための命令を含み、非グループベースで機能を実行することと比較して、バスアクティビティが減少する。
【００５３】
別の態様では、パケット化されたデータのために、電気通信デバイスにおけるハードウェアアクセラレータ用のためのバッファを、パケット化されたデータに提供する方法において、ハードウェアアクセラレータによる使用のために、バッファの動的プールを提供することを含み、バッファのプールに対するアクセスは、電気通信デバイスにおける、ソフトウェアによって制御され、ソフトウェアは、ハードウェアからのステータス信号のうちの少なくとも１つによって示されるハードウェアニーズと、バッファのプールに関するしきい値情報とにしたがって、バッファのプールを動的に調整し、プールにおけるバッファは、ソフトウェア制御によって補充される。ステータス信号は、減少したプロセッサアクティビティ間中にタイミングが取られる割込に関係する。
【００５４】
別の態様では、パケット化されたデータのために、電気通信デバイスにおけるハードウェアアクセラレータ用のバッファを提供できるプロセッサにおいて、ハードウェアアクセラレータによる使用のために、バッファの動的プールを提供するための命令を実行でき、バッファのプールに対するアクセスは、電気通信デバイスにおけるソフトウェアによって制御され、ソフトウェアは、ハードウェアからのステータス信号のうちの少なくとも１つによって示されるハードウェアニーズと、バッファのプールに関するしきい値情報とにしたがって、バッファのプールを動的に調整し、プールにおけるバッファは、ソフトウェア制御によって補充される。
【００５５】
さらなる別の態様では、パケット化されたデータのために、電気通信デバイスにおけるハードウェアアクセラレータの用の命令を含む機械読み取り可能媒体において、ハードウェアアクセラレータによる使用のために、バッファの動的プールを提供するための命令を含み、バッファのプールに対するアクセスは、電気通信デバイスにおけるソフトウェアによって制御され、ソフトウェアは、ハードウェアからのステータス信号のうちの少なくとも１つによって示されるハードウェアニーズと、バッファのプールに関するしきい値情報とにしたがって、バッファのプールを動的に調整し、プールにおけるバッファは、ソフトウェア制御によって補充される。
【００５６】
別の態様では、電気通信デバイス中のターゲットモジュールとソースモジュールとの間の動作を読み取る間、および、書き込む間に、パケット化されたデータに対するデータの重複コピーを減少させるための方法において、データがターゲットモジュールにコピーされることになることを、電気通信デバイス中のソースモジュールによってターゲットモジュールにシグナリングすることと、ターゲットモジュールによって、ターゲットに特有な構造をソースモジュールに送ることと、ソースモジュールによって、ターゲットに特有な構造を受け取ることと、ソースモジュールによって、ターゲットに特有な構造にデータを格納することと、ターゲットモジュールによって、ターゲットに特有な格納データを受け取ることとを含み、ターゲットに特有な構造を持つデータの１つのコピーが生成される。ターゲットに特有な構造は、ネットワークドライバインターフェース仕様（ＮＤＩＳ）に関係する。
【００５７】
別の態様では、電気通信デバイス中のターゲットモジュールとソースモジュールとの間の動作を読み取る間、および、書き込む間に、パケット化されたデータに対するデータの重複コピーを減少させることができるプロセッサにおいて、プロセッサは、データがターゲットモジュールにコピーされることになることを、電気通信デバイス中のソースモジュールによってターゲットモジュールにシグナリングすることと、ターゲットモジュールによって、ターゲットに特有な構造をソースモジュールに送ることと、ソースモジュールによって、ターゲットに特有な構造を受け取ることと、ソースモジュールによって、ターゲットに特有な構造にデータを格納することと、ターゲットモジュールによって、ターゲットに特有な格納データを受け取ることと、のための命令を実行でき、ターゲットに特有な構造を持つデータの１つのコピーが生成される。
【００５８】
別の態様では、電気通信デバイスにおける、ターゲットモジュールとソースモジュールとの間の動作を読み取る間、および、書き込む間に、パケット化されたデータに対するデータの重複コピーを減少させるためのコードを含むコンピュータ読み取り可能媒体を有するコンピュータプログラムプロダクトにおいて、データがターゲットモジュールにコピーされることになることを、電気通信デバイス中のソースモジュールによってターゲットモジュールにシグナリングするようにコンピュータに実行させるためのコードと、ターゲットモジュールによって、ターゲットに特有な構造をソースモジュールに送るようにコンピュータに実行させるためのコードと、ソースモジュールによって、ターゲットに特有な構造を受け取るようにコンピュータに実行させるためのコードと、ソースモジュールによって、ターゲットに特有な構造にデータを格納させるようにコンピュータに実行させるためのコードと、ターゲットモジュールによって、ターゲットに特有な格納データを受け取るようにコンピュータに実行させるためのコードとを含み、ターゲットに特有な構造を持つデータの１つのコピーが生成される。
【００５９】
別の態様では、電気通信デバイスにおけるキーストリーム発生のためのデータ移動を減少させる方法において、暗号化パラメータをハードウェアにプログラミングすることと、
ハードウェアによって、前もって、多数のパケットに対するキーストリームを予め計算することと、予め計算されたキーストリームをバンク中に記憶させることと、データフローのために適切なキーストリームをソフトウェアに提供することとを含み、キーストリームのバンクは、キーストリームがソフトウェアによって要求されたときにキーストリームについて十分にテストされ、さらなるキーストリームをプログラミングするための処理オーバーヘッドは、予め計算されたキーストリームの使用により最小化される。暗号化されたパラメータは、プロトコルデータユニットに関係する。
【００６０】
別の態様では、電気通信デバイスにおけるキーストリーム生成のためのデータ移動を減少させることができるプロセッサにおいて、暗号化パラメータをハードウェアにプログラミングすることと、ハードウェアによって、前もって、多数のパケットに対するキーストリームを予め計算することと、予め計算されたキーストリームをバンク中に記憶させることと、データフローのために適切なキーストリームをソフトウェアに提供することと、のための命令を実行することを含み、キーストリームのバンクは、キーストリームがソフトウェアによって要求されたときにキーストリームについて十分にテストされ、さらなるキーストリームをプログラミングするための処理オーバーヘッドは、予め計算されたキーストリームの使用により最小化される。
【００６１】
別の態様では、電気通信デバイスにおけるキーストリーム発生のためのデータ移動を減少させるための命令を含む機械読み取り可能媒体において、暗号化パラメータをハードウェアにプログラミングすることと、ハードウェアによって、前もって、多数のパケットに対するキーストリームを予め計算することと、予め計算されたキーストリームをバンク中に記憶させることと、データフローのために適切なキーストリームをソフトウェアに提供することと、のための命令を含み、キーストリームのバンクは、キーストリームがソフトウェアによって要求されたときにキーストリームについて十分にテストされ、さらなるキーストリームをプログラミングするための処理オーバーヘッドは、予め計算されたキーストリームの使用により最小化される。
【００６２】
図８は、通信装置８００を図示しており、この通信装置８００は、例えば、ワイヤレス端末のようなワイヤレス通信装置とすることができる。さらに、または、代替的に、通信装置８００は、ワイヤードネットワーク内に内在できる。通信装置８００は、ワイヤレス通信端末において信号解析を実行するための命令を保持できるメモリ８０２を備えることができる。さらに、通信装置８００は、メモリ８０２内の命令、および／または、別のネットワークデバイスから受信した命令を実行できるプロセッサ８０４を備えていてもよい。ここで、命令は、通信装置８００または関連する通信装置を構成あるいは動作させることに関連することができる。
【００６３】
図９を参照すると、複数のアクセスワイヤレス通信システム９００を図示している。複数のアクセスワイヤレス通信システム９００は、セル９０２、９０４、および９０６を含む複数のセルを含む。システム９００の態様では、セル９０２、９０４、および９０６は、複数のセクタを含むノードＢを含んでいてもよい。それぞれのアンテナが、セルの一部におけるＵＥとの通信に関与しているアンテナのグループにより、複数のセクタを形成することができる。例えば、セル９０２では、アンテナグループ９１２、９１４、および９１６は、それぞれ、異なるセクタに対応していてもよい。セル９０４では、アンテナグループ９１８、９２０、および９２２は、それぞれ、異なるセクタに対応している。セル９０６では、アンテナグループ９２４、９２６、および９２８は、それぞれ、異なるセクタに対応している。セル９０２、９０４、および９０６は、いくつかのワイヤレス通信デバイス、例えば、ユーザ機器またはＵＥを含むことができ、このワイヤレス通信デバイスは、それぞれのセル９０２、９０４、または９０６のうちの１つ以上のセクタと通信していることがある。例えば、ＵＥ９３０および９３２は、ノードＢ９４２と通信していることがあり、ＵＥ９３４および９３６は、ノードＢ９４４と通信していることがあり、ＵＥ９３８および９４０は、ノードＢ９４６通信していることがある。
【００６４】
これから図１０を参照すると、１つの態様にしたがった、複数のアクセスワイヤレス通信システムを図示している。アクセスポイント１０００（ＡＰ）は、複数のアンテナグループを含み、１つは１００４および１００６を含み、他は１００８および１０１０を含み、さらには１０１２および１０１４を含む。図１０では、それぞれのアンテナグループに対して、アンテナを２本のみ示しているが、それぞれのアンテナグループに対して、より多くのアンテナ、または、より少ないアンテナを利用してもよい。アクセス端末１０１６（ＡＴ）は、アンテナ１０１２および１０１４と通信しており、ここで、アンテナ１０１２および１０１４は、フォワードリンク１０２０を通して、アクセス端末１０１６に情報を送信し、リバースリンク１０１８を通して、アクセス端末１０１６から情報を受信する。アクセス端末１０２２は、アンテナ１００６および１００８と通信しており、ここで、アンテナ１００６および１００８は、フォワードリンク１０２６を通して、アクセス端末１０２２に情報を送信し、リバースリンク１０２４を通して、アクセス端末１０２２から情報を受信する。ＦＤＤシステムでは、通信リンク１０１８、１０２０、１０２４、および１０２６は、通信のために、異なる周波数を使用してもよい。例えば、フォワードリンク１０２０は、その後リバースリンク１０１８により使用される異なる周波数を使用してもよい。
【００６５】
通信するように設計されている、アンテナおよび／またはエリアのそれぞれのグループは、アクセスポイントのセクタと呼ばれることが多い。アンテナグループは、それぞれ、アクセスポイント１０００によりカバーされているエリアのうちの、セクタ中のアクセス端末と通信するように設計されている。フォワードリンク１０２０および１０２６による通信では、異なるアクセス端末１０１６および１０２４に対するフォワードリンクの信号対ノイズ比を向上するために、アクセスポイント１０００の送信アンテナは、ビーム形成を利用する。また、そのカバレージエリア中でランダムに散在しているアクセス端末に送信するためにビーム形成を使用しているアクセスポイントは、すべてのそのアクセス端末に対して、単一のアンテナを通して送信するアクセスポイントよりも、隣接セルにおけるアクセス端末に対して、より低い干渉を生じさせる。アクセスポイントは、端末と通信するために使用される固定局であってもよく、アクセスポイント、ノードＢと呼ばれることもあり、または他の何らかの専門用語で呼ばれることもある。アクセス端末は、アクセス端末、ユーザ機器（ＵＥ）、ワイヤレス通信デバイス、端末、アクセス端末と呼ばれることもあり、または他のいくつかの専門用語で呼ばれることもある。
【００６６】
図１１を参照すると、システム１１００は、ＭＩＭＯシステム１１００における、（アクセスポイントとしても知られている）送信機システム１１１０、および、（アクセス端末としても知られている）受信機システム１１５０を図示している。送信機システム１１１０において、多数のデータストリームに対するトラフィックデータを、データソース１１１２から送信（ＴＸ）データプロセッサ１１１４に提供する。それぞれのデータストリームは、各送信アンテナを通して送信される。ＴＸデータプロセッサ１１１４は、そのデータストリームに対して選択された特定のコーディングスキームに基づいて、それぞれのデータストリームに対するトラフィックデータをフォーマット化し、コード化し、インターリーブして、コード化されたデータを提供する。
【００６７】
それぞれのデータストリームに対するコード化されたデータは、ＯＦＤＭ技術を使用して、パイロットデータと多重化されてもよい。パイロットデータは、一般的に、既知の方法で処理され、チャネル応答を推定するために受信機システムにおいて使用されることもある、既知のデータパターンである。その後、そのデータストリームに対して選択された特定の変調スキーム（例えば、ＢＰＳＫ、ＱＳＰＫ、Ｍ−ＰＳＫ、またはＭ−ＱＡＭ）に基づいて、それぞれのデータストリームに対する、多重化されたパイロットおよびコード化されたデータを変調（すなわち、シンボルマッピング）し、変調シンボルを提供する。それぞれのデータストリームに対する、データレート、コード化、および変調を、プロセッサ１１３０により実行される命令により決定してもよい。
【００６８】
すべてのデータストリームに対する変調シンボルを、その後ＴＸ ＭＩＭＯプロセッサ１１２０に提供し、ＴＸ ＭＩＭＯプロセッサ１１２０は、さらに（例えば、ＯＦＤＭ等のために）変調シンボルをさらに処理してもよい。ＴＸ ＭＩＭＯプロセッサ１１２０は、その後、ＮＴ個の変調シンボルストリームをＮＴ個の送信機（ＴＭＴＲ）１１２２ａないし１１２２ｔに提供する。いくつかの実施形態では、ＴＸ ＭＩＭＯプロセッサ１１２０は、データストリームのシンボルに、および、シンボルが送信されているアンテナに、ビーム形成重み付けを適用する。
【００６９】
それぞれの送信機１１２２は、各シンボルストリームを受け取り、処理して、１つ以上のアナログ信号を提供し、アナログ信号をさらに調整（例えば、増幅、フィルタリング、アップコンバート）し、ＭＩＭＯチャネルを通した送信に適した変調信号を提供する。送信機１１２２ａないし１１２２ｔからのＮＴ個の変調信号は、それぞれ、ＮＴ本のアンテナ１１２４ａないし１１２４ｔから送信される。
【００７０】
受信機システム１１５０において、変調され送信された信号が、ＮＲ本のアンテナ１１５２ａないし１１５２ｔによって受信され、それぞれのアンテナ１１５２からの受信信号が、各受信機（ＲＣＶＲ）１１５４ａないし１１５４ｒに提供される。それぞれの受信機１１５４は、各受信信号を調整（例えば、フィルタリング、増幅、およびダウンコンバート）し、調整した信号をデジタル化して、サンプルを提供し、サンプルをさらに処理して、対応する「受信」シンボルストリームを提供する。
【００７１】
ＲＸデータプロセッサ１１６０は、特定の受信機処理技術に基づいて、ＮＲ個の受信機１１５４からＮＲ個の受信シンボルストリームを受け取り、処理して、ＮＴ個の“検出”シンボルストリームを提供する。ＲＸデータプロセッサ１１６０は、それぞれの検出したシンボルストリームを復調し、デインターリーブし、デコードして、データストリームに対するトラフィックデータを回復させる。ＲＸデータプロセッサ１１６０による処理は、送信機システム１１１０におけるＴＸ ＭＩＭＯプロセッサ１１２０およびＴＸ データプロセッサ１１１４によって実行される処理に対して相補的である。
【００７２】
プロセッサ１１７０は、周期的に、どのプレコーディングマトリックスを使用するかを決定する（以下で説明する）。プロセッサ１１７０は、マトリックスインデックス部分とランク値部分とを含むリバースリンクメッセージを構築する。リバースリンクメッセージは、通信リンクおよび／または受信データストリームに関するさまざまなタイプの情報を含んでいてもよい。リバースリンクメッセージは、その後、ＴＸデータプロセッサ１１３８により処理される。ＴＸデータプロセッサ１１３８はまた、多数のデータストリームに対するトラフィックデータをデータソース１１３６から受け取り、これは、変調器１１８０により変調され、送信機１１５４ａないし１１５４ｒによって調整され、送信機システム１１１０に返信される。
【００７３】
送信機システム１１１０において、受信機システム１１５０により送信されたリバースリンクメッセージを抽出するために、受信機システム１１５０からの変調信号は、アンテナ１１２４により受信され、受信機１１２２により調整され、復調器１１４０により復調され、ＲＸデータプロセッサ１１４２により処理される。プロセッサ１１３０は、その後、ビーム形成重み付けを決定するために、どのプレコーディングマトリックスを使用するかを決定して、抽出したメッセージを処理する。
【００７４】
これから図１２を参照すると、ワイヤレス信号処理に関連するシステムが提供されている。システムを一連の相関のある機能ブロックとして表しており、この機能ブロックは、プロセッサ、ソフトウェア、ハードウェア、ファームウェア、またはこれらの何らかの適切な組み合わせによって実現される機能を表すことができる。システムは、パケット化されたデータに対する、電気通信デバイスにおけるハードウェアアクセラレータのためのバッファを提供できる装置を備えている。
【００７５】
図１２を参照すると、ワイヤレス通信システム１２００が提供されている。システム１２００は、ハードウェアアクセラレータによる使用のための、バッファの動的プールを提供する手段または論理モジュール１２０２を備え、バッファのプールに対するアクセスは、電気通信デバイスにおいて、提供する手段によって制御される。これは、ハードウェアからのステータス信号のうちの少なくとも１つによって示されるハードウェアニーズと、バッファのプールに関するしきい値情報とにしたがって、バッファのプールを動的に調整する手段または論理モジュール１２０４を備え、プールにおけるバッファは、提供する手段によって補充される。システム１２００はまた、キャッシュアラインされているメモリ位置を解析する手段または論理モジュール１２０６を備えることができる。
【００７６】
態様では、論理チャネルは、制御チャネルおよびトラフィックチャネルに分類される。論理制御チャネルは、ブロードキャスト制御チャネル（ＢＣＣＨ）を含み、ブロードキャスト制御チャネル（ＢＣＣＨ）は、システム制御情報をブロードキャストするためのＤＬチャネルである。ページング制御チャネル（ＰＣＣＨ）は、ページング情報を伝送するＤＬチャネルである。マルチキャスト制御チャネル（ＭＣＣＨ）は、１つまたはいくつかのＭＴＣＨに対する、マルチメディアブロードキャストおよびマルチキャストサービス（ＭＢＭＳ）スケジューリングおよび制御情報を送信するために使用される、ポイントツーマルチポイントＤＬチャネルである。一般的に、ＲＲＣ接続を確立した後、このチャネルは、ＭＢＭＳを受信するＵＥによってのみ使用される（注：古いＭＣＣＨ＋ＭＳＣＨ）。専用制御チャネル（ＤＣＣＨ）は、専用制御情報を送信し、ＲＣＣ接続を有するＵＥにより使用される、ポイントツーポイント二方向チャネルである。論理トラフィックチャネルは、専用トラフィックチャネル（ＤＴＣＨ）を含む。専用トラフィックチャネル（ＤＴＣＨ）は、ユーザ情報の伝送のために、１つのＵＥ専用のポイントツーポイント二方向チャネルである。また、マルチキャストトラフィックチャネル（ＭＴＣＨ）は、トラフィックデータを送信するためのポイントツーマルチポイントＤＬチャネルのためのものである。
【００７７】
トランスポートチャネルは、ＤＬおよびＵＬに分類される。ＤＬトランスポートチャネルは、ブロードキャストチャネル（ＢＣＨ）と、ダウンリンク共有データチャネル（ＤＬ−ＳＤＣＨ）と、ページングチャネル（ＰＣＨ）とを含み、ＰＣＨは、ＵＥの電力節約のサポートのためのものであり、セル全体にわたってブロードキャストされ、他の制御／トラフィックチャネルに対して使用できるＰＨＹリソースにマッピングされる（ＤＲＸサイクルは、ネットワークによりＵＥに対して示される）。ＵＬトランスポートチャネルは、ランダムアクセスチャネル（ＲＡＣＨ）と、要求チャネル（ＲＥＱＣＨ）と、アップリンク共有データチャネル（ＵＬ−ＳＤＣＨ）と、複数のＰＨＹチャネルとを含む。ＰＨＹチャネルは、１組のＤＬチャネルおよびＵＬチャネルを含む。
【００７８】
ＤＬ ＰＨＹチャネルは、例えば：共通パイロットチャネル（ＣＰＩＣＨ）、同期チャネル（ＳＣＨ）、共通制御チャネル（ＣＣＣＨ）、共有ＤＬ制御チャネル（ＳＤＣＣＨ）、マルチキャスト制御チャネル（ＭＣＣＨ）、共有ＵＬ割り当てチャネル（ＳＵＡＣＨ）、肯定応答チャネル（ＡＣＫＣＨ）、ＤＬ物理共有データチャネル（ＤＬ−ＰＳＤＣＨ）、ＵＬ電力制御チャネル（ＵＰＣＣＨ）、ページングインジケータチャネル（ＰＩＣＨ）、および、負荷インジケータチャネル（ＬＩＣＨ）を含む。
【００７９】
ＵＬ ＰＨＹチャネルは、例えば：物理ランダムアクセスチャネル（ＰＲＡＣＨ）、チャネル品質インジケータチャネル（ＣＱＩＣＨ）、肯定応答チャネル（ＡＣＫＣＨ）、アンテナサブセットインジケータチャネル（ＡＳＩＣＨ）、共有要求チャネル（ＳＲＥＱＣＨ）、ＵＬ物理共有データチャネル（ＵＬ−ＰＳＤＣＨ）、およびブロードバンドパイロットチャネル（ＢＰＩＣＨ）を含む。
【００８０】
他の用語／コンポーネント：３Ｇ 第３世代、３ＧＰＰ 第３世代パートナーシッププロジェクト、ＡＣＬＲ 隣接チャネル漏洩比、ＡＣＰＲ 隣接チャネル電力比、ＡＣＳ 隣接チャネル選択性、ＡＤＳ アドバンスド設計システム、ＡＭＣ 適応変調およびコーディング、Ａ−ＭＰＲ 追加最大電力低減、ＡＲＱ 自動反復要求、ＢＣＣＨ ブロードキャスト制御チャネル、ＢＴＳ 基地トランシーバ局、ＣＤＤ サイクリック遅延ダイバシティ、ＣＣＤＦ相補累積分布関数、ＣＤＭＡ コード分割多元接続、ＣＦＩ 制御フォーマットインジケータ、Ｃｏ−ＭＩＭＯ 協調ＭＩＭＯ、 ＣＰ サイクリックプレフィックス、ＣＰＩＣＨ 共通パイロットチャネル、ＣＰＲＩ 共通公衆無線インターフェース、ＣＱＩ チャネル品質インジケータ、ＣＲＣ 巡回冗長性検査、ＤＣＩ ダウンリンク制御インジケータ、ＤＦＴ 離散フーリエ変換、ＤＦＴ−ＳＯＦＤＭ 離散フーリエ変換拡散ＯＦＤＭ、ＤＬ ダウンリンク（基地局から加入者局への送信）、ＤＬ−ＳＣＨ ダウンリンク共有チャネル、Ｄ−ＰＨＹ ５００Ｍｂｐｓ物理レイヤ、ＤＳＰ デジタル信号処理、ＤＴ 開発ツールセット、 ＤＶＳＡ デジタルベクトル信号解析、ＥＤＡ 電子設計自動化、Ｅ−ＤＣＨ 拡張した専用チャネル、Ｅ−ＵＴＲＡＮ 進化したＵＭＴＳ地上無線アクセスネットワーク、ｅＭＢＭＳ 進化したマルチメディアブロードキャストマルチキャストサービス、ｅＮＢ 進化ノードＢ、ＥＰＣ 進化したパケットコア、ＥＰＲＥ リソースエレメント当たりのエネルギー、ＥＴＳＩ 欧州電気通信標準規格機構、Ｅ−ＵＴＲＡ 進化したＵＴＲＡ、Ｅ−ＵＴＲＡＮ 進化したＵＴＲＡＮ、ＥＶＭ エラーベクトル振幅、およびＦＤＤ 周波数分割デュプレックスを含む。
【００８１】
さらに他の用語は、ＦＦＴ 高速フーリエ変換、ＦＲＣ 固定基準チャネル、ＦＳ１ フレーム構造タイプ１、ＦＳ２ フレーム構造タイプ２、ＧＳＭ（登録商標） グローバルシステムフォーモバイル通信、ＨＡＲＱ ハイブリッド自動反復要求、ＨＤＬ ハードウェア記述言語、ＨＩ ＨＡＲＱ インジケータ、ＨＳＤＰＡ 高速ダウンリンクパケットアクセス、ＨＳＰＡ 高速パケットアクセス、ＨＳＵＰＡ 高速アップリンクパケットアクセス、ＩＦＦＴ 逆ＦＦＴ、ＩＯＴ 相互運用性テスト、ＩＰ インターネットプロトコル、ＬＯ 局部発振器、ＬＴＥ ロングタームエボリューション、ＭＡＣ メディアアクセス制御、ＭＢＭＳ マルチメディアブロードキャストマルチキャストサービス、ＭＢＳＦＮ 単一周波数ネットワークによるマルチキャスト／ブロードキャスト、ＭＣＨ マルチキャストチャネル、ＭＩＭＯ 複数入力複数出力、ＭＩＳＯ 複数入力単一出力、ＭＭＥ 移動性管理エンティティ、ＭＯＰ 最大出力電力、ＭＰＲ 最大電力減少、ＭＵ−ＭＩＭＯ 複数ユーザＭＩＭＯ、ＮＡＳ 非アクセス層、ＯＢＳＡＩ 開放基地局アーキテクチャインターフェース、ＯＦＤＭ 直交周波数分割多重、ＯＦＤＭＡ 直交周波数分割多元接続、ＰＡＰＲ ピーク対平均電力比、ＰＡＲ ピーク対平均比、ＰＢＣＨ 物理ブロードキャストチャネル、Ｐ−ＣＣＰＣＨ 一次共通制御物理チャネル、ＰＣＦＩＣＨ 物理制御フォーマットインジケータチャネル、ＰＣＨ ページングチャネル、ＰＤＣＣＨ 物理ダウンリンク制御チャネル、ＰＤＣＰ パケットデータ収束プロトコル、ＰＤＳＣＨ 物理ダウンリンク共有チャネル、ＰＨＩＣＨ 物理ハイブリッドＡＲＱインジケータチャネル、ＰＨＹ 物理レイヤ、ＰＲＡＣＨ 物理ランダムアクセスチャネル、ＰＭＣＨ 物理マルチキャストチャネル、ＰＭＩ プレコーディングマトリクスインジケータ、Ｐ−ＳＣＨ 一次同期信号、ＰＵＣＣＨ 物理アップリンク制御チャネル、およびＰＵＳＣＨ 物理アップリンク共有チャネルを含む。
【００８２】
他の用語は、ＱＡＭ 直交振幅変調、ＱＰＳＫ 直角位相シフトキーイング、ＲＡＣＨ ランダムアクセスチャネル、ＲＡＴ 無線アクセス技術、ＲＢ リソースブロック、ＲＦ 無線周波数、ＲＦＤＥ ＲＦ設計環境、ＲＬＣ 無線リンク制御、ＲＭＣ 基準測定チャネル、ＲＮＣ 無線ネットワーク制御装置、ＲＲＣ 無線リソース制御、ＲＲＭ 無線リソース管理、ＲＳ  基準信号、ＲＳＣＰ 受信信号コード電力、ＲＳＲＰ 基準信号受信電力、ＲＳＲＱ 基準信号受信品質、ＲＳＳＩ 受信信号強度インジケータ、ＳＡＥ システムアーキテクチャエボリューション、ＳＡＰ サービスアクセスポイント、ＳＣ−ＦＤＭＡ 単一搬送波周波数分割多元接続、ＳＦＢＣ 空間周波数ブロックコーディング、Ｓ−ＧＷ サービングゲートウェイ、ＳＩＭＯ 単一入力複数出力、ＳＩＳＯ 単一入力単一出力、ＳＮＲ 信号対ノイズ比、ＳＲＳ サウンディング基準信号、Ｓ−ＳＣＨ 二次同期信号、ＳＵ−ＭＩＭＯ 単一ユーザＭＩＭＯ、ＴＤＤ 時間分割デュプレックス、ＴＤＭＡ 時分割多元接続、ＴＲ テクニカルレポート、ＴｒＣＨ トランスポートチャネル、ＴＳ 技術仕様、ＴＴＡ 電気通信技術協会、ＴＴＩ 送信時間間隔、ＵＣＩ アップリンク制御インジケータ、ＵＥ ユーザ機器、ＵＬ アップリンク（加入者から基地局への送信）、ＵＬ−ＳＣＨ アップリンク共有チャネル、ＵＭＢ ウルトラ移動体ブロードバンド、ＵＭＴＳ ユニバーサル移動体電気通信システム、ＵＴＲＡ ユニバーサル地上無線アクセス、ＵＴＲＡＮ ユニバーサル地上無線アクセスネットワーク、ＶＳＡ ベクトル信号アナライザ、Ｗ−ＣＤＭＡ 広帯域コード分割多元接続を含む。
【００８３】
ここでは、端末に関連してさまざまな態様を記述したことに留意されたい。端末は、システム、ユーザデバイス、加入者ユニット、加入者局、移動局、移動体デバイス、遠隔局、遠隔端末、アクセス端末、ユーザ端末、ユーザエージェント、またはユーザ機器とも呼ぶことができる。ユーザデバイスは、セルラ電話機、コードレス電話機、セッション開始プロトコル（ＳＩＰ）電話機、ワイヤレスローカルループ（ＷＬＬ）局、ＰＤＡ、ワイヤレス接続能力を有するハンドヘルドデバイス、端末内のモジュール、ホストデバイスに取り付けることができるカード、または、ホストデバイス内に組み込まれているカード（例えば、ＰＣＭＣＩＡカード）、またはワイヤレスモデムに接続されている他の処理デバイスとすることができる。
【００８４】
さらに、クレームした主題事項の態様は、ソフトウェア、ファームウェア、ハードウェア、またはこれらの任意のものを組み合わせたものを生成させて、コンピュータまたはコンピューティングコンポーネントを制御して、クレームした主題事項のさまざまな態様を実現するための、標準プログラミングおよび／またはエンジニアリング技術を使用している方法、装置または、製造物として実現してもよい。ここで用いる「製造物」という用語は、何らかのコンピュータ読み取り可能デバイス、キャリア、または媒体からアクセス可能なコンピュータプログラムを含むことを意図している。例えば、コンピュータ読み取り可能媒体は、磁気記憶デバイス（例えば、ハードディスク、フロッピー（登録商標）ディスク、磁気ストライプ．．．）や、光ディスク（例えば、コンパクトディスク（ＣＤ）、デジタル汎用性ディスク（ＤＶＤ）．．．）や、スマートカードや、フラッシュメモリデバイス（例えば、カード、スティック、キードライブ．．．）を含むことができるが、これらに限定されない。さらに、音声メールを送信および受信する際に、または、セルラネットワークのようなネットワークにアクセスする際に使用されるような、コンピュータ読み取り可能な電子データを伝えるために搬送波を使用できることを正しく認識すべきである。もちろん、当業者は、ここで記述したものの範囲または精神から逸脱することなく、この構成に対して多くの変更が行われてもよいことを認識するだろう。
【００８５】
本出願において使用されているような、「コンポーネント」、「モジュール」、「システム」という用語や、これらに類するものは、コンピュータ関連エンティティのことを意味することを意図しており、コンピュータ関連エンティティは、ハードウェア、ハードウェアおよびソフトウェアを組み合わせたもの、ソフトウェア、または実行中のソフトウェアのいずれのものである。例えば、コンポーネントは、プロセッサ上で実行しているプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、および／またはコンピュータであってもよいが、これらに限定されない。例示によると、サーバ上で実行しているアプリケーションおよびサーバの双方とも、コンポーネントとすることができる。１つ以上のコンポーネントは、実行のプロセスおよび／またはスレッド内に存在していてもよく、コンポーネントは、１つのコンピュータ上で局所化および／または２つ以上のコンピュータ間で分散されてもよい。
【００８６】
上述していることは、１つ以上の実施形態の例を含んでいる。もちろん、先に言及した実施形態を記述する目的のためにコンポーネントまたは方法論のすべての考えられる組み合わせを記述することは不可能であるが、当業者は、さまざまな実施形態の多くのさらなる組み合わせおよび置換が可能性であることを認識してもよい。したがって、記述した実施形態は、特許請求の範囲の精神および範囲内にあるすべてのこのような変更、修正およびバリエーションを含むことを意図している。さらに、「含む」という用語が詳細な説明または特許請求の範囲のいずれかで使用される限り、このような用語は、請求項中で移行語として使用されるときに「具備する」が解釈されるように、「具備する」という用語に類似して包括的であることが意図されている。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
〔１〕電気通信信号中のパケット化されたデータをハイパーフレーマー番号（ＨＦＮ）により解読する方法において、
前記ＨＦＮを決定することと、
不一致のＨＦＮについてテストすることと、不一致のＨＦＮが検出された場合に、
前記不一致のＨＦＮにより解読されたデータを再構成することと、
正確なＨＦＮを使用して、前記データを解読することと、
前記正確なＨＦＮが利用された後、前記解読されたデータを外部メモリにコピーすることとを含み、
前記外部メモリにデータをコピーする際の減少は、不一致のＨＦＮが検出されたときに達成される方法。
〔２〕前記解読されたデータをコピーする前に、１つ以上の解読パラメータを導出することをさらに含む〔１〕記載の方法。
〔３〕前記ＨＦＮに加えて、パケットシーケンス番号を導出することをさらに含む〔２〕記載の方法。
〔４〕電気通信信号中のパケット化されたデータをハイパーフレーマー番号（ＨＦＮ）により解読できるプロセッサにおいて、
前記プロセッサは、
前記ＨＦＮを決定することと、
不一致のＨＦＮについてテストすることと、不一致のＨＦＮが見つけられた場合に、
前記不一致のＨＦＮにより解読されたデータを再構成することと、
正確なＨＦＮを使用して、前記データを解読することと、
前記正確なＨＦＮが利用された後、前記解読されたデータを外部メモリにコピーすることと、のための命令を実行でき、
前記外部メモリにデータをコピーする際の減少は、不一致のＨＦＮが検出されたときに達成されるプロセッサ。
〔５〕前記ＨＦＮに加えて、パケットシーケンス番号を導出することをさらに含む〔４〕記載のプロセッサ。
〔６〕コンピュータプログラムプロダクトにおいて、
電気通信信号中のパケット化されたデータをハイパーフレーマー番号（ＨＦＮ）により解読するためのコードを含むコンピュータ読み取り可能媒体を含み、
前記コードは、
前記ＨＦＮをコンピュータに決定させるためのコードと、
不一致のＨＦＮについてコンピュータにテストさせるためのコードと、不一致のＨＦＮが見つけられた場合に、
前記不一致のＨＦＮにより解読されたデータをコンピュータに再構成させるためのコードと、
正確なＨＦＮを使用して、前記データをコンピュータに解読させるためのコードと、
前記正確なＨＦＮが利用された後、前記解読されたデータを外部メモリにコピーすることとを含み、
前記外部メモリにデータをコピーする際の減少は、不一致のＨＦＮが検出されたときに達成されるコンピュータプログラムプロダクト。
〔７〕前記コンピュータ読み取り可能媒体は、前記ＨＦＮに加えて、パケットシーケンス番号をコンピュータに導出させるためのコードをさらに含む〔６〕記載のコンピュータプログラムプロダクト。
〔８〕パケット化されたデータを処理しながら、そのモデムプロセッサに対する割込を管理することによって、電気通信デバイスの性能を向上させる方法において、
パケット化されたデータを受け取ることと、
前記受け取ったパケット化されたデータに関する、時間ベースのしきい値と、データ量ベースのしきい値とのうちの少なくとも１つを記憶させることと、
ソフトウェアによって処理される準備ができている前記パケット化されたデータが、前記時間ベースのしきい値と、前記データ量ベースのしきい値とのうちの少なくとも１つを超えたとき、前記モデムプロセッサに対するソフトウェア割込を開始することと、
割込が開始されなかった場合に前記パケット化されたデータを累積し、そして割込の頻度を減少させるために、少なくとも、前記時間ベースのしきい値、および、前記データ量ベースのしきい値を調整することとを含む方法。
〔９〕サービスの品質、優先順位、処理帯域幅、バスアクティビティ、または利用可能なバッテリー寿命に基づいて、しきい値を調整することをさらに含む〔８〕記載の方法。
〔１０〕パケット化されたデータを処理しながら、そのモデムプロセッサに対する割込を管理することによって、電気通信デバイスの性能を向上させることができるプロセッサにおいて、
前記プロセッサは、
パケット化されたデータを受け取ることと、
前記受け取ったパケット化されたデータに関する、時間しきい値と、データしきい値とのうちの少なくとも１つを記憶させることと、
ソフトウェアによって処理される準備ができている前記パケット化されたデータが、前記時間しきい値と、前記データしきい値とのうちの少なくとも１つを超えたとき、前記モデムプロセッサに対するソフトウェア割込を開始することと、
割込が開始されなかった場合に前記パケット化されたデータを累積し、そして、少なくとも、前記時間しきい値、および、前記データしきい値を調整して、割込の頻度を減少させるための命令を実行できるプロセッサ。
〔１１〕サービスの品質、優先順位、処理帯域幅、バスアクティビティ、または利用可能なバッテリー寿命に基づいて、しきい値を調整することをさらに含む〔１０〕記載のプロセッサ。
〔１２〕コンピュータプログラムプロダクトにおいて、
パケット化されたデータを処理しながら、そのモデムプロセッサに対する割込を管理することによって、電気通信デバイスの性能を向上させるためのコードを含むコンピュータ読み取り可能媒体を含み、
前記コードは、
パケット化されたデータをコンピュータに受け取らせるためのコードと、
前記受け取ったパケット化されたデータに関する、時間ベースのしきい値と、データ量ベースのしきい値とのうちの少なくとも１つをコンピュータによって記憶させるためのコードと、
ソフトウェアによって処理される準備ができている前記パケット化されたデータが、前記時間ベースのしきい値と、前記データ量ベースのしきい値とのうちの少なくとも１つを超えたとき、前記モデムプロセッサに対するソフトウェア割込をコンピュータに開始させるためのコードと、
割込が開始されなかった場合に前記パケット化されたデータをコンピュータに累積させ、そして、少なくとも、前記時間ベースのしきい値、および、前記データ量ベースのしきい値を調整させて、割込の頻度を減少させるためのコードとを含むコンピュータプログラムプロダクト。
〔１３〕前記コンピュータ読み取り可能媒体は、サービスの品質、優先順位、処理帯域幅、バスアクティビティ、または利用可能なバッテリー寿命に基づいて、しきい値をコンピュータに調整させるためのコードをさらに含む〔１２〕記載のコンピュータプログラムプロダクト。
〔１４〕パケット化されたデータの電気通信処理に関する機能をグループ化することによって、電気通信デバイスにおける機能の処理の際の効率性を得る方法において、
暗号化と、解読と、高レベルデータリンク制御（ＨＤＬＣ）フレーム化と、チェックサム計算と、プロトコルヘッダ挿入とのうちの少なくとも１つに関連する機能をグループ化することと、
グループとして前記機能を実行することとを含み、
非グループベースで前記機能を実行することと比較して、バスアクティビティが減少する方法。
〔１５〕前記グループ化することは、前記電気通信デバイス中のハードウェアにわたる、データの減少した移動を可能にする〔１４〕記載の方法。
〔１６〕データの２度の移動は、前記グループを実行するために使用される〔１４〕記載の方法。
〔１７〕暗号化および解読のうちの少なくとも１つの機能は、データの最初の移動の後に実行される〔１４〕記載の方法。
〔１８〕インターネットプロトコル／転送制御（ＩＰ／ＴＣＰ）ヘッダに対する部分的な解読は、前記データの最初の移動の後に実行される〔１７〕記載の方法。
〔１９〕パケット化されたデータの電気通信処理に関する機能をグループ化することによって、電気通信デバイスにおける機能の処理の際の効率性を得ることができるプロセッサにおいて、
前記プロセッサは、
暗号化と、解読と、フレーム化と、チェックサム計算と、プロトコルヘッダ挿入とのうちの少なくとも１つに関連する機能をグループ化することと、
グループとして前記機能を実行することと、のための命令を実行でき、
非グループベースで前記機能を実行することと比較して、バスアクティビティが減少するプロセッサ。
〔２０〕暗号化および解読のうちの少なくとも１つの機能は、データの最初の移動の後に実行される〔１９〕記載のプロセッサ。
〔２１〕コンピュータプログラムプロダクトにおいて、
パケット化されたデータの電気通信処理に関する機能をグループ化することによって、電気通信デバイスにおける機能の処理の際の効率性を得るためのコードを含むコンピュータ読み取り可能媒体を含み、
前記コードは、
暗号化と、解読と、フレーム化と、チェックサム計算と、プロトコルヘッダ挿入とのうちの少なくとも１つに関連する機能をコンピュータにグループ化させるためのコードと、
グループで前記機能を実行することとを含み、
非グループベースで前記機能を実行することと比較して、バスアクティビティが減少するコンピュータプログラムプロダクト。
〔２２〕インターネットプロトコル／転送制御（ＩＰ／ＴＣＰ）ヘッダに対する部分的な解読は、前記データの最初の移動の後に実行される〔２１〕記載のコンピュータプログラムプロダクト。
〔２３〕パケット化されたデータのために、電気通信デバイスにおけるハードウェアアクセラレータ用のバッファを提供する方法において、
前記ハードウェアアクセラレータによる使用のために、バッファの動的プールを提供することを含み、
バッファの前記プールに対するアクセスは、前記電気通信デバイスにおけるソフトウェアによって制御され、前記ソフトウェアは、前記ハードウェアからのステータス信号のうちの少なくとも１つによって示されるハードウェアニーズと、バッファの前記プールに関するしきい値情報とにしたがって、バッファの前記プールを動的に調整し、前記プールにおけるバッファは、ソフトウェア制御によって補充される方法。
〔２４〕前記ステータス信号は、減少したプロセッサアクティビティ間にタイミングが取られる割込に関係する〔２３〕記載の方法。
〔２５〕パケット化されたデータのために、電気通信デバイスにおけるハードウェアアクセラレータ用のバッファを提供できるプロセッサにおいて、
前記ハードウェアアクセラレータによる使用のために、バッファの動的プールを提供するための命令を実行でき、
バッファの前記プールに対するアクセスは、前記電気通信デバイスにおけるソフトウェアによって制御され、前記ソフトウェアは、前記ハードウェアからのステータス信号のうちの少なくとも１つによって示されるハードウェアニーズと、バッファの前記プールに関するしきい値情報とにしたがって、バッファの前記プールを動的に調整し、前記プールにおけるバッファは、ソフトウェア制御によって補充されるプロセッサ。
〔２６〕前記ステータス信号は、減少したプロセッサアクティビティ間にタイミングが取られる割込に関係する〔２５〕記載のプロセッサ。
〔２７〕コンピュータプログラムプロダクトにおいて、
パケット化されたデータのために、電気通信デバイスにおけるハードウェアアクセラレータ用のコードを含むコンピュータ読み取り可能媒体を含み、
前記コードは、
前記ハードウェアアクセラレータによる使用のために、バッファの動的プールをコンピュータに提供させるためのコードを含み、
バッファの前記プールに対するアクセスは、前記電気通信デバイスにおけるソフトウェアによって制御され、前記ソフトウェアは、前記ハードウェアからのステータス信号のうちの少なくとも１つによって示されるハードウェアニーズと、バッファの前記プールに関するしきい値情報とにしたがって、バッファの前記プールを動的に調整し、前記プールにおけるバッファは、ソフトウェア制御によって満たされるコンピュータプログラムプロダクト。
〔２８〕前記ステータス信号は、減少したプロセッサアクティビティ間にタイミングが取られる割込に関係する〔２７〕記載のコンピュータプログラムプロダクト。
〔２９〕パケット化されたデータのために、電気通信デバイスにおけるハードウェアアクセラレータ用のバッファを提供できる装置において、
前記ハードウェアアクセラレータによる使用のために、バッファの動的プールを提供する手段と、
前記ハードウェアからのステータス信号のうちの少なくとも１つによって示されるハードウェアニーズと、バッファの前記プールに関するしきい値情報とにしたがって、バッファの前記プールを動的に調整する手段とを具備し、
バッファの前記プールに対するアクセスは、前記電気通信デバイスにおける提供する手段によって制御され、
前記プールにおけるバッファは、前記提供する手段によって満たされる装置。
〔３０〕キャッシュアラインされているメモリ位置を解析する手段をさらに具備する〔２９〕記載の装置。
〔３１〕電気通信デバイス中のターゲットモジュールとソースモジュールとの間の動作を読み取る間、および、書き込む間に、パケット化されたデータに対するデータの重複コピーを減少させるための方法において、
データが前記ターゲットモジュールにコピーされることになることを、前記電気通信デバイス中のソースモジュールによってターゲットモジュールにシグナリングすることと、
前記ターゲットモジュールによって、ターゲットに特有な構造を前記ソースモジュールに送ることと、
前記ソースモジュールによって、前記ターゲットに特有な構造を受け取ることと、
前記ソースモジュールによって、前記ターゲットに特有な構造にデータを格納することと、
前記ターゲットモジュールによって、前記ターゲットに特有な格納データを受け取ることとを含み、
前記ターゲットに特有な構造を持つデータの１つのコピーが生成される方法。
〔３２〕前記ターゲットに特有な構造は、ネットワークドライバインターフェース仕様（ＮＤＩＳ）に関係する〔３１〕記載の方法。
〔３３〕電気通信デバイス中のターゲットモジュールとソースモジュールとの間の動作を読み取る間、および、書き込む間に、パケット化されたデータに対するデータの重複コピーを減少させることができるプロセッサにおいて、
前記プロセッサは、
データが前記ターゲットモジュールにコピーされることになることを、前記電気通信デバイス中のソースモジュールによってターゲットモジュールにシグナリングすることと、
前記ターゲットモジュールによって、ターゲットに特有な構造を前記ソースモジュールに送ることと、
前記ソースモジュールによって、前記ターゲットに特有な構造を受け取ることと、
前記ソースモジュールによって、前記ターゲットに特有な構造にデータを格納することと、
前記ターゲットモジュールによって、前記ターゲットに特有な格納データを受け取ることと、のための命令を実行でき、
前記ターゲットに特有な構造を持つデータの１つのコピーが生成されるプロセッサ。
〔３４〕前記ターゲットに特有な構造は、ネットワークドライバインターフェース仕様（ＮＤＩＳ）に関係する〔３３〕記載のプロセッサ。
〔３５〕コンピュータプログラムプロダクトにおいて、
電気通信デバイスにおける、ターゲットモジュールとソースモジュールとの間の動作を読み取る間、および、書き込む間に、パケット化されたデータに対するデータの重複コピーを減少させるためのコードを含むコンピュータ読み取り可能媒体を含み、
前記コードは、
データが前記ターゲットモジュールにコピーされることになることを、前記電気通信デバイス中のソースモジュールによってターゲットモジュールにシグナリングするようにコンピュータに実行させるためのコードと、
前記ターゲットモジュールによって、ターゲットに特有な構造を前記ソースモジュールに送るようにコンピュータに実行させるためのコードと、
前記ソースモジュールによって、前記ターゲットに特有な構造を受け取るようにコンピュータに実行させるためのコードと、
前記ソースモジュールによって、前記ターゲットに特有な構造にデータを格納させるようにコンピュータに実行させるためのコードと、
前記ターゲットモジュールによって、前記ターゲットに特有な格納データを受け取るようにコンピュータに実行させるためのコードとを含み、
前記ターゲットに特有な構造を持つデータの１つのコピーが生成されるコンピュータプログラムプロダクト。
〔３６〕前記ターゲットに特有な構造は、ネットワークドライバインターフェース仕様（ＮＤＩＳ）に関係する〔３５〕記載のコンピュータプログラムプロダクト。
〔３７〕電気通信デバイスにおけるキーストリーム発生のためのデータ移動を減少させる方法において、
暗号化パラメータをハードウェアにプログラミングすることと、
前記ハードウェアによって、前もって、多数のパケットに対するキーストリームを予め計算することと、
前記予め計算されたキーストリームをバンク中に記憶させることと、
データフローのために適切なキーストリームをソフトウェアに提供することとを含み、
前記キーストリームのバンクは、キーストリームがソフトウェアによって要求されたときにキーストリームについて十分にテストされ、さらなるキーストリームをプログラミングするための処理オーバーヘッドは、前記予め計算されたキーストリームの使用により最小化される方法。
〔３８〕前記暗号化されたパラメータは、プロトコルデータユニットに関係する〔３７〕記載の方法。
〔３９〕電気通信デバイスにおけるキーストリーム発生のためのデータ移動を減少させることができるプロセッサにおいて、
暗号化パラメータをハードウェアにプログラミングすることと、
前記ハードウェアによって、前もって、多数のパケットに対するキーストリームを予め計算することと、
前記予め計算されたキーストリームをバンク中に記憶させることと、
データフローのために適切なキーストリームをソフトウェアに提供することと、のための命令を実行でき、
前記キーストリームのバンクは、キーストリームがソフトウェアによって要求されたときにキーストリームについて十分にテストされ、さらなるキーストリームをプログラミングするための処理オーバーヘッドは、前記予め計算されたキーストリームの使用により最小化されるプロセッサ。
〔４０〕前記暗号化されたパラメータは、プロトコルデータユニットに関係する〔３９〕記載のプロセッサ。
〔４１〕コンピュータプログラムプロダクトにおいて、
電気通信デバイスにおけるキーストリーム発生のためのデータ移動を減少させるためのコードを含むコンピュータ読み取り可能媒体を含み、
前記コードは、
暗号化パラメータをハードウェアにプログラミングするようにコンピュータに実行させるためのコードと、
前記ハードウェアによって、前もって、多数のパケットに対するキーストリームを予め計算するようにコンピュータに実行させるためのコードと、
前記予め計算されたキーストリームをバンク中に記憶させるようにコンピュータに実行させるためのコードと、
データフローのために適切なキーストリームをソフトウェアに提供するようにコンピュータに実行させるためのコードとを含み、
前記キーストリームのバンクは、キーストリームがソフトウェアによって要求されたときにキーストリームについて十分にテストされ、さらなるキーストリームをプログラミングするための処理オーバーヘッドは、前記予め計算されたキーストリームの使用により最小化させるコンピュータプログラムプロダクト。
〔４２〕前記暗号化されたパラメータは、プロトコルデータユニットに関係する〔４１〕記載のコンピュータプログラムプロダクト。
【図１】
0005596117.tif 000002
【図２】
0005596117.tif 000003
【図３】
0005596117.tif 000004
【図４】
0005596117.tif 000005
【図５】
0005596117.tif 000006
【図６】
0005596117.tif 000007
【図７】
0005596117.tif 000008
【図８】
0005596117.tif 000009
【図９】
0005596117.tif 000010
【図１０】
0005596117.tif 000011
【図１１】
0005596117.tif 000012
【図１２】
0005596117.tif 000013