(57)【要約】  ソフトウェア無線機を有するコンピューティングデバイス。ソフトウェア無線機は、制御機能およびデータ処理機能を提供するために別々のコンポーネントを有するアーキテクチャーを有する。制御コンポーネントは、データ処理コンポーネントを構成し、その結果、ソフトウェア無線機が、所望の動作特性を提供するようにする。データプレーン内のコンポーネントは、動作状態を示す情報を導出することができ、この動作状態は、制御コンポーネントのうちの１つまたは複数に供給され得る。それに応答して、制御コンポーネントは、動作状態を調整するために、データプレーン内のコンポーネントを変更することができる。【選択図】図２
2011509555.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのアンテナと、
前記少なくとも１つのアンテナに結合され、前記少なくとも１つのアンテナを介して送信するために信号を生成し、または前記少なくとも１つのアンテナを介して受信された信号を処理するように適合された複数のハードウェアコンポーネントと、
コンピューター実行可能モジュールを含むコンピューター可読媒体とを含み、前記コンピューター実行可能モジュールは、
送信する前記信号に含めるためのデータを生成し、または前記少なくとも１つのアンテナを介して受信された前記信号から抽出されたデータを操作する、データ生成モジュールまたはデータ消費モジュールと、
ソフトウェア無線機モジュールであって、
複数のデータ処理モジュールであって、前記ハードウェアコンポーネントと前記データ生成モジュールまたはデータ消費モジュールとの間で交換されるデータを処理するように集合的に構成され、前記データ処理モジュールの少なくとも一部は、制御入力に応答して構成可能であり、前記データ処理モジュールの少なくとも一部は、ステータス出力を有し、前記ステータス出力は、前記少なくとも１つのアンテナを介する信号の前記送信または処理に関連する状態を示す値を出力するように適合される、複数のデータ処理モジュールと、
少なくとも１つの制御モジュールであって、前記ステータス出力を受け取り、前記状態に基づいて、前記データ処理モジュールの前記一部の前記制御入力への制御信号を生成する、少なくとも１つの制御モジュールと
を含む、ソフトウェア無線機モジュールと
を含むコンピューティングデバイス。
【請求項２】
前記データ処理モジュールの前記一部は、復調器を含む、請求項１に記載のコンピューティングデバイス。
【請求項３】
前記復調器は、前記復調器の前記ステータス出力でひずみベクトルの値（Ｘ、Ｙ）を表す値を出力するように適合される、請求項２に記載のコンピューティングデバイス。
【請求項４】
前記データ処理モジュールの前記一部は、変調器を含み、
前記少なくとも１つの制御モジュールは、前記ひずみベクトルの前記値に基づいて前記変調器への制御入力を指定するように適合され、構成されたコグニティブモジュールを含む
請求項３に記載のコンピューティングデバイス。
【請求項５】
前記コグニティブモジュールは、前記ひずみベクトルの傾向に応答して前記制御入力を指定するように適合され、構成される、請求項４に記載のコンピューティングデバイス。
【請求項６】
前記データ処理モジュールの前記一部は、復号器を含む、請求項１に記載のコンピューティングデバイス。
【請求項７】
前記復号器は、前記復号器の前記ステータス出力で、受信された信号に関連するいくつかのビット誤りを表す値を出力するように適合される、請求項６に記載のコンピューティングデバイス。
【請求項８】
ソフトウェア無線機を実施するソフトウェアコンポーネントを有するコンピューティングデバイスを動作させる方法であって、
複数の無線通信を表す信号を受信するステップと、
前記ソフトウェア無線機を用いて前記信号を処理するステップであって、受信された信号と前記受信された信号の事前定義の状態との間の差に関するステータス情報を生成するステップを含む、処理するステップと、
タイムインターバルにわたってステータス情報を収集するステップと、
前記タイムインターバルにわたる前記ステータス情報の統計に基づいて前記ソフトウェア無線機を再構成するステップと
を含む方法。
【請求項９】
前記ステータス情報は、ひずみベクトル（Ｘ、Ｙ）を含む、請求項８に記載の方法。
【請求項１０】
前記ソフトウェア無線機は、ソフトウェア復調器を含み、前記生成するステップは、前記ソフトウェア復調器内で前記ステータス情報を生成するステップを含む、請求項９に記載の方法。
【請求項１１】
前記ステータス情報は、受信された信号と事前定義のビットパターンとの間のいくつかのビット差を含む、請求項８に記載の方法。
【請求項１２】
前記ソフトウェア無線機は、ソフトウェア復号器を含み、前記生成するステップは、前記ソフトウェア復号器内で前記ステータス情報の少なくとも一部を生成するステップを含む、請求項１１に記載の方法。
【請求項１３】
前記ソフトウェア無線機は、ソフトウェア復調器を含み、前記生成するステップは、前記ソフトウェア復調器内で前記ステータス情報の少なくとも一部を生成するステップを含む、請求項１１に記載の方法。
【請求項１４】
前記再構成するステップは、前記ソフトウェア復調器および前記ソフトウェア復号器内で生成された前記ステータス情報に基づいて前記ソフトウェア無線機を再構成するステップを含む、請求項１３に記載の方法。
【請求項１５】
ソフトウェア無線機を実施するソフトウェアコンポーネントを有するコンピューティングデバイスを動作させる方法であって、
第１プロファイルに従って前記ソフトウェア無線機を構成するステップであって、前記第１プロファイルは、動作状態と関連付けられる、構成するステップと、
複数の無線通信を表す信号を受信するステップと、
前記ソフトウェア無線機を用いて前記信号を処理するステップであって、受信された信号と事前定義の状態のセットの状態との間の差に関するステータス情報を生成するステップを含む、処理するステップと、
前記ステータス情報を収集するステップと、
前記ソフトウェア無線機が前記第１プロファイルに関連する動作状態に従って動作していることを前記状態が表す時に、第２プロファイルに従って前記ソフトウェア無線機を構成するステップであって、その選択は前記ステータス情報に基づく、構成するステップと
を含む方法。
【請求項１６】
前記ソフトウェア無線機の以前の再構成に続いて格納されたステータス情報に少なくとも部分的に基づいて前記第２プロファイルを選択するステップ
をさらに含む、請求項１５に記載の方法。
【請求項１７】
ステータス情報を生成するステップは、複数の時にひずみベクトル（Ｘ、Ｙ）を計算するステップを含む、請求項１６に記載の方法。
【請求項１８】
ステータス情報を生成するステップは、誤り訂正符号の使用を介して検出されたいくつかのビット誤りを追跡するステップを含む、請求項１６に記載の方法。
【請求項１９】
ステータス情報を生成するステップは、公称値からの逸脱のしきいレベル以内である受信された記号のレートを追跡するステップを含む、請求項１６に記載の方法。
【請求項２０】
前記ソフトウェア無線機は、複数のコンポーネントを含み、前記第１プロファイルに関連する前記動作状態は、前記複数のコンポーネントのうちの少なくとも２つによって生成されるステータス情報を含む、請求項１６に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
多数のコンピューティングデバイスは、そのコンピューティングデバイスがネットワークまたは他のコンピューティングデバイスに無線で接続することを可能にするハードウェアを備えている。そのような無線ハードウェアは、しばしば、それぞれが送信機、受信機、およびデータ処理コンポーネントを有する１つまたは複数の無線機を含む。
【０００２】
いくつかのデバイスでは、無線ハードウェアは、事前定義の構成を有し、各無線機が、Ｗｉ−Ｆｉ、ＷｉＭＡＸ、Ｂｌｕｅｔｏｏｔｈ、またはＨＳＤＰＡなどの特定の無線テクノロジーに従う接続をサポートするようになっている。たとえば、そのような無線機は、１つまたは複数の事前定義の周波数を使用して通信し、制御メッセージの事前定義のシーケンスを使用して別のデバイスに接続するか、情報を交換することができる。異なる無線テクノロジーを使用して通信する異なるデバイスとの通信をサポートするために、無線ハードウェアは、それぞれが特定の無線テクノロジーを使用する通信のために構成された複数の無線機を含む場合がある。
【０００３】
一部の無線機は、８０２．１１標準規格の変形など、いくつかの密接に関連する無線テクノロジーをサポートすることができる。同様に、一部の無線機は、動作条件に適合するためにセットすることができるパラメーターを有する。たとえば、高い誤り率に出会う場合に送信データレートまたは送信パワーレベルを適合させる無線機である。それでも、事前定義の構成を有する無線機は、一般に、サポートできる無線テクノロジーにおいて制限されている。
【０００４】
他のデバイスでは、無線ハードウェアは、通信に使用される無線テクノロジーをソフトウェア制御の下で変更できるように構成可能であり、時々「ソフトウェア無線機（ｓｏｆｔｗａｒｅ  ｄｅｆｉｎｅｄ  ｒａｄｉｏ）」と呼ばれるものを実施する場合がある。無線ハードウェアは、通信に使用される周波数または受信信号に対して実行されるデータ処理など、無線機の動作パラメーターを変更できる制御入力を受け取るように適合される。ハードウェアの動作パラメーターを再構成することによって、ハードウェアコンポーネントの１グループが、異なる無線テクノロジー用の無線機として働くことが可能になる場合がある。
【発明の概要】
【０００５】
ソフトウェア無線機は、新しい機能を容易にすることと既知の機能を用いる動作を単純化することとの両方によってコンピューターデバイスのユーザーの経験を改善するために実施される。一態様では、ソフトウェア無線機は、別々の制御プレーンおよびデータプレーンを有するアーキテクチャーを有する。データプレーンは、無線通信に関連するデータ処理動作を実行する。制御プレーンは、無線機がそれに関して動作する無線テクノロジーを変更するか、無線テクノロジーを変更せずに動作パラメーターを調整するために、データプレーンの構成を変更することができる。
【０００６】
このアーキテクチャーを介して提供される柔軟性を用いて、ソフトウェア無線機を、１つまたは複数の無線テクノロジーを介する効率的な通信をサポートするために構成し、または再構成することができる。ソフトウェア無線機を介して提供される柔軟性の一例として、フィードバック経路を、データプレーン内のコンポーネントと制御プレーン内のコンポーネントとの間データやすく作成することができる。データプレーン内のコンポーネントは、誤り率または雑音レベルなど、使用中の通信チャネルに関するステータス情報を生成することができる。この情報を、制御プレーン内のコグニティブ（ｃｏｇｎｉｔｉｖｅ）モジュールに供給することができ、このコグニティブモジュールは、進行中の動作条件に適合できる、データプレーン内のコンポーネントに対する調整を識別することができる。
【０００７】
前述は、本発明の非限定的な要約であり、本発明は、添付の特許請求の範囲によって定義される。
【０００８】
添付図面は、原寸通りに描かれることを意図されたものではない。図面では、さまざまな図に示された各同一のまたはほぼ同一のコンポーネントが、類似する符号によって表される。明瞭にするために、すべての図のすべてのコンポーネントに符号を付けてはいない場合がある。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態によるソフトウェア無線機を有するコンピューティングデバイスを含むコンピューティング環境を示すスケッチである。
【図２】本発明の実施形態によるソフトウェア無線機を含むコンピューティングデバイス内のコンポーネントを示すブロック図である。
【図３】本発明の実施形態による無線テクノロジー仕様のライブラリーのデータ構造を示すスケッチである。
【図４】本発明の実施形態によるソフトウェア無線機のソフトウェアモジュールを示すスケッチである。
【図５Ａ】本発明の実施形態による第１構成のソフトウェア無線機を組み込んだコンピューティングデバイスを示すスケッチである。
【図５Ｂ】代替構成の図５Ａのコンピューティングデバイスを示すスケッチである。
【図６】本発明の実施形態による構成可能な無線機を示すスケッチである。
【図７Ａ】本発明の実施形態に従って変調器内で生成できるステータス情報を示す図である。
【図７Ｂ】本発明の実施形態に従って変調器内で生成できるステータス情報を示す図である。
【図７Ｃ】本発明の実施形態に従って変調器内で生成できるステータス情報を示す図である。
【図８】図８Ａは、本発明の実施形態に従って変調器内で行うことができる適合を示す図である。            図８Ｂは、本発明の実施形態に従って変調器内で行うことができる適合を示す図である。
【図９】図９Ａは、本発明の実施形態に従って符号器内で行うことができる適合を示す図である。            図９Ｂは、本発明の実施形態に従って符号器内で行うことができる適合を示す図である。
【図１０】本発明の実施形態による通信の処理を示す流れ図である。
【発明を実施するための形態】
【００１０】
本発明の実施形態によれば、コンピューティングデバイス用のソフトウェア無線機は、複数のシナリオで簡単な構成および再構成を可能にするアーキテクチャーを用いて実施される。そのようなソフトウェア無線機を使用できる環境の例を、図１に示す。
【００１１】
図１に、複数のコンピューティングデバイスがその中で相互作用するネットワーク化されたコンピューティング環境を示す。１つまたは複数のコンピューティングデバイスが、本発明の実施形態によるソフトウェア無線機を含むことができる。図示の例では、図示のように無線で通信する３つのコンピューティングデバイスすなわち、ラップトップ機１１０、プリンター１１２、およびスマートホン１１４。３つのコンピューティングデバイスが図示されているが、任意の個数またはタイプのコンピューティングデバイスが、本発明の実施形態によるソフトウェア無線機を使用することができ、３つのデバイスは、話を簡単にするために図示されたものである。
【００１２】
この例では、ラップトップコンピューター１１０は、アクセスポイント１１６と無線で通信する。アクセスポイント１１６を介して、ラップトップコンピューター１１０は、ネットワーク１２０およびネットワーク１２０に接続された１つまたは複数のデバイスへのアクセスを得ることができる。ラップトップコンピューター１１０がネットワーク１２０を介してアクセスできるデバイスのタイプの例として、図１に、サーバー１５０を示す。この例では、サーバー１５０は、グループポリシーサーバーとすることができる。当技術分野で既知のとおり、グループポリシーサーバーを、ドメイン参加されるクライアントに管理情報を提供するように構成することができる。グループポリシーサーバーは、ネットワーク管理者がドメイン参加したクライアントにポリシー情報を提供する機構を提供する。そのようなサーバーは、エンタープライズネットワーク内で、ネットワーク管理者がネットワーククライアントを構成するか他の形で管理することを可能にするのに使用される。ラップトップコンピューター１１０などのネットワーククライアントを、ネットワーク１２０への接続時にグループポリシー情報を入手するか更新するためにグループポリシーサーバー１５０にアクセスするエージェントを用いて構成することができる。
【００１３】
グループポリシーサーバー１５０は、任意の適切な形でグループポリシー情報を維持することができる。図１の例では、グループポリシー情報を、データベース１３０内で維持することができる。データベース１３０は、グループポリシーサーバー１５０によってアクセス可能な任意の適切なコンピューター記憶媒体を表すことができる。図１の例では、データベース１３０は、当技術分野で既知のとおり、グループポリシー情報を含むことができる。その代わりにまたはそれに加えて、データベース１３０は、ラップトップコンピューター１１０内のソフトウェア無線機を構成するのに有用な情報を含むことができる。たとえば、データベース１３０は、ラップトップコンピューター１１０にダウンロードされ、ラップトップコンピューター１１０内のソフトウェア無線機に適用された時に、そのソフトウェア無線機を特定の無線テクノロジーによる通信のために構成する、１つまたは複数の無線テクノロジー仕様を含むことができる。
【００１４】
たとえば、図１は、データベース１３０からサーバー１５０を介してラップトップコンピューター１１０にダウンロードされる無線テクノロジー仕様１３２を示す。ダウンロードされた無線テクノロジー仕様１３２は、任意の適切な無線テクノロジーに従って通信するようにラップトップコンピューター１１０内のソフトウェア無線機を構成することができる。ラップトップコンピューター１１０にダウンロードされた無線テクノロジー仕様を、異なる時に異なる無線テクノロジーをサポートしまたは複数の無線テクノロジーを同時にサポートするようにラップトップコンピューター１１０内のソフトウェア無線機の機能を変更するために、ソフトウェア無線機に順次または並列に適用することができる。
【００１５】
たとえば、図１では、ラップトップコンピューター１１０は、無線でアクセスポイント１１６と通信している。インフラストラクチャーネットワークに関するアクセスポイントとのそのような通信は、しばしば、８０２．１１プロトコルに従う無線テクノロジーを使用して実行される。しかし、ラップトップコンピューター１１０のユーザーは、プリンター１１２などのインフラストラクチャーネットワーク１２０に接続されていないデバイスにアクセスを望む場合がある。プリンター１１２は、アクセスポイント１１６と同一の無線テクノロジーに従う通信をサポートしない場合がある。しばしば、プリンター１１２などのデバイスは、アドホックネットワークを使用する通信のために構成され、Ｂｌｕｅｔｏｏｔｈなどの無線テクノロジーを使用する場合がある。したがって、無線テクノロジー仕様１３２を、ラップトップコンピューター１１０内のソフトウェア無線機に適用して、アクセスポイント１１６を介する通信に使用されるものとは異なる無線テクノロジーを使用して、さらにプリンター１１２と通信するように無線機を構成することができる。
【００１６】
プリンター１１２は、ラップトップコンピューター１１０と通信するように同様に構成できるソフトウェア無線機をも含むことができる。しかし、ソフトウェア無線機を有するデバイスが、ソフトウェア無線機を有する他のデバイスのみと通信する必要はなく、プリンター１１２内の無線機は、任意の適切な形で実施され得る。
【００１７】
他の通信デバイスは、ラップトップ機１１０に似て、無線テクノロジー仕様の適用を介して構成できるソフトウェア無線機を含むことができる。たとえば、スマートホン１１４は、アクセスポイント１１６と無線で通信して図示されている。上で説明したように、アクセスポイント１１６との通信は、８０２．１１プロトコルなどの無線テクノロジーに従うものとすることができる。スマートホン１１４は、その代わりに、異なる無線テクノロジーを使用して、ｇｅｎｅｒａｌ  ｐａｃｋｅｔ  ｒａｄｉｏ  ｓｅｒｖｉｃｅ（ＧＰＲＳ）ネットワーク１１８と通信することができる。図１に示されているように２つの無線テクノロジーを使用する通信をサポートするために、スマートホン１１４は、同時に複数の無線テクノロジー仕様を用いてプログラムされる１つのソフトウェア無線機を備えることができる。
【００１８】
無線テクノロジー仕様を用いてプログラムされる各コンピューティングデバイスは、これらの無線テクノロジー仕様を任意の適切な形で入手することができる。図１に、グループポリシーサーバー１５０を介してコンピューティングデバイスによって無線テクノロジー仕様を入手できる例を示す。より一般的に、無線テクノロジー仕様は、移動可能なコンピューター記憶媒体（ＣＤなど）から入手し、任意の適切なサーバーから入手し、または任意の他の適切なソースから入手することができる。
【００１９】
この機能によって提供される柔軟性の一例として、無線デバイスは、インターネットまたは他の公に使用可能なネットワークを介して無線テクノロジー仕様をダウンロードすることができる。インターネットを介して到達可能なサーバーのオペレーターは、有料でまたは他の商業的考慮と引き換えに無線テクノロジー仕様を提供することができる。たとえば、ＧＰＲＳネットワーク１１８のオペレーターは、コンピューティングデバイスがＧＰＲＳネットワーク１１８にアクセスすることを可能にする無線テクノロジー仕様を提供することができる。ＧＰＲＳネットワーク１１８へのアクセスが、料金を支払ってネットワークサービスに加入するユーザーだけに提供される場合には、ＧＰＲＳネットワーク１１８のユーザーは、より多くのユーザーがＧＰＲＳネットワーク１１８にアクセスすることを可能にし、したがって、ＧＰＲＳネットワーク１１８を介して提供されるサービスに加入することを可能にすることによって、商業的利益を受け取る。
【００２０】
もう１つの例として、会社または他の実体は、ソフトウェア無線機を有するコンピューティングデバイスのユーザーがそれを介して特定の無線テクノロジーによる通信を可能にする無線テクノロジー仕様をある期間にわたって購入し、またはライセンス交付を受けることができるウェブサイトを運営することができる。この機能は、たとえば、ユーザーのコンピューターがそれのために構成されていない無線テクノロジーが広く使用されている外国への旅行を準備しているコンピューターユーザーに有用である可能性がある。その外国への旅行の前に、そのコンピューターユーザーは、その外国内のネットワークまたは他のデバイスと無線通信できるようになるために、無線テクノロジー仕様をダウンロードすることを望む可能性がある。このシナリオでは、無線テクノロジー仕様を、ある会社によって有料で供給することができる。その代わりにまたはそれに加えて、無線テクノロジー仕様を、外国での無線ネットワークへの加入（料金の支払いを伴うものとすることができる）に関連して提供することができる。この形で、ソフトウェア無線機を備えたコンピューティングデバイスのユーザーは、彼らのコンピューティングデバイスが無線で通信できる拡大された地理的地域から大きい利益を得ることができる。同一の利益を、ダウンロードされた無線テクノロジー仕様を使用してアクセスされるネットワークが外国内にない場合であっても達成することができる。したがって、本発明の実施形態では、無線テクノロジー仕様を、任意の適切な位置の任意の適切な無線デバイスとの通信で使用するために、任意の適切なサーバーからダウンロードし、または任意の他のデータソースから入手することができる。
【００２１】
図２に、無線テクノロジー仕様１３２（図１）などの無線テクノロジー仕様を使用してたやすく構成できるソフトウェア無線機を有するコンピューティングデバイス２００のアーキテクチャーを示す。そのようなコンピューティングデバイスは、任意の適切なハードウェアを使用して実施することができる。しかし、図２の例では、コンピューティングデバイス２００は、コンピューターバス２６０に結合されたプロセッサ２１０を含む。コンピューターバス２６０は、たとえば、ＰＣＩバスとすることができる。しかし、任意の適切なバスを、コンピューティングデバイス２００内で使用することができる。コンピューターバス２６０を介して、プロセッサ２１０は、１つまたは複数の他のハードウェアコンポーネントと通信することができる。図２の例では、無線カード２７０が図示されている。
【００２２】
プロセッサ２１０は、１つまたは複数の任意の適切なプロセッサとすることができ、各プロセッサは、１つまたは複数のコアを有することができる。しかし、話を簡単にするために、単一のプロセッサ２１０が図示されている。同様に、ソフトウェア無線機の実施に使用されるハードウェアコンポーネントを、任意の適切な形でパッケージ化することができる。たとえば、ソフトウェア無線機を実施するハードウェアコンポーネントを、別々の無線ネットワークインターフェースカード上で実施することができ、あるいは、コンピューティングデバイス２００内に他の機能を実行するハードウェアコンポーネントと共に組み込むことができる。可能な変形のさらなる例として、ソフトウェア無線機を実施するハードウェアコンポーネントを、コンピューターバス２６０に接続される複数のカードにまたがって分配することができる。したがって、図２は、単一の無線機カード２７０がソフトウェア無線機のハードウェアコンポーネントのすべてを組み込む例の実施形態を示すが、ハードウェアコンポーネントの任意の適切なパッケージングを使用することができる。
【００２３】
図２には、コンピューティングデバイス２００内で実行できるソフトウェアコンポーネントも示されている。図示の実施形態では、ソフトウェアコンポーネントを、コンピューター実行可能命令および構成パラメーターとしてプロセッサ２１０に関連するコンピューター記憶媒体に格納することができる。ソフトウェアコンポーネントを、任意の適切な形で構成することができる。図示の実施形態では、ソフトウェアコンポーネントは、オペレーティングシステム２１２を含む。オペレーティングシステム２１２は、当技術分野で既知のコンピューターオペレーティングシステムとすることができるが、任意の適切なオペレーティングシステムを使用することができる。オペレーティングシステム２１２は、コンピューティングデバイス２００上で実行中のアプリケーション２１４によってアクセスされる複数の機能を提供することができる。アプリケーションコンポーネント２１４の個数およびタイプは、コンピューティングデバイス２００のタイプおよび機能に依存するものとすることができる。しかし、アプリケーション２１４の例は、ウェブブラウザ、電子メールアプリケーション、またはソフトウェア無線機を使用して無線で送信されるか受信されるデータを生成するか消費する他のアプリケーションを含むことができる。
【００２４】
オペレーティングシステム２１２は、アプリケーション２１４とソフトウェア無線機との間のインターフェースを提供することができる。オペレーティングシステム２１２は、無線機によって提供されるものより高いレベルのネットワーク機能をも提供することができる。たとえば、無線機は、ＯＳＩ階層ネットワークモデルのレベル１から３でのネットワーク機能を提供することができる。オペレーティングシステム２１２は、より高いネットワーク層の機能のサポートを提供することができる。このシナリオでは、オペレーティングシステムは、アプリケーション２１４と他のコンピューティングデバイス内のアプリケーションとの間の接続をサポートすることができる。たとえば、アプリケーションは、頻繁に、ＴＣＰプロトコルまたは他のコネクションベースのプロトコルを使用して通信する。オペレーティングシステム２１２は、他のデバイスへの接続のためのデータを物理的に伝えるのにソフトウェア無線機に頼りはするが、他のデバイス内のアプリケーションとの接続を確立し、維持するコンポーネントを含むことができる。
【００２５】
オペレーティングシステムと無線機との間の機能のそのような区分は、ソフトウェア無線機が使用されようとされまいと、当技術分野で既知である。したがって、オペレーティングシステム２１２とコンピューティングデバイス２００内のソフトウェア無線機との間の通信機能の特定の区分は、本発明にとってクリティカルではない。
【００２６】
図２の例では、ソフトウェア無線機は、データプレーン２２０および制御プレーン２４０に隔離されたソフトウェアコンポーネントを用いて実施される。無線での送信のためにアプリケーション２１４またはオペレーティングシステム２１２によって生成される、特定の無線テクノロジーに関係するデータメッセージまたは制御メッセージは、送信のために無線機カード２７０に適用される前に、データプレーン２２０を通過する。データプレーン２２０内のコンポーネントによって実行される特定の処理は、制御プレーン２４０内のコンポーネントによって定義され、構成される。無線機カード２７０で無線で受信される、特定の無線テクノロジーに関係するデータメッセージまたは制御メッセージは、オペレーティングシステム２１２またはアプリケーション２１４への途中でデータプレーン２２０のコンポーネントを通過することができる。受信されたデータに対して実行されるデータプレーン２２０内の処理は、同様に、制御プレーン２４０内のコンポーネントによって定義し、構成することができる。
【００２７】
図示の実施形態では、無線機カード２７０上のハードウェアコンポーネントを、同様に制御プレーンおよびデータプレーンに隔離することができる。図示の実施形態では、データプレーン２９０は、複数のコンポーネントを含むものとして図示されている。無線機カード２７０内のハードウェア制御プレーンは、単一のモジュール２８０内で実施される。しかし、制御プレーンおよびデータプレーンのそれぞれの中のモジュールの個数およびタイプは、本発明にとってクリティカルではない。
【００２８】
図示の実施形態では、ソフトウェアデータプレーン２２０は、パケット処理およびセキュリティモジュール２２２、媒体アクセス制御モジュール（ＭＡＣ）２２４、ならびにベースバンドプロセスモジュール２２６を含む。これらのモジュールのそれぞれの中で実行される特定の機能は、ソフトウェア無線機の構成に依存するものとすることができる。しかし、パケット処理およびセキュリティモジュール２２２は、送信されるデータを処理する時に、オペレーティングシステム２１２からそのデータを受け取り、ソフトウェア無線機が実施するように構成された無線テクノロジーによって使用される任意のプロトコルに従ってそのデータをパケットにフォーマットすることができる。パケット形成の一部として、パケット処理モジュール２２２は、パケットレベル暗号化を実行し、認証のためにパケットに署名を適用し、あるいは無線で送信されるデータに関する他のセキュリティ機能を実行することができる。
【００２９】
ＭＡＣプロセスモジュール２２４内のコンポーネントは、ソフトウェア無線機がそれに関して構成される無線テクノロジーに適当な１つまたは複数のＭＡＣ機能を実行することができる。たとえば、ＭＡＣプロセスモジュール２２４内のコンポーネントは、コンピューティングデバイス２００がそれを介して別の無線デバイスと無線で通信できるチャネルを確立し、そのチャネルまたはそのチャネルを介する通信に使用される特定の周波数を介してデータを送信できる時を判定することができる。
【００３０】
他の機能に加えて、送信されるデータを処理する時に、ＭＡＣプロセスモジュール２２４内のコンポーネントは、パケット処理およびセキュリティモジュール２２２内で定義されたパケットを受け取り、各パケットを送信のためにソースビットのストリームに変換することができる。
【００３１】
これらのソースビットを、さらなる処理のために、および最終的に無線送信のために無線機カード２７０上のハードウェアコンポーネントへの適用のために、ベースバンドプロセスモジュール２２６内のコンポーネントに供給することができる。たとえば、ベースバンドプロセスモジュール２２６内のコンポーネントは、順方向誤り訂正アルゴリズムを使用してソースビットを符号化することができる。もう１つのコンポーネントが、送信のためにビットのグループを記号にマッピングすることによるなど、符号化されたビットストリームをディジタル変調することができる。使用できる変調方式の例は、位相および振幅キーイングを使用する直交振幅変調（ＱＡＭ）である。しかし、使用される特定の変調機能は、ソフトウェア無線機によって実施される無線テクノロジーに依存するものとすることができる。さらに、プロセスモジュール２２４内のコンポーネントは、１つまたは複数のディジタルフィルタリングアルゴリズムを使用して、変調されたビットストリームをフィルタリングすることもできる。ベースバンドプロセスモジュール２２６内の他のコンポーネントと同様に、フィルタリングコンポーネントによって実行される特定の機能は、実施される無線テクノロジーに依存するものとすることができる。
【００３２】
データの送信のために、データ処理を、無線機カード２７０上のハードウェアコンポーネントによって実行することもできる。したがって、ハードウェアカード２７０は、データプレーン２９０内に１つまたは複数のハードウェアコンポーネントを含むことができる。図２の例では、ハードウェアデータプレーン２９０は、オフロードハードウェアモジュール２９２、混合エレクトロニクスモジュール２９４、ならびにアンテナおよびＲＦエレクトロニクス２９６を含む。ハードウェアモジュールのそれぞれを、既知のディジタル電子回路コンポーネントおよび／またはアナログ電子回路コンポーネントを使用して実施することができる。ハードウェアモジュールのそれぞれの特定の実施態様は、無線機カード２７０によってサポートされる無線テクノロジーの範囲に依存するものとすることができる。しかし、一例として、アンテナおよびＲＦエレクトロニクスモジュール２９６は、データの送信をサポートするために、電力増幅器および周波数アップコンバージョンを実行する周波数コンバータを含むことができる。アップコンバータが動作する周波数範囲は、無線機カード２７０が動作できる周波数範囲に依存するものとすることができる。
【００３３】
さらに、アンテナおよびＲＦエレクトロニクスモジュール２９６は、電力増幅器に結合された１つまたは複数のアンテナを含むことができる。いくつかの実施形態では、アンテナを、異なる周波数での動作のために構成可能とすることができ、特定の構成は、ソフトウェア無線機によってサポートされる１つまたは複数の無線テクノロジーに基づいて選択される。他の実施形態では、アンテナおよびＲＦエレクトロニクスモジュール２９６は、モジュール２９６内のＲＦエレクトロニクスコンポーネントに切り替え可能に接続できる複数のアンテナを含むことができる。この実施形態では、ＲＦエレクトロニクスに切り替えられるアンテナを選択して、送信される信号の周波数に整合させることができる。そのようなアンテナは、当技術分野で既知のパッチアンテナとしてまたは任意の他の適切な形で実施することができる。いくつかの実施形態では、アンテナおよびＲＦエレクトロニクスモジュール２９６内の１つまたは複数のアンテナを、無線機カード２７０上で実施することができる。しかし、いくつかの実施形態では、アンテナを、コンピューティングデバイス２００内の任意の適切な位置に配置することができる。
【００３４】
混合エレクトロニクスモジュール２９４は、送信されるデータを処理するために、ソフトウェア処理によって生成されたデータをアンテナおよびＲＦエレクトロニクスモジュール２９６による送信のためにアナログ信号に変換するコンポーネントを含むことができる。たとえば、混合エレクトロニクスモジュール２９４は、当技術分野で既知のディジタル−アナログ変換器を含むことができる。しかし、任意の適切なコンポーネントを使用することができる。
【００３５】
オフロードハードウェアモジュール２９２は、ソフトウェアデータプレーン２２０内で実行できる機能の一部またはすべてを実行できるハードウェアコンポーネントを含むことができる。無線機カード２７０へのオフロードハードウェアモジュール２９２の組込みは、一部の機能をソフトウェアまたはハードウェアのいずれかで実行するようにソフトウェア無線機を構成するオプションをもたらす。図示の実施形態では、オフロードハードウェアモジュール２９２は、無線機カード２７０上のオプションのコンポーネントである。したがって、ソフトウェア無線機を構成する時に、オフロードハードウェアモジュール２９２が、存在し、所望の無線テクノロジーを実施するのに使用される機能を実行するコンポーネントを含む場合に、オフロードハードウェアモジュール２９２内のコンポーネントを、その機能を実行するように構成することができる。その代わりに、オフロードハードウェアモジュール２９２が存在しないか、所望の無線テクノロジーの一部である機能を実施するコンポーネントを含まない場合に、その機能を、ソフトウェアデータプレーン２２０で実施することができる。
【００３６】
ソフトウェアデータプレーン２２０およびハードウェアデータプレーン２９０内のモジュールのそれぞれの中の特定のコンポーネントにかかわりなく、コンポーネントの集合は、特定の無線テクノロジーに従ってデータを送信するのに使用される機能を実施する。ソフトウェアデータプレーン２２０およびハードウェアデータプレーン２９０内のコンポーネントは、集合的に、指定された無線テクノロジーに従ってデータを受信する機能をも実施する。したがって、アンテナおよびＲＦエレクトロニクスモジュール２９６は、データを伝える無線信号を受信するための１つまたは複数のアンテナを含むことができる。いくつかの場合に、同一のコンポーネントを、データの送信および受信に使用することができる。たとえば、アンテナおよびＲＦエレクトロニクスモジュール２９６内のアンテナを、データの送信と受信との両方に使用することができる。他の場合には、別々のコンポーネントを、送信されるデータおよび受信されるデータを処理するために含めることができる。アンテナおよびＲＦエレクトロニクスモジュール２９６は、データを送信するための電力増幅器およびアップコンバータに加えて、受信されたデータを処理するための低雑音増幅器およびダウンコンバータを含むことができる。混合エレクトロニクスモジュール２９４は、受信されたアナログ信号をさらなる処理のためにディジタル信号に変換するアナログ−ディジタル変換器を含むことができる。同様に、オフロードハードウェアモジュール２９２は、送信されるデータに対して機能を実行するコンポーネントの代わりにまたはそれに加えて、受信されたデータに対して機能を実行するコンポーネントを含むことができる。
【００３７】
ソフトウェアデータプレーン２２０内のモジュールは、同様に、受信されたデータを処理するコンポーネントを含むことができる。たとえば、ベースバンドプロセスモジュール２２６は、受信されたデータに作用するフィルタを含むことができ、このフィルタは、送信されたデータに作用するのに使用されるフィルタと同一のフィルタまたは異なるフィルタとすることができる。ベースバンドプロセスモジュール２２６内の他のコンポーネントは、受信された信号を復調するか、復調された信号を復号することができる。いくつかの実施形態では、受信された信号の復調動作および復号動作は、送信されるデータに関して実行される誤り訂正機能および変調機能の逆である。しかし、各モジュール内で実行される特定の機能を、実施される特定の無線テクノロジーに従って構成することができる。
【００３８】
図示の実施形態では、受信された信号を、ベースバンドプロセスモジュール２２６内での処理の後に、さらなる処理のためにＭＡＣプロセスモジュール２２４内のコンポーネントに供給することができる。これらのコンポーネントは、ベースバンドプロセスモジュール２２６によって出力されたビットのストリームをパケットに形成するか、受信されたデータを他の形で処理することができる。さらに、ＭＡＣプロセスモジュール２２４内のコンポーネントは、受信された時にパケットを肯定応答するか、他の形で機能を実行して、ソフトウェア無線機によって実施される無線テクノロジーに適用可能なプロトコルに従う通信を維持することができる。
【００３９】
パケット処理およびセキュリティモジュール２２２内のコンポーネントも、受信されたデータに対して機能を実行することができる。これらのコンポーネントは、送信されたデータに適用された機能の逆とすることができる暗号化解除機能または認証機能を提供することができる。さらに、パケット処理およびセキュリティモジュール２２２内のコンポーネントは、パケットが受信されたことをオペレーティングシステム２１２に通知する前に、パケットをグループ化するか他の形で処理することができる。オペレーティングシステム２１２にパケットを通知するための処理は、当技術分野で既知のとおりとすることができるが、任意の適切な機構を使用することができ、ソフトウェア無線機の他の機能と同様に、いくつかの実施形態では構成可能とすることができる。
【００４０】
所望の１つまたは複数の無線テクノロジー用のソフトウェア無線機を実施するために、ソフトウェアデータプレーン２２０内およびハードウェアデータプレーン２９０内のハードウェアモジュールおよびソフトウェアモジュールのうちの１つまたは複数を構成することができる。図示の実施形態では、ソフトウェアデータプレーン２２０内のコンポーネントは、制御プレーン２４０内のコンポーネントによって構成される。図示の実施形態では、ソフトウェア制御プレーン２４０は、ソフトウェアデータプレーン２２０内の構成可能コンポーネントのそれぞれへのインターフェースを提供する無線機構成および制御モジュール２４４を含む。
【００４１】
無線機構成および制御モジュール２４４がソフトウェアデータプレーン２２０内の構成可能コンポーネントとそれによって相互作用する特定の機構は、本発明にとってクリティカルではなく、任意の適切な機構を使用することができる。しかし、図示の実施形態では、モジュール２２２、２２４、および２２６のそれぞれは、それぞれ、定義されたプログラミングインターフェース２２８１、２２８２、および２２８３を含む。インターフェース２２８１、２２８２、および２２８３のそれぞれは、出版されるか、ソフトウェア無線機での使用のためにソフトウェアコンポーネントを開発することを望む当事者に知らされる形であるものとすることができる。この形で、どのコンポーネントがデータプレーン２２０内に含まれるかにかかわりなく、無線機構成および制御モジュール２４４は、これらのコンポーネントとインターフェースすることができる。
【００４２】
インターフェースの特定のフォーマットは、本発明にとってクリティカルではないが、図示の実施形態では、インターフェース２２８１、２２８２、および２２８３は、情報の両方向交換を可能にし、ステータス情報および制御情報がこのインターフェースを通過することを可能にする。ソフトウェアデータプレーン２２０内のコンポーネントのそれぞれは、２２８１、２２８２、および２２８３などのインターフェースを介して、その動作ステータスならびにその動作機能を定義するステータス情報を提供する。たとえば、パケット処理およびセキュリティモジュール２２２内のコンポーネントは、それらがサポートできる特定のセキュリティ機能を、インターフェース２２８１を介して無線機構成および制御モジュール２４４に通信することができる。インターフェース２２８１は、無線機構成および制御モジュール２４４が、送信されるパケットまたは受信されたパケットに対してこれらの機能のうちのどれを実行すべきかを制御することも可能にすることもできる。同様に、インターフェース２２８２は、ＭＡＣプロセスモジュール２２４内のコンポーネントが、それらが実行できる機能を識別し、所望の無線テクノロジーの実施に使用される機能を実行するためにこれらのコンポーネントを無線機構成および制御モジュール２４４が構成することを可能にすることを可能にすることができる。情報の類似する両方向交換を、インターフェース２２８３を介して行うことができ、無線機構成および制御モジュール２４４が、ベースバンドプロセスモジュール２２６内のコンポーネントによってサポートされる機能を判定し、これらのコンポーネントの構成を指定することが可能になる。
【００４３】
図２に示された実施形態では、無線機構成および制御モジュール２４４は、無線機カード２７０上のハードウェアコンポーネントにもインターフェースする。図示の実施形態では、ハードウェア構成および制御モジュール２８０は、無線機構成および制御モジュール２４４とハードウェアデータプレーン２９０内のハードウェアコンポーネントとの間のインターフェースとして働く。無線機構成および制御モジュール２４４と制御モジュール２８０のハードウェア構成との間のインターフェースの特定の形は、本発明にとってクリティカルではない。しかし、図示の例では、インターフェースの形は、無線機カード２７０を実施する当事者に知らされ、標準コンピューターバス上で実施される。この形で、コンピューティングデバイス２００を、バス２６０のフォーマットを使用する無線機構成および制御モジュール２４４へのインターフェースを実施することを選ぶ任意の適切なソースからの無線機カード２７０を使用して構成することができる。
【００４４】
ハードウェア構成および制御モジュール２８０を、任意の適切なハードウェアコンポーネントを使用して実施することができる。たとえば、ハードウェア構成および制御モジュール２８０を、無線機カード２７０に取り付けられたゲートアレイチップとして実施することができる。しかし、無線機カード２７０を、１つまたは複数の特定用途向け集積回路（ＡＳＩＣ）を使用して実施し、ハードウェア構成および制御モジュール２８０を、そのようなＡＳＩＣの１つまたは複数のセグメントとして実施することができる。
【００４５】
ハードウェア構成および制御モジュール２８０の特定の実施態様にかかわらず、図示の実施形態では、モジュール２８０は、コンポーネントを構成するか、これらのコンポーネントに関する機能情報または他のステータス情報を入手するかのいずれかに使用できるハードウェアデータプレーン２９０内のハードウェアコンポーネントへのインターフェースを提供する。たとえば、ハードウェア構成および制御モジュール２８０は、ハードウェアモジュール２９２、２９４、または２９６に関連する制御レジスタに値を書き込むことができる。逆に、ハードウェア構成および制御モジュール２８０は、これらのモジュールからステータスレジスタを読み取ることができる。ハードウェア構成および制御モジュール２８０とハードウェアデータプレーン２９０内のハードウェアコンポーネントとの間の特定のインターフェース機構にかかわらず、ハードウェア構成および制御モジュール２８０は、無線機構成および制御モジュール２４４に、およびハードウェアコンポーネントから入手されたステータスデータを提供することができ、無線機構成および制御モジュール２４４によって指定される構成をハードウェアコンポーネントに適用することができる。
【００４６】
無線機構成および制御モジュール２４４とハードウェアデータプレーン２９０内のハードウェアコンポーネントとの間で制御情報およびステータス情報を渡す際に、ハードウェア構成および制御モジュール２８０は、情報を変換するか、他の形で処理することができる。一例として、混合エレクトロニクスモジュール２９４は、構成入力として、送信されたデータを担持する信号に対して実行される周波数アップコンバージョンの量を指定する特定のディジタルコードを受け取ることができる。無線機構成および制御モジュール２４４は、混合エレクトロニクスモジュール２９４によって受け取られるものとは異なるフォーマットで周波数アップコンバージョンを指定することができる。そのシナリオでは、ハードウェア構成および制御モジュール２８０を、混合エレクトロニクスモジュール２９４の所望の動作パラメーターを無線機構成および制御モジュール２４４によって生成されたフォーマットで受け取り、これを所望の量の周波数アップコンバージョンを達成するために混合エレクトロニクスモジュール２９４によって適用できるフォーマットに変換するように構成することができる。
【００４７】
ハードウェアデータプレーン２９０およびソフトウェアデータプレーン２２０内のコンポーネントのそれぞれが実行するように構成される特定の機能は、ソフトウェア無線機の全体的な構成に依存するものとすることができる。図示の実施形態では、構成は、無線機によって実施される無線テクノロジーと、無線テクノロジーが動作のさまざまなパラメーターを有する場合に、任意の所与の時に実施のために選択される動作の特定のパラメーターとの両方によって駆動された。たとえば、Ｗｉ−Ｆｉをサポートする無線機を、Ｗｉ−ＭＡＸなどの異なるテクノロジーをサポートする無線機と異なって構成することができる。さらに、Ｗｉ−Ｆｉなどのいくつかの無線テクノロジーは、異なるデータレートをサポートし、あるいは使用中に変更できる他のパラメーターを有する。ソフトウェア無線機を実施するコンポーネントのうちの１つまたは複数を、Ｗｉ−Ｆｉ通信のためにサポートされるべきデータレートまたは他のパラメーターの値に依存して、異なって構成することができる。
【００４８】
制御プレーン２４０は、所望の無線テクノロジーおよび任意の時のその無線テクノロジーのパラメーターに基づいて、ソフトウェア無線機の特定の構成を判定する１つまたは複数のコンポーネントを含むことができる。図２に示された実施形態では、構成論理モジュール２４２が、その機能を実行する。構成論理モジュール２４２の特定の実施態様は、本発明にとってクリティカルではない。一例として、構成論理モジュール２４２を、コンピューティングデバイス２００内のユーザーまたは他のコンポーネントから受け取られる１つまたは複数の入力および動作状態に関する情報に基づいて、ソフトウェアデータプレーン２２０およびハードウェアデータプレーン２９０のコンポーネントのそれぞれの任意の所与の時の特定の構成を判定するためにルールのセットを適用する、ルールエンジンとして実施することができる。しかし、構成論理モジュール２４２の特定の実施態様は、本発明にとってクリティカルではなく、任意の適切な実施態様を使用することができる。
【００４９】
構成論理モジュール２４２の特定の実施態様にかかわりなく、モジュール２４２は、任意の所与の時のソフトウェア無線機のハードウェアコンポーネントおよびソフトウェアコンポーネントの所望の構成を判定するのに使用される１つまたは複数のタイプの入力を受け取ることができる。図２の実施形態では、入力は、コグニティブモジュール２５２、オフロードエンジン２４６、およびプロファイルマネージャ２４８から構成論理モジュール２４２に供給される。
【００５０】
図示の実施形態では、プロファイルマネージャモジュール２４８は、ソフトウェア無線機によって実施される無線テクノロジーの仕様を構成論理モジュール２４２に供給する。この仕様は、ソフトウェアデータプレーン２２０およびハードウェアデータプレーン２９０内のコンポーネントによって集合的に実施される機能を定義することができる。これらの機能は、任意の適切な形で指定することができる。たとえば、機能を、ソフトウェアデータプレーン２２０およびハードウェアデータプレーン２９０内の１つまたは複数のコンポーネントの動作パラメーターを示すことによって指定することができる。その代わりにまたはそれに加えて、仕様は、ソフトウェアデータプレーン２２０内のモジュールのうちの１つまたは複数にコンポーネントとして追加できる実行可能コードを含むことができる。プロファイルマネージャモジュール２４８は、任意の適切な形で無線テクノロジーの仕様を入手することができる。図示の実施形態では、制御プレーン２４０は、１つまたは複数の無線テクノロジー仕様を含むプロファイルストア２５０を含む。プロファイルストア２５０は、コンピューティングデバイス２００に関連するコンピューター記憶媒体内で実施することができる。図１に関連して説明したように、仕様１３２（図１）などの無線テクノロジーの仕様を、ネットワークを介してサーバーまたは他の適切なソースからダウンロードすることができる。しかし、プロファイルストア２５０内の無線テクノロジー仕様のソースおよびプロファイルストア２５０の特定の実施態様は、本発明にとってクリティカルではなく、任意の適切な機構を使用して、無線テクノロジー仕様を入手し、任意の所与の時の使用のために１つまたは複数の仕様を選択することができる。
【００５１】
無線テクノロジー仕様を構成論理モジュール２４２に供給することに加えて、プロファイルマネージャモジュール２４８は、任意の時にソフトウェア無線機によって実施すべき無線テクノロジーがどれであるかを示す入力を構成論理モジュール２４２に供給することができる。プロファイルマネージャモジュール２４８は、１つまたは複数のソースから受け取られた入力に基づいて、実施すべき無線テクノロジーの表示を提供することができる。たとえば、プロファイルマネージャモジュール２４８は、ユーザーがソフトウェア無線機による実施に関して無線テクノロジーを選択することを可能にするユーザーインターフェースを含むことができる。類似する入力を、その代わりにまたはそれに加えて、オペレーティングシステム２１２、アプリケーション２１４、グループポリシーサーバーからダウンロードされたコンピューター２００上のグループポリシーストア、または任意の他の適切なソースから受け取ることができる。
【００５２】
構成論理モジュール２４２は、ソフトウェアデータプレーン２２０およびハードウェアデータプレーン２９０内のコンポーネントの所望の構成に関する入力をオフロードエンジンモジュール２４６から受け取ることもできる。図２に示されているように、無線機カード２７０は、オフロードハードウェアモジュール２９２を含むことができる。存在する時に、オフロードハードウェアモジュール２９２は、ソフトウェアデータプレーン２２０内のソフトウェアコンポーネントによっても実行できる機能を実行することができる。オフロードエンジンモジュール２４６は、オフロードハードウェアモジュール２９２によって出力される機能情報を受け取り、分析する。この機能情報を使用することによって、オフロードエンジンモジュール２４６は、無線テクノロジー仕様を分析して、無線テクノロジー仕様を実施するのに必要な機能のいずれかをオフロードハードウェアモジュール２９２内で実行できるかどうかを判定することができる。オフロードハードウェアモジュール２９２が、必要な機能のうちのいずれかをサポートする場合には、オフロードエンジンモジュール２４６は、ある種の機能をオフロードハードウェアモジュール２９２に割り当てることができることの表示を構成論理モジュール２４２に供給することができる。それに応答して、構成論理モジュール２４２は、適当な構成コマンドを生成し、これらの機能をオフロードハードウェアモジュール２９２内のコンポーネントによって実施させることができる。
【００５３】
いくつかの実施形態では、オフロードエンジンモジュール２４６は、ハードウェアコンポーネントがある種のデータ処理機能を実行するのに使用可能であることを構成論理モジュール２４２に示す前に、追加処理を実行することができる。たとえば、コンピューティングシステム２００内のハードウェアが、１つまたは複数の形で制限されている場合があり、コンピューティングシステム２００の全体的な動作が、いくつかの場合に、オフロードハードウェアモジュール２９２が同一の機能を実行できるコンポーネントを含む場合であってもそのデータ処理機能を実行するようにソフトウェアコンポーネントを構成することによって最適化される場合がある。
【００５４】
オフロードエンジンモジュール２４６は、任意の適切な形で実施することができる。たとえば、オフロードエンジンモジュール２４６を、ルールベースのテクノロジーを使用して実施することができる。
【００５５】
さらに、構成論理モジュール２４２は、構成論理モジュール２４２がソフトウェア無線機のハードウェアコンポーネントおよび／またはソフトウェアコンポーネント内で使用できるコグニティブモジュール２５２から入力を受け取ることができる。図示の実施形態では、コグニティブモジュール２５２は、ソフトウェア無線機を実施するハードウェアコンポーネントおよび／またはソフトウェアコンポーネントの動作に関するステータス情報を受け取る。このステータス情報に基づいて、コグニティブモジュール２５２は、適合がソフトウェア無線機の構成において必要であることを認識するための処理を実行することができる。いくつかの実施形態では、適合は、無線テクノロジー内の動作パラメーターを変更することを含むことができる。
【００５６】
たとえば、多くの無線テクノロジーは、複数の周波数での動作をサポートする。コンポーネントのうちの１つまたは複数によって出力されるステータス情報は、異なるチャネルを使用すべきであることをコグニティブモジュール２５２が識別することを可能にすることができる。たとえば、アンテナおよびＲＦエレクトロニクスモジュール２９６内のコンポーネントによって出力される受信された信号は、ある周波数が、ソフトウェア無線機によって現在使用されている周波数より少なく利用され、あるいはより少ない干渉を有することを示すことができる。このシナリオでは、コグニティブモジュール２５２は、異なる周波数がより信頼できる通信をもたらすはずであることを構成論理モジュール２４２に報告することができ、構成論理モジュール２４２は、周波数を変更するために、ソフトウェア無線機内のハードウェアコンポーネントまたはソフトウェアコンポーネントのうちの１つまたは複数に対する構成コマンドを生成することができる。
【００５７】
その代わりにまたはそれに加えて、コグニティブモジュール２５２は、無線テクノロジー内の他の適合を必要とする状態を識別することができる。たとえば、コグニティブモジュール２５２は、より低いまたはより高いのいずれかの送信パワーレベルが望ましいことを識別することができる。それに応答して、構成論理モジュール２４２は、異なるパワーレベルで送信するためにアンテナおよびＲＦエレクトロニクスモジュール２９６内の電力増幅器を構成するコマンドを生成することができる。
【００５８】
より一般的に、コグニティブモジュール２５２は、ソフトウェアデータプレーン２２０またはハードウェアデータプレーン２９０内の任意のコンポーネントからステータス情報を収集し、そのステータス情報に対して処理を実行して、適合を正当化する進行中の通信に関する状態を識別することができる。多くの場合に、ステータス情報は、測定された誤りまたは送信すべきデータの量など、通信に関係する。しかし、コグニティブモジュール２５２によって使用されるステータス情報が、そのように限定される必要はない。ステータス情報は、バッテリー寿命もしくはコンピューティングデバイス２００に関する他の情報、または無線テクノロジーのパラメーターの選択もしくはセッティングに有用な他の入手可能な情報を含むことができる。
【００５９】
適合は、構成論理モジュール２４２が、ソフトウェア無線機によって実施される無線テクノロジーを変更せずに適合を引き起こすために、ソフトウェアデータプレーン２２０またはハードウェアデータプレーン２９０のいずれかの中のコンポーネントのうちの１つまたは複数を再構成するコマンドを発行することによって実施することができる。
【００６０】
コグニティブモジュール２５２は、同一の無線テクノロジー内の適合を識別することに限定されない。いくつかの実施形態では、コグニティブモジュール２５２を、異なる無線テクノロジーを使用して通信することによって効率的な通信を達成できることを認識するように構成することができる。そのような実施形態では、構成論理モジュール２４２は、異なる無線テクノロジーの仕様をプロファイルマネージャモジュール２４８から入手することができる。構成論理モジュール２４２は、異なる無線テクノロジーを使用して通信するためにソフトウェア無線機を再構成する構成コマンドを生成することができる。この形で、コンピューティングデバイス２００を柔軟に制御して、無線テクノロジー内でまたは無線テクノロジーにまたがって適合することによって効率的な通信を実施することができる。
【００６１】
異なる無線テクノロジーへの適合が望まれる場合に、プロファイルマネージャ２４８は、プロファイルストア２５０から無線テクノロジー仕様を入手し、その仕様を構成論理２４２に提供することができる。仕様は、任意の適切な形でプロファイルストア２５０に格納することができる。図３に、一例として、プロファイルストア２５０の可能な実施態様を示す。
【００６２】
図３に示されているように、プロファイルストア２５０は、任意の適切なコンピューター記憶媒体内で実施することができる。たとえば、１つまたは複数の仕様を定義するデータを、コンピューター記憶媒体３００上に記録することができる。図示の例では、それぞれが無線テクノロジーの仕様を定義する情報を格納する、レコード３１０１、３１０２、…３１０Ｎが示されている。
【００６３】
無線テクノロジーを定義する情報がレコード３１０１、…３１０Ｎのそれぞれの中に格納される特定のフォーマットは、本発明にとってクリティカルではない。しかし、レコード３１０Ｎの例示的構造を示す。図３の例では、レコード３１０Ｎは、複数のフィールドを含み、各フィールドは、ソフトウェア無線機を構成する際に使用される情報を定義する。この例では、各レコードは、２つのタイプのフィールドを含む。フィールド３２０によって表される、一方のタイプのフィールドは、実行可能コードを識別する情報を含む。フィールド３２０内で識別される実行可能コードは、ソフトウェアデータプレーン２２０（図２）内のモジュールのいずれかの１つまたは複数のコンポーネントとすることができる。実行可能コードは、フィールド３２０内で任意の適切な形で識別することができる。たとえば、コンピューター実行可能命令を、レコード３１０Ｎの一部として格納することができる。もう１つの例として、フィールド３２０が、コンピューティングデバイス２００（図２）内の他所に格納された実行可能コンポーネントのリストを含むことができる。可能な実施態様のさらなる例として、フィールド３２０は、そこから実行可能コンポーネントを入手できる、コンピューティングデバイス２００の外部のストレージ位置への１つまたは複数のリンクを格納することができる。
【００６４】
さらに、レコード３１０Ｎは、ハードウェアデータプレーン２９０またはソフトウェアデータプレーン２２０（図２）内のハードウェアコンポーネントまたはソフトウェアコンポーネントを構成するためのパラメーターを格納する、フィールド３２２１…３２２Ｍによって表される複数のフィールドを含んで図示されている。フィールド３２２１…３２２Ｍ内の情報は、フィールド３２２１…３２２Ｍ内の値が適用される特定のハードウェアコンポーネントまたはソフトウェアコンポーネントに依存するものとすることができる任意の適切な形で格納することができる。
【００６５】
図３に示された形の無線テクノロジー仕様を用いて、制御プレーン２４０内のコンポーネントは、実行可能コンポーネントを提供し、かつ／またはこれらのコンポーネントの動作パラメーターの値を指定することによって、ソフトウェア無線機を構成することができる。図４に、図３に示された形の１つまたは複数の仕様を適用することによって構成されたソフトウェア無線機内の例のモジュールを示す。
【００６６】
図４に、ソフトウェアデータプレーン２２０内のモジュールの例としてＭＡＣプロセスモジュール２２４を示す。しかし、いくつかの実施形態では、ソフトウェアデータプレーン２２０内のモジュールのそれぞれが、全体的に図４に示されたアーキテクチャーを有することができる。
【００６７】
図４は、ＭＡＣプロセスモジュール２２４が、インターフェース２２８２を含み、このインターフェース２２８２を介して、無線機構成および制御モジュール２４４または任意の他の適切なコンポーネントが、そのモジュールを構成することができることを示す。インターフェース２２８２を介して、実行可能コンポーネントをモジュール２２４に追加することができる。図４に示された動作状態では、実行可能コンポーネント４５２１、４５２２、４５２３、および４５４４が追加されている。
【００６８】
コンポーネント４５２１…４５２４のそれぞれは、任意の他の適切な形でプログラミングオブジェクトまたはコンポーネントを表すことができる。コンポーネント４５２１…４５２４のそれぞれは、モジュール２２４内で実行される機能のうちの１つまたは複数を実行することができる。モジュール２２４がＭＡＣプロセスを実行する例では、コンポーネントグループ４５０内のコンポーネントのそれぞれは、制御パケットへの応答またはフラグメント化された受信パケットのグループ化など、ＭＡＣプロセスに関連する機能を実行することができる。しかし、コンポーネントグループ４５０内のコンポーネントの特定の個数および機能は、モジュール２２４の機能およびソフトウェア無線機がそれに関して構成された１つまたは複数の無線テクノロジーに依存するものとすることができる。
【００６９】
コンポーネント４５２１…４５２４が実施される特定のフォーマットは、本発明にとってクリティカルではないが、例の実施形態は、コンポーネントのそれぞれが同一の全般的フォーマットを有することができることを示す。図示の実施形態では、コンポーネントグループ４５０内のコンポーネントのそれぞれが、「プラグイン」として実施される。プラグインとして実施される時に、コンポーネント４５２１…４５２４のそれぞれは、コンピューティングデバイス２００の他のコンポーネントがそのコンポーネントと相互作用することを可能にする、定義されたフォーマットの１つまたは複数のインターフェースを含む。この形で、ソフトウェア無線機によって実施すべき新しい機能が識別される時に、コンポーネントをコンポーネントグループ４５０にたやすく追加することができる。
【００７０】
一例として、無線テクノロジープロトコルは、頻繁に複数の改訂を受ける。改訂ごとに、改訂されたプロトコルを実施するのに必要な機能を実行する１つまたは複数のコンポーネントを生成することが望ましい場合がある。図４のアーキテクチャーによって提供される柔軟性を用いると、コンピューティングデバイス２００を、そのプロトコルのために特に設計されていない場合であっても、変更されたプロトコルに従って動作するようにたやすく構成することができる。
【００７１】
プラグインとしての動作をサポートするために、コンポーネントグループ４５０内のコンポーネントのそれぞれは、１つまたは複数の定義済みインターフェースを実施することができる。図示の実施形態では、コンポーネントグループ４５０内のコンポーネントのそれぞれは、２つのインターフェースを実施する。コンポーネント４５１１を例としてとると、インターフェース４６０１およびインターフェース４６２１が図示されている。インターフェース４６０１は、データインターフェースとすることができ、インターフェース４６２１は、制御インターフェースとすることができる。インターフェース４６０１を介して、コンピューティングデバイス２００内の他のコンポーネントは、処理のためにコンポーネント４５２１にデータを供給することができる。その代わりにまたはそれに加えて、コンピューティングデバイス２００内の他のコンポーネントは、コンポーネント４５２１によって処理されたデータをインターフェース４６０１を介して入手することができる。コンポーネント４５２１のタイプおよび性質に応じて、オペレーティングシステム２１２、モジュール２２４内の他のコンポーネント、または他のモジュール内の他のコンポーネントは、インターフェース４６０１を介してコンポーネント４５２１とデータを交換することができる。
【００７２】
コンポーネント４５２１は、制御インターフェース４６２１をも含んで図示されている。図２の実施形態では、無線機構成および制御モジュール２４４は、インターフェース４６２１を介して、コンポーネント４５２１からステータス情報を受け取り、制御情報をコンポーネント２５２１に供給することができる。たとえば、インターフェース４６２１を介して、コンポーネント４５２１は、コンポーネント４５２１の動作の１つまたは複数の態様を指定するパラメーターの値を受け取ることができる。その代わりにまたはそれに加えて、コンポーネント４５２１は、インターフェース４６２１を使用して、ステータス情報を供給することができる。
【００７３】
いくつかの実施形態では、モジュール２２４内の機能性のすべてを、コンポーネントグループ４５０内のコンポーネントによって実施することができる。しかし、いくつかの実施形態では、モジュール２２４が、１つまたは複数の固定コンポーネント４１０を含むことができる。固定コンポーネント４１０は、任意の所与の時の無線機の特定の構成にかかわりなくモジュール２２４内に存在することができる。たとえば、固定コンポーネント４１０は、コンポーネントグループ４５０内のコンポーネントの動作を調整し、コンポーネントグループ４５０内のコンポーネントとコンピューティングデバイス２００（図２）の他のコンポーネントとの間の相互作用を容易にし、あるいは、構成にかかわりなくモジュール２２４によって実行される機能を実行することができる。
【００７４】
図４に、図４のコンポーネント化されたアーキテクチャーを使用して実施できるさらなる特徴を示す。コンポーネントの一部またはすべては、これらのコンポーネントの有用性のいくつかの態様を制御するためにディジタル権利管理を組み込むことができる。図４の例では、コンポーネント４５２３は、権利管理要素４５４によって象徴的に示されるように、ディジタル権利管理を含んで図示されている。権利管理要素４５４は、許可される条件の下を除いてコンポーネント４５２３の実行を阻む、コンポーネント４５２３に適用される暗号化機構を表すことができる。コンポーネント４５２３の実行が許可される条件は、ディジタル権利管理の技術で既知のように、または任意の他の適切な形で定義することができる。一例として、条件を、時間に基づいて定義することができる。権利管理要素４５４は、事前定義の時間の後に、コンポーネント４５２３の実行を阻むことができる。この機能を用いると、ソフトウェア無線機の機能を提供するコンポーネントを「リースする」ことができる。
【００７５】
その代わりに、権利管理要素４５４を使用して、コンポーネント４５２３が実行を許可される他の条件を制御することができる。たとえば、コンポーネント４５２３が、コンピューティングデバイス２００のユーザーがネットワークまたは他のサービスへの加入を維持する間に限ってのみ実行を許可される場合がある。
【００７６】
図５Ａに移ると、本発明の実施形態によるアーキテクチャーを使用するソフトウェア無線機を用いて実施できる機能のさらなる例を提供する。図５Ａは、ソフトウェア無線機を、複数の無線テクノロジーを同時に使用する通信をサポートするように構成できることを示す。複数の無線テクノロジーは、実施される複数の無線テクノロジーのすべてによって集合的に実行されるすべての機能を実施するようにソフトウェア無線機のモジュールを構成することによって、同時にサポートすることができる。
【００７７】
図５Ａの例では、１つまたは複数のアプリケーション５１４１、５１４２、および５１４３が、無線通信用のデータを生成し、かつ／または消費する。アプリケーション５１４１…５１４３は、当技術分野で既知のスタック機構を使用して、オペレーティングシステムスタック５１２を介してソフトウェア無線機とインターフェースすることができる。しかし、図５Ａの例では、アプリケーション５１４１は、アプリケーション５１４３とは異なる無線テクノロジーを使用して通信することができる。
【００７８】
オペレーティングシステムスタック５１２は、任意の適切なインターフェースを使用してソフトウェア無線機とインターフェースすることができる。しかし、従来のスタックインターフェースを使用することができる。したがって、パケット処理およびセキュリティモジュール２２２は、スタックインターフェース５２０を有して図示され、スタックインターフェース５２０は、当技術分野で既知のように実施することができる。しかし、パケット処理およびセキュリティモジュール２２２が異なる無線テクノロジーを使用する接続のために異なるタイプの接続情報を格納する範囲で、２つのコンポーネントを、アプリケーション５１４１および５１４３によって使用される無線テクノロジーの接続情報を格納するために、パケット処理およびセキュリティモジュール２２２内に含めることができる。したがって、図５Ａは、２つの無線テクノロジーの接続情報を格納するコンポーネント５２２Ａおよび５５２Ｂを示す。
【００７９】
さらに、ＭＡＣプロセスモジュール２２４も、２つの無線テクノロジーを実施するためにコンポーネントを含むことができる。この例では、コンポーネント５３０Ａが、アプリケーション５１４１によって使用される無線テクノロジーを実施して図示され、コンポーネント５３０Ｂが、アプリケーション５１４３によって使用される無線テクノロジーを実施して図示されている。
【００８０】
同様に、ベースバンドプロセスモジュール２２６Ａは、それぞれアプリケーション５１４１および５１４３によって使用される無線テクノロジーの機能を実施するコンポーネント５４０Ａおよび５４０Ｂを含んで図示されている。
【００８１】
図示の実施形態では、ハードウェア５５０は、コンポーネント５４０Ａおよび５４０Ｂの両方とインターフェースして図示されている。ハードウェア５５０は、２つの無線テクノロジーのデータの処理を同時にサポートするのに十分なコンポーネントを含むことができる。多重化コンポーネント５５２を、ハードウェア５５０へのインターフェースを提供するために組み込むことができる。多重化コンポーネント５５２は、いくつかのインターバルにアプリケーション５１４１の無線テクノロジーに従ってデータを渡し、他のインターバルにアプリケーション５１４３によって使用される無線テクノロジーのデータを渡す、時分割多重化方式に従って動作することができる。時間多重化される時に、ハードウェア５５０の動作は、無線機が両方の無線テクノロジーを同時にサポートすると考えることができるのに十分に高いレートで、異なる無線テクノロジーのデータ処理の間で切り替えることができる。
【００８２】
図５Ｂに、２つの無線テクノロジーが順次サポートされる代替の動作シーケンスを示す。図５Ａの例と同様に、図５Ｂは、オペレーティングシステムスタック５１２を介して無線で通信するアプリケーション５１４１…５１４３を示す。オペレーティングシステムスタック５１２は、パケット処理セキュリティモジュール２２２Ｂ内のスタックインターフェースモジュールコンポーネント５２０とインターフェースする。アプリケーション５１４１…５１４３が他のデバイス内の他のコンポーネントと共に無線テクノロジーを使用して形成した接続に関して情報が維持される範囲で、その情報を、接続情報コンポーネント５２２内で維持することができる。
【００８３】
第１の時に、図５Ｂに示されたソフトウェア無線機を、第１無線テクノロジーを使用して通信するように構成することができる。第１無線テクノロジーを用いる通信をサポートするために、ＭＡＣプロセスモジュール２２４Ｂを、第１の時にコンポーネント５３０Ａを用いて構成することができる。同様に、ベースバンドプロセスモジュール２２６Ｂを、第１無線テクノロジーを使用する無線通信をサポートするために、コンポーネント５４２Ａを用いて構成することができる。
【００８４】
後の時に、無線機を、第２無線テクノロジーに従う動作のために再構成することができる。再構成は、任意の適切な理由のために行うことができる。たとえば、コグニティブモジュール２５２（図２）が、第１無線テクノロジーによる通信を途絶させる干渉の源を検出する場合がある。それに応答して、構成論理モジュール２４２（図２）が、第２無線テクノロジーを使用する通信のためにソフトウェア無線機を再構成することができる。この再構成は、たとえば、コンポーネント５３０Ｂを用いてＭＡＣプロセスモジュール２２４Ｂを構成し、コンポーネント５４２Ｂを用いてベースバンドプロセスモジュール２２６Ｂを再構成することによって達成することができる。したがって、第２の瞬間に、通信を、第２無線テクノロジーを使用して達成することができる。
【００８５】
図５Ｂは、第１無線テクノロジーから第２無線テクノロジーへのすべての切替を示し、データプレーン２２０（図２）内のモジュールのいくつかの動作が変化する。しかし、パケット処理およびセキュリティモジュール２２２Ｂは、再構成されなかった。したがって、接続情報コンポーネント５２２内で維持される接続情報は、再構成の結果として変更されなかった。したがって、ソフトウェア無線機は、異なる無線テクノロジーを使用して通信するが、アプリケーション５１４１…５１４３によって確立されたすべての通信を、維持することができる。
【００８６】
上で説明したプロファイルの間の切替を、任意の適切な形で発生するように制御することができる。しかし、上で説明したソフトウェア無線機によって提供される柔軟性は、無線機の「コグニティブ」制御を可能にする。コグニティブ制御は、無線機の動作を、通信が発生する時に収集されるステータス情報に基づいて制御することを可能にする。ステータス情報は、進行中の通信に関係するものとすることができ、あるいは、ステータス情報が以前にそれに関して格納された完了した通信に関係するものとすることができる。ステータス情報は、任意の適切な形で使用することができる。たとえば、ステータス情報を使用して、通信の誤りに寄与する現在の動作状態を識別することができる。その代わりに、ステータス情報を使用して、無線機内の制御コンポーネントが、通信の誤りに寄与している特定の条件を矯正する適当な適合を識別し、実施することを可能にすることができる。
【００８７】
コグニティブ制御は、データ処理コンポーネントと制御コンポーネントとの間のフィードバック経路によって容易にすることができる。図６に、そのようなフィードバック経路を含む無線機のコンポーネントを示す。図６に示されたコンポーネントは、図２に関連して上で説明したソフトウェア無線機を形成するハードウェアコンポーネントおよびソフトウェアコンポーネントの組み合わせとすることができる。しかし、任意の適切なコンポーネントを使用して、本発明の実施形態による無線機を形成することができる。
【００８８】
図６は、コンポーネントがデータプレーン６２０および制御プレーン６４０に編成されることを示す。任意の適切なコンポーネントを、データプレーン６２０または制御プレーン６４０に含めることができる。図示の実施形態では、制御プレーン６４０は、構成論理２４２およびコグニティブモジュール２５２を含む。制御プレーンのこれらのコンポーネントは、図２の実施形態に関連して上で説明したものとすることができる。しかし、これらのコンポーネントを、任意の適切な形で実施することができる。
【００８９】
図６の例示的実施形態では、データプレーン６２０は、誤り訂正符号器６２２、変調器６２４、ＲＦ送信コンポーネント６２６、アンテナ６２８、ＲＦ受信コンポーネント６３０、復調器６３２、および誤り訂正復号器６３４を含む。データプレーン６２０のコンポーネントを、図２に関連して上で説明した実施形態のように実施することもできる。したがって、誤り訂正符号器６２２、変調器６２４、および誤り訂正復号器６３４を、ソフトウェアコンポーネントとすることができる。送信ＲＦコンポーネント６２２、ＲＦ受信コンポーネント６３０、およびアンテナ６２８は、ハードウェアコンポーネントとすることができる。
【００９０】
コンポーネントのそれぞれがどのように実施されるかにかかわりなく、コンポーネントの一部またはすべてが、制御プレーン６４０内のコンポーネントとインターフェースすることができる。そのようなインターフェースは、任意の適切な形で提供することができる。たとえば、インターフェース２２８１、２２８２、または２２８３（図２）の形のインターフェースを使用することができる。図示の実施形態では、インターフェースは、データプレーン６２０内のコンポーネントのそれぞれが、構成論理２４２から制御情報を受け取り、コグニティブモジュール２５２にステータス情報を供給することを可能にする。
【００９１】
データプレーン６２０内のコンポーネントのすべてが制御情報を受け取ることまたはそのすべてがステータス情報を生成することは、必要ではない。それでも、データプレーン６２０と制御プレーン６４０との間にあるいくつかの制御接続およびステータス接続を組み込むことによって、ある形のフィードバックループを実施することができる。データプレーン６２０内のコンポーネントによって生成されたステータス情報を、制御プレーン６４０内のコンポーネントのうちの１つまたは複数に供給することができる。制御プレーン内のコンポーネントは、ステータス情報を処理して、無線機がより効果的な通信のために適合すべき状態を識別することができる。次いで、制御プレーン６４０のコンポーネントは、無線機内の処理をこれらの条件に適合させるために、データプレーン６２０内のコンポーネントに対する適当な調整を判定することができる。データプレーン６２０内のコンポーネントから使用可能とすることのできるステータス情報の範囲のゆえに、この適合を、コグニティブに行うことができる。
【００９２】
データプレーン６２０内のコンポーネントによって実行される特定の機能は、本発明にとって非常に重要ではない。図示の実施形態では、コンポーネントのそれぞれが、当技術分野で既知の機能を実行することができる。たとえば、誤り訂正符号器６２２は、送信のためにビットのグループを受け取ることができる。符号器６２２は、ビットの各グループを、１つまたは複数の誤り訂正ビットを含むビットの新しいグループにマッピングすることができる。
【００９３】
変調器６２４は、誤り訂正符号器６２２によって形成されたビットのグループを受け取り、そのグループを記号のストリームにマッピングすることができる。各記号は、変調器６２４内で指定される変調パラメーターの組合せに基づいて複数のビットを通信することができる。特定の例として、変調器６２４は、各記号を位相値および周波数値の組合せにマッピングすることができる。しかし、各記号を表すために変調器６２４によって変更される特定のパラメーターは、本発明にとってクリティカルではない。位相、周波数、または振幅を含む任意の１つまたは複数の送信パラメーターを変更することができる。さらに、変調器６２４は、任意の個数の記号を表すことができる変調方式を作成するために、これらのパラメーターのそれぞれについて任意の個数の値を指定することができる。
【００９４】
記号ごとに変調器６２４によって指定される送信パラメーターの個数およびタイプにかかわりなく、指定される送信パラメーターを、ＲＦ送信コンポーネント６２６に供給することができる。ＲＦ送信コンポーネント６２６は、変調器６２４によって指定されたパラメーターに従ってＲＦ信号を送信できる、当技術分野で既知の送信コンポーネントとすることができる。ＲＦ送信コンポーネント６２２によって生成されたＲＦ信号を、アンテナ６２８に結合することができ、アンテナ６２８は、別のデバイス（図示せず）との通信の一部として、チャネルを介してＲＦ信号を放射することができる。
【００９５】
アンテナ６２８は、当技術分野で既知のアンテナとすることができる。アンテナ６２８は、ＲＦ信号の送信と受信との両方を行うことができる。いくつかの実施形態では、アンテナ６２８を、アンテナのセットとして実施することができるが、別々のアンテナを、送信信号および受信信号に使用することができる。
【００９６】
ＲＦ信号の受信に使用される特定のアンテナにかかわりなく、受信された信号を、ＲＦ受信コンポーネント６３０に結合することができる。ＲＦ受信コンポーネント６３０は、当技術分野で既知のＲＦコンポーネントとすることができる。そのようなコンポーネントは、受信されたＲＦ信号の検出された特性を出力することができる。出力特性は、変調器６２４によって指定されるものと同一とすることができる。たとえば、ＲＦ受信コンポーネント６３０は、受信されたＲＦ信号の位相、周波数、もしくは振幅、またはパラメーターの任意の組合せを検出することができる。
【００９７】
ＲＦ受信コンポーネント６３０の出力を、復調器６３２に供給することができる。いくつかの実施形態では、復調器６３２は、変調器６２４の逆の動作を実行する、当技術分野で既知のコンポーネントとすることができる。したがって、復調器６３２は、ＲＦ受信コンポーネント６３０からの受信されたパラメーターを、変調方式に従って記号に変換することができる。
【００９８】
復調器６３２は、記号情報を誤り訂正復号器６３４に転送することができる。誤り訂正復号器６３４は、符号器６２２によって実行される符号化動作の逆を実行する、当技術分野で既知のコンポーネントとすることができる。誤り訂正ビットを追加するのではなく、誤り訂正復号器６３４は、誤り訂正ビットを含む、復調器６３２によって出力されたビットのグループを処理して、受信された信号の伝搬中に誤りが発生したかどうかを判定する。そうである場合には、誤り訂正復号器６３４は、誤り訂正ビットを使用して、その誤りを訂正することができる。その後、誤り訂正復号器６３４は、図６の無線機によって受信されたデータを表すビットのストリームを出力することができる。図６は、送信用のデータを生成するか、受信されたデータを使用するコンポーネントを明白には示さないが、データを、任意の適切なコンポーネントから入手し、または任意の適切なコンポーネントに供給することができる。図２の例では、データは、オペレーティングシステム２１２（図２）またはアプリケーション２１４（図２）のいずれかによって生成され、これに供給される。しかし、データのソースまたは宛先は、本発明にとってクリティカルではなく、図６の例示的無線機を、任意の適切なコンポーネントに関連して使用することができる。
【００９９】
データプレーン６２０内のコンポーネントのそれぞれは、データを無線で送信しまたは受信する際に当技術分野で既知の機能を実行することができるが、コンポーネントのそれぞれを、ステータス情報を提供しまたは制御情報を受信し、本発明の実施形態に従ってフィードバックループ内でコンポーネントを構成することを可能にするように構成することができる。たとえば、誤り訂正復号器６３４を、誤り訂正コーディングを使用して、訂正される誤りの数を、受信された伝送ごとに識別するコグニティブモジュール２５２にステータス情報を供給するように構成することができる。同様に、復調器コンポーネント６３２を、ひずみベクトルなどのステータス情報を提供するように構成することができる。ひずみベクトルは、受信された記号ごとに、検出されたＲＦパラメーターの特定の組合せと有効な記号の公称値を表すパラメーターの組合せとの間の差の度合を示す。ＲＦ受信コンポーネント６３０も、ステータス情報を提供することができる。たとえば、ＲＦ受信コンポーネント６３０は、受信信号強度インジケータまたは、無線でデータを送信するか受信するのに使用される通信チャネルに現在存在する状態を識別するかこれに適合するためにコグニティブモジュール２５２内で使用できる他のステータス情報を提供することができる。
【０１００】
データプレーン６２０内のコンポーネントのうちの１つまたは複数は、コグニティブモジュール２５２によって識別されたチャネル状態に適合するためにコンポーネントを制御するのに使用できる制御入力をも受け取ることができる。たとえば、誤り訂正符号器コンポーネント６２２は、データビットに対する誤り訂正ビットの比率を変更する制御入力を受け取ることができる。当技術分野で既知のとおり、データビットに対する誤り訂正ビットの比率は、伝送で訂正できるビット誤りの個数に影響し得る。この比率を高めることによって、無線機は、より高い誤り率を引き起こすチャネル状態に適合することができる。同様に、変調器コンポーネント６２４は、制御入力を有することができる。この制御入力の値に応答して、変調器６２４は、それが使用する変調方式のタイプまたはそれが使用する一意の記号の個数を変更することができる。変調器６２４によって使用される一意の記号の個数を減らすと、データ伝送レートが下がる可能性があるが、伝送で発生する誤りの個数の対応する減少がある可能性があり、正味の結果は、伝送の有効性の向上になる。同様に、ＲＦ送信コンポーネント６２６は、制御入力を含むことができる。その制御入力の値に応答して、ＲＦ送信コンポーネント６２６は、送信パワーレベルまたはＲＦ送信の他のパラメーターを変更することができる。
【０１０１】
図６は、コグニティブ無線機内に存在し得るコンポーネントのサブセットのみを示すが、この図は、コグニティブモジュール２５２にステータス情報を供給することと、データプレーン６２０内のコンポーネントのうちの１つまたは複数に制御情報を供給することとによって、１つまたは複数のフィードバック経路を作成できることを示す。
【０１０２】
図７Ａ、７Ｂ、および７Ｃに、ステータス情報を生成するためにデータプレーン６２０内のコンポーネントのうちの１つまたは複数によって測定できるパラメーターを示す。図７Ａは、送信される情報を表すためにＲＦ信号の２つのパラメーターを変更できる変調方式による伝送を示す。この例では、２つのパラメーターは、２次元座標系でグラフ的に示されている。各軸は、パラメーターのうちの１つを表すことができる。各パラメーターは、たとえば、位相、周波数、振幅、または任意の他の使用可能なパラメーターとすることができる。図７Ａの例では、それぞれが１つの記号に対応する、このパラメータープロットの８つの領域が示されている。これらの領域は、Ｓ１…Ｓ８と識別される。たとえば、点Ｒは、ある受信信号のパラメーター１およびパラメーター２の値を表すことができる。図７Ａに示されているように、点Ｒは、領域Ｓ２に含まれる。したがって、復調器コンポーネント６３２は、パラメーター値Ｒを有する受信信号を記号Ｓ２にマッピングすることができる。類似するマッピングを、他の領域Ｓ１…Ｓ８のいずれに関連しても行うことができる。
【０１０３】
いくつかの場合に、伝送におけるひずみまたは他の誤りのゆえに、受信信号が、記号の公称パラメーター値を表す領域Ｓ１…Ｓ８のうちの１つの中に正確に含まれる変調されたパラメーターの値を有しない。公称領域と実際の受信された値との間の差を、ひずみベクトルとみなすことができる。図７Ｂに、領域Ｓ２に関連する範囲に近くであるがその外に含まれる受信信号のパラメーター値Ｒを示す。したがって、図７Ｂは、受信された値と、許容される記号を表す値の公称セットに対応する領域との間の差を表すひずみベクトルＸを示す。図７Ａおよび７Ｂの比較は、ステータス情報を生成するためにデータプレーン６２０（図６）内で行うことができる測定を示す。
【０１０４】
図７Ａおよび７Ｂのそれぞれに、８つの異なる記号の変調パラメーターの公称値に対応する８つの領域が示されている。したがって、各記号を、３ビットまでの情報にマッピングすることができる。図７Ａと７Ｂとの両方で、受信された値は、領域Ｓ２に最も近いので、受信された値を、領域Ｓ２に関連するビットパターンにマッピングすることができる。この例では、ビット値００１が、領域Ｓ２にマッピングされる。しかし、領域とビット値との間の特定のマッピングは、本発明にとってクリティカルではなく、任意の適切なマッピングを使用することができる。
【０１０５】
図７Ａおよび７Ｂは、受信信号が同一の記号値にマッピングされる２つのステータスを示すが、追加のステータス情報が使用可能である。図７Ａに示された動作状態の下で、受信された値は、領域Ｓ２に含まれる。したがって、復調器コンポーネント６３２（図６）または他の適切なコンポーネントは、受信された情報が有効な記号に対応することを認識することができ、有効ビットＶには、１の値がセットされる。対照的に、図７Ｂは、受信されたＲＦ信号のパラメーター１および２の値が、有効な記号に関連する定義された公称領域のすべての外に含まれることを示す。領域Ｓ２への受信された値Ｒの近さに基づいて、復調器は、受信された記号を００１として識別することができる。受信された値は、すべての公称領域の外にあるので、復調器は、有効ビットＶに０をセットすることによって、受信されたパラメーターが公称領域の外にあることの表示をも生成することができる。したがって、有効ビットＶは、復調器コンポーネント６３２（図６）によってコグニティブモジュール２５２に供給されるステータス情報の１つとすることができる。
【０１０６】
図７Ａおよび７Ｂは、復調器コンポーネントまたはコグニティブ無線機内の他の適切なコンポーネントによって生成できる第２のタイプのステータス情報をも示す。図７Ｂでは、Ｒによって表される受信信号のパラメーター１およびパラメーター２の値が、最も近い領域Ｓ２から距離Ｘだけ離れている。この距離は、ひずみベクトルを表すことができる。したがって、図７Ｂは、Ｘの値を有するひずみベクトルＤを示す。対照的に、図７Ａは、受信信号が、領域Ｓ２内に含まれるパラメーター１およびパラメーター２の値と、０の値を有するひずみベクトルＤとを有することを示す。その一方で、図７Ｃは、図７Ｂより大きいひずみベクトルを有する、Ｒによって識別されるパラメーター１およびパラメーター２の値を有する受信信号を示す。図７Ｃの例では、Ｒは、公称記号値Ｓ２の最も近い領域から距離Ｙだけ離れており、Ｙの値を有するひずみベクトルＤが作成される。
【０１０７】
図７Ａ、７Ｂ、および７Ｃの例のそれぞれでは、受信された値がビットのセットＢ＝００１にマッピングされるが、追加の情報が、受信信号を処理するコンポーネントにとって使用可能である。上で説明したように、有効ビットＶを使用して、誤り状態を示すことができる。同様に、ひずみベクトルＤを使用して、存在する誤り状態の存在と大きさとの両方を示すことができる。
【０１０８】
これおよび他のステータス情報を使用して、誤りを誘導する可能性があるチャネル状態にかかわらず、より効率的な通信を提供するための適合を識別することができる。コグニティブモジュール２５２は、ステータス情報を処理して、適合できる誤り状態を示すステータス値のパターンを識別することができる。このパターンは、ステータス変数の単一の値、単一のステータス変数の値の傾向、複数のステータスパラメーターの値の間の相関、またはステータス値の任意の他の適切な組合せに基づくものとすることができる。このパターンは、過去のまたは現在の情報に関係するものとすることができる。特定の例として、誤り訂正復号器６３４は、ビット誤りが受信信号内で訂正されるレートを示すステータス値を出力することができる。高いレートの誤り訂正は、適合が望ましいか必要であるチャネル状態を示すことができる。その代わりに、ビット誤りが訂正されるレートの経時的な増加を示す傾向は、劣化しつつあるチャネル状態を示すことができる。コグニティブモジュール２５２は、この情報を使用して、その時までに適合が必要になる時を予測し、適当な時に適合の表示を生成することができる。コグニティブモジュール２５２は、誤りレベルが増加するレートに基づいて、または任意の他の適切な使用可能な情報に基づいて、適当な時を識別することができる。
【０１０９】
もう１つの例として、コグニティブモジュール２５２は、ステータス値の組合せに基づいて、適合の必要を識別することができる。たとえば、ＲＦ受信コンポーネント６３０からのステータス情報は、高い受信信号強度を示すことができ、復調器コンポーネント６３２、誤り訂正復号器６３４、またはコグニティブ無線機内の他のより高いレベルのコンポーネントのいずれかからの情報は、伝送に関する高い誤り率を示すことができる。高い受信信号強度は、一般に、低い誤り率に関連するので、コグニティブモジュール２５２は、高い誤り率に相関する高い受信信号強度がある時に、例外的な動作状態を識別することができる。そのような例外的な動作状態は、たとえば、無線通信に使用されているチャネルとオーバーラップする周波数スペクトル内の干渉の源に関連する場合がある。それに応答して、コグニティブモジュール２５２は、異なる周波数スペクトルを使用する無線テクノロジーを用いる伝送のためにコグニティブ無線機を再構成することを伴う適合をシグナリングすることができる。
【０１１０】
無線機を再構成することが必要または望ましいかどうかを識別するためにコグニティブモジュール２５２によって使用される特定のステータス情報にかかわりなく、任意の適切な再構成を使用して、通信を途絶させる状態に適合することができる。図８Ａに、可能な再構成の例を示す。図８Ａは、図７Ａと同様に、受信信号の２つのパラメーターの公称値に関連する領域を示す。しかし、図８Ａは、４つの公称領域Ｓ１…Ｓ４だけが示されているという点で、図７Ａとは異なる。図８Ａにはより少数の領域が示されているので、領域のそれぞれをより大きくすることができる。その結果、Ｒによって示されるパラメーター値の組合せを有する受信信号は、図８Ａの例では公称領域Ｓ２に含まれるが、値の同一の組合せが、図７Ａでは公称領域Ｓ１…Ｓ８のすべての外になる。さらに、公称領域Ｓ１…Ｓ４の間の分離は、図７Ａに示された公称領域Ｓ１…Ｓ８の間の分離より大きい。したがって、信号がひずんでいる場合であっても、ひずみが、実際の受信信号に不正な記号を表す公称領域に関連させる可能性は、より低い。図８Ａに示されているように、変調器コンポーネント６２４への制御入力の値を変更することによって、より少数の公称信号値を使用することができる。対応する変更を、復調器コンポーネント６３２に対して行うことができる。図８Ａに示されているようにいくつかの公称領域を減らすことの結果は、記号あたりのビット数が減ることである。たとえば、図８Ａでは、受信信号が領域Ｓ２に含まれる場合に、ビット値Ｂ＝０１を割り当てることができる。
【０１１１】
４つの可能な値だけを、４つの領域によって識別することができるので、２ビットの情報だけが伝えられる。対照的に、図７Ａに示された８つの可能な公称領域は、１つの記号で３ビットの情報を表すことを可能にする。記号あたりのビット数を減らす適合は、相殺する効果を有する可能性があるので、コグニティブモジュール２５２は、すべての使用可能な情報を使用して、そのような適合が望ましいかどうかを判定することができる。そのような情報は、そのような適合が以前に試みられた状態と、その適合が通信の全体的な有効性を改善したか否かに関する格納された情報を含むことができる。したがって、ヒストリカル情報および任意の他の適切な使用可能な情報をコグニティブモジュール２５２によって使用して、適合を行うべきかどうかと、行うべき適合の特定のタイプとの両方を識別することができる。
【０１１２】
図８Ｂは、行うことのできるもう１つの可能な適合を示す。図８Ａと同様に、公称領域の個数は、図７Ａと比較して減らされている。図８Ｂは、５つの公称領域を示す。この例では、公称領域のそれぞれが、図７Ａに示されたタイプの２つの公称領域の共通部分をとることによって形成される。したがって、公称領域のそれぞれは、図７Ａ…７Ｃおよび８Ａに示されているように全体的に円形であるのではなく、より全体的に８の字として形成される。したがって、図８Ｂは、ある範囲の適合が、パラメーター値と記号との間のマッピングの変更において可能であることを示す。
【０１１３】
図８Ｂでは、５つの公称領域が、２．２５ビットの情報を表す。したがって、図８Ｂは、指定された変調方式が、２の倍数である記号あたりのいくつかのビットを有する必要がないことをも示す。
【０１１４】
図９Ａおよび９Ｂに、行うことができる適合のもう１つの形を示す。図９Ａおよび９Ｂは、受信された記号または記号のグループと出力データ値との間の異なるマッピングを示す。そのようなマッピングは、誤り訂正復号器６３４またはコグニティブ無線機内の任意の他の適切なコンポーネントによって実行することができる。マッピングは、コンピューター可読媒体８１０に格納されるか任意の他の適切な形でコンピューティングデバイスに組み込まれるデータ構造内の値によって表すことができる。図９Ａの例では、８つの記号値８２０１…８２０８は、それぞれ、８２２１…８２２４によって表される出力データビットにマッピングされる。図９Ａからわかるように、記号値と出力データビットとの間に１対１対応はない。そうではなく、図示の例では、２つの記号値が、出力データビットの各グループにマッピングされる。たとえば、記号値８２０１および８２０２は、出力ビット８２２１にマッピングされる。記号値８２０３および８２０４は、出力ビット８２２２にマッピングされる。記号値８２０５および８２０６は、出力ビット８２２３にマッピングされ、記号値８２０７および８２０８は、出力ビット８２２４にマッピングされる。可能な記号値の全範囲が、出力ビットの４つの組合せのみにマッピングされるので、出力データは、図９Ａに示されているように２つの出力ビットのみによって表される。
【０１１５】
各記号によって表される出力データビット数のこの減少は、誤り訂正を可能にする。たとえば、記号値のうちの一部だけを送信することができる。この例では、記号値８２０１、８２０３、８２０５、および８２０７だけが、許容可能な送信される記号値を表すことができる。他の記号値８２０２、８２０４、８２０６、または８２０８のいずれかが受信される場合には、誤り訂正復号器は、誤りが発生したことを識別でき、それを訂正することもできる。たとえば、記号８２０２が受信される場合に、誤り訂正復号器は、誤りが発生したことを識別でき、受信された記号を出力データ値８２２１にマッピングすることによってそれを訂正することができ、この出力データ値８２２１は、そのデータ値が送信された記号に最も近いものを表すので、正しいデータ値である可能性が最も高い。記号８２０４、８２０６、または８２０８が受信される場合に、誤りを、同様に検出し、訂正することができる。
【０１１６】
図９Ｂは、受信された記号と出力データビットとの間のマッピングを変更することによって、適合を行うことができることを示す。図９Ａおよび９Ｂは、単純な誤り訂正符号を表すが、これらは、誤り検出および訂正に振り向けられるビット数を増やすことが、情報が正しく受信される尤度を改善できることを示す。図９Ｂの例では、１６個の記号値、８６０１…８６０１６が示されている。１６個の記号値は、図７Ａ、７Ｂ、または７Ｃに示された、パラメーター空間内の１６個の異なる公称変調領域に対応することができる。その代わりに、図９Ｂに示された１６個の記号値が、記号あたり２ビットが符号化される図８Ａに示された変調方式を使用して受信された２つの連続する記号の値を表すことができる。
【０１１７】
記号８６０１…８６０１６を表す値がどのように生成されるかにかかわりなく、図９Ｂは、４つの別々の記号値が、出力ビットの各組合せに突き合わされることを示す。たとえば、記号８６０１…８６０４は、出力ビット８６２１にマッピングされる。記号８６０５…８６０８は、出力ビット８６２２にマッピングされる。残りの記号８６０９…８６０１６は、類似する形で出力ビット８６２３および８６２４にマッピングされる。各ケースで、４つの記号が出力データビットの１セットにマッピングされる。図９Ｂの例では、記号データの４つのビットが、出力データの２つのビットにマッピングされる。そのような状態は、２ビットの誤り訂正を伴う単純な誤り訂正符号を示す。対照的に、図９Ａの例では、３ビット記号が、出力データの２つのビットにマッピングされる。したがって、図９Ａは、１ビット誤り訂正符号の単純な例を示す。図９Ｂに示されているように誤り訂正により多くのビットを使用すると、いくつかの動作状態の下で、より少数の受信信号を誤りのゆえに無視する必要があるので、通信の有効性が高まる。本発明の実施形態によれば、コグニティブモジュール２５２は、データプレーン６２０内の１つまたは複数のコンポーネントによって供給されるステータス情報に基づいて、使用される誤り訂正ビットの個数の変更が通信の有効性を高めることができる状態を検出することができる。そのような判定に応答して、コグニティブモジュール２５２は、使用中の誤り訂正ビットの個数を変更するために、誤り訂正符号器６２０および／または誤り訂正復号器６３４へのコマンドを生成するように構成論理２４２をトリガーすることができる。
【０１１８】
図８Ａ、８Ｂならびに９Ａおよび９Ｂは、ステータス情報に基づいて行うことができる可能な適合を示す。使用可能なステータス情報の特定のタイプおよびそのステータス情報内で検出されたパターンに応答して行われる特定の適合にかかわりなく、本発明の実施形態によるコグニティブ無線機を、図１０に示された通信の処理に使用することができる。
【０１１９】
図１０の処理は、ブロック１０１０で開始される。ブロック１０１０では、コグニティブ無線機を通信のために構成することができる。図２に示された形の無線機について、無線機を、プロファイルストア２５０からの第１プロファイルを適用することによって構成することができる。しかし、それによって初期構成が選択され、ブロック１０１０で適用される特定の機構は、本発明にとってクリティカルではない。
【０１２０】
プロファイルのそれぞれに格納することができる、上で説明した情報のほかに、コグニティブ無線機のプロファイルは、その下で適合を行うことができる誤り状態を識別する情報を含むことができる。誤り状態は、しきい値、パターン、または任意の他の適切な形で表すことができる。
【０１２１】
無線機を構成した後に、処理はブロック１０１２に進む。ブロック１０１２では、無線機を、定義されたプロファイルに従って通信に使用する。ブロック１０１２での通信の一部として、ステータス情報を生成し、分析することができる。たとえば、進行中の通信の一部として収集できる情報の１タイプが、図７Ａ、７Ｂ、および７Ｃに関連して示した有効ビットＶである。受信される記号ごとに、処理は、分岐ブロック１０１４で、記号に関連する有効ビットの値に基づいて分岐することができる。受信された記号に関連する有効ビットが、その記号が信頼できることを示す場合には、処理は、ブロック１０１６に分岐することができる。
【０１２２】
記号が信頼できると思われる場合には、ブロック１０１６での処理は、信頼できる記号のカウントを更新することができる。信頼できる記号のカウントの更新は、コンピューター可読媒体に格納されたデータ構造内の値を変更することを含むことができ、あるいは、任意の他の形で実行することができる。信頼できる記号のカウントの格納は、ヒストリカルステータス情報を記録するのに使用できる機構の例である。
【０１２３】
その後、この処理は、判断ブロック１０２０に進むことができる。判断ブロック１０２０では、この処理は、適合が無線機に以前に適用され、その適合が適用された時以降の無線機の性能に基づいてその適合を有効と考えることができるかどうかに依存して、分岐することができる。適合が有効であったことを識別する処理は、任意の適切な形で実行することができる。この処理は、以前の適合の性質または以前の適合をトリガーした状態の性質に依存するものとすることができる。たとえば、以前の適合が、高い誤り率によってトリガーされた場合には、ブロック１０２０での処理は、適合の後に誤り率が許容できるレベルまで下がったかどうかのチェックを含むことができる。
【０１２４】
有効な適合がブロック１０２０でどのように識別されるかにかかわりなく、以前の適合が有効と考えられる場合には、この処理はブロック１０２２に分岐する。ブロック１０２２では、有効な適合に関する情報を記録する。ブロック１０２２での処理は、不揮発性コンピューター可読媒体に情報を書き込むこと、または任意の他の適切な形で記録を行うことを含むことができる。ブロック１０２２で記録される情報のタイプは、実行される適合の性質、適合をトリガーした状態、適合が有効であったかどうかを査定する処理、または任意の他の適切なタイプの情報に依存するものとすることができる。しきい値を超える誤り率に応答して実行される適合の例では、ブロック１０２２で記録される情報は、適合の後の誤り率の減少の量を示すことができる。
【０１２５】
ブロック１０２２で以前の適合に関する情報を記録した後に、この処理は、ブロック２０１２にループバックすることができ、ここで、通信が継続される。以前の適合が有効ではなかったか、以前に適合が実行されなかった場合には、処理は、やはり判断ブロック１０２０からブロック１０１２にループバックすることができる。判断ブロック１０２０からブロック１０１２にループバックする際に、図１０の例の実施形態は、有効でない適合の情報が格納されることを示さない。しかし、有効な適合と有効でない適合との両方に関する情報が格納される、本発明の実施形態を構成することができる。したがって、本発明は、図１０に示された特定の実施形態に限定されない。
【０１２６】
図１０の流れ図は、他の動作状態データどられ得る他の経路を示す。これらの経路は、異なる動作状態に応答して異なる処理を実行できることを示す。たとえば、受信された記号が信頼できると考えられない場合には、この処理は、判断ブロック１０１４からブロック１０３０に分岐することができる。ブロック１０３０では、信頼できない記号のカウントを更新することができる。ブロック１０１６および１０３０で格納されるカウントを一緒に使用して、ステータスインジケータの値を判定することができる。この例では、受信された信頼できる記号と信頼できない記号との間で比を形成して、適合を必要とするチャネル状態を示すことができるステータス値を作ることができる。
【０１２７】
信頼できない記号に従う処理は、ブロック１０３２でひずみベクトルを測定することをも含むことができる。ひずみベクトルは、任意の適切な形で測定することができる。いくつかの実施形態では、図７Ｂおよび７Ｃで示したように、復調器によってひずみベクトルを測定することができる。
【０１２８】
ひずみベクトルがどのように測定されるかにかかわりなく、この処理は、ブロック１０３４に進むことができ、ここで、以前に格納されたひずみ統計を更新する。ブロック１０３４での処理は、任意の適切な形で実行することができる。例として、適切なタイムインターバルにわたって判定されたひずみベクトルの大きさのローリングアベレージ（ｒｏｌｌｉｎｇ  ａｖｅｒａｇｅ）を、各新しいひずみベクトルが供給される時に計算することができる。更新されたローリングアベレージを、ブロック１０３４で格納することができる。平均値に加えて、測定されたひずみの分散または他のより高水準の統計を計算し、格納することができる。これらの値を、後の処理で使用して、適合の必要または適当な形の適合のいずれかを識別することができる。
【０１２９】
他のステータス情報を格納することもできる。図１０の例では、処理は、ブロック１０３６に進み、ここで、誤り訂正統計を格納する。当技術分野で既知のとおり、誤り訂正符号は、複数ビット誤りの訂正を可能にすることができる。復号器６３４（図６）などの誤り訂正復号器は、誤り訂正符号を適用する過程で、発生したいくつかのビット誤りを判定することができる。これらの誤りが発生しているレートを、ブロック１０３６で、メモリ構造または他の適切なコンピューター可読媒体に記録することができる。訂正された誤りの個数に関する情報を、任意の適切な形で格納することができる。たとえば、誤りに関する統計情報を、ある瞬間のレートとして格納することができる。その代わりに、誤り率のローリングアベレージを、各記号が処理される時にコンピューター可読媒体に格納することができる。その代わりにまたはそれに加えて、誤り率から計算された分散または他のより高水準の統計を、ブロック１０３６で格納することができる。
【０１３０】
図９Ａおよび９Ｂは、ビット誤りを検出するのに使用される誤り訂正コーディングを示すが、他の形の誤り検出および誤り訂正を、コグニティブ無線機内で使用することができる。たとえば、フレーム誤り率を追跡することができ、フレーム誤り率の統計を、同様にブロック１０３６で格納することができる。したがって、本発明は、上で説明した特定のタイプの誤り情報またはステータス情報に基づく適合に限定されない。
【０１３１】
格納されるステータス情報の性質にかかわりなく、この処理は、判断ブロック１０３８に進むことができ、ここで、収集されたステータス情報に基づいて、適合が必要であるかどうかの判断を行う。上で説明したように、ブロック１０３８での処理は、現在のステータス情報を、格納されたステータス情報内のパターンを検出するためのしきい値と比較することを含むことができる。ブロック１０３８での処理は、単一のタイプのステータス情報または複数のタイプのステータス情報の組合せもしくは相関に対する動作を含むことができる。ブロック１０３８での特定の処理にかかわりなく、適合を行わない場合には、処理はブロック１０１２にループバックし、ここで、通信が継続される。
【０１３２】
判断ブロック１０３８での処理は、現在生成されたものであれ以前に格納されたものであれ、ステータス情報を、ブロック１０１０で取り出された第１プロファイルに関連する誤り状態と比較することを含むことができる。しかし、処理を、判断ブロック１０３８で、任意の適切な形で実行することができる。
【０１３３】
ブロック１０３８での適合を実行すべきかどうかの判定がどのように行われるかにかかわりなく、適合が実行される場合には、この処理はブロック１０４０に分岐する。ブロック１０４０では、適合を識別する。適合は、任意の適切な形で識別することができる。たとえば、ブロック１０２２で以前に記録された情報は、現在のステータス情報によって示される状態に応答して、有効な適合を示すことができる。図１０の例では、ブロック１０４０での適合の識別は、第２プロファイルに従う通信がより効率的になることの期待に基づいて、第２プロファイルを選択することを含むことができる。しかし、適合を、任意の適切な形で識別することができる。
【０１３４】
その後、この処理は、ブロック１０４２に進むことができる。ブロック１０４２では、識別された適合を適用する。図１０の処理が図２に示されたものなどのコンピューティングデバイス内で実行される、示された例では、プロファイルストア２５０から第２プロファイルを入手し、これをソフトウェア無線機に適用して、無線機のハードウェアコンポーネントおよびソフトウェアコンポーネントを再構成することによって、適合を適用することができる。さらに、図１０に示されているように、プロファイルは、ブロック１０１０で選択された誤り状態の異なるセットを含むことができる。したがって、処理がブロック１０１２にループバックし、もう一度判断ブロック１０３８に戻る時に通信が継続される際に、状態の異なるセットを適用して、さらなる適合を行うべきかどうかを判定することができる。
【０１３５】
この処理は、この形で、通信を継続し、無線機をチャネル上の通信に現在影響している状態に継続的に適合させて、反復的に進むことができる。
【０１３６】
本発明の少なくとも１つの実施形態の複数の態様を説明したので、さまざまな変更、修正、および改善を当業者がたやすく思い浮かべることを了解されたい。
【０１３７】
そのような変更、修正、および改善は、本開示の一部であることが意図され、本発明の趣旨および範囲内であることが意図されている。したがって、前述の説明および図面は、例のみのためのものである。
【０１３８】
本発明の上で説明した実施形態を、多数の形のいずれかで実施することができる。たとえば、実施形態を、ハードウェア、ソフトウェア、またはその組合せを使用して実施することができる。ソフトウェアで実施される時に、ソフトウェアコードを、単一のコンピューター内に設けられるものであれ複数のコンピューターにまたがって分散されるものであれ、任意の適切なプロセッサまたはプロセッサの集合で実行することができる。
【０１３９】
さらに、コンピューターを、ラックマウント式コンピューター、デスクトップコンピューター、ラップトップコンピューター、またはタブレットコンピューターなど、いくつかの形のいずれかで実施できることを了解されたい。さらに、コンピューターを、携帯情報端末（ＰＤＡ）、スマートホン、または任意の他の適切なポータブルのもしくは固定式のエレクトロニクスデバイスを含む、一般にコンピューターとはみなされないが適切な処理機能を有するデバイス内で実施することができる。
【０１４０】
また、コンピューターは、１つまたは複数の入力デバイスおよび出力デバイスを有することができる。これらのデバイスは、とりわけ、ユーザーインターフェースを提示するのに使用することができる。ユーザーインターフェースを提供するのに使用できる出力デバイスの例は、出力の視覚的プレゼンテーションのためのプリンターまたはディスプレイスクリーンと、出力の可聴プレゼンテーションのためのスピーカまたは他のサウンド生成デバイスとを含む。ユーザーインターフェースに使用できる入力デバイスの例は、キーボードと、マウス、タッチパッド、およびディジタイジングタブレットなどのポインティングデバイスとを含む。もう１つの例として、コンピューターは、音声認識を介してまたは他の可聴フォーマットで入力情報を受け取ることができる。
【０１４１】
そのようなコンピューターを、企業ネットワークまたはインターネットなど、ローカルエリアネットワークまたは広域ネットワークとしてを含む、任意の適切な形の１つまたは複数のネットワークによって相互接続することができる。そのようなネットワークは、任意の適切なテクノロジーに基づくものとすることができ、任意の適切なプロトコルに従って動作することができ、無線ネットワーク、有線ネットワーク、または光ファイバーネットワークを含むことができる。
【０１４２】
また、本明細書で概要を示したさまざまな方法または処理を、さまざまなオペレーティングシステムまたはプラットフォームのうちの任意の１つを使用する１つまたは複数のプロセッサ上で実行可能なソフトウェアとしてコーディングすることができる。さらに、そのようなソフトウェアを、いくつかの適切なプログラミング言語および／または従来のプログラミングツールもしくはスクリプティングツールのいずれかを使用して記述することができ、また、実行可能機械語コードまたはフレームワークもしくは仮想マシン上で実行される中間コードとしてコンパイルすることができる。
【０１４３】
これに関して、本発明を、１つまたは複数のコンピューターまたは他のプロセッサ上で実行される時に、上で述べた本発明のさまざまな実施形態を実施する方法を実行する１つまたは複数のプログラムで符号化されたコンピューター可読媒体（または複数のコンピューター可読媒体）（たとえば、コンピューターメモリ、１つまたは複数のフロッピー（登録商標）ディスク、コンパクトディスク、光ディスク、磁気テープ、フラッシュメモリ、フィールドプログラマブルゲートアレイもしくは他の半導体デバイス内の回路構成、または他のコンピューター記憶媒体）として実施することができる。１つまたは複数のコンピューター可読媒体は、その上に格納された１つまたは複数のプログラムを１つまたは複数の異なるコンピューターまたは他のプロセッサにロードして、上で述べた本発明のさまざまな態様を実施できるように、移動可能とすることができる。
【０１４４】
用語「プログラム」または「ソフトウェア」は、本明細書では、上で述べた本発明のさまざまな態様を実施するためにコンピューターまたは他のプロセッサをプログラムするのに使用できるすべてのタイプのコンピューターコードまたはコンピューター実行可能命令のセットを指すのに、包括的な意味で使用される。さらに、この実施形態の一態様によれば、実行された時に本発明の方法を実行する１つまたは複数のコンピュータープログラムは、単一のコンピューターまたはプロセッサに常駐する必要があるのではなく、本発明のさまざまな態様を実施するためにいくつかの異なるコンピューターまたはプロセッサの中でモジュラーの形で分散させることができることを了解されたい。
【０１４５】
コンピューター実行可能命令は、１つまたは複数のコンピューターまたは他のデバイスによって実行される、プログラムモジュールなどの多数の形であるものとすることができる。一般に、プログラムモジュールは、特定のタスクを実行するか特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。通常、プログラムモジュールの機能性を、さまざまな実施形態で望み通りに組み合わせ、または分散させることができる。
【０１４６】
また、データ構造を、任意の適切な形でコンピューター可読媒体に格納することができる。話を簡単にするために、データ構造を、そのデータ構造内の位置を介して関係付けられるフィールドを有するものとして図示することができる。そのような関係は、フィールドの間の関係を伝えるコンピューター可読媒体内の位置にフィールド用のストレージを割り当てることによって達成することができる。しかし、ポインタ、タグ、またはデータ要素の間の関係を確立する他の機構の使用を介することを含む、任意の適切な機構を使用して、データ構造のフィールド内の情報の間の関係を確立することができる。
【０１４７】
本発明のさまざまな態様は、単独で、組合せで、または前述で説明した実施形態で具体的には述べられていないさまざまな配置で使用することができ、したがって、その適用において、前述の説明に記載のまたは図面に示されたコンポーネントの詳細および配置に限定されない。たとえば、一実施形態で説明された態様を、任意の形で、他の実施形態で説明された態様と組み合わせることができる。
【０１４８】
また、本発明を、方法として実施することができ、その例を提供した。この方法の一部として実行される動作は、任意の適切な形で順序付けることができる。したがって、動作が示されたものとは異なる順序で実行され、例示的実施形態で順次動作として示された場合であってもいくつかの動作を同時に実行することを含むことができる実施形態を、構成することができる。
【０１４９】
請求項要素を修飾するための特許請求の範囲での「第１」、「第２」、「第３」その他などの順序を示す用語の使用は、それ自体である請求項要素の別の請求項要素に対する優先、先行、または順序、あるいは方法の動作が実行される時間的順序を意味するのではなく、単に、請求項要素を区別するために、ある名前を有するある請求項要素を同一の名前を有する（順序を表す単語の使用を除いて）別の請求項要素から区別するためのラベルとして使用される。
【０１５０】
また、本明細書で使用される語法および用語法は、説明のためのものであって、限定的とみなしてはならない。本明細書での「含む（"including", "comprising"）」、「有する（"having"）」、または「伴う（"containing", "involving"）」およびその語尾変化の使用は、その後にリストされた項目およびその同等物ならびに追加の項目を含むことが意図されている。
【図１】
2011509555.tif 000003
【図２】
2011509555.tif 000004
【図３】
2011509555.tif 000005
【図４】
2011509555.tif 000006
【図５Ａ】
2011509555.tif 000007
【図５Ｂ】
2011509555.tif 000008
【図６】
2011509555.tif 000009
【図７Ａ】
2011509555.tif 000010
【図７Ｂ】
2011509555.tif 000011
【図７Ｃ】
2011509555.tif 000012
【図８Ａ】
2011509555.tif 000013
【図８Ｂ】
2011509555.tif 000014
【図９Ａ】
2011509555.tif 000015
【図９Ｂ】
2011509555.tif 000016
【図１０】
2011509555.tif 000017
【国際調査報告】
2011509555.tif 000018
2011509555.tif 000019