(57)【要約】【課題】ソフトウェア定義無線機（「ＳＤＲ」）をモジュール的に構成するネットワーク・サービスを開示するシステムおよび方法を提供する。【解決手段】サーバ・システムは、ＳＤＲカーネルをクライアント・システムに提供する。クライアント・システムは、ここに開示する種々の手段を通じて、所望のＳＤＲカーネルを選択することができる。一部のＳＤＲカーネルは無料で無制限に使用するために提供することができるが、他のＳＤＲカーネルは、購入または申し込み、加えて、ディジタル権利管理（「ＤＲＭ」）ポリシによって制約を受ける可能性もある。同意した支払い条件およびその他のあらゆる制約に基づいて、カスタム化した１組のＤＲＭポリシを、サーバ・システムによってＳＤＲカーネルに適用した後、それをクライアント・システムに送る。加えて、サーバ・システムは、所与のロカリティに適用可能な記述または政府規制を規定することもできる。【選択図】図１
2009510634.tif 000002
【特許請求の範囲】
【請求項１】
ＳＤＲカーネルの分配方法であって、サーバ・システムの制御の下において、
（ａ）無線規格識別子のリストをクライアント・システムに送るアクトと、
（ｂ）選択された無線規格識別子を前記クライアント・システムから受けるアクトであって、前記無線規格識別子が特定の無線規格を識別する、アクトと、
（ｃ）ＳＤＲカーネル識別子のリストを前記クライアント・システムに送るアクトであって、各ＳＤＲカーネル識別子がＳＤＲカーネルを識別し、該ＳＤＲカーネルは、前記選択された無線規格識別子によって識別した前記特定の無線規格を実施するためのＳＤＲカーネル・コンポーネントを記述する、アクトと、
（ｄ）選択されたＳＤＲカーネル・識別子を前記クライアント・システムから受けるアクトと、
（ｅ）前記選択されたＳＤＲカーネル識別子によって識別された前記ＳＤＲカーネルを、前記クライアント・システムに送るアクトと、
を備えている、方法。
【請求項２】
請求項１記載の方法であって、更に、サーバ・システムの制御の下において、
（ｆ）前記クライアント・システムからユーザ認証情報を受けるアクトと、
（ｇ）前記ユーザ認証情報が、登録ユーザの認証情報と一致するか否か判断するアクトと、
（ｈ）アクト（ｇ）における否定判断に応答して、前記クライアント・システムのユーザに登録をするように指令するアクトと、
を備えている、方法。
【請求項３】
請求項１記載の方法であって、更に、サーバ・システムの制御の下において、
（ｉ）前記クライアント・システムにロカリティ識別子のリストを送るアクトと、
（ｊ）選択されたロカリティ識別子を前記クライアント・システムから受けるステップであって、前記ロカリティ識別子が特定のロカリティを識別する、アクトと、
を備えており、アクト（ａ）において前記クライアント・システムに送った無線規格識別子のリストは、実質的に、前記選択されたロカリティ識別子によって識別される前記特定のロカリティにおいて用いられる無線規格を識別する無線規格識別子のみを備えている、方法。
【請求項４】
請求項３記載の方法であって、更に、
（ｋ）前記クライアント・システムに規制データを送るアクトであって、該規制データが、アクト（ｊ）の前記選択されたロカリティ識別子によって識別される前記特定のロカリティについての規制の記述を含む、アクトを備えている、方法。
【請求項５】
請求項１記載の方法において、アクト（ｃ）において送られるＳＤＲカーネル識別子のリストの中で、各ＳＤＲカーネル識別子と共に、価格設定および発行者情報を送る、方法。
【請求項６】
請求項１記載の方法であって、更に、サーバ・システムの制御の下において、
（ｌ）前記クライアント・システムに支払い選択肢のリストを送るアクトと、
（ｍ）選択された支払い選択肢を前記クライアント・システムから受けるアクトと、
（ｎ）請求書を発行するアカウントについてのアカウント情報を入手するアクトと、
（ｏ）アクト（ｍ）の前記選択された支払い選択肢にしたがって、アクト（ｎ）の前記アカウントから支払いを徴収するアクトと、
を備えている、方法。
【請求項７】
請求項６記載の方法において、前記アカウント情報は、前記クライアント・システムからそれを受けることによって入手する、方法。
【請求項８】
請求項６記載の方法において、前記アカウント情報は、データベースからそれを検索することによって入手する、方法。
【請求項９】
請求項６記載の方法において、前記支払い選択肢は、前記選択されたＳＤＲカーネル識別子によって識別される前記ＳＤＲカーネルの有限使用期間に対して固定料金を支払うことを含む、方法。
【請求項１０】
請求項６記載の方法において、前記支払い選択肢は、前記選択されたＳＤＲカーネル識別子によって識別される前記ＳＤＲカーネルの使用に対して月極料金を支払うことを含む、方法。
【請求項１１】
請求項６記載の方法において、前記支払い選択肢は、前記選択されたＳＤＲカーネル識別子によって識別される前記ＳＤＲカーネルの無限使用期間に対して固定料金を支払うことを含む、方法。
【請求項１２】
請求項６記載の方法であって、更に、サーバ・システムの制御の下において、
（ｐ）ディジタル権利管理（「ＤＲＭ」）コンポーネントを用いて暗号化することによって、前記選択されたＳＤＲカーネル識別子によって識別される前記ＳＤＲカーネルの安全性を確保するアクトと、
（ｑ）アクト（ｐ）の前記ＳＤＲカーネルにＤＲＭポリシを追加するアクトであって、部分的に、アクト（ｍ）の前記選択された支払い識別子の条件を施行するために前記ＤＲＭポリシが発生される、アクトと、
を備えている、方法。
【請求項１３】
ＳＤＲカーネルを送出するサーバ・システムであって、
複数のＳＤＲカーネルを格納するデータ記憶媒体と、
複数のＳＤＲカーネル識別子を格納するデータ記憶媒体であって、前記ＳＤＲカーネル識別子の各々が前記複数のＳＤＲカーネルの１つを識別する、データ記憶媒体と、
サーバ・エンジンであって、
ＳＤＲカーネル識別子のリストを送り、
選択されたＳＤＲカーネル識別子を受け、
前記選択されたＳＤＲカーネル識別子によって識別されるＳＤＲカーネルを送る
ように構成されている、サーバ・エンジンと、
を備えている、サーバ・システム。
【請求項１４】
請求項１３記載のサーバ・システムであって、更に、
複数の無線規格識別子を格納するデータ記憶媒体と、
無線規格識別子のＳＤＲカーネル識別子に対する規格−カーネル・マッピングを格納するデータ記憶媒体であって、前記カーネル−規格マッピングが、どのＳＤＲカーネルが各無線規格の実施を記述するかを事実上示す、データ記憶媒体と、
を備えており、前記サーバ・エンジンは、更に、
無線規格識別子のリストを送り、
選択された無線規格識別子を受け、
前記規格カーネル・マッピングにしたがって、前記選択された無線規格識別子と関連のあるＳＤＲカーネル識別子のリストを送る
ように構成されている、サーバ・システム。
【請求項１５】
請求項１４記載のサーバ・システムであって、更に、
複数のロカリティ識別子を格納するデータ記憶媒体と、
ロカリティ識別子の無線規格識別子に対するロカリティ−規格マッピングを格納するデータ記憶媒体であって、前記ロカリティ−規格マッピングが、各ロカリティ内において通例用いられる無線規格を事実上示す、データ記憶媒体と、
を備えており、前記サーバ・エンジンは、更に、
ロカリティ識別子のリストを送り、
選択されたロカリティ識別子を受ける
ように構成されている、サーバ・システム。
【請求項１６】
請求項１５記載のサーバ・システムにおいて、前記送られた無線規格識別子のリストは、実質的に、前記ロカリティ−規格マッピングにしたがって、前記選択されたロカリティと関連のある無線規格識別子を含む、サーバ・システム。
【請求項１７】
請求項１６記載のサーバ・システムであって、更に、
ロカリティ識別子の規制データに対するロカリティ−規制マッピングを格納するデータ記憶媒体であって、前記ロカリティ−規制マッピングが、各ロカリティに適用可能な規制を事実上示す、データ記憶媒体と、
ユーザ・データを格納するデータ記憶媒体であって、前記ユーザ・データが最後に選択されたロカリティ識別子を含む、データ記憶媒体と、
を備えており、前記サーバ・エンジンは、更に、前記ロカリティ−規制マッピングにしたがって、前記最後に選択されたロカリティ識別子と関連のある規制データを送るように構成されている、サーバ・システム。
【請求項１８】
請求項１３記載のサーバ・システムであって、更に、
会計業務を処理する支払いエンジンを備えており、
前記サーバ・エンジンは、更に、
支払い選択肢のリストを送り、
選択された支払い選択肢を受け、
アカウント情報を入手し、
前記入手したアカウント情報と前記選択された支払い選択肢を、処理のために、前記支払いエンジンに送る
ように構成されている、サーバ・システム。
【請求項１９】
請求項１８記載のサーバ・システムであって、更に、
ＳＤＲカーネルの安全性を確保するＤＲＭエンジンであって、前記選択された支払い選択肢に部分的にしたがって前記ＳＤＲカーネルの安全性を確保する、ＤＲＭエンジンを備えており、
前記サーバ・エンジンは、更に、前記選択されたＳＤＲカーネル識別子によって識別されるＳＤＲカーネルを、前記選択された支払い選択肢と共に、前記ＤＲＭエンジンに送るように構成されている、サーバ・システム。
【請求項２０】
請求項１８記載のサーバ・システムであって、更に、ユーザ・データを格納するデータ記憶媒体を備えており、前記ユーザ・データはアカウント情報を含み、前記入手するアカウント情報は前記ユーザ・データから検索される、サーバ・システム。
【発明の詳細な説明】
【背景技術】
【０００１】
ソフトウェア定義無線機（「ＳＤＲ」）およびソフトウェア無線機（「ＳＲ」）という用語は、以前ではカスタム構築ハードウェアを用いて実施していた無線システムの一部を定義し実施するためにソフトウェアを用いる技法に広く適用されている。汎用プロセッサおよびソフトウェア構成可能ハードウェアの電力は徐々に増大し、無線システムが実行する計算集約的ディジタル信号処理（「ＤＳＰ」）の多くをこれらが実行することができ、ＳＤＲがこの電力増大を利用できるレベルになっている。ＳＤＲソフトウェア・コンポーネントは、通例、ソフトウェアによって構成したハードウェア・デバイス（例えば、フィールド・プログラマブル・ゲート・アレイ）、または汎用コンピュータ上で実行するプログラムである。このＳＦＲソフトウェア・コンポーネントは、通例、データ通信チャネルを通じてＳＤＲハードウェア・コンポーネントと通信して、用いられる再構成可能ハードウェア・モジュールや汎用コンピュータでは遂行できないＳＤＲタスクをサポートするのに必要な機能を設ける（例えば、無線信号のアナログ送信および受信、ならびに受信アナログ信号のアナログ・フィルタリング）。
【０００２】
最近のＳＤＲシステムでは、ＳＤＲハードウェア・コンポーネントは前ＳＤＲ機能を殆ど設けないのが通例である。何故なら、ＤＳＰ作業の殆どが現在ではソフトウェアを用いて行うことができるからである。ＳＤＲは、ハードウェア・コンポーネントの交換を必要とせずに、ソフトウェアが定義する機能を定義し直すことを可能にする。代わりに、これらの機能的モジュールを定義するソフトウェアのみを交換する。ソフトウェアが定義する機能が多い程、その結果得られるＳＤＲの柔軟性および再構成可能性は上昇する。ＳＤＲハードウェア・コンポーネントおよびＳＤＲソフトウェア・コンポーネントの組み合わせを用いると、実装規格毎に異なるＳＤＲソフトウェア・コンポーネントを走らせることによって、種々の無線規格をサポートすることができる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
大多数の無線規格が存在し、これらが複雑であり微妙な差異があることの結果、これらの無線規格を実施するＳＤＲソフトウェア・コンポーネントは、等しく多数の様々なサード・パーティ提供業者によって提供されることがある。これらが比較的簡素であるにも拘わらず、様々な能力を有する多種多様のＳＤＲハードウェア・コンポーネントが入手可能である。各ＳＤＲソフトウェア・コンポーネントは、ＳＤＲハードウェア・コンポーネント、およびＳＤＲを利用してデータを送信または受信するクライアント・アプリケーションとインターフェースするように装備しなければならない。クライアント・アプリケーションがＳＤＲソフトウェア・コンポーネントに接続するための方法の各々、および多くの入手可能なＳＤＲハードウェア・コンポーネントをサポートすることは、ＳＤＲソフトウェア・コンポーネントを提供する側にとっては、直ぐに気力をくじく業務となり、彼らの利害関係や競争の中核エリアから彼らを逸らすことになる。更に、このようなサポートを提供するために必要な手間の大部分は、ＳＤＲソフトウェア・コンポーネントの提供業者各々によって繰り返されている。これらの要因のために、現在では、ＳＤＲシステムの普及および実用化が進んでいない。
【課題を解決するための手段】
【０００４】
本発明者は、ＳＤＲをモジュール的に構成する必要性を確認し、ここにそれを行うための発明を開示する。ＳＤＲをモジュール的に構成する本発明の一形態は、プラットフォーム特定およびプロトコル従属入力／出力インターフェース・コンポーネント（例えば、Microsoft（登録商標）Windows（登録商標）オペレーティング・システムを走らせるｘ８６汎用コンピュータ上においてＵＳＢにインターフェースするコンポーネント）のような、ＳＤＲの他の全てのコンポーネントから、および特定のＳＤＲハードウェア・コンポーネントからのＳＤＲ（ここでは、ＳＤＲカーネルと呼ぶ）のソフトウェア定義信号処理コンポーネントの定義の抽象概念を与える。モジュール的にＳＤＲを構成する前述の形態は、暗示的に、ＳＤＲカーネルとＳＤＲの残りとの間における単純なインターフェース定義の確定のためのサポートを設ける。つまり、ＳＤＲカーネルの開発者は、多くの既存の無線規格および出現する可能性のあるより多くのためにＳＤＲカーネルを開発する方向に、極めて多量のプロトコル／ハードウェア・プラットフォーム／オペレーティング・システム／ＳＤＲハードウェア・コンポーネントの組み合わせをサポートすることから離れて、注意を集中させることができる。
【０００５】
モジュール的にＳＤＲを構成することにより、種々の発行者が提供するＳＤＲカーネルを利用する力をシステムに与え、事実上万能通信デバイスとなる。つまり、無線規格をサポートするプロセスは、無線規格を実施するためのＳＤＲカーネル・コンポーネントを記述するＳＤＲカーネルを入手すること、および特定のシステム上でＳＤＲカーネル・コンポーネントを実行するためのＳＤＲソフトウェア・コンポーネントを構成することの一方に減少させる。ここに開示するように、ＳＤＲカーネルは、種々のやり方で入手することができ、本発明の一形態では、ＳＤＲカーネルは、インターネット系サービスからのダウンロードによって獲得する。
【０００６】
モジュール的にＳＤＲを構成する別の形態では、１つ以上のロカリティに対する政府規制から成る規制データを用いて、規制データが記述する規制に違反するＳＤＲの構成を防止する。本発明の別の形態では、規制コンポーネントによってＳＤＲソフトウェア・コンポーネントを構成し、ＳＤＲが実行している間、ＳＤＲソフトウェア・コンポーネントから、規制データが記述する規制にＳＤＲが違反することに至る可能性があるハードウェア・コンポーネントに制御データが送られないことを確保する。規制データを利用する本発明の形態は、モジュール的に構成したＳＤＲが「善良な市民」のように振る舞うことを保証するのに役立つ。
【０００７】
尚、多数の図に出てくる構成要素および機能には、統一して図の各々において同じ符号を付していることを記しておく。
【発明を実施するための最良の形態】
【０００８】
本発明について論ずる前に、最初に、先行技術において公知の典型的なＳＤＲシステムの実施形態を探求する。
【０００９】
図１は、先行技術において公知の典型的なＳＤＲシステムを示すブロック図である。ＳＤＲソフトウェア・コンポーネント１０は、ホスト（例えば、汎用コンピュータまたはソフトウェア構成ハードウェア）上で走り、１つ以上のデータ・チャネルによってＳＤＲハードウェア・コンポーネント２０に接続されており、ＳＤＲソフトウェア・コンポーネント１０からＳＤＲハードウェア・コンポーネント２０へのディジタル・ベースバンド出力データ、ＳＤＲハードウェア・コンポーネント２０からＳＤＲソフトウェア・コンポーネント１０へのディジタル・ベースバンド入力データ、およびＳＤＲソフトウェア・コンポーネント１０からＳＤＲハードウェア・コンポーネント２０への制御データの送信を可能にする。ＳＤＲソフトウェア・コンポーネント１０は、ＳＤＲクライアント１５からクライアント入力データを受信し、クライアント出力データをＳＤＲクライアント１５に送る。
【００１０】
ディジタル・ベースバンド出力は、通例、ＳＤＲソフトウェア・コンポーネント１０が、ＳＤＲハードウェア・コンポーネント２０による送信のために、ＳＤＲクライアント１５からクライアント入力データを用意するために必要な一連のＤＳＰ機能を実行することによって得られる。これらの機能は、ソース・エンコーディング、暗号化、エラー訂正コーディング、およびベースバンド変調を含むことができる。このディジタル・ベースバンド出力は、送信する前に、アナログ形態に変換することができる。これは、ディジタル／アナログ変換器（「ＤＡＣ」）２２の使用によって遂行する。一旦変換したなら、アナログ・ベースバンド出力を、更に処理するために、基本無線送受信機２６に送る。この処理には、ベースバンド信号をしかるべき送信周波にアップコンバートすること、および増幅を含むことができる。しかるべく処理した後、信号をアンテナ３０に送り送信する。
【００１１】
アンテナ３０が受信した信号を、基本無線送受信機２６が処理する。ここで、信号をフィルタ処理して所望の周波数範囲を得て、しかるべきベースバンド周波数変調にダウンコンバートし、アナログ／ディジタル変換器（「ＡＤＣ」）２４に送ってアナログ・ベースバンド・データからディジタル・ベースバンド・データに変換する。次いで、このディジタル・ベースバンド・データをＳＤＲソフトウェア・コンポーネント１０に送り、一連のＤＳＰ機能を実行する。ＤＳＰ機能には、ベースバンド復調、エラー訂正、復号、およびソース・デコーディングを含むことができる。得られたデータ・ストリームは、次に、クライアント出力データとしてＳＤＲクライアント１５に送ることができる。
【００１２】
ＳＤＲソフトウェア・コンポーネント１０からＳＤＲハードウェア・コンポーネント２０に送られる制御データによって、ＳＤＲソフトウェア・コンポーネント１０はコマンドをＳＤＲハードウェア・コンポーネント２０に送ることが可能となる。これらのコマンドを用いると、対象の中心周波数および大域幅のような重要なパラメータを調節することができ、基本無線送受信機２０が同調することができる周波数範囲を定義することができる。例えば、着信信号をどのようにフィルタ処理するか、更にＳＤＲハードウェア・コンポーネント２０の電源を切るというような基本的なアクトを呼び出すことに、追加のコマンドが影響を作用することもできる。
【００１３】
ディジタル・ベースバンド入力、ディジタル・ベースバンド出力、制御データ、クライアント入力、およびクライアント出力は、大抵の場合、データ・チャネルによって送信され、データ・チャネルは特殊ハードウェアおよび送信プロトコル（例えば、ＵＳＢ、ＰＣＩ、ＳＣＳＩ）を利用する。つまり、ＳＤＲソフトウェア・コンポーネント１０は、暗黙理に、これらのチャネルおよびこれらをサポートするいずれのソフトウェア・コンポーネントともインターフェースする能力を有していなければならない訳である。
【００１４】
図２は、本発明の一部の形態によるシステムの一例を示すブロック図である。このシステムは、種々のデータが与えられるＳＤＲソフトウェア・コンポーネントのモジュール状構造をサポートする。ＳＤＲハードウェア・コンポーネント６０は、先に開示されているＳＤＲハードウェア・コンポーネント２０と同じように構成されているが、その能力を詳しく規定する仕様を送る追加能力を有することを除く。これらの仕様は、種々のやり方で送ることができ、ＳＤＲハードウェア・コンポーネント６０の電源を入れるとき、周期的、または仕様を送るように要求する制御データの結果として行うことができる。ＳＤＲファクトリ・コンポーネント(factory component)４５は、ＳＤＲカーネル５０、インターフェース・ハーネス５３、を読み取り、任意に規制データ５５を入力し、例えば、ハードウェアとしてまたは汎用コンピュータ上で走るプログラムとして実施することができる。ＤＲＭコンポーネント４３がある場合、ＤＲＭポリシの施行を規定する。ＤＲＭポリシは、ＳＤＲカーネル５０の中にあってもよく、ＳＤＲカーネルのコンテンツをＳＤＲファクトリ・コンポーネント４５に送って読み出す前に、その一部または全部を復号することができる。
【００１５】
ＳＤＲカーネル５０は、信号処理エレメントおよび制御エレメントのような、コンポーネントの構成および配置の定義を備えている。また、ＳＤＲカーネルは、単純なインターフェース定義も規定し、これは、例えば、ＳＤＲ暗いなと入力、ＳＤＲクライアント出力、ＳＤＲハードウェア・コンポーネント入力、ＳＤＲハードウェア・コンポーネント出力、および制御データ出力に対して接続部を指定することができる。単純なインターフェースは、典型的なホストにおいて見られる特定のデータ・チャネル（例えば、ＵＳＢ、ＰＣＩ、ＳＣＳＩ、シリアル、パラレル、およびイーサネット（登録商標））上で通信するためのコンポーネントの定義を規定する必要はない。ＳＤＲカーネル５０は、ソフトウェア（たとえば、オブジェクト・コード、ソース・コード）または非ソフトウェア（例えば、ＸＭＬ、非構造化テキスト・データ、二進データ）として提供することができ、更に、ＳＤＲカーネル５０の中にあるデータのディジタル署名付きチェックサム（コンテンツが改変または変更されていないことを保証するため）、発行者からのディジタル署名、およびＳＤＲカーネルの中にあるデータのチェックサムを有するディジタル署名検査証明書（信頼できる当事者によって、コンテンツが安全であると見なされたことを保証するため）のような、耐改竄データを備えることもできる。ディジタル署名は、このデータを確保するための耐改竄技術の一例として示すが、同様の機能を設けるいずれの技術でも、本発明のこの形態には適用可能であることは言うまでもない。既に開示されているように、ＳＤＲカーネル５０は、その発行者が設定した使用ポリシを施行するために、ＤＲＭによって保護することができる。ＳＤＲカーネル５０がオブジェクト・コードを備えていない場合、ＳＤＲファクトリ・コンポーネント４５によって、定義された無線規格を実施するようにホストを構成するのに適した一連の命令を備えているＳＤＲカーネル・コンポーネントに変換することができる。
【００１６】
インターフェース・ハーネス５３は、ＳＤＲカーネル・コンポーネント（即ち、ＳＤＲカーネル５０から構成された無線規格を実施するプラットフォーム特定命令）をＳＤＲクライアント１５およびＳＤＲハードウェア・コンポーネント６０にインターフェースするために必要なソフトウェア・コンポーネント全てを備えている。別個のインターフェース・ハーネス５３を用いることによって、ＳＤＲカーネル５０は１つの（恐らくは、ホストとは独立した）インターフェースを実施するだけで済む。
【００１７】
規制データ５５は、使用許諾および非使用許諾周波数大域、ならびに１つ以上のロカリティ(locality)についてある一定の周波数大域に対する送信電力制限のような規制情報を備えている。規制データ５５がある場合、ＳＤＲファクトリ・コンポーネント４０によって、少なくとも２つのやり方、即ち一緒に用いることができるやり方または別個に用いることができるやり方で用いることができる。
【００１８】
規制データ５５を用いる１つのやり方は、規制データ５５の中に記載されている規制に違反するＳＤＲソフトウェア・コンポーネントの構成を防止することであり、ＤＤＲカーネル５０の動作仕様（例えば、大域幅、使用周波数、信号電力）を判定することができる場合にのみ適用可能である。これらの仕様を判定することは、ＳＤＲカーネル５０の中にこれらが明示的に規定されていれば、容易に行うことができる。仕様が明示的に規定されていない場合、ＳＤＲカーネル５０における記載を分析することによって、これらの仕様を判定することができる場合もある。一旦仕様が判定されたなら、規制データ５５との比較を行って、何らかの違反が発生したか否か判断することができる。違反がある場合、エラーを発生させ、ＳＤＲソフトウェア・コンポーネント４０の構成を中断することができる。
【００１９】
規制データ５５を用いる別のやり方は、規制コンポーネントを、構成したＳＤＲソフトウェア・コンポーネント４０の一部として構成することである。この規制コンポーネントは、ＳＤＲハードウェア・コンポーネント６０に送られる制御データを検閲して、ＳＤＲハードウェア・コンポーネント６０の中にある最終的な設定がいずれの規制にも違反していないことを保証する。また、制御データがＳＤＲハードウェア・コンポーネント６０に、制御データが送られるのを停止せずに、いずれかの規制に違反するようなやり方でそれ自体を構成することを命令するときに、警告を発することも可能である。
【００２０】
ＳＤＲカーネル５０、インターフェース・ハーネス５３、および規制データ５５は、各々、コンピュータ読み取り可能媒体（例えば、ＣＤ、ＤＶＤ、ハード・ディスク、フラッシュ・ストレージ、ＲＡＭ）上に格納することができ、更に、いずれかのしかるべきプロトコル（例えば、ＨＴＴＰ、ＴＣＰ／ＩＰ、ＦＴＰ、ＳＯＡＰ）を用いて、いずれのデータ通信ネットワーク（例えば、インターネット、ＬＡＮ）を通じてでも、送信することもできる。また、ＳＤＲカーネル５０および規制データ５５を組み合わせて、１つのファイルを形成することも、別個に格納することもできる。
【００２１】
ＳＤＲファクトリ・コンポーネント４５は、ＳＤＲカーネル５０が規定する定義を、提供されるあらゆる規制データ５５と共に用いて、ＳＤＲソフトウェア・コンポーネント４０を構成し、任意に実行する。ＳＤＲカーネル５０がＤＲＭポリシによって保護されている場合、ＳＤＲファクトリ・コンポーネント４５はしれ自体がＤＲＭポリシを施行するか、またはポリシを施行するＤＲＭコンポーネント４３を通じてＳＤＲカーネル５０を読み取ることができる。ＤＲＭポリシは、ＳＤＲファクトリ・コンポーネント４５が構成されているときに施行することができ、付加的にＳＤＲソフトウェア・コンポーネント４０のサブ・コンポーネントを構成して、ＳＤＲソフトウェア・コンポーネント４０の実行中に、ＤＲＭポリシを施行することもできる。殆どの場合、ＳＤＲカーネル５０は、ＤＲＭポリシによって保護されており、ＳＤＲファクトリ・コンポーネント４５が読み取ることができないコンテンツを有する。ＳＤＲカーネル５０の内容を読み取ることができなくすることは、例えば、暗号化を用いて内容をスクランブルすることによって遂行することができる。ＳＤＲカーネル５０の暗号化した部分は、したがって、解読した後でないと、ＳＤＲソフトウェア４０構成プロセスを継続することができない。この復号は、ＤＲＭシステム４３によって行うことができ、ＳＤＲファクトリ・コンポーネント４５は、ＤＲＭシステム４３を通じてＳＤＲカーネル５０を読むことができ、あるいはＳＤＲファクトリ・コンポーネント４５自体によって、読むことができる。
【００２２】
ＳＤＲファクトリ・コンポーネント４５が別個のＳＤＲソフトウェア・コンポーネント４０を構成することを示したが、ＳＤＲファクトリ・コンポーネント４５は、代わりに、別個のＳＤＲソフトウェア・コンポーネント４０を構成するのではなく、それ自体の少なくとも一部をＳＤＲソフトウェア・コンポーネントに変形することも可能であることを認識した。
【００２３】
一旦ＳＤＲソフトウェア・コンポーネント４０をホスト上で実行したなら、ＳＤＲクライアント１５およびＳＤＲハードウェア・コンポーネント６０は、それと通信し始めることができる。尚、ＳＤＲクライアント１５は、１つ以上のハードウェアおよびソフトウェア・コンポーネントを備えることができ、いずれの通信手段によってでも、ＳＤＲソフトウェア・コンポーネント４０と通信することができる。通信手段には、導電性ワイヤ、光ファイバ、ネットワーク・インターフェース・カード、シリアル・ポート、ＰＳ２ポート、パラレル・ポート、ＵＳＢポート、ＰＣＩバス、およびＳＣＳＩチャネルが含まれるが、これらに限定されるのではない。ディジタル・ベースバンド出力、ディジタル・ベースバンド入力、および制御データは、ＳＤＲソフトウェア・コンポーネント４０を実行するホストとインターフェースするのに適したインターフェース方法であればいずれを用いてでも送信することができ、同じ方法を用いる必要は全くない。ホストが汎用コンピュータである場合、例えば、これらの方法は、ＵＳＢ、ＰＣＩ、ＦＩＲＥＷＩＲＥ、シリアル・ポート、パラレル・ポート、ネットワーク・インターフェース・カード、およびＳＣＳＩを含むことができる。尚、一部のアプリケーションに有用なシステムをサポートするためには、ディジタル・ベースバンド入力およびディジタル・ベースバンド出力の一方のみでよいことを記しておく。更に記すのは、高性能ＡＤＣ２４およびＤＡＣ２２コンポーネントをＳＤＲハードウェア・コンポーネント６０において用いる場合、ベースバンド入力およびベースバンド出力は、ダウンコンバートされていない変調を有するデータを伝達することができることである。
【００２４】
ＳＤＲハードウェア・コンポーネント６０からＳＤＲソフトウェア・コンポーネント４０に転送される仕様データは、ＳＤＲハードウェア６０の動作制限（例えば、最大許容大域幅および周波数）を備えることができる。この情報によって、ＳＤＲソフトウェア・コンポーネント４０は、ＳＤＲハードウェア・コンポーネント６９がそれが具体化する規格をサポートできるか否か判断することが可能になる。また、ＳＤＲハードウェア・コンポーネント６０は、任意に、仕様データを提供する代わりに、エラー・コードをＳＤＲソフトウェア・コンポーネント４０に返送することができる。ＳＤＲハードウェア・コンポーネント６０が何故ＳＤＲソフトウェア・コンポーネント４０をサポートすることができないかの一例は、それが用いる周波数の１つ以上が、基本無線送受信機６６の範囲の外側に位置する場合である。別の例は、必要な大域幅が、ＡＤＣ６４またはＤＡＣ６２の能力にとって広すぎる場合である。ＳＤＲハードウェア・コンポーネント６０がＳＤＲソフトウェア・コンポーネント４０をサポートすることができない場合、ＳＤＲソフトウェア・コンポーネント４０は意味のあるエラー・メッセージを発生し、終了することができる。
【００２５】
ＳＤＲソフトウェア・コンポーネント４０が実行しているとき、制御データをＳＤＲハードウェア・コンポーネント６０に伝達することができる。この制御データは、ＳＤＲハードウェア・コンポーネント６０の電源を切る命令、対象の周波数および対応する大域幅を指定する命令、ならびにフィルタ設定値を設定する命令を備えることができる。これらの制御コマンドによって、ＳＤＲソフトウェア・コンポーネント４０は、ＳＤＲハードウェア・コンポーネント６０の動作パラメータを動的に変更することが可能となり、多数の無線規格をサポートするためには重要である。送ることができる制御データの正確な集合は、用いられる個々のＳＤＲハードウェア・コンポーネント６０によって異なる場合がある。
【００２６】
ＳＤＲカーネル５０は、ＳＤＲカーネル５０が記載する無線規格をサポートすることができるＳＤＲハードウェア・コンポーネント６０の最小要求仕様を指定するデータを備えることができる。ＳＤＲファクトリ・コンポーネント４４５は、ＳＤＲハードウェア・コンポーネント６０の仕様に、ＳＤＲハードウェア・コンポーネント６０から直接的に、格納されているコンピュータ読み取り可能媒体から仕様を読み取ることによって動作的に、あるいはその他のいずれかの手段によってアクセスすることができる。ＳＤＲファクトリ・コンポーネント４５は、ＳＤＲハードウェア・コンポーネント６０の仕様を検討して、ＳＤＲソフトウェア・コンポーネント４０を構成する前に、ＳＤＲハードウェア・コンポーネント６０がＳＤＲカーネル５０によって記載された規格をサポートすることができるか否か判断する。ＳＤＲハードウェア・コンポーネント６０が規格をサポートすることができないと判断された場合、ＳＤＲファクトリ・コンポーネント４５は、ＳＤＲソフトウェア・コンポーネント４０の構成を終了し、任意にエラーを指示する。ＳＤＲファクトリ・コンポーネント４５が  ＳＤＲカーネル５０から必要最小限の仕様を判断することができない場合、ＳＤＲファクトリ・コンポーネント４５は仕様施行コンポーネントを構成することができる。仕様施行コンポーネントは、仕様データをＳＤＲハードウェア・コンポーネント６０から読み出し、出立する制御データを検閲して、ＳＤＲハードウェア・コンポーネント６０がサポートすることができず、場合によっては機器の損傷を防止することができるコマンドがＳＤＲハードウェア・コンポーネント６０に送られるのを防止する。
【００２７】
図３は、ＳＤＲソフトウェア・コンポーネントを構成するプロセスの一例のフロー図である。３０１において、ＤＲＭコンポーネント４３またはＳＤＲファクトリ・コンポーネント４５のいずれかが、ＳＤＲカーネル５０の内容を読み出す。既に開示したように、ＳＤＲカーネル５０は、いずれのデータ通信ネットワークをも含むいずれのコンピュータ読み取り可能媒体からでも読み取ることができる。
【００２８】
３０２において、ＤＲＭコンポーネント４３またはＳＤＲファクトリ・コンポーネント４５のいずれかが、ＳＤＲカーネル５０の中に埋め込まれているいずれのＤＲＭポリシをも持ち取り、ポリシの条件が現在満たされているか否か見るためにチェックを行う。これらのポリシは、ＳＤＲカーネル５０が特定のホスト上で読み取られていることを保証し、現在の日時が特定の日時範囲内にあることを保証することを含むことができる。３０２において、１つ以上のＤＲＭポリシが満たされていないと判断された場合、３０３においてエラーを発生し、ＳＤＲソフトウェア・コンポーネントの構成を終了する。一方、ＤＲＭポリシが満たされていると判断した場合、必要であれば、３０４においてＳＤＲカーネル５０を復号する。これによって、ＳＤＲカーネル５０の残りの内容を読み取り、ＳＤＲソフトウェア・コンポーネント４０構成プロセスにおいて更に用いることが可能となる。
【００２９】
３０５において、ＳＤＲファクトリ・コンポーネント４５は、ＳＤＲカーネル５０の中に格納されているデータを利用して、コンテンツが最後に発行者または信頼されている第三者によって検証されて以来、ＳＤＲカーネル５０に対して何らかの変更が加えられているか否か判断する。このアクトは、例えば、ディジタル署名チェックサムのようなデータを、ＳＤＲカーネル５０のコンテンツから読み出し、署名の真正性(authenticity)を検証し、次いでＳＤＲカーネル５０についてチェックサム計算を実行して２つのチェックサムが一致することを確認することによって遂行することがであきる。このアクトを行う理由は、ＳＤＲカーネル５０の内容が格納または送信中にエラーによって変転していないことを確保するため、更に第三者が、発行者が意図しなかったように実行するように、修正をＳＤＲカーネル５０に対して行っていないことを保証するためである。ＳＤＲカーネル５０の内容がそれらの意図した状態から修正されていると判断した場合、３０６においてエラーを発生する。エラーを発生した後、ＳＤＲファクトリ・コンポーネント４５は終了し、ＳＤＲカーネル４５からＳＤＲソフトウェア・コンポーネントを構成しない。
【００３０】
３０５において、ＳＤＲカーネル５０が変転も修正もされていないと判断した場合、ＳＤＲファクトリ・コンポーネント４５は、ＳＤＲカーネル５０の中に提供されている情報を利用して、ＳＤＲカーネル５０の発行者を特定する。次に、発行者が信頼できる発行者であるか否か、例えば、発行者の個人情報を信頼できる発行者のリストと照合することによって、判断することができる。あるいは、信頼の連鎖が存在することを判定することもでき、これによって、多少間接的に発行者が信頼できると判断することもできる。発行者を信頼できると検証することができない場合、必ずしもＳＤＲカーネル５０を用いてはいけない場合とはならない。３０８において、ＳＤＲファクトリ・コンポーネント４５が、発行者が信頼できると見なすことができなかった後、ＳＤＲファクトリ・コンポーネント４５は警告を発生する。この警告は、発行者の識別情報（例えば、会社名）を備え、１）発行者が信頼できると見なせなくてもＳＤＲカーネル５０を用い続ける、または２）その使用を放棄することのいずれかの選択を呈示することもできる。
【００３１】
３０７において、ＳＤＲカーネル５０の発行者は信頼できると判断した場合、または３０８において、発行者が信頼できると判断されなくてもＳＤＲカーネル５０を用い続けると決定した場合、ＳＤＲファクトリ・コンポーネント３５は次に３０９を実行する。３０９において、ＳＤＲファクトリ・コンポーネント４５はＳＤＲカーネル５０からの情報を用いて、検査証明書があるのであれば、そのいずれをもチェックする。これらの証明書は、例えば、ＳＤＲカーネル５０内にあるデータのチェックサムを備え、ＳＤＲカーネル５０が品質を保証するための一連の検査に合格したことを意味することが分かる検定書(certificate)によって署名されているとよい。ＳＤＲカーネル５０には所望の証明書が欠けている場合、ＳＤＲファクトリ・コンポーネント４５は３１０において警告を発する。警告は、失われている所望の証明書に関する情報を備え、１）所望の証明書が失われていてもＳＤＲカーネル５０を用い続ける、または２）その使用を放棄することのいずれかの選択を呈示することができる。
【００３２】
３０９において、ＳＤＲカーネル５０が所望の証明書を全て有すると判断した場合、または３１０において所望の証明書がなくてもＳＤＲカーネル５０を用い続けると決定した場合、ＳＲＤファクトリ・コンポーネント４５は次に３１１を実行する。３１１において、ＳＤＲファクトリ・コンポーネント４５は、ＳＤＲハードウェア・コンポーネント６０の能力を詳細に示す仕様を読み出す。これは、例えば、ＳＤＲハードウェア・コンポーネント６０から直接データを要求し、情報を収容するファイルを読み取り、または情報を催促することによって遂行することができる。ＳＤＲハードウェア・コンポーネント６０についての仕様情報は、ＳＤＲハードウェア・コンポーネント６０の構成可能な動作に関するパラメータ毎に、サポートされる範囲の概要を示すデータを備えることができる。
【００３３】
一旦仕様データを得たならば、３１２において、ＳＤＲハードウェア・コンポーネント６０がＳＤＲカーネル５０の要件をサポートすることができるか否か判断するために用いることができる。ＳＤＲカーネル５０の中に、その動作範囲を示すデータが含まれている場合、このデータと仕様データとの間で比較を行い、ＳＤＲカーネル５０のデータの範囲のいずれかが、ＳＤＲハードウェア・コンポーネント６０の能力のそれを超えているか否か判断することができる。３１２において、ＳＤＲカーネル５０の要件が、仕様データにおいて与えられている限りでは、ＳＤＲハードウェア・コンポーネント６０の能力を超えていると判断した場合、３１３においてエラーが生じ、ＳＤＲファクトリ・コンポーネント４５はＳＤＲコンポーネントの構成を終了する。このアクトが有用なのは、ＳＤＲハードウェア・コンポーネント６０を、その能力を超えて駆動しようとするＳＤＲソフトウェア・コンポーネント４０の構成を防止するからである。これによって、機器損傷の可能性を低減しＳＤＲハードウェア・コンポーネント６０が、所与のＳＤＲカーネル５０をサポートすることができないことの結果適正に作動しないＳＤＲをデバッグするのに費やされる時間を短縮する。
【００３４】
ＳＤＲハードウェア・コンポーネント６０がＳＤＲカーネル５０をサポートすることができると判断した場合、ＳＤＲファクトリ・コンポーネントは３１４に移動する。３１４において、ＳＤＲファクトリ・コンポーネント４５は規制データ５５を読み取る。既に開示したように、規制データ５５は１つ以上のロカリティにおける政府規制に関するデータを備えている。これらの規制は、使用許諾および非使用許諾周波数の割り当ておよびこれらの周波数の使用、ならびにある周波数範囲に対する最大許容可能ブロードキャスト電力に関するデータを備えることができる。一旦ＳＤＲファクトリ・コンポーネント４５が規制データを３１４において読み取ったなら、ＳＤＲファクトリ・コンポーネント４５は、３１５において、ＳＤＲカーネル５０における動作パラメータが、規制データ５５が規定する規制のいずれかに違反していないか否か判断する。ＳＤＲファクトリ・コンポーネント４５は、最初に、情報を催促することによってまたはＧＳＰ情報を用いた図面推論(drawing inference)のような自動プロセスによって、ＳＤＲが動作している場所を判定することができる。３１５において、ＳＤＲカーネルが指定する動作範囲が、規制データ５５が概要を示す関連規制に違反する可能性がある場合、３１６においてエラーを発生し、ＳＤＲコンポーネントを構成するプロセスを中断する。
【００３５】
ＳＤＲカーネル５０が規制データ５５に違反しないと判断した場合、ＳＤＲファクトリ・コンポーネント４５は、３１７において、インターフェース・ハーネス５３を読み取る。インターフェース・ハーネス５３は、既に開示したように、ＳＤＲカーネル５０が記述する単純なインターフェースをそれよりも複雑なインターフェースに動作的に接続し、ＳＤＲクライアント１５またはＳＤＲハードウェア・コンポーネント６０と通信するためのコンポーネントを備えている。例えば、ＳＤＲハードウェア・コンポーネント６０がＵＳＢ接続によって汎用コンピュータに接続されている場合、インターフェース・ハーネス５３は、ＵＳＢ接続を通じてデータを、使用されている特定のＳＤＲハードウェア・コンポーネント６０に送るための１つ以上のコンポーネントを備えている。ＳＤＲカーネル５０は、データを送るための基本的なインターフェースを設けるが、ＵＳＢを通じてデータを送るための記述や、特定のＳＤＲハードウェア・コンポーネント６０をサポートするための特定のコマンドはいずれも有していない。必要なときに、インターフェース・コンポーネントは制御データおよび使用データを、双方向に、ＳＤＲカーネル５０によって用いられるフォーマットとＳＤＲハードウェア・コンポーネント６０との間で変換する。
【００３６】
３１８において、ＳＤＲファクトリ・コンポーネント４５は、ＳＤＲソフトウェア・コンポーネント４０を構成する。図４は、ＳＤＲファクトリ・コンポーネント４５によるＳＤＲソフトウェア・コンポーネント４０の構成に関する更なる詳細を含むブロック図を示す。ＳＤＲカーネル５０をＳＤＲカーネル・コンポーネントに変換する。ＳＤＲカーネル・コンポーネントは、汎用プロセッサまたはフィールド・プログラマブル・ゲート・アレイ（「ＦＰＧＡ」）のようなプロセッサに、どのように実行するか（例えば、オブジェクト・コード）指示するのに益したＳＤＲカーネルのソフトウェア記述である。ＳＤＲカーネル５０が、所望のターゲット・ホストに命令するのに適したオブジェクト・コード・フォーマットで提供される場合、いずれの明示的な変換も行う必要がない場合もある。ＳＤＲカーネル５０がプログラミング言語のソース・コードとして提供される場合、変換プロセスの一部において、コンパイルおよびリンクを用いる場合もある。データ・フォーマット（例えば、ＸＭＬ）で提供される場合、例えば、ＳＤＲファクトリ・コンポーネント４５におけるコード発生コンポーネントによって、ＳＤＲカーネル５０を解析し、変換することができる。
【００３７】
規制データ５５が提供される場合、このデータを解析し、オブジェクト・コードを発生して、ＳＤＲカーネル・コンポーネントからＳＤＲハードウェア・コンポーネント６０に送られる制御データが規制に違反しないことを確保する。規制コンポーネントは、この発生したオブジェクト・コードを備えている。同じプロセスが、ＳＤＲハードウェア・コンポーネント６０の能力を収容する仕様データにも当てはまる。この仕様データは、仕様施行コンポーネントを構成するオブジェクト・コードを発生するために用いられる。一旦個々の各コンポーネントを発生したなら、これらをしかるべく互いに連結して、一緒に１つのシステムとして機能し、ＳＤＲソフトウェア・コンポーネント４０を形成する。用いる連結方法は、静的連結および動的連結を含むことができ、ＳＤＲソフトウェア・コンポーネントを定義するオブジェクト・コードは物理的に多数のファイルまたは１つのファイルの中に位置することができる。
【００３８】
以上、ＳＤＲハードウェア・コンポーネントからの規制データ、ＳＤＲカーネル、インターフェース・ハーネス、および仕様のような種々のデータを用いてＳＤＲソフトウェア・コンポーネントを構成することを目的とした本発明の形態を開示した。これより、規制データおよびＳＤＲカーネルの入手を目的とする本発明の形態に注意を向けることにする。
【００３９】
図５は、本発明の一部の形態によるシステムの一例を示すブロック図である。このシステムは、インターネットを通じてワールド・ワイド・ウェブを用いて既に開示した規制データおよびＳＤＲカーネルを入手することができるサービスを提供することによって、ＳＤＲのモジュール状構造をサポートする。サーバ・システム５３０は、種々のウェブ・ページ５３１、サーバ・エンジン５３２、ＤＲＭエンジン５３３、ＳＤＲカーネル・データベース５３４、規制データベース５３５、ユーザ・データベース５３６、ロカリティ・データベース５３７、および支払いエンジン５３８を備えている。
【００４０】
サーバ・エンジン５３２は、ＵＲＬによって特定されるウェブ・ページまたはウェブ・サービス・リスナ(web service listener)にアクセスするＨＴＴＰ要求を受信し、ウェブ・ページまたはＳＯＡＰ応答を種々のクライアント・システムに供給する。加えて、サーバ・エンジン５３２は、ＨＴＴＰを通じてファイルを送信する要求も受信することができる。サーバ・エンジンが要求を承認すると、ファイルをクライアント・システムに送る。ＤＲＭエンジン５３３は、ＤＲＭポリシをＳＤＲカーネルに適用し、ＳＤＲカーネルをクライアント・システムに送る前に、その内容の一部または全部を暗号化することもできる。ＤＲＭポリシは、コピー保護、ＳＤＲカーネルの仕様に関する時間制限の設定、およびＳＤＲカーネルの特定のホストに対する合体(binding)を含むことができる。
【００４１】
ＳＤＲカーネル・データベース５３４は、ＳＤＲカーネルを収容し、その各々は、既に開示したような、無線規格を実施するコンポーネントの記述を提供する。ＳＤＲカーネル・データベースは、加えて、各ＳＤＲカーネル毎の価格設定情報、各ＳＤＲカーネル毎の一意の識別子、およびＳＤＲカーネルが記述する無線規格の識別子も収容する。規制データベース５３５は、規制データが入手可能な各ロカリティに適用可能な規制の記述を収容する。ユーザ・データベース５３６は、登録ユーザのリストを収容する。登録ユーザ毎に、ユーザ・データベース５３６は、更に、認証情報（例えば、ユーザ名およびパスワード）、加入情報、およびデフォルト・ロカリティ優先度を収容することができる。
【００４２】
ロカリティ・データベース５３７は、ロカリティのリスト、および当該ロカリティにおいて用いることができる無線規格の識別子を収容する。加えて、ロカリティ・データベース５３７は、名称のあるロカリティの地理的集合を、あらゆる深さのツリー状階層に定義することを可能にする識別子も有することができる。例えば、地球に対する集合、北半球に対する下位集合、北アメリカに対する別の下位集合、米国に対する別の下位集合、マサチューセッツに対する別の下位集合、そして最後にボストンのロカリティがあってもよい。この例は、単に例示であることを意図するのであって、ロカリティの粒度を定義することや、名称のある地理的集合の範囲を定義する役割を果たすことを意図するのではない。支払いエンジン５３８は、クライアント・システム５１０のユーザが提供するアカウント情報を取り込み、支払い業務(transaction)を処理する能力を設ける。これらの業務は、クレジット・カード・アカウント、デビット・カード、またはそのかのあらゆる適したアカウントからの資金の受領を含むことができる。
【００４３】
クライアント・システム５１０は、ウェブ・ページを要求し表示するウェブ・ブラウザ５１１を備えており、任意に、ＳＤＲファクトリ・コンポーネント４５およびＤＲＭコンポーネント４３も備えることができる。また、クライアント・システム５１０は、既に開示したように、ＳＤＲハードウェア・コンポーネントに接続することもできる。クライアント・システム５１０およびサーバ・システム５３０は、通信リンク５４０を通じて情報を交換することによって通信し、インターネットを通じた送信を含むことができる。
【００４４】
当業者であれば、以上に紹介した技法は、ワールド・ワイド・ウェブ以外の様々な環境においても使用可能であることが認められよう。例えば、ウェブ・ブラウザ５１１を用いてサーバ・システム５３０と通信する代わりに、別のアプリケーション（ＳＤＲファクトリ・コンポーネント自体を含む）を用い、情報交換のために別のプロトコルを採用することもできる。ファイルは、電子メール経由およびファイル転送プロトコル（「ＦＴＰ」）のような種々のプロトコルを用いて送信することができる。また、ローカル・エリア・ネットワークや二点間ダイアルアップのように、インターネットを用いない種々の通信リンクを用いることもできる。クライアントおよびサーバ・システムの双方は、前述の機能を設けるためにいずれのハードウェアおよびソフトウェアの組み合わせでも備えることができる。
【００４５】
図６は、ＳＤＲカーネルをクライアント・システムに送るルーチンの一例のフロー図である。６０１において、サーバ・システム５３０は、クライアント・システム５１０からのサーバ・システム５３０に接続する要求を受信し、この要求を受け入れる。一実施形態では、クライアント・システム５１０は認証情報も送り、システムのユーザが、サーバ・システム５３０が提供するサービスに登録されていることを示す。尚、ユーザは人間の操作者である必要はなく、サーバ・システム５３０と通信するように構成されているソフトウェア・プログラムまたはハードウェア・デバイスでもよいことを記しておく。６０２において、次に、情報をユーザ・データベース５３６と突き合わせてチェックし、提供された認証情報が既知のユーザと一致するか否か判断する。情報が一致しない場合、６０３においてユーザに登録するように指図する。尚、このプロセスの更に別のアクトにおいて、サーバ・システム５３０はウェブ・ブラウザ５１１に対する動作的に状態を持つ接続(operatively stateful connection)をクライアント・システム５１０上に維持することを記しておく（即ち、１つのブラウザ５１１からの要求を別のブラウザからの要求と混同しない）。ＨＴＴＰ（無状態プロトコル）を用いる場合、これは、ブラウザ・クッキー、またはウェブ・ブラウザ５１１が送る要求のＵＲＬに添付されているデータの使用によって、これを遂行することができる。
【００４６】
６０４において、サーバ・システム５３０は、ロカリティ・データベース５３７に収容されているロカリティを識別するロカリティ識別子のリストを発生する。ここでは、識別子は、個々の項目を識別するのに適したデータであればいずれでもよい（例えば、文字列または数値）。尚、所与の項目には多数の識別子を用いることができ、人間が読みやすい識別子、およびワールド・ワイド・ウェブ規格（例えば、ＵＲＬエンコーディング）との作業相性が良い識別子を含むことは言うまでもない。また、地理的集合のリストを発生し、ロカリティ自体ではなく、クライアント・システム５１０に送ってもよいことも言うまでもない。一旦ユーザが特定の地理的集合を選択したなら、サーバ・システム５３０は次に、１組のリーフ(leaves)（ロカリティ）に達するまで、集合ツリーにおける次に低いレベルに戻ることができる。次に、クライアント・システム５１０のユーザは、ロカリティ識別子の１つを選択し、それをサーバ・システム５３０に戻し、６０５においてそれを受信する。６０５においてユーザが受信するロカリティ情報は、後に使用するために、ユーザ・データベース５３６の中に保持しておく。
【００４７】
一旦ロカリティ識別子を受信したなら、サーバ・システムは、６０６において、ロカリティ・データベース５３７に問い合わせて、識別したロカリティにおいて用いられる無線規格を識別する無線規格識別子のリストを求める。次に、このリストを回収して、クライアント・システム５１０に送ることができる。次いで、クライアント・システム５１０のユーザは、所望の無線規格識別子を選択し、その選択をサーバ・システム５３０に戻し、６０７においてこれを受信する。６０８において、サーバ・システムは、記述するＳＤＲカーネル、および指定された無線規格を実施するためのＳＤＲカーネル・コンポーネントのＳＤＲカーネル識別子のリストを発生し、このリストをクライアント・システム５１０に送る。加えて、サーバ・システム５３０は発行者および価格設定情報を、ＳＤＲカーネル毎に、ＳＤＲカーネル識別子と共に送ることができる。発行者情報は、発行者の名称、発行日、バージョン、格付けのようなデータを備えることができる。
【００４８】
一旦ユーザがリストからＳＤＲカーネル識別子を選択したなら、サーバ・システム５３０は６０９において選択を受信する。ＳＤＲカーネル・データベース５３４における価格設定情報から、選択したＳＤＲカーネルが無料である（即ち、金銭的費用がかからない）と判断した場合、サーバ・システム５３０は、要求されたＳＤＲカーネルをクライアント・システム５１０に送る。任意に、６０５においてユーザから受信し識別したロカリティについての規制データを、ＳＤＲカーネルと共に送ることもできる。この規制データは、ユーザ・データベース５３６に格納されているロカリティ識別子を用いて規制データベース５３５に問い合わせて、関連する規制データを求めることによって、入手することができる。既に開示したように、ＳＤＲカーネルおよび規制データは、１つのファイルに組み合わせることも、別個に保持することもできる。サーバ・システム５３０は、ＳＤＲカーネルおよび規制データをクライアント・システム５１０に送るときには、いずれの手法を用いてもよい。
【００４９】
６１０において、選択されたＳＤＲカーネルが無料でないと判断した場合、サーバ・システム５３０は、ＳＤＲカーネル・データベース５３４に格納されている支払い情報から、選択されたＳＤＲカーネルに対して利用可能な支払い選択肢のリストを発生する。あるいは、支払い選択肢のリストは、無料でないＳＤＲカーネル全てに対して同一でもよい。種々の支払い識別子が着想可能である。支払い選択肢の一例は、固定料金でＳＤＲカーネルの使用期間を無制限にすることである。別の例は、有限の使用期間に対する固定価格の支払いである。また、ユーザがＳＤＲカーネルの一部または全部に対する無制限のアクセスに対して固定の月極加入料金を支払うことも着想可能である。一旦ユーザが所望の支払い選択肢を選択したなら、サーバ・システム５３０は６１３において選択を受信する。また、サーバ・システムは任意に、６１４において、業務に対して課金されるべきアカウントについてのアカウント情報を示すアカウント情報をユーザから受信することもできる。あるいは、この情報は、ユーザが６０３において登録するときに提供し、ユーザ・データベース６３６に格納することもできる。この場合、６１４において受信したアカウント情報は、ユーザ・データベースに格納されているデータを用いることの指示となる。
【００５０】
６１５において、サーバ・システムは、支払いエンジン５３８を用いて、指定された支払い選択肢の下で、選択されたＳＤＲカーネルの使用に対する支払いを徴収する。６１６において、会計業務が成功したことの指示を受信した後、サーバ・システム５３０は指定されたＳＤＲカーネルをＳＤＲカーネル・データベース５３４から受信し、これを、選択された支払い選択肢の詳細と共に、ＤＲＭエンジン５３３に受け渡す。ＤＲＭエンジン５３３は、例えば、暗号化技術を用いて、ＳＤＲカーネルの内容を確保し、耐改竄ＤＲＭポリシを、暗号化したＳＤＲカーネルに添付する。これは、サーバ・システム４３０が提供するサービスの条件、および選択された支払い選択肢によって概略的に規定される具体的な条件を反映する。一旦ＤＲＭエンジン５３３がＤＲＭをＳＤＲカーネルに適用し終わったなら、サーバ・システム５３０はＳＤＲカーネルをクライアント・システム５１０に返す。任意に、６０５においてユーザから受信したロカリティについての規制データを、ＳＤＲカーネルと共に送ってもよい。この規制データは、ユーザ・データベース５３６に格納されているロカリティ・データを用いることによって、規制データベース５３３に問い合わせて関連する規制データを求めることによって入手することができる。既に開示したように、ＳＤＲカーネルおよび規制データは、１つのファイルに組み合わせても、別個に保持してもよい。サーバ・システム５３０は、ＳＤＲカーネルおよび規制データをクライアント・システム５１０に送るときに、いずれの手法を用いてもよい。
【００５１】
以上、ここではＳＤＲをモジュール的に構成する本発明の種々の実施形態を開示した。ＳＤＲソフトウェア・コンポーネントを発生する方法を開示し、その一部は特定の無線規格を実施するＳＤＲソフトウェア・コンポーネント（即ち、ＳＤＲカーネル・コンポーネント）のコアＤＳＰおよび制御エレメントの定義の、ホスト依存インターフェース・コンポーネントからの分離をサポートする。これらの方法によって、ＳＤＲソフトウェア・コンポーネントの開発者は、特定のホスト上における特定の通信チャネルのためにインターフェースを構築する際の資源を浪費するのではなく、無線規格の実施に注意を集中することができる。加えて、共通の単純なインターフェースを実施するＳＤＲカーネル・コンポーネントの全ての開発者には、同じインターフェース・コンポーネントを再利用しつつ、１つのＳＤＲカーネル・コンポーネントを別のＳＤＲカーネル・コンポーネントと交換することを一層やりやすくすることができる。
【００５２】
更に、特定のホスト上におけるコアＳＤＲソフトウェア・コンポーネント（即ち、ＳＤＲカーネル・コンポーネント）の実施とその記述（即ち、ＳＤＲカーネル）との間における分離を開示した。この区別は重要である。何故なら、実施形態の中には、ＳＤＲカーネルを、特定のホストとは独立したフォーマットで表現する場合があり、一方ＳＤＲカーネル・コンポーネントは無線規格を実施するためにホスト特定命令を備えているからである。この分離により、ホストは事実上万能通信装置となり、別のＳＤＲカーネルを用いることによって、一方の無線規格から他方に切り換えることが可能になるので、更に一層有用となる。このような手間を省いたＳＤＲのモジュール状構成は、更に、開示したインターネット系サービスによってサポートされるので、ユーザは種々のやり方で複数のＳＤＲカーネルから選択することが可能になる。
【図面の簡単な説明】
【００５３】
【図１】図１は、先行技術において公知のＳＤＲシステムのブロック図である。
【図２】図２は、本発明の一部の形態によるシステムの一例を示すブロック図である。
【図３】図３は、ＳＤＲソフトウェア・コンポーネントを構成するプロセスの一例のフロー図である。
【図４】図４は、ＳＤＲソフトウェア・コンポーネントの構成に関する更なる詳細を示すブロック図である。
【図５】図５は、本発明の一部の形態によるシステムの一例を示すブロック図である。
【図６】図６は、ＳＤＲカーネルをクライアント・システムに送るルーチンの一例のフロー図である。
【図１】
2009510634.tif 000003
【図２】
2009510634.tif 000004
【図３】
2009510634.tif 000005
【図４】
2009510634.tif 000006
【図５】
2009510634.tif 000007
【図６】
2009510634.tif 000008
【国際調査報告】
2009510634.tif 000009
2009510634.tif 000010