(57)【特許請求の範囲】
【請求項１】
（Ａ）無線通信プロトコルに従うデバイス通信のための要件を含む第１の情報を取得する動作と、
（Ｂ）コンピュータデバイスの能力に関する第２の情報を取得する動作であって、前記第２の情報は、無線通信プロトコルに従って通信することが可能であるソフトウェア無線を前記コンピュータデバイスが実装することが可能であるかどうかを判定するのに十分である動作と、
（Ｃ）第１の情報および第２の情報に基づき、前記無線通信プロトコルに従って通信することが可能であるソフトウェア無線を前記コンピュータデバイスが実装することが可能であるかどうかを判定する動作と
を含み、
前記コンピュータデバイスが、ハードウェアコンポーネントとオペレーティングシステムコンポーネント又はソフトウェア無線ドライバとを含み、
前記第２の情報が、前記ハードウェアコンポーネントの能力、および前記オペレーティングシステムコンポーネント又は前記ソフトウェア無線ドライバの能力を含み、
前記動作（Ｃ）が、前記第１の情報と前記第２の情報を比較して、前記コンピュータデバイスの能力がデバイス通信のための要件により決定される範囲内であるかどうかを判定する動作を含む、方法であって、
（Ｄ）前記ハードウェアコンポーネントの能力および前記オペレーティングシステムコンポーネント又は前記ソフトウェア無線ドライバの能力とともに前記無線通信プロトコルに従って通信することが可能であるソフトウェア無線を実装するためのソフトウェアコンポーネント及び構成情報を取得する動作をさらに含む
ことを特徴とする方法。
【請求項２】
前記コンピュータデバイスの能力が、全帯域幅、キャリア分離の粒度、変調の範囲、誤り制御符号化のサポート、フィルタリングの粒度、フィルタリングのタイプ、暗号化および／または復号化のサポート、および媒体アクセス制御のサポートから成る群から選択される、少なくとも１つの能力を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記コンピュータデバイスの能力が、全帯域幅、キャリア分離の粒度、変調の範囲、誤り制御符号化のサポート、フィルタリングの粒度、フィルタリングのタイプ、暗号化および／または復号化のサポート、および媒体アクセス制御のサポートを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記動作（Ｂ）が、前記無線通信プロトコルの少なくとも１つの要件に準拠する、少なくとも１つの信号をやりとりするソフトウェア無線を実装することを少なくとも試みることを含み、前記第２の情報が、任意のエラーメッセージが前記コンピュータデバイス（２００）の構成要素により応答して生成されるかどうかを示すメッセージを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記動作（Ｂ）が、前記少なくとも１つの信号を伝送して前記信号の特性が所定の閾値よりも低くなるようにすることを少なくとも試みることを含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記動作（Ｂ）が、前記無線通信プロトコルに従って伝送される少なくとも１つの信号を受信することを少なくとも試みる動作を含み、前記第２の情報が、前記少なくとも１つの信号が受信されたかどうかを示すメッセージを含むことを特徴とする請求項４に記載の方法。
【請求項７】
前記第１の情報が、無線通信プロトコルの機能と、前記機能に対するサービス品質の所望のレベルと、を記載する情報を含み、
前記方法が、前記第１の情報および前記第２の情報に基づき、前記ソフトウェア無線が前記サービス品質の所望のレベルの前記機能を実行することが可能であるかどうかを判定する動作をさらに含む
ことを特徴とする請求項１に記載の方法。
【請求項８】
プログラム可能回路と、
少なくとも１つのコンピュータ可読媒体に符号化され、前記プログラム可能回路をプログラムしてソフトウェア無線を実装するソフトウェアと、
前記ソフトウェア無線が特定の無線通信プロトコルに従って通信することができるかどうかを判定する、検証モジュールと
を含み、
前記検証モジュールが、無線通信プロトコルに従うデバイス通信のための要件を含む第１の情報と、前記ソフトウェア無線の少なくとも１つの能力に関する第２の情報であって、前記ソフトウェア無線が前記無線通信プロトコルに従って通信することが可能であるかどうかを判定するのに十分である第２の情報とを取得し、
前記第２の情報がデバイスのハードウェアコンポーネントの能力、およびオペレーティングシステムコンポーネント又はソフトウェア無線ドライバの能力を含み、前記検証モジュールが、前記第１の情報と前記第２の情報を比較して、前記デバイスの能力がデバイス通信のための要件により決定される範囲内であるかどうかを判定し、
前記検証モジュールが、前記ハードウェアコンポーネントの能力および前記オペレーティングシステムコンポーネント又は前記ソフトウェア無線ドライバの能力とともに前記無線通信プロトコルに従って通信することが可能であるソフトウェア無線を実装するためのソフトウェアコンポーネント及び構成情報を取得する
ことを特徴とするコンピュータシステム。
【請求項９】
前記プログラム可能回路および前記コンピュータ可読媒体は、第１のコンピュータデバイスの構成要素であり、前記検証モジュールは、第２のコンピュータデバイスの構成要素である、ことを特徴とする請求項８に記載のコンピュータシステム。
【請求項１０】
前記デバイスの能力が、全帯域幅、キャリア分離の粒度、変調の範囲、誤り制御符号化のサポート、フィルタリングの粒度、フィルタリングのタイプ、暗号化および／または復号化のサポート、および媒体アクセス制御のサポートから成る群から選択される、少なくとも１つの能力を含むことを特徴とする請求項８に記載のコンピュータシステム。
【請求項１１】
前記ソフトウェア無線が、前記無線通信プロトコルの少なくとも１つの要件に準拠する、少なくとも１つの信号のやりとりを少なくとも試み、前記第２の情報が、任意のエラーメッセージが前記プログラム可能回路および／または前記ソフトウェアの構成要素により応答して生成されるかどうかを示すメッセージを含むことを特徴とする請求項１０に記載のコンピュータシステム。
【請求項１２】
コンピュータ上での実行のための命令が符号化される、少なくとも１つのコンピュータ可読媒体であって、前記命令が、実行されるときに、
（Ａ）無線通信プロトコルに従うデバイス通信のための要件を含む第１の情報を取得する動作と、
（Ｂ）コンピュータデバイスの能力に関する第２の情報を取得する動作であって、前記第２の情報は、前記無線通信プロトコルに従って通信することが可能であるソフトウェア無線を前記コンピュータデバイスが実装することが可能であるかどうかを判定するのに十分である動作と、
（Ｃ）前記第１の情報および第２の情報に基づき、前記無線通信プロトコルに従って通信することが可能であるソフトウェア無線を前記コンピュータデバイスが実装することが可能であるかどうかを判定する動作と
を含む方法を実行し、
前記第２の情報が、ハードウェアコンポーネントの能力、およびオペレーティングシステムコンポーネント又はソフトウェア無線ドライバの能力を含み、
前記動作（Ｃ）が、前記第１の情報と前記第２の情報を比較して、前記コンピュータデバイスの能力が前記デバイス通信のための要件により決定される範囲内であるかどうかを判定する動作を含み、
前記方法は、
（Ｄ）前記ハードウェアコンポーネントの能力および前記オペレーティングシステムコンポーネント又は前記ソフトウェア無線ドライバの能力とともに前記無線通信プロトコルに従って通信することが可能であるソフトウェア無線を実装するためのソフトウェアコンポーネント及び構成情報を取得する動作を含む
ことを特徴とするコンピュータ可読媒体。
【請求項１３】
前記コンピュータデバイスの能力が、全帯域幅、キャリア分離の粒度、変調の範囲、誤り制御符号化のサポート、フィルタリングの粒度、フィルタリングのタイプ、暗号化および／または復号化のサポート、および媒体アクセス制御のサポートから成る群から選択される、少なくとも１つの能力を含むことを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項１４】
前記動作（Ｂ）が、前記無線通信プロトコルの少なくとも１つの要件に準拠する、少なくとも１つの信号をやりとりするソフトウェア無線を実装することを少なくとも試みることを含み、前記第２の情報が、任意のエラーメッセージが前記コンピュータデバイスの構成要素により応答して生成されるかどうかを示すメッセージを含むことを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項１５】
前記動作（Ｂ）が、前記少なくとも１つの信号を伝送して前記信号の特性が所定の閾値より低くなるようにすることを少なくとも試みることを含むことを特徴とする請求項１４に記載のコンピュータ可読媒体。
【請求項１６】
前記動作（Ｂ）が、前記無線通信プロトコルに従って伝送される少なくとも１つの信号を受信することを試みる動作を含み、前記第２の情報が、前記少なくとも１つの信号が受信されたかどうかを示すメッセージを含むことを特徴とする請求項１４に記載のコンピュータ可読媒体。
【請求項１７】
前記第１の情報が、前記無線通信プロトコルの機能と、前記機能に対するサービス品質の所望のレベルと、を記載する情報を含み、
前記方法が、前記第１の情報および前記第２の情報に基づき、前記ソフトウェア無線が前記サービス品質の所望のレベルの前記機能を実行することが可能であるかどうかを判定する動作をさらに含む
ことを特徴とする請求項１２に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア無線に関するコンピュータシステムの能力（例えば、ハードウェアおよびソフトウェア）を判定する方法および装置に関する。
【背景技術】
【０００２】
コンピューティングシステムの無線技術は、絶え間なく変化し発展している。新しい無線プロトコルが毎年発表され、新しい問題の解決に、または古い問題の解決により効果的に対処する。新しいプロトコルを実装する新しい技術が発表されるため、ますます多くのプロトコルをサポートするコンピュータデバイスへの需要が高まる。
【０００３】
１つまたは複数の無線技術を使用して通信することが可能なデバイスは、無線機と呼ばれる。初期の無線機の実装においては、より多くのプロトコルをサポートするためには、より多くのハードウェアがそれらのプロトコルをサポートするのに必要であったが、それは、各プロトコルが特定のハードウェア、例えば、増幅器、アンテナ、フィルタ等に、サポートを依存していたからである。ハードウェアが増えれば、同様に、より多くの空間とより多くの電力を必要とし、また、構成要素間の信号干渉に対処する、より多くのハードウェアまでも必要であった。
【０００４】
能率に関する検討の結果、新しい無線機の実装が開発され、それにより幾つかの機能をハードウェアでの実行からソフトウェアでの実行に移行させた。これらの新しい実装は、ソフトウェア無線（ＳＤＲ）として知られる。幾つかの場合において、多数の無線通信プロトコルを１組のハードウェアによりサポートすることが可能である。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
出願人の理解では、ＳＤＲへの信頼性が高まるのにつれ、多数の潜在的オプションが無線通信を行うためにユーザに利用可能となる。出願人の理解では、ユーザのコンピュータの能力を発見して、そのコンピュータが１つまたは複数の無線プロトコルをサポート可能かどうかを判定することが可能な機能を提供することは望ましい。
【課題を解決するための手段】
【０００６】
上記を考慮して、本発明の実施形態は、コンピュータデバイスの能力（例えば、ハードウェアおよび／またはソフトウェア能力を含む）を検査し、それが特定の無線プロトコルをサポートするかどうかを判定する処理を対象とする。コンピュータデバイスの互換性を判定する技術は、プロトコルの要件のリストをシステム能力のリストと比較すること、および／またはシステムによる試験信号をプロトコルに従って発生させること、を含む。
【０００７】
一例示実施形態において、無線通信プロトコルに従うデバイス通信のための要件を含む、第１の情報が取得され、また、コンピュータデバイスの少なくとも１つの能力に関する第２の情報が取得され、その第２の情報は、無線通信プロトコルに従って通信することが可能であるソフトウェア無線を、コンピュータデバイスが実装することが可能であるかどうかを、判定するのに十分なものである。第１の情報および第２の情報に基づき、無線通信プロトコルに従って通信することが可能であるソフトウェア無線を、コンピュータデバイスが実装することが可能であるかどうかを判定する。
【０００８】
別の実施形態において、コンピュータは、プログラム可能回路と、コンピュータ可読媒体上に符号化され、回路をプログラムしてソフトウェア無線を実装するソフトウェアと、ソフトウェア無線が特定の無線通信プロトコルに従って通信することができるかどうかを判定する検証モジュールとを含む。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態が実装される、例示のコンピュータシステム環境の図である。
【図２】本発明の実施形態に従って使用される、コンピュータデバイスの例を示す図である。
【図３】本発明の一実施形態に従って、特定の無線プロトコルがコンピュータデバイスのソフトウェアおよびハードウェアによりサポートされるかどうかを発見する、例示の処理のフローチャートである。
【図４】本発明の一実施形態に従って、リモートサーバ上で、特定の無線プロトコルがコンピュータデバイスのソフトウェアおよびハードウェアによりサポートされるかどうかを発見する、例示の処理のフローチャートである。
【図５】特定の無線プロトコルに従い試験信号を生成して、プロトコルがコンピュータデバイスのソフトウェアおよびハードウェアによりサポートされるかどうかを判定する、例示の処理のフローチャートである。
【図６】本発明の実施形態に従って使用される、コンピュータデバイスの一例を示す図である。
【発明を実施するための形態】
【００１０】
出願人の理解では、ソフトウェア無線の従来の実装は、範囲が限定されていた。これらの実装においては、周波数帯域および電力レベルの選択等の何らの機能性が、ハードウェアからソフトウェアに移行されたが、いまだに特定のハードウェアに頼って無線通信および接続性を可能にしている。
【００１１】
出願人は、ＳＤＲシステムが発展して専用ハードウェアへの信頼性がますます減少すると予測している。出願人の見通しでは、一般的な、拡張可能なハードウェアが多くのプロトコルをサポートするために使用され、非常に様々なプロトコルを可能にするであろう。一般的なハードウェアは、受信されたまたは送信されるデータを扱う上で大きな役割を果たすであろうＯＳ（ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ）によりサポートされる。簡素な従来の実装よりもむしろ、ＯＳ、または他の適切なソフトウェアは、帯域幅、キャリア分離、および媒体アクセス制御（それぞれ以下で検討する）の選択を含む、無線プロトコルの全ての部分を扱うことができる。
【００１２】
ハードウェアの無線またはＳＤＲの従来の実装において、新しいハードウェアは一般に、新しいプロトコルをサポートするためにコンピュータデバイスには必要である。しかしＳＤＲにおいては、出願人が想定するように、コンピュータデバイスの機能性を、例えば、選択した無線プロトコルを実装するためのソフトウェアをウェブサイトからダウンロードすることにより、または、別の例においては、無線プロトコルを実装するソフトウェアをディスクまたは他の適切なコンピュータ可読媒体からインストールすることにより、拡張することが可能である。これらの例が単なる例示であり、コンピュータデバイスによりアクセス可能なコンピュータ可読媒体にデータをコピーする任意の適切な方法を使用して、無線プロトコルを定義するソフトウェアをコンピュータ上にロードすることができることを理解されたい。一度無線プロトコルを実装するソフトウェアがユーザのコンピュータデバイス上にインストールされ、ユーザによってイネーブルにされると、コンピュータデバイスのＯＳがドライバと協働してハードウェアおよびソフトウェアを構成し、無線プロトコルに従って信号を送受信することができる。
【００１３】
出願人の理解では、ＳＤＲへの信頼性が高まるのにつれ、多数の潜在的オプションが無線通信を行うためにユーザに利用可能となる。これらのオプションのうち、あるものはユーザのコンピュータによりサポートされ、他のものはサポートされないことがある。従って、出願人の理解では、ユーザのコンピュータの能力を発見可能な機能を提供して、特定の無線プロトコルをサポートする機能を判定することが望ましい。
【００１４】
上記を考慮して、本発明の一実施形態は、ユーザのコンピュータの能力を発見し、かつ、特定の無線プロトコルがそれらの能力によりサポートされるかどうかを判定する方法を対象とする。
【００１５】
本明細書に記載される本発明の態様は、任意の多数のコンピュータシステム構成上に実装可能であり、任意の特定のタイプの構成に限定されない。図１は、本発明の態様が実装可能なコンピュータシステムの一例を例示するが、他のものも可能である。
【００１６】
図１のコンピュータシステムは、通信ネットワーク１００、無線アクセスポイント１０２、無線コンピュータデバイス１０４−１１２、および、有線コンピュータデバイス１１４、１１６を含む。通信ネットワーク１００は、２つまたはそれ以上のコンピュータ（例えば、サーバとクライアント）の間でデータ交換する任意の適切な通信媒体（単数または複数）であり、インターネットが含まれる。無線クライアントデバイスは、無線通信能力を有する任意の適切なコンピュータデバイスである。幾つかの例示のモバイルコンピュータデバイスが示され、ラップトップ１０６、携帯情報端末１０８、およびスマートフォン１１０を含む。加えて、一般にサーバ１０４およびコンピュータ端末１１２等の固定のデバイスが無線通信に対してイネーブルにされる。これらの移動型および固定のデバイスのそれぞれは、通信ネットワーク１００に接続される無線アクセスポイント１０２と無線通信の状態、または無線通信可能な状態である。この無線通信によりコンピュータデバイスは、お互いに、または、通信ネットワーク１００を介して有線デバイス１１４、１１６と、データ交換ができる。
【００１７】
上述のように、本明細書に記載される本発明の実施形態は、図１に示す例示のシステムと共に実践されることに限定されず、任意の多数の無線アクセスポイントおよび／またはコンピュータデバイスを用いるシステム上で利用される。加えて、図１は、無線アクセスポイント１０２と無線通信するコンピュータデバイスを示すが、本発明の実施形態はコンピュータデバイスがお互いに直接、アクセスポイントを介さないで通信するネットワーク内で動作することができることを理解されたい。また、図１は、有線デバイス１１４、１１６を有する通信ネットワーク１００を含むが、本発明の実施形態は、有線ネットワークを含まないシステム内で使用することも可能である。
【００１８】
図２は、本発明の１つまたは複数の実施形態に従って使用される例示のコンピュータデバイス２００を概略的に示す。図２は、コンピュータデバイスが本発明の実施形態と共に作動するのに必要な構成要素を表現することも、包括的に表現することも意図していない。コンピュータデバイス２００は、例えば、無線アクセスポイント１０２または他のデバイスと無線で通信するフロントエンド無線ハードウェア２０２を含む。デバイス２００はまた、他の（非無線の可能性もある）方法を使用してコンピュータネットワーク上で通信するネットワークアダプタ２０４、デバイスのユーザに情報を表示するディスプレイアダプタ２０６、および、ユーザからコマンドを受け取る入力アダプタ２０８を含む。デバイス２００は、プロセッサ２１０により処理されるデータおよび／または実行される命令を記憶するコンピュータ可読媒体２１２をさらに含む。プロセッサ２１０は、データの処理および命令の実行を可能にする。データおよび命令はコンピュータ可読媒体２１２に記憶することができ、また、例えば、コンピュータデバイス２００の構成要素間の通信を可能にすることができる。データおよび命令は、オペレーティングシステム２１４およびソフトウェア無線ドライバ２１６を含む。ＳＤＲドライバ２１６は、一般に、ハードウェア実装無線機内で行われる多数の機能を実行する、データおよび命令を含む。ドライバ２１６により実行される機能は、フロントエンド無線ハードウェア２０２の機能を補い、全ての所望の機能がハードウェアおよびソフトウェアの組み合わせにより実行されるようにする。
【００１９】
フロントエンド無線ハードウェア２０２は、任意の組合せの機能を実行する任意の適切な無線ハードウェアである。これらの機能は、変調（すなわち、データ信号を高周波数伝送信号にミキシングする）、フィルタリング（すなわち、受信信号からデータを解析する）、アナログデジタルまたはデジタルアナログ変換、信号発生（すなわち、データを伝送する）等を含む。フロントエンド２０２は実装されて、ハードウェアレベルで実行することが必要な要求される最低限の機能を、ＳＤＲドライバ２１６により実装される残りの機能と共に実行する。本機能はシステムと共に使用されることに限定されないが、システムがハードウェアおよびソフトウェアの責任を任意の特定の方法で決定する。フロントエンド２０２は、アンテナ、広域な電波スペクトルをスパンするプログラム可能無線周波数波形発生器／デコーダ、高速アナログデジタルコンバータのアレイ、および／またはアナログデータをコンピュータで処理可能なバイトに変換およびその逆を行うシリアライザ／デシリアライザを含む。また、１組の調節可能なアナログフィルタを利用して、指令されたスペクトルマスクに準拠させることができる。これらのハードウェアコンポーネントは、単なる例示であり、任意の特定のハードウェアを有するシステム上での使用に限定されない発明と同様である。
【００２０】
ＳＤＲドライバ２１６は、無線機能を実行することに加えて、制御命令をフロントエンド２０２の調節可能な電気回路へ伝送して、フロントエンド２０２のハードウェアを特定の無線プロトコルに従ってカスタマイズすることができる。一例として、ユーザは、電気電子技術者協会（ＩＥＥＥ）の８０２．１１ｂ規格に従う、８３ＭＨｚの帯域幅を有する通信を可能にすることを選択できる。さらなる例として、フロントエンド２０２は、２００ＫＨｚから５００ＭＨｚの範囲の構成可能な帯域幅を持つことができる。この場合、ＳＤＲドライバ２１６は、制御信号を（任意の適切な方法で）フロントエンド２０２の波形発生器へ送信して、他の特徴の中でも、フロントエンドの容量の総帯域幅６分の１（すなわち、ＩＥＥＥ８０２．１１ｂ規格により定められる８３ＭＨｚ）を有する信号を発生することができる。本発明の実施形態は、上述の所望の範囲を有する構成可能な帯域幅を持つＳＤＲと共に使用されることにも、任意の特定の技術に従ってハードウェアを構成するＳＤＲにも限定されず、それは本発明の実施形態が、ハードウェアコンポーネントを任意の適切な方法で調節するＳＤＲと共に使用可能であることを理解されたい。
【００２１】
本発明の一実施形態は、制御命令によりプログラム可能で、無線プロトコルに従って信号を生成および／または受信するプログラム可能回路（例えば、フロントドエンドハードウェア２０２およびＳＤＲドライバ２１６）を有するコンピュータデバイスと共に使用することを対象とすることを理解されたい。また、このプログラム可能回路は、任意の適切な形態をとり、直接プログラム可能な回路（例えば、プログラム可能プロセッサ）および、直接プログラム可能な回路と交信して無線プロトコルに従って通信を可能にする電気回路の任意の集まりを含むことが可能である。
【００２２】
本明細書に記載される本発明の実施形態は、図２に例示するコンピュータデバイスのタイプと共に実践されることに限定されず、本発明の実施形態が任意の適切なコンピュータデバイスと共に実践されることが可能であることを理解されたい。フロントエンド２０２およびアダプタ２０４−２０８は、任意の適切なハードウェア、ソフトウェア、またはその組合せとして実装され、かつ、単体のユニットまたは多数のユニットとして実装される。同様に、コンピュータ可読媒体２１２は、処理デバイスによるアクセスのためのデータおよび命令を記憶する、任意の媒体または媒体の組合せとして実装される。
【００２３】
上記で検討したように、本発明の一実施形態において、コンピュータデバイス２００（例えば、フロントエンド２０２およびオペレーティングシステム２１４であり、ＳＤＲドライバ２１６を含む）の能力、および、コンピュータデバイスの所定の無線プロトコルとの互換性を判定するために、能力チェックが提供される。この判定は、任意の適切な方法で行うことが可能であることを理解されたい。例示の発見技術が、本明細書に開示されるが、本発明の実施形態は、任意の特定の実装技術に限定されない。
【００２４】
図３は、種々の無線プロトコルを実装するソフトウェアをダウンロード可能な、ウェブサイトと共に使用するための、本発明の一実施形態により実装される発見技術を例示する。動作３００において、ユーザはウェブサイトからダウンロードするソフトウェアを選択する。動作３０２において、プロトコルの要件を含むファイルをコンピュータデバイスにダウンロードする。このファイルは、コンピュータデバイスがプロトコルをサポートするかどうかを判定するのに必要な最低限の要件を記載する情報を含む。動作３０４において、要件は、オペレーティングシステム２１４の能力に対して比較される。ＯＳの能力は、比較の時に検出されるか、または事前に検出されて後の比較のために記憶される。ＯＳの例示の要件は、以下で検討される。動作３０６において、能力チェックツールは、ＯＳがプロトコルの要件を満たしているかどうかを判定する。満たしていない場合、動作３０８において、デバイスが選択されたプロトコルをサポートしないことを、ユーザに通知するメッセージを表示し、ツールは処理を終了する。このとき、ユーザは動作３００において、別のプロトコルをウェブサイトから選択することによって処理を再スタートすることができる。
【００２５】
動作３０６において、ＯＳの要件が満たされていると判定される場合、処理は動作３１０に進み、そこにおいて無線プロトコルの要件がフロントエンド２０２の能力と比較される。フロントエンドの能力は、比較の時に検出されるか、または事前に検出されて後の比較のために記憶される。任意の適切な技術が、ハードウェアの能力を検出するために使用される。例えば、プラグ・アンド・プレイは、オペレーティングシステムによるハードウェアの問合せのための、一般的な従来のサービスで、ハードウェアおよびその特徴を識別するものであり、例示の技術であるが、これは単なる例示であり他の技術が可能である。ハードウェアのベンダは、発見される能力を認識させられ、インターフェースを作成して任意の適切な方法でハードウェアの能力についての情報を提供する。ハードウェアの例示の要件は以下で検討する。
【００２６】
動作３１２において、処理は、プロトコルの要件がフロントエンド２０２により満たされるかどうかを判定する。満たされない場合は、ツールは動作３０８に進み、そこにおいて、デバイスが選択されたプロトコルをサポートしないことを、ユーザに通知するメッセージを表示し、ツールは処理を終了する。
【００２７】
要件が満たされる場合、処理は動作３１４に進み、そこにおいて、無線プロトコルを実装するソフトウェアの残りがコンピュータデバイスにダウンロードされる。ソフトウェアの残りを含む情報は、異なる本発明の実施形態と異なる無線プロトコルとの間で変化する。ある例では、情報はユーザ名、パスワード、およびサービス設定の品質を含む。ダウンロードされた情報は、任意の特定の情報に限定されず、無線プロトコルに従って通信する際にデバイスが使用することができる任意の情報である。
【００２８】
代替の実施形態において、動作３１４において追加の情報をダウンロードするよりもむしろ、処理は、選択されたプロトコルがユーザのシステムによりサポートされることを確認するメッセージを、単にユーザに表示することができる。
【００２９】
図３の実施形態において、能力チェックは、１つまたは複数の無線プロトコルを実装するソフトウェアを格納する媒体（単数または複数）から、特定のプロトコルがインストールのために選択されるのに応答して起動される。能力チェック処理は、この点において限定されず、システムの能力を他の事象に応答して検出することが可能である。例えば、ユーザは、インストールするために選択しなくとも、プロトコルがサポートされるかどうかを知りたいであろう。更なる例において、ユーザは、複数のプロトコルのうちのどれがコンピュータデバイスによりサポートされるのかを知りたいであろう。
【００３０】
能力チェックが、ソフトウェアをインストールする要求に応答して起動され、ＳＤＲをイネーブルにし、プロトコルを使用して無線で通信する実施形態では、ローカルおよび／またはリモートのアクセスのための情報を記憶する任意の適切な技術が、実装される。一実施形態において、ユーザはプロトコルイネーブルソフトウェアを自分のコンピュータデバイスにダウンロードするために、ウェブサイトにアクセスするであろう。本実施形態の例示のウェブサイトは、利用可能なプロトコルのリストおよびイネーブルソフトウェア（例えば、賃貸または販売用、またはフリーのソフトウェア）だけでなく、プロトコルの一般使用およびプロトコルが一般的に使用される地理的な位置も記憶する、データストアを含むものである。
【００３１】
使用および位置の情報を提示するウェブサイトの使用例をあげると、ある国（例えば、アメリカ合衆国）のユーザが、別の国（例えば、中国）への出張の準備をしており、コンピュータデバイスを介して出張中にインターネットに無線アクセスをすることが好都合であることが分かっている。ユーザは、コンピュータデバイスを使用してウェブサイトにアクセスすることができ、任意の適切なユーザインターフェースを介して自分（彼または彼女）が中国を旅行すること、およびインターネットに無線アクセスしたいということを、示すことができる。そしてウェブサイトは、中国において実装される利用可能なプロトコルのリストを返す。可能なプロトコルの例は、無線広域ネットワークアクセスのためのセルラーネットワークプロトコル、およびユーザが滞在するようなホテルで使用される、一般の無線ローカルエリアネットワークプロトコルを含む。そしてユーザは、プロトコルを選択し、ソフトウェアをインストールしてコンピュータデバイスを（ＳＤＲ技術を使用して）構成し、そのプロトコルに従って通信できるようにしようとする。種々のインストール形態が可能である。例えば、ユーザは、一定期間（旅行の間）プロトコルの使用を賃貸する、もしくはソフトウェアの無制限使用を購入することができ、またはウェブサイトは、購入用よりもむしろ、フリーの無制限使用のソフトウェアを提示することができる。
【００３２】
選択に応答して、本明細書に記載される技術を稼動させて、容量デバイスが選択されたプロトコルをサポートすることができるかどうかを確認することが可能である。デバイスが対応可能でない場合に、ユーザは、プロトコルの使用を必要とする前（例えば、中国に到着する前、およびインターネットにアクセスしようとする前）に、確かめることが可能であるので、そのような処理はユーザによって有効である。互換性情報を持っているため、ユーザは、例えば所望のプロトコルをサポートすることができるであろう別のデバイスを入手することによって、計画を立てることが可能である。
【００３３】
図３の実施形態における、ウェブサイトを使用して、ＳＤＲをプログラムするソフトウェアをダウンロードし、無線プロトコルをサポートする技術は、新しい無線プロトコル能力をコンピュータデバイス上にインストールするための、単なる例示の技術であることを理解されたい。任意の適切な技術が、実装される。一実施形態において、ユーザは、コンピュータ実行可能命令を記憶するＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）またはＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）等のコンピュータ可読媒体にアクセスするが、このコンピュータ実行可能命令は、同様にディスク上に記憶される１つまたは複数の無線プロトコルを実装するソフトウェアにアクセスするための選択処理を介して、ユーザを導くためのものである。代替の実施形態において、プロトコルを実装するソフトウェアをリストまたはデータベースから選択するよりむしろ、特定のプロトコルを実装するソフトウェアは、ユーザに対してコンピュータ可読媒体上に提供され、能力チェックツールに直接入力され、コンピュータデバイス（例えば、ユーザのＯＳおよび／またはフロントエンド）によりサポートされることを確認する。
【００３４】
図３の実施形態における動作のシーケンスは、単なる例示であり、他のシーケンスが可能であることを理解されたい。例えば、ＯＳ能力を最初に検査するよりもむしろ、フロントエンド能力を最初に検査しても良い。他の代替形態が可能である。例えば、一実施形態において、無線プロトコルの要件のみを要約する予備ファイルをダウンロードするよりもむしろ、ＳＤＲをデバイス上に構成してプロトコルに従って通信するためのソフトウェアを、代替の動作３０２においてダウンロードすることが可能であろう。この実施形態は、従って、図３の例示の実施形態の動作３１４に対応する動作を実行しなくても良い。
【００３５】
本発明の能力チェックの態様は、検査されているユーザのコンピュータデバイス上で稼動することに限定されないことを理解されたい。プロトコルの要件をクライアントデバイスの能力と比較するための任意の適切な技術が、実装される。一実施形態において、能力チェックツールは、上述したようなウェブサイトを含むウェブサーバ上で実行する。例えば、コンピュータデバイスのＯＳ能力およびフロントエンド能力は、ローカルの比較のためにファイルをダウンロードする代わりに、リモートの比較のためにサーバへアップロードされる。
【００３６】
図４は、本発明の一実施形態に従って、システム能力およびプロトコルの要件のリモートの比較を実行するための処理を例示する。動作４００において、ユーザは、ＳＤＲウェブサイト（例えば、上述したタイプのうちの１つ）にアクセスする。動作４０２において、コンピュータシステム（例えば、ＯＳおよびフロントエンド）の能力が、サーバへ比較のために伝送される。これは任意の適切な方法で行われる。例として、ユーザは、ＯＳおよび／またはフロントエンドの能力に関して、コンピュータにより（例えば、オペレーティングシステムにより）コンパイルされたデータを含むファイル（単数または複数）をアップロードすることができ、または、ウェブサイトは、コンピュータプログラムをコンピュータデバイス上で実行して、そのようなファイル（単数または複数）をサーバに送信することができる。一実施形態において、ウェブサイトによりコンピュータデバイスで実行されるコンピュータプログラムは、ファイル（単数または複数）をサーバに送信する前にＯＳ２１４およびフロントエンド２０２にクエリを行うことにより、ファイルを含む情報を集める。代替の実施形態において、コンピュータデバイスは、ファイルを別のコンピュータデバイスの能力を含むサーバに伝送して、この別のコンピュータデバイスの無線プロトコルとの互換性を判定することができる。
【００３７】
動作４０４において、プロトコルの要件は、ユーザのオペレーティングシステムの能力に対して比較される。動作４０６において、処理はプロトコルの要件が満たされるかどうかを判定する。要件が満たされない場合、動作４０８において、プロトコルは、サポートされないと判定される。図３に例示する処理と同様に、動作４０８は、プロトコルがサポートされないことを示すメッセージをユーザに表示することを含む。しかし、処理が、プロトコルはオペレーティングシステムによりサポートされると判定する場合は、処理は動作４１０に進み、そこにおいてプロトコルの要件がフロントエンドハードウェアの能力と比較される。動作４１２において、処理は、要件がフロントエンドにより満たされるかどうかを判定し、満たされない場合は、処理は動作４０８に進み、そこにおいて、上述のように、プロトコルがサポートされないことを示すメッセージがユーザに提示される。動作４１０において、要件がフロントエンドにより満たされると判定される場合、処理は動作４１４に進み、そこにおいてプロトコルはサポートされると認定される。動作４１４は、プロトコルがサポートされることを示すユーザへのメッセージを含み、ユーザのコンピュータデバイスに、ＳＤＲをコンピュータ上にプログラムするソフトウェアをダウンロードして無線プロトコルまたは任意の他の適切な識別をサポートすることを含む。
【００３８】
図４に例示する例示の処理は、無線プロトコルを選択するための任意の適切な技術と共に使用され、この点においては限定されない。図３の処理と同様に、図４の処理は、ユーザがプロトコルをウェブサイトから選択することによって起動され、そしてプロトコルの要件はサーバ上においてアップロードされた能力ファイル（単数または複数）と比較される。代替の実施形態において、コンピュータデバイスの能力がアップロードされると、サーバは、選択処理を実行することができ、これによりサーバのプロトコルのデータベース内の各プロトコルが能力ファイルと比較され、コンピュータデバイスによりサポートされるプロトコルはどれが利用可能なのかを判定する（例えば、プロトコルを、サポートされるプロトコルのホワイトリストに追加する、またはサポートされないプロトコルのブラックリストに追加する）。そしてユーザは、所望のプロトコル（単数または複数）の情報を調べ、ソフトウェアをダウンロードして任意のサポートされるプロトコルに従って通信を可能にすることができる。一実施形態において、利用可能なプロトコルは、プロトコルの意図される使用および／または位置により、上述したものと全く同様の方法で、さらに削減される。
【００３９】
図４に例示する実施形態において、ウェブサイトおよびウェブサーバの使用は単なる例示であり、任意の技術がクライアントとサーバとの間で情報を交換するために使用されることを理解されたい。代替の実施形態は、ウェブサイトまたはウェブサーバを全く使用せず、むしろ、ユーザはソフトウェアをコンピュータデバイス上でローカルに稼動させて、上述のウェブサイトの機能を実行する。このソフトウェアは、システムの能力をサーバへ任意の適切な技術（例えば、ブラウザおよびウェブサーバの使用とは異なる）を介して伝送するが、この技術により、上述の比較を実行し、サポートされるプロトコルを識別する情報を逆にコンピュータデバイスに伝送し、検索されるプロトコル（単数または複数）を実装するソフトウェアをユーザが選択できるようにする。
【００４０】
加えて、図４に例示する実施形態における動作のシーケンスは、単なる例示であり、他のシーケンスが可能であることを理解されたい。例えば、ＯＳ能力を最初に検査するよりもむしろ、フロントエンド能力を最初に検査しても良い。また、本発明のいくつかの実施形態においては、全ての構成要素ではなく、ＯＳまたはフロントエンドハードウェア（または他の構成要素）のみを、互換性について処理により検査される。
【００４１】
図３および４の例示の処理は、任意の適切な方法で実装することが可能である。例えば、クライアントコンピュータデバイスとサーバとの間のデータ交換を行う本発明の実施形態は、そのデータ交換を実行する任意の特定の技術に限定されない。一例示実施形態において、データ転送はＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）を使用して行われる。ＸＭＬのタグシステムを使用して、何のデータがその中に記憶されているかを示すタグによってデータを封入することが可能であり、受信機が、受信している何らかのデータを処理してそれをさらにどのように処理すべきかを判定することを可能にする。このように、一実施形態において、プロトコルの要件は、クライアントコンピュータデバイスとサーバ間での転送のためにＸＭＬファイルにエンコードされる。一実施形態に従って、図３の動作３１４に関して検討したような、ソフトウェアがデバイスを構成して要求されるプロトコルを実行するのに必要な任意の残りの情報は、同様にＸＭＬファイルにエンコードされる。プロトコルの要件およびシステム能力のそれぞれは、１つのファイルの代わりに多数のファイル内で交換される。多数のファイルを使用する実施形態は、任意の特定の区分に限定されないが、一例示の区分は、ソフトウェア対ハードウェアの要件／能力間の区分である。
【００４２】
本発明は、ソフトウェア（例えば、オペレーティングシステム２１４およびＳＤＲドライバ２１６）とフロントエンドハードウェア２０２との間の機能の任意の特定の区分を使用するＳＤＲシステムと共に使用することに限定されない。上述のように、フロントエンドは最低限の無線機能を実行し、また大部分の機能がソフトウェアで行われるが、本発明の実施形態は、例示の区分を使用するシステムの能力を検査することに限定されない。
【００４３】
本発明の一実施形態において、特定のプロトコルに従って別のデバイスと接続、かつ通信することが必要なコンピュータシステムの、任意のパラメータの能力が検査される。本発明は、任意の特定のセットまたはプロトコルパラメータのサブセットを検査することに限定されないことを理解されたい。例として、一実施形態において、能力チェックツールは、１つまたは複数の（任意の組合せを含む）以下のこれらの例示の領域内の、サポートされる最低の、最大の、および他の所望の特徴を検査する。
−全帯域幅
−キャリア分離の粒度（細分性、ｇｒａｎｕｌａｒｉｔｙ）
−周波数境界
−中心周波数の粒度
−発生させる信号の粒度
−サンプリングレート
−サンプルあたりのビット数
−等価等方放射電力（ＥＩＲＰ）
−誤り制御符号化
−フィルタリングの粒度
−フィルタリングのタイプ（例えば、アナログフィルタリング、デジタルフィルタリング
−暗号化／復号能力（例えば、有効な鍵長）
−媒体アクセス制御（ＭＡＣ）
【００４４】
一実施形態において、処理はこれらの能力の全てを検査することができるが、全ての場合においてこれらの能力の全てを検査する必要はなく、代替の実施形態では、これらの任意の組合せを検査することができる。しかし、このリストは単なる例示であり、本発明の実施形態は他の能力を検査することができることを理解されたい。検査される他の例示の能力には、オペレーティングシステムによるＳＤＲの一般的サポート（すなわち、ドライバまたはハードウェアが利用可能であるかどうか）、コンピュータデバイス上にインストールされるオペレーティングシステムのバージョンによって特定してサポートされる（またはサポートされない）プロトコルのオペレーティングシステムにより維持されるホワイトリスト（またはブラックリスト）内に、特定のプロトコルがあるかどうか（すなわち、ＯＳの製造業者が、特定のパッチまたはＯＳのアップデート版をダウンロードしていないユーザに対して、特定のプロトコルを明確に許可していないかどうか）、または、選択したプロトコルを実装するソフトウェアが既にコンピュータデバイス上にインストールされているかどうか、が含まれる。これらのパラメータのそれぞれが、ＯＳ２１４、フロントエンド２０２、またはこの両方の能力を調べることを含むことを理解されたい。例えば、本発明の一実施形態において、ＯＳは、ＭＡＣの機能性が検査され、フロントエンドはＥＩＲＰのレベルが検査される。しかし両者は、最大および最低の周波数レベルが検査される。例えば、あるＳＤＲは実装され、ＯＳが信号を所望の周波数に変調し、それをフロントエンドに渡して送信させるようにすることができる。そのような実装において、ＯＳは、所定の周波数に変調する能力がなければならず、フロントエンドは所定の周波数を生成する能力がなければならない。
【００４５】
一実施形態において、コンピュータデバイス能力を検査するとき、プロトコルを実装するソフトウェアは、検査するパラメータを要求することができ、−このパラメータは、システムが検査することが可能なものより少ないことがある−、処理は、これらのパラメータを互換性について検査するだけで良い。例として、ユーザはソフトウェアをダウンロードすることを選択して、ＩＥＥＥ８０２．１１ｂ無線規格を実装することができ、能力チェックは、８０２．１１ｂを実装するために要求される能力として、表１の要素を受け取ることができる。
【００４６】
【表１】
0005391075.tif 000002
【００４７】
一実施形態において、システムが他の能力を検査することが可能である場合でさえ、受け取り、表Ｉに示す要件により要求される能力のみが、検査される（そして、他のプロトコルを検査するときに、他の能力を検査する）。それに応じて、コンピュータデバイスを調べることが可能であり（例えば、ＯＳおよびフロントエンド）、（一例示の構成において）表ＩＩに示す能力を、検出することが可能である。
【００４８】
【表２】
0005391075.tif 000003
【００４９】
表の数値を比較すると分かるように、表Ｉの全ての要件が、表ＩＩの能力により満たされる。従って、例示のコンピュータデバイスは、受け取る要件に従ってＩＥＥＥ８０２．１１ｂをサポートすることが可能であろうと、判定される。
【００５０】
本発明の一実施形態において、プロトコルのオプション機能（例えば、８０２．１１ｂ）を検査せず、それらがコンピュータデバイスによりサポートされるかどうか（例えば、暗号化）を決定することができる。代替として、オプション機能はまた、互換性を判定するときに考慮される。さらなるオプションとして、処理は、最低限の要件がサポートされるかどうかの報告、およびコンピュータデバイスによりサポートされるまたはされないオプション機能のリストをユーザに提供することが可能である。
【００５１】
本発明は、表またはリストに含まれる値を比較することにも、要件と能力を任意の他の方法で比較することにも限定されないことを理解されたい。上記で検討したように、要件がコンピュータデバイスによって満たされるかどうかを判定する任意の適切な方法が実装される。
【００５２】
代替の実施形態において、コンピュータデバイスの能力の判定が、１つまたは複数の要求される能力のリストを評価することによるのではなく、コンピュータデバイスをテストしてその能力を判定することによってなされる。図５は、本実施形態を実装するための例示の処理である。
【００５３】
動作５００において、ユーザはプロトコルを選択するが、このためのイネーブルソフトウェアはウェブサイトからダウンロードする。上述の実施形態と同様に、これは任意の適切な方法で行うことができ、ウェブサイトの使用は単なる例示である。動作５０２において、コンピュータデバイスは、選択したプロトコルを実装するソフトウェアをウェブサイトからダウンロードして、それをインストールする（例えば、ＯＳ２１４およびＳＤＲドライバ２１６と共に使用するために）。動作５０４において、能力チェック処理が、プロトコルに従って試験信号を生成することを試みることによって（例えば、特定の周波数帯域内で）、プロトコルに対するサポートの判定を開始する。任意の適切なタイプの試験信号を使用することができる。一実施形態において、試験信号を低電力（例えば、特定のノイズ閾値よりも下で）で生成することができるが、テストには信号の検出が含まれなくても良いからである。この点で、テストは、プロトコルを満たす信号の（例えば、周波数範囲内で）送信を試みる、かつ、システムがその要求を満たすことが可能であるかどうか、または任意の構成要素が要求を満たすことが可能でないことを示すエラーを戻すかどうか、を確認する、ソフトウェアを含みえる。別の実施形態において、能力チェックツールは、全信号を発生させ、別のデバイス（例えば、無線アクセスポイント１０２）への接続を試みることができる。
【００５４】
動作５０６において、能力チェックツールは、テストが成功したかどうかを判定する。この判定は、実行されるテストのタイプに依存する。例えば、この判定は、ハードウェアまたはソフトウェアからのエラー信号を検査することを含み、または別のデバイスとの通信が確立されたかどうかを確認することを含む。
【００５５】
動作５０６の判定によって、能力チェックツールは、動作５０８において、プロトコルがサポートされないことを示すメッセージを表示する、または動作５１０において、コンピュータデバイス上で通信用のプロトコルをイネーブルにすることができる。一実施形態において、成功したテストの判定によりまた、結果としてユーザに対してテストの成功を示すメッセージが表示される。
【００５６】
コンピュータデバイスをテストしてそれがプロトコルをサポートすることが可能であるかどうかを検出する他の適切な技術が、実装される。例えば、コンピュータデバイスは、内部にソフトウェアがロードされ、テストが行われてプロトコルに従って送信される信号をコンピュータデバイスが受信可能かどうかを確認することができる。そして、能力チェックは、上記のようなデバイスの構成要素からのエラーコードを待つことができ、または、無線アクセスポイント１０２または別のコンピュータデバイスからの、制御／ビーコン信号またはデータ信号の検出を待つことができる。
【００５７】
単一試験信号よりはむしろ多重試験信号が生成されることを理解されたい。一実施形態において、異なる試験信号が、無線プロトコルにより要求される最低値または最大値を有する各パラメータに対して生成される。本実施形態において、試験信号は、電力要件、帯域幅要件、データレート要件、周波数要件等のそれぞれに対して発生させることが可能である。別の実施形態において、能力チェックツールは、各要件に対してさまざまな信号を生成する。例えば、プロトコルにより、コンピュータデバイスが１．０ＧＨｚから３．０ＧＨｚの間の周波数をサポートすることが要求される場合、能力チェックツールは、１．０ＧＨｚまたはそれ以下の値から３．０ＧＨｚまたはそれ以上の値の間の信号を生成することができる。このように、能力チェックツールは、単にコンピュータデバイスがプロトコルの極値をサポートするかどうかよりも、コンピュータデバイスの能力についてのより多くの情報を集めることができる。本発明の実施形態に従って、特定の試験信号がテストに失敗した場合、能力チェックツールは、コンピュータデバイスがプロトコルをサポートできないと判定するか、またはプロトコルがデバイス上で特定のレベルで作動しないと判定する。
【００５８】
幾つかのプロトコルは、最低限の要件だけでなく、「推奨要件」も有することを理解されたい。上記の例を使用して、プロトコルは、最高の性能遂行のために１．０ＧＨｚから３．０ＧＨｚの間の通信周波数を指定することができるが、また、プロトコルが低スピードで、例えば、１．５ＧＨｚから２．５ＧＨｚの間の周波数で作動するように指定することもできる。本発明の一実施形態において、それぞれ図３、４および５の動作３１４、４１４および５１０は、選択したプロトコルがコンピュータデバイス上で稼動するが、一定のレベルの性能ではないことを示すメッセージを、ユーザに表示することを含む。
【００５９】
出願人も理解していることであるが、特定のプロトコルを選択することは、単にデバイスがプロトコルの最低限の要件をおよび推奨要件を満たすかどうかを判定すること以上のことを含む。例えば、プロトコルの意図される使用は、検討事項であろう。通信ネットワークに対する異なる使用により、それらのネットワークへの要求は大きく異なる。例えば、プロトコルは、最低のまたは推奨される帯域幅８３ＭＨｚを要求して、標準の条件下でコンピュータデバイス上で稼動する（例えば、単純なテキストベースのメッセージをデバイスとウェブサーバとの間で交換する）ことができるが、帯域幅１００ＭＨｚを要求して、大量の時間的制約のあるデータ（例えば、オーディオまたはビデオのストリーミング）を転送するときには効果的に稼動することができる。本発明の一実施形態において、ユーザは追加の情報（例えば、意図される使用）のためにプロンプトされるか、または追加の情報（例えば、コンピュータデバイスの能力が与えられた推奨される使用）を提示されて、プロトコルがサポートされるかどうかに関する以上の情報をユーザに提供するが、ユーザの意図される目的に対してプロトコルがコンピュータデバイス上での使用に適切に適合するかどうかに関する情報も提供する。
【００６０】
図６は、本発明の実施形態に従って使用される一例示のコンピュータデバイス６００を概略的に例示する。コンピュータデバイス６００は、プログラム可能回路６０２、コンピュータ可読媒体６０４、および検証モジュール６０６を含む。プログラム可能回路６０２は、制御命令によりプログラム可能で、無線プロトコルに従って信号を生成および／または受信することができる。このプログラム可能回路は、任意の適切な形態をとり、その例は上述したものであり（例えば、フロントドエンドハードウェア２０２およびＳＤＲドライバ２１６）、直接プログラム可能な回路（例えば、プログラム可能プロセッサ）および、直接プログラム可能な回路と対話して無線プロトコルに従って通信を可能にする電気回路を任意に収集したものを含むことが可能である。コンピュータ可読媒体６０４は、１つまたは複数の任意のタイプの記憶媒体を含み、ソフトウェア無線を実装および／または構成するための命令を含むデータを記憶することができる。例えば、コンピュータ可読媒体６０４は、プログラム可能回路６０２をプログラムする制御命令を記憶することができる。
【００６１】
検証モジュール６０６は、ソフトウェア無線（例えば、フロントエンド２０２、ＯＳ２１４、およびＳＤＲドライバ２１６または任意の他の適切な方法を含む構成要素により実装される）が、特定の無線プロトコルに従って通信可能であるかどうかを判定する。この判定は、図３、４および５と共に上記で検討した任意の例示の技術を使用して、または、本発明の実施形態が任意の適切な方法でこの判定を行うことができるような、任意の他の技術を使用して、行われる。図６は、検証モジュール６０６をコンピュータ可読媒体６０４およびプログラム可能回路６０２とは別個のものとして例示するが、ソフトウェア（例えば、コンピュータ可読媒体６０４上に符号化される）、ハードウェア（例えば、プログラム可能回路６０２の一部または全てを含む）、またはこれらの任意の組合せを使用することを含む、任意の適切な方法で、検証モジュール６０６が実装されることをも理解されたい。
【００６２】
上述の本発明の実施形態は、多数の方法のうち任意の方法で実装することが可能である。例えば、実施形態は、ハードウェア、ソフトウェア、またはその組合せを使用して実装される。ソフトウェアに実装されるとき、ソフトウェアのコードは、単一のコンピュータに提供されようが、多数のコンピュータに分散されようが、任意の適切なプロセッサまたはプロセッサを収集したもので実行される。
【００６３】
さらに、コンピュータまたは端末は、ラックマウント式のコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、またはタブレットコンピュータ等の多数の形式のうちの任意のもので具現化されることを理解されたい。加えて、コンピュータまたは端末は、携帯情報端末（ＰＤＡ）、スマートフォン、または任意の他の携帯用または固定の電子デバイスを含む、一般的にはコンピュータとは見なされないが適切な処理能力を有するデバイスに埋め込まれる。
【００６４】
また、コンピュータは、１つまたは複数の入力および出力デバイスを有する。これらのデバイスを使用して、とりわけユーザインターフェースを提示する。ユーザインターフェースを提供するのに使用可能な出力デバイスの例には、出力の視覚的表現のためのプリンタまたはディスプレイスクリーン、および、出力の聴覚的表現のためのスピーカまたは他の音声生成デバイスが含まれる。ユーザインターフェースに使用可能な入力デバイスの例には、キーボード、ならびに、マウス、タッチパッド、デジタイジングテーブル（ｄｉｇｉｔｉｚｉｎｇ  ｔａｂｌｅ）等のポインティングデバイスが含まれる。別の例として、コンピュータは、音声認識を介してまたは他の可聴フォーマットで入力情報を受信する。
【００６５】
そのようなコンピュータは、企業ネットワークまたはインターネット等のローカルエリアネットワークまたはワイドエリアネットワークを含む、任意の適切な形式の、１つまたは複数のネットワークにより相互接続される。そのようなネットワークは、任意の適切な技術に基づき、任意の適切なプロトコルに従って作動し、無線ネットワーク、有線ネットワーク、または光ファイバネットワークを含む。
【００６６】
また、本明細書に概説される種々の方法または処理は、様々なオペレーティングシステムまたはプラットフォームの任意の一つを使用する１つまたは複数のプロセッサ上で実行可能なソフトウェアとして符号化される。加えて、そのようなソフトウェアは、多数の適切なプロブラミング言語および／または従来のプログラミングツールまたはスクリプトツールのうちの任意のものを使用して記述することができ、また、フレームワークまたはバーチャルマシン上で実行される実行可能機械語コードまたは中間コードとしてコンパイルすることができる。
【００６７】
この点において、１つまたは複数のコンピュータまたは他のプロセッサ上で実行されるとき、上記で検討した種々の本発明の実施形態を実装する方法を実行する、１つまたは複数のプログラムが符号化される、コンピュータ可読媒体（または多数のコンピュータ可読媒体）（例えば、コンピュータメモリ、１つまたは複数のフロッピー（登録商標）ディスク、コンパクトディスク、光ディスク、磁気テープ、フラッシュメモリ、フィールドプログラマブルゲートアレイの回路構成、または他の半導体デバイス等）として、本発明は具現化される。コンピュータ可読媒体（単数または複数）は、可搬型で、記憶されるプログラム（単数または複数）を１つまたは複数の異なるコンピュータまたは他のプロセッサにロードして、上記で検討したように本発明の種々の態様を実装することを可能にする。
【００６８】
用語「プログラム」または「ソフトウェア」は、本明細書においては一般的な意味で使用され、コンピュータまたは他のプロセッサをプログラムして上記で検討したように本発明の種々の態様の実装に使用可能な、任意のタイプのコンピュータコードまたはコンピュータ実行可能命令のセットを意味する。加えて、本実施形態の一態様に従って、実行されるときに本発明の方法を実行する１つまたは複数のコンピュータプログラムは、単一のコンピュータまたはプロセッサに存在する必要はなく、多数の異なるコンピュータまたはプロセッサの中にモジュール方式で分散させて本発明の種々の態様を実装することができることを理解されたい。
【００６９】
コンピュータ実行可能命令は、プログラムモジュール等の多くの形式で、１つまたは複数のコンピュータまたは他のデバイスにより実行される。一般的に、プログラムモジュールは、特定のタスクを実行し、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、等を含む。典型的には、プログラムモジュールの機能性は、種々の実施形態において所望の通りに組合せられまたは分散される。
【００７０】
本発明の種々の態様は、単一で、組み合わせて、または上記に記載した実施形態では具体的には検討されない様々な配置で使用することができ、従ってそのアプリケーションにおいては、上記の記載または図面の例示で示される構成要素の詳細および配置に限定されない。例えば、一実施形態に記載される態様を、他の実施形態に記載される態様と任意の方法で組み合わせて良い。
【００７１】
特許請求の範囲で請求項の要素を修飾する「第１の」、「第２の」、「第３の」等の序数の用語の使用は、それだけで任意の優先度、優先権、または、ある請求項の要素が別のものより上位にあるという順番、もしくは方法の動作が実行される時間的順序、を暗示するものではなく、特定の名前を有するあるクレームの要素を、同じ名前（序数の用語の使用以外）を有する別のクレームの要素と区別するための単なるラベルとして使用されて、請求項の要素を区別する。
【００７２】
また、本明細書で使用される表現および専門用語は、記載の目的のものであり、制限するものと見なすべきではない。「含む」、「から成る」、または「有する」「含有する」「伴う」およびその変形の使用は、本明細書において、その後に続いて記載される項目およびその等価物、また追加の項目を包含することを意味する。
【００７３】
本発明の少なくとも１つの実施形態の幾つかの態様を記載したが、種々の変更、修正、および改良が、当業者には容易に思いつくであろうことを理解されたい。そのような変更、修正および改良は、本開示の一部であることが意図され、本発明の精神および範囲内であることが意図される。従って、上記の記載および図面は、例のみの目的のものである。
【図１】
0005391075.tif 000004
【図２】
0005391075.tif 000005
【図３】
0005391075.tif 000006
【図４】
0005391075.tif 000007
【図５】
0005391075.tif 000008
【図６】
0005391075.tif 000009