[0017] 場所に関係なくワイヤレス・デバイスを用いることができると、特に、移動体デバイスのユーザーに対して、素晴らしいユーザー体験を提供することに寄与する。ワイヤレス規格の増殖により、ユーザーがこのようなシームレス体験を有することが困難になっている。1つのワイヤレス計算機は1つの国においてワイヤレス・サービスを用いて完全に動作するが、異なるワイヤレス規格を用いる他の国では、このデバイスはワイヤレス・サービスに全く接続することができない場合もある。ユーザーは、ワイヤレス・サービスを用いずに生活することを強要されるか、または、おそらく、特定のエリア毎に1つずつ、多数のワイヤレス・デバイスを有することを強要される。多数のワイヤレス規格をサポートするデバイスであっても、各サービス・エリアにおいてそのデバイスを適正に構成する負担をユーザーに負わせる場合がある。
[0018] 本発明者は、ユーザーが望む利用可能なワイヤレス・サービスにアクセスするように、ワイヤレス計算機がそれ自体を自動的に構成すれば、ユーザーの体験を大きく改善することを認識し確認した。このような計算機には、ソフトウェア無線を実装することができ、ソフトウェア無線は、無線プロファイルを用いて構成することができるか、あるいは通信プロファイルの他の何らかの形態に基づいて構成することができるコンポーネントを内蔵することができる。現在地においてユーザーが望むワイヤレス・サービスによって用いられるワイヤレス技術に合わせてSDRを構成する無線プロファイルを特定し入手することによって、そのサービスを提供することができる。本発明者は、正しい無線プロファイルを自動的に特定しインストールすることによって、ユーザー体験を大きく改善する方法を認識し確認した。このような計算機によって、ワイヤレス技術間の切り替えがシームレスな移行となり、知識やユーザーによる介入が殆どなくまたは全くなくても行うことができる。
[0019] 実施形態の中には、計算機の現地理的位置に関する情報が、ローカル・ワイヤレス・サービスに接続するために用いられる無線プロファイルを特定するために用いられる場合がある。全地球測位システム(GPS)のような直接的な方法を用いて、計算機の現在地を特定することができる。その他の間接的な方法も、代わりにまたは加えて、用いることができる。例えば、インターネット接続のために計算機に割り当てられるIPアドレスは、デバイス位置の強い指示を与える。
[0020] 位置を特定するための基準として用いるために収集される情報であればいずれでも、データーベース・クエリーにおいて用いることができる。データーベースは、計算機にローカルであっても、他の接続を通じてアクセスするリモート・データーベースであってもよい。クエリーが成功すると、計算機の現在地においてユーザーが望むワイヤレス・サービスにアクセスするために用いる無線プロファイルを特定することができる。次いで、この無線プロファイルを用いて、計算機のワイヤレス・インターフェースを構成することができる。計算機は、ここで所望のワイヤレス・サービスに合った無線プロファイルによって構成され、ワイヤレス・サービスを通じてコンテンツおよび情報を交換し、それをユーザーと共有し始めることができる。
[0021] 図1は、クライアント計算機100がワイヤレス・ネットワークを通じてコンテンツにアクセスするように構成されている環境例を示す。計算機100は、適したタイプの計算機であればいずれでもよい。しかし、図1に示す実施形態では、計算機100は移動体計算機となっている。
[0022] 実施形態の中には、計算機100が、プロセッサー101、メモリー102、入力/出力(I/O)デバイス103、有線インターフェース106、およびワイヤレス・インターフェース109を備えている場合もある。
[0023] プロセッサー101は、当技術分野において知られているようなプロセッサー、または適した処理デバイスであればいずれでもよい。例えばそして限定ではなく、プロセッサー101は、中央演算装置(CPU)、ディジタル信号プロセッサー(DSP)、コントローラー、アドレス可能コントローラー、汎用または特殊目的用マイクロプロセッサー、マイクロコントローラー、アドレス可能マイクロプロセッサー、プログラマブル・プロセッサー、プログラマブル・コントローラー、専用プロセッサー、専用コントローラー、または他の適した処理デバイスであればいずれであってもよい。
[0024] メモリー102は、データーおよび/またはソフトウェア・モジュールを格納することができる。ソフトウェア・モジュールは、コンピューター実行可能命令を収容しており、これらの命令をプロセッサー101によって実行すると、所望の機能が行われる。メモリー102は、当技術分野において知られているような、コンピューター読み取り可能記憶媒体であっても、適したタイプのコンピューター読み取り可能記憶媒体であればいずれでもよい。例えばそして限定ではなく、メモリー102は、RAM、ナノ技術に基づくメモリー・デバイス、1つ以上のフロッピ・ディスク、コンパクト・ディスク、光ディスク、揮発性および不揮発性メモリー・デバイス、磁気テープ、フラッシュ・メモリー、ハード・ディスク・ドライブ、フィールド・プログラマブル・ゲート・アレイにおける回路構成、他の半導体デバイス、または他の有形コンピューター記憶媒体、あるいはこれらの組み合わせとすることができる。
[0025] I/Oデバイス103は、当技術分野において知られているようなI/Oデバイスを含む、情報を提供および/または受信する、あらゆるタイプのI/Oデバイスを含むことができる。I/Oデバイス103は、例えばそして限定ではなく、キーボードのようなキーパッド、マウスまたはトラックボールのようなポインティング・デバイス、マイクロフォン、ジョイスティック、タッチ・スクリーン・ディスプレイ、ディスプレイ、スピーカー、またはこれらの組み合わせを含むことができる。
[0026] 有線ネットワーク・インターフェース106は、ワイヤを通じてネットワークに接続するための適したタイプのインターフェースであればいずれでもよい(例えば、イーサネット(登録商標)、ファイバー・オプティクス、同軸)。例えばそして限定ではなく、有線ネットワーク・インターフェース106は、イーサネット(登録商標)・ネットワーク接続をサポートすることができる。
[0027] ワイヤレス・インターフェース109は、計算機100との間でワイヤレスに情報を受信および送信する送信機および受信機のような、ハードウェア・コンポーネントを内蔵することができる。ワイヤレス・インターフェース109は、少なくとも部分的に、ソフトウェア無線コントローラー108によって制御される。ワイヤレス・インターフェース109およびソフトウェア無線コントローラー108を組み合わせることによって、ソフトウェア無線を実装する。ソフトウェア無線の機能は、ワイヤレス・インターフェース109とソフトウェア無線コントローラー108との間において、適した方法でればいずれでも、割り当てることができる。
[0028] 図示した実施形態では、ソフトウェア無線コントローラー108は、無線プロファイルを用いて、ソフトウェア無線をワイヤレス通信プロトコルに合わせて構成する。具体的には、コントローラー108はワイヤレス・インターフェース109のハードウェアとインターフェースして、特定のワイヤレス通信プロトコルのワイヤレス受信機または送信機として動作する。無線プロファイルは、ソフトウェア無線に望まれる構成を達成するための適した形態であればいずれでもよい。実施形態の中には、無線プロファイルが、プロトコルを実施するようにSDRのハードウェアおよび/またはソフトウェア・コンポーネントを構成するための構成情報を含むこともある。実施形態の中には、無線プロファイルが、コントローラー108の機能を実施するコンピューター実行可能モジュールを含むこともある。他の実施形態では、コントローラー108は、無線プロファイルからの構成情報によって設定される。
[0029] 無線プロファイルのフォーマットには関係なく、一旦それが適用されると、ワイヤレス・インターフェース109およびソフトウェア無線コントローラー108を含むソフトウェア無線は、適したワイヤレス通信プロトコルであればいずれでもサポートするように構成することができる。例えば、ワイヤレス・インターフェース109は、ワイヤレス個人エリア・ネットワーク(WPAN)、ワイヤレス・ローカル・エリア・ネットワーク(WLAN)、ワイヤレス・ローカル・エリア・ネットワーク(WLAN)、ワイヤレス都市エリア・ネットワーク(ワイヤレスMAN)、ワイヤレス広域エリア・ネットワーク(WWAN)、または他のタイプのネットワークのプロトコルというような、標準的な企業固有の通信プロトコルであればいずれでもサポートするように構成することができる。例えばそして限定ではなく、ワイヤレス・インターフェース109は、IEEE802.11、WiFi、超広帯域(UWB)技術、Bluetooth(登録商標)、ワイヤレスUSB、WiMedia、WiMax、Wireless1394、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、ヨーロッパ・ディジタル移動体通信システム(GSM)、セルラ・ディジタル・パケット・データー(GPRS)、または汎用パケット無線サービス(GPRS)の内いずれとでも使用できるように、ソフトウェア無線コントローラー108によって構成することができる。
[0030] 計算機100は、特定の機能を実行するように構成されている多数のモジュールを含むことができる。図示した実施形態では、計算機100は、オペレーティング・システム107(OS)、位置判定ユニット105、ソフトウェア無線コントローラー108、サービス・コントローラー108、位置検出モジュール112、およびコンテンツ・アプリケーション104を含む。モジュールは、ハードウェア、ソフトウェア、またはその適した組み合わせであればいずれでも実施することができる。実施形態の中には、モジュールがコンピューター実行可能命令を含んでもよい場合もある。命令は、メモリー102に格納し、プロセッサー101によって実行することができる。
[0031] OS107は、例えば、アプリケーション104からの関数コールによって、計算機100上で実行するコンテンツ・アプリケーション104に機能を提供することができる。実施形態の中には、OS107が、ユーザーがワイヤレス・サービスからコンテンツを受信したいときに、ネットワーク・インターフェース109を自動的に構成するモジュールを含む場合もある。位置判定ユニット105、サービス・コントローラー111、およびソフトウェア無線コントローラー108は、OS107のモジュールとして実施することができる。
[0032] OS107は、ワイヤレス・デバイス107の活動およびリソースの共有を管理することができる。OS107は、種々のコンポーネントを通じて、種々の機能を提供し、計算機100を管理することができる。これらのコンポーネントは、例えばそして限定ではなく、動的にリンクされたライブラリ(例えば、動的リンク・ライブラリ)、アプリケーション・プログラミング・インターフェース(API)、コンポーネント・オブジェクト・モデル(COM)、全世界で一意の識別子、レジストリ・キー、またはOS107の一意に特定可能な部分であればいずれでも含むことができる。また、OS107のコンポーネントの中には、ネットワークを通じて送信するパケットを発生できるものもある。
[0033] 実施形態の中には、コンテンツ・アプリケーション104のような、1つ以上のコンテンツ・アプリケーションがワイヤレス・サービスからのコンテンツをユーザーに提示するものもある。例えば、コンテンツ・アプリケーションがテレビジョンをエミュレートすることができ、TV放送局からビデオ・データーを入手し、そのコンテンツをユーザーに提示することができる。各コンテンツ・アプリケーションを1つ以上のワイヤレス・サービスと関連付けることができる。例えば、異なるコンテンツ・アプリケーションを、テレビジョン・サービス、ラジオ・サービス、およびインターネット・アクセス・サービスと関連付けることができる。ユーザーがコンテンツ・アプリケーション104を選択すると、サービス・コントローラー111によって、関連のあるワイヤレス・サービスによって用いられるワイヤレス・プロトコルをサポートするように、SDRを自動的に構成することができる。
[0034] 実施形態の中には、ユーザーがワイヤレス・サービスを選択したときに、SDRコントローラー108およびネットワーク・インターフェース109と共に用いるための無線プロファイルを特定するシームレスなプロセスを管理するために、 サービス・コントローラー111が用いられる場合もある。サービス・コントローラー111は、適した方法であればいずれででも、無線プロファイルを特定し突き止めることができる。実施形態の中には、サービス・コントローラー111によってクエリーが作られて、ローカル・データーベース11および/またはリモート・データー・サーバー130上にあるリモート・データーベース134に提出されることもある。例えば、サービス・コントローラー111は、最初に、しかるべきプロファイルを特定するためにローカル・データーベースに問い合わせることができ、見つからない場合、リモート・データーベースに問い合わせることができる。他の実施形態では、サービス・コントローラー111は、しかるべきプロファイルの識別を得るためにリモート・データーベースに問い合わせ、次いでそのプロファイルをローカル・データーベースから入手することができる。クエリーに応答して、所望の無線プロファイルを戻すことができる。サービス・コントローラー111がどのようにして無線プロファイルを入手するかには関係なく、サービス・コントローラー111は、所望のサービスによって用いられるワイヤレス技術をサポートするSDRを実施するように、無線プロファイルを用いて、SDRコントローラー108および/またはネットワーク・インターフェース109を構成する。
[0035] SDRがあるデバイスをここでは一例として用いたが、サービス・コントローラー111は、代わりにまたは加えて、計算機100を構成するために他のタイプの通信プロファイルを特定することもできることは認められてしかるべきである。例えば、通信プロファイルが、所望のサービスと通信するように、計算機100のソフトウェアを構成するまたは提供することができる。具体的な一例として、通信プロファイルを用いて、ワイヤレス・ネットワーク・インターフェースを通じて受信した信号からコンテンツを抽出するように、計算機を構成することができる。実施形態の中には、通信プロファイルが、計算機100のハードウェアを構成するための情報も含む場合がある。通信プロファイルは、計算機100がソフトウェア無線を含むか否かに関係なく、計算機100を構成するために用いることができる。計算機100がソフトウェア無線を含むとき、通信プロファイルはSDRを構成するための無線プロファイルを含むことができる。
[0036] 通信プロファイルは、無線プロファイルについて記載したのと同様に、特定し、入手し、用いることができる。例えば、サービス・コントローラー111は、計算機の位置を用いて、通信プロファイルを特定することができる。しかし、適した方法であれば他のいずれでも、通信プロファイルを特定することができる。
[0037] 計算機100の位置が、無線プロファイルを特定する際に用いられる実施形態では、計算機100は位置判定ユニット105を含むとよい。位置判定ユニット105は、計算機100の現在地の局所的判定を行うために用いられる。尚、現在地は、計算機100を含むサービス領域を特定する目的に沿う程度の精度があればよいことは認められてしかるべきである。状況によっては、サービス領域が政治的境界によって規定されることもあり、この場合、数十または数百平方マイル未満しかその範囲に含まれないのは希である。したがって、数マイル以内において現在地を判定する能力があれば、十分な精度であると言える。多くの場合、都市、都市エリア、または計算機100が位置する国ですら、特定することができれば、サービス領域を特定する目的には十分であると考えられる。
[0038] 位置判定ユニット105は、1つ以上の位置検出モジュール112を用いて、計算機100の現在地を判定する。位置検出モジュールの様々な例をここで示す。これらの例は例示であり、網羅的であることは意図していない。現在地は、適した方法であればいずれでも判定することができる。
[0039] 位置検出モジュール112は、衛星測位モジュールを含むことができる。この衛星測位モジュールは、全地球ナビゲーション衛星サービス(GNSS)を利用して、ナビゲーション衛星から計算機100の現在地を判定する。GNSSの例には、米国の汎地球測位システム(GPS)、ヨーロッパのGalileo測位システム(2012年に予定されている)、ロシアのGLONASSシステム、および中華人民共和国のCompassシステムが含まれる。しかし、適したGNSSであればいずれでもサポートすることができる。
[0040] 位置検出モジュール112は、ネットワーク位置検出モジュールを含むことができる。ネットワーク位置検出モジュールは、計算機100の「ネットワーク位置」から現在地を判定する。計算機100の現在地は、ネットワーク上における計算機の、既知の位置を有するネットワーク計算機に対する近接度に基づいて推論することができる。例えば、計算機100がインターネットに接続されているとき、このデバイスに割り当てられるIPアドレス、またはインターネットにアクセスするときに経由するネットワーク・アドレス変換(NAT)デバイスを用いて、デバイスの現在地を特定することができる。これは、例えば、「WHOIS」サービスを用いて行うことができる。しかし、物理的位置を推論するには、適した方法であればいかようにでもネットワーク位置を用いることができる。計算機は、有線ネットワーク接続、ワイヤレス・ネットワーク接続、または有線およびワイヤレス接続のいずれかの適した組み合わせを通じて、既知の位置を有するネットワーク計算機に接続することができる。
[0041] 位置検出モジュール112は、ビーコン信号分析モジュールを含むことができる。ビーコン信号分析モジュールは、ワイヤレス・ビーコンを分析して、計算機100の現在地を判定する。現在地を判定するために用いることができる情報をビーコンがどのように表現するかは、ビーコン信号のソースによって異なる場合もある。例えば、公衆陸線移動体ネットワーク(PLMN)は、各々、位置検出エリア個別情報(LAI:Location Area Identity)として知られている一意の識別子を有する。LAIは、標準化されている移動体国コード(MCC)を含む。例えば、米国に用いられている1つのMCCは「310」である。他の例として、IEEE802.11dビーコン信号は国コードを含む。802.11dの遵守は随意であり、国コードはユーザーによって設定されるので、ビーコン信号分析サービスは、IEEE802.11dビーコンによって示される国コードを拠り所とする前に、様々なネットワークからの多数のビーコン信号間での一致を検査するように構成すればよい。
[0042] 位置検出モジュール112は、セルラ基地局モジュールを含むことができる。セルラ基地局モジュールは、セルラ通信タワーからの信号を用いて、計算機100の現在地を判定する。例えば、セルラ基地局モジュールは、三角測量の原理を用いて、計算機100の現在地を特定することができる。
[0043] 位置検出モジュール112は、ユーザーに現在地を指定するように促すユーザー入力モジュールを含むことができる。ユーザー入力モジュールは、いずれかの適した方法で現在地を示すようにユーザーを促すことができる。例えば、地図を表示しこの地図の上でポインティング・デバイスを用いてユーザーに位置を示させることによって、促すことができる。実施形態の中には、直前の指定付近のエリアにおいて地図を拡大することによって、連続指定を用いるとよい場合がある。実施形態の中には、ユーザーが単に、例えば、現在地である都市または国の名称を入力する場合もある。しかし、適した方法であればいずれでも、ユーザー入力サービスによってユーザーを促すことができる。
[0044] 位置判定ユニット105は多数の位置検出モジュール112にアクセスすることができ、これらから現在地を判定することができるので、多数の位置検出モジュールからの情報を融合するために1つ以上の技法を用いることができる。実施形態の中には、利用可能なモジュールに優先順位を割り当てるとよい場合がある。各位置検出モジュールに対する優先順位は、自動的に割り当てることができ、またはユーザーが設定することもできる。しかし、優先順位は、適した方法であればそのいずれで決定してもよい。実施形態の中には、現在地を判定する精度に基づいて、優先順位を各位置検出モジュールに割り当てることもある。位置判定ユニット105は、これらの優先順位の順に、位置検出モジュール112から現在地を得ようとするとよい。例えば、位置判定ユニット105は、最も高い優先順位を有する位置検出モジュールを用いて、現在地を入手しようとするとよい。最も高い優先順位のサービスが現在地を提供できなかった場合、2番目に優先順位が高い位置検出サービスを用いて試みを行う。これは、現在地が得られるまで、または、例えば、ユーザーが現在地を入力するように促されるまで続く。実施形態の中には、各サービスにデバイスの現在地について投票させることによって、現在地を判定するとよい場合もある。この投票には、それぞれのサービスの優先順位に基づいて重み付けし、最も高い投票が得られた位置として、現在地を選択することができる。他の実施形態では、位置検出サービスの全部または一部に、現在地を報告するように要求する。現在地は、応答した最初の位置検出サービスによって特定された現在地として選択することができる。しかし、計算機100の現在地は、適した方法であればそのいずれによって判定してもよい。実施形態の中には、不便さやユーザーへの負担を避けるために、全ての位置検出サービスの中で、ユーザー入力モジュールが最低の優先順位を有することもある。
[0045] 実施形態の中には、各位置検出モジュールが標準的なフォーマットで現在地を戻す場合もある。例えば、緯度および経度座標、国、郵便番号、都市、州、県、群で、またはいずれかの適した方法で、あるいは方法の組み合わせで現在地を指定することもできる。
[0046] 計算機100は、リモート・データー・サーバー130と情報を交換するように構成することができる。リモート・データー・サーバー130には、ネットワーク140に接続されている有線またはワイヤレス接続を通じてアクセスすることができる。図示した実施形態では、サーバー130は、同様にネットワーク140に接続されているネットワーク・インターフェース133を有する。ネットワーク・インターフェース133は、ネットワーク140に接続するための適した有線またはワイヤレス・インターフェースであればいずれでもよい。実施形態の中には、サーバー130が、計算機100に、所望のワイヤレス・サービスにアクセスするための無線プロファイルを特定するために用いることができる情報を提供する場合もある。例えば、サーバー130は、ネットワーク140上における計算機100のIPアドレスに基づいて位置を特定することができるWHOISサービスであってもよい。
[0047] 実施形態の中には、サーバー130が計算機100からクエリーを受け取るように構成されている場合もある。クエリーは、所望の無線プロファイルを特定するのに適した情報であればいずれでも含むことができる。例えば、クエリーは、所望のワイヤレス・サービス、計算機100の現在地、およびIPアドレスまたはハードウェア能力というような、計算機100についての情報というような情報を含むことができる。しかし、実施形態の中には、クエリー内における情報の代わりにまたはそれに加えて、サーバー130によって位置情報を判定するとよい場合もある。例えば、サーバー・コントローラーが、ネットワーク140上におけるそのIPアドレスに基づいて、計算機100の位置を判定するのであってもよい。
[0048] クエリー内における情報には関係なく、サーバー・コントローラー134はクエリーをデーターベース135に提出することができる。データーベース135は、複数のタイプの情報を収容することができる。例えば、多数の場所にある多数のタイプのサーバーに用いるのに適したワイヤレス技術を特定する情報を収容することができる。また、種々の異なるハードウェア構成で、計算機にSDRを構成する無線プロファイルも収容することができる。しかし、しかるべきプロファイルを特定する情報は、しかるべき無線プロファイルを得るために用いることができる情報をデーターベースが格納することができるように、プロファイルとは別に格納してもよいことは認められてしかるべきである。
[0049] しかし、図示した実施形態では、クエリー成功に応答して、データーベース135は1つ以上の無線プロファイル136をサーバー・コントローラー134に戻すことができる。次いで、サーバー・コントローラー134は、ネットワーク・インターフェース133に、無線プロファイル136をネットワーク140を通じて計算機100に転送するように命令することができる。
[0050] リモート・データー・サーバー130は、適したハードウェアおよびソフトウェア・コンポーネントであればいずれを用いても、実施することができる。図示した実施形態では、サーバー130はプロセッサー132を含む。プロセッサー132は、適した方法であればいずれでも実施することができる。例えば、プロセッサー132は、前述のプロセッサー101を実施する方法と同様な方法で実施することができる。
[0051] リモート・データー・サーバー130は、メモリー131を含む。実施形態の中には、リモート・データーベース135を格納するためにメモリー131を用いるとよい場合もある。メモリー131は、適した方法であればいずれでも実施することができる。例えば、メモリー131は、前述のメモリー102を実施する方法と同様な方法で実施することができる。
[0052] サーバー・コントローラー134は、ハードウェアおよびソフトウェアの適した組み合わせであればいずれでも実施することができる。サーバー・コントローラー134が少なくとも部分的にソフトウェアで実施される実施形態では、サーバー・コントローラー134のソフトウェア命令をプロセッサー132によって実行することができる。しかし、サーバー・コントローラー134は、適した方法であればいずれでも実施することができる。
[0053] 一旦ユーザーによって選択されたワイヤレス・サービスにアクセスするように、無線プロファイルによって計算機100が構成されたなら、ワイヤレス・サービスへの接続を形成することができ、コンテンツの送信または受信を開始することができる。例示の目的で、図1には、コンテンツ・プロバイダー161からコンテンツをブロードキャストするブロードキャスト局105が示されている。コンテンツ・プロバイダー161は、ラジオ、テレビジョン、あるいは適したタイプのメディアまたはマルチメディア・コンテンツであればいずれでも供給することができる。実施形態の中には、コンテンツ・プロバイダー161が、ユーザーに合わせてカスタム化された情報を提供できるものもある。例えば、コンテンツ・プロバイダーは、ワイヤレス・サービスのコンテンツおよびユーザーの位置に関する広告を提供することができる。受信されたコンテンツは、計算機100のユーザーに提示するために、コンテンツ・アプリケーション104に供給することができる。他の例として、計算機100は、ユーザーによって選択されたワイヤレス・サービスをコンテンツ・プロバイダー160からネットワーク141を通じて受けるように構成することもできる。
[0054] ネットワーク140および141は、適したタイプのネットワークであればいずれでもよい。例えば、ネットワーク140は、インターネットのような公衆ネットワーク、または会社のネットワークのような私的ネットワークであってもよい。別々に示されているが、実施形態の中には、ネットワーク140および141が同じネットワークである場合もある。
[0055] 図1には1つの計算機100のみが示されているが、適した数の計算機であればいくつでも、図示した環境において同時に存在できることは認められてしかるべきである。同様に、1つのリモート・サーバー150しか示されていないが、無線プロファイルを提供するサーバーは、いくつでもこの環境において存在することができる。
[0056] これより図2に移ると、コンテンツをワイヤレスで受信するように、計算機100(図1)のようなクライアント計算機を構成する方法200が示されている。図2に示す方法は、何らかの適したイベントに応答して開始することができる。例えば、ユーザーのワイヤレス・サービス要求に応答してこれを開始することができる。また、図2の方法は、いずれか1つまたは複数の適したコンポーネントの制御の下で実行することができる。例えば、このプロセスは、サーバー・コントローラー111内部におけるプログラミングによって制御することができる。
[0057] ステップ201において、クライアント計算機の現在地を判定する。現在地は、適した方法であればそのいずれで決定してもよい。実施形態の中には、1つ以上の位置検出モジュールを用いる位置判定ユニットによって判定するとよい場合がある。例えば、衛星測位モジュール、セルラ基地局モジュール、ビーコン信号分析モジュール、ネットワーク位置検出モジュール、またはユーザー入力を用いて、現在地を判定することができる。
[0058] ステップ203において、ユーザーが選択したワイヤレス・サービス・タイプを受け取る。実施形態の中には、クライアント計算機上に設けられたユーザー・インターフェースを通じて、ユーザー選択を受ける場合もある。実施形態の中には、図4に示す例のように、計算機のディスプレイ上において、各タイプのワイヤレス・サービスがアイコンで表せる場合もある。ユーザーは、これらのアイコンから、所望のワイヤレス・サービスに対応する1つを選択することができる。しかし、ワイヤレス・サービスのタイプのユーザー選択は、適した方法であればいずれでも行うことができる。実施形態の中には、テレビジョン・サービス、ラジオ・サービス、およびインターネット・アクセス・サービスの内少なくとも1つを含む1群のサービスから、ユーザーが選択する場合もある。しかし、いずれのタイプのワイヤレス・サービスでもユーザーによる選択のために利用可能であるとよい。
[0059] ステップ205において、選択されたワイヤレス・サービスに対するコンテンツ選択肢を、選択のためにユーザーに提示する。コンテンツ選択肢は、適した方法であればそのいずれによってでも提示することができる。例えば、ステップ203において選択されたサービスがテレビジョン・サービスである場合、コンテンツ選択肢は、テレビジョン・サービスによって利用可能なチャネルのリストまたは番組のリストを含むとよい。ステップ205において、ユーザーが選択したチャネルまたは番組を受信する。例えば、ユーザーは、ステップ203において、ラジオ・サービスを選択したのであってもよい。これに応じて、ステップ205において、聴取するラジオ局のユーザー選択を受ければよい。他の例として、ユーザーがステップ203においてインターネット・アクセス・サービスを選択した場合、ステップ205において、ユーザーがブラウズしたいウェブ・アドレスを、ユーザーに提示したウェブ・ブラウザを通じて入力することができる。
[0060] コンテンツ選択肢を提示するための情報は、適した方法であればそのいずれでも得ることができる。例えば、この情報は、サーバー130またはその他の適した集中情報レポジトリーから得ることができる。実施形態の中には、コンテンツ選択肢が、選択されたワイヤレス・サービスにアクセスするアプリケーションによって決定される場合もある。あるいはまたは加えて、一旦サービスを通じてコンテンツを受信するようにSDRを構成したなら、そのサービスと関連のある通信を監視してコンテンツ選択肢を決定することもできる。実施形態の中には、ワイヤレス・インターフェースを用いて受信することができるワイヤレス信号からコンテンツ選択肢が得られる場合もある。例えば、リモート・サーバーからコンテンツ選択肢を送信することができる。実施形態の中には、ワイヤレス・サービスに接続した後にコンテンツ選択肢を決定することもある。したがって、方法200のステップは、図示した順序とは異なる順序で実行してもよく、無線プロファイルを受信し適用した後にコンテンツ選択を行ってもよいことは認められてしかるべきである。
[0061] ステップ207において、計算機の現在地に対応する無線プロファイルを要求する。実施形態の中には、有線またはワイヤレス・ネットワーク接続というような既存のまたは利用可能なネットワーク接続を通じて、リモート・サーバーから無線プロファイルを要求する場合もある。実施形態の中には、ローカル・データーベースをチェックして、現在地においてユーザーが選択したワイヤレス・サービスに対する無線プロファイルが入手可能か否かチェックする場合もある。ローカル・データーベースにおいて無線プロファイルが入手可能である場合、本方法は、更に、プロファイルが期限切れになっていないかチェックすることができる。無線プロファイルが期限切れになっている場合、最新の無線プロファイル、または期限切れになった無線プロファイルを最新バージョンに更新するためのパッチの要求を、リモート・サーバーに送ることができる。実施形態の中には、計算機の代理で他のデバイスがこの要求を行う場合もある。
[0062] 無線プロファイルの要求は、無線プロファイルを特定するのに適した情報であればいずれでも含むことができる。この要求は、例えば、プロファイルの表現識別を含むことができ、あるいは所望のワイヤレス・サービスおよび計算機の位置を示すことによって、間接的にプロファイルを特定することもできる。
[0063] 現在接続が存在するリモート・データー・サーバーに対して要求が行われているとき、実施形態の中には、その要求が、ユーザーが現在地において利用可能であって、ユーザーが接続することを望むかもしれないワイヤレス・サービスにアクセスするために用いることができる全ての無線プロファイルを求める要求である場合もある。多数のプロファイルを得ることは、計算機が立ち往生していずれのワイヤレス・サービスにも接続できない状況を回避するには有用なこともある。
[0064] ステップ209において、クライアント計算機において無線プロファイルを受信する。無線プロファイルは、リモート・サーバーから現在のネットワーク接続を通じて受信することができる。無線プロファイルがローカル・データーベースから入手可能な実施形態では、ステップ209において無線プロファイルをローカル・データーベースから受信する。実施形態の中には、計算機が、ユーザーが有する別のデバイスに接続されており、無線プロファイルがこの別のデバイスから転送される場合もある。例えば、ユーザーが無線プロファイルをセルラ・フォンから別のハンドヘルドに転送することもできる。
[0065] 実施形態の中には、209において受信した無線プロファイルを証明するとよい場合もある。本明細書において用いる場合、証明とは、無線プロファイルを認証するメカニズムを指す。具体的には、無線プロファイルが純正であり改ざんされていないことを保証するために、証明書を与えることができる。ステップ211において、無線プロファイルの証明書を検証する。無線プロファイルの証明書を検証するのに適した方法であれば、いずれでも用いることができる。例えば、公開暗号鍵を用いて無線プロファイルを解読し、無線プロファイルが真正であることを検証することができる。他の実施形態では、信頼されている認証局から発行された証明書を用いて、無線プロファイルを認証する。
[0066] 実施形態の中には、ステップ211が任意に実行される場合もある。例えば、クライアント計算機が、ローカル・データーベースに格納されている無線プロファイルを信頼するのであってもよい。他の例として、クライアント計算機が、プロファイルを取得したサーバーを信頼するのであってもよい。
[0067] ステップ211において証明書を検証できない場合、方法200を中断することができ、または異なるソースから無線プロファイルを取得しようと試みることもできる。例えば、異なるリモート・データーベースを用いることもできる。
[0068] ステップ211において証明書を検証した場合、または検証を行わなかった場合、本方法はステップ213に進む。ステップ213において、クライアント計算機のソフトウェア無線を、無線プロファイルによって構成する。実施形態の中には、無線プロファイルが実行可能コードを備えている場合もあり、このコードをクライアント計算機上においてプロセッサーによって実行すると、ワイヤレス規格にしたがって動作するように、無線ハードウェアを制御する。他の実施形態の中には、ソフトウェア無線コントローラーが、無線プロファイルにしたがって、ソフトウェア無線を構成する場合もある。例えば、無線プロファイルはデーター指定設定または動作パラメータを収容することができる。このデーターは、ハードウェアおよび/またはソフトウェア設定値に変換され、SDRコントローラーはこの設定値を用いて、ワイヤレス規格にしたがって無線を動作せることができる。
[0069] ステップ215において、要求したコンテンツ以外の情報を受信することのユーザー同意が得られているか否か判断を行う。実施形態の中には、クライアント・デバイスが、ユーザーにこのクライアント・デバイスのユーザー・インターフェースを通じて、広告のような余分なコンテンツを、選択されたサービスのコンテンツと一緒に受信することに同意するように促す。このような広告は、サービスから提供されるコンテンツと関係付けるとよく、計算機の位置に関係付けてもよい。
[0070] ステップ215において、ユーザーが同意を与えていないと判断した場合、方法200はステップ217に進む。ステップ217において、無線プロファイルによって構成されたワイヤレス・インターフェースを通じて、クライアントのデバイスにおいてコンテンツを受信する。受信したコンテンツのタイプに適した出力デバイスを用いて、受信したコンテンツをクライアントに提示する。しかし、ステップ217において受信したコンテンツは、広告のような、余分な素材を収容しない。例えば、視覚系コンテンツであれば計算機の表示部において表示することができ、一方聴取系コンテンツであれば音響再生システムによって再生することができる。
[0071] ユーザーがステップ215において同意した場合、本方法はステップ219に進む。ステップ219において、ユーザーが同意した余分なコンテンツを提供する。先に論じたように、余分なコンテンツは広告のような情報を含むことができる。余分なコンテンツは、ステップ217において提供されたコンテンツ、および計算機の位置に基づいて選択することができる。
[0072] これより図3に移ると、無線プロファイルを取得し、所望のコンテンツを受信するためにこの無線プロファイルによって計算機を構成する方法300のフロー・チャートが示されている。
[0073] ステップ301において、クライアント・デバイスの現在地が分かっているか否か判断を行う。例えば、現在地が既に取得され計算機のメモリーに格納されている場合もある。現在地が分かっている場合、本方法はステップ303に進み、現在地が最新であるか否か判断を行う。現在地が最新であるか否かの判断は、適した方法であればそのいずれで行ってもよい。例えば、現在地の取得以来の経過時間を、所定の期限切れ時間と比較することができる。他の実施形態では、現在地が正しいか否か単にユーザーに尋ねるのであってもよい。
[0074] 現在地が最新である場合、本方法はステップ319に進む。しかしながら、現在地が分かっていないかまたは最新でないのいずれかである場合、本方法はステップ305に進む。
[0075] ステップ305において、優先される位置検出サービスを特定する。計算機は多数の位置検出モジュールにアクセスすることができ、その各々は、計算機の現在地の指示を与えるために用いることができる。各位置検出モジュールには優先順位が関連付けられていることもある。ステップ305において、最も高い優先順位を有する位置検出モジュールを特定する。最高から最低までの優先順位の一例において、1組の位置検出モジュールの例をあげると、衛星測位モジュール、セルラ基地局モジュール、ネットワーク位置検出モジュール、ビーコン信号分析モジュール、およびユーザー入力モジュールとなる。ステップ305において選択に応じて、方法300はステップ307,309、311、313、または315の内1つに進む。しかし、実施形態の中には、ステップ307、309、311、313、または315の内2つ以上、およびこれらのステップの間に発生する位置情報を融合して位置判定を行うことができるものもある。
[0076] ステップ305において、衛星測位モジュールが最も高い優先順位を有すると判断した場合、本方法はステップ307に進む。ステップ307において、衛星測位モジュールを用いて、計算機の現在地を判定する。例えば、GPSを用いて現在地を判定することができる。
[0077] ステップ305において、セルラ基地局モジュールが最も高い優先順位を有すると判断した場合、本方法はステップ309に進む。ステップ309において、セルラ基地局モジュールを用いて、計算機の現在地を判定する。実施形態の中には、セルラ基地局サービスが三角測量を用いて現在地を判定するものもある。
[0078] ステップ305において、ビーコン信号分析モジュールが最も高い優先順位を有すると判断した場合、本方法はステップ311に進む。ステップ311において、ビーコン信号分析モジュールを用いて、計算機の現在地を判定する。実施形態の中には、ビーコン信号分析サービスが、IEEE802.11dビーコン信号において国コードを検出する場合もある。他の例として、ビーコン信号分析サービスは、公衆陸線移動体ネットワークによってブロードキャストされる位置エリア識別子から国コードを検出することができる。実施形態の中には、ステップ311において、多数のネットワーク・ビーコンを分析して、更に国コードの妥当性を判断する場合もある。
[0079] ステップ305において、ネットワーク位置検出モジュールが最も高い優先順位を有すると判断した場合、本方法はステップ313に進む。ステップ313において、ネットワーク位置検出モジュールを用いて、計算機の現在地を判定する。実施形態の中には、ネットワーク位置検出サービスが、計算機と関連付けられているインターネットIPアドレスのWHOIS参照を用いて、現在地を特定する場合もある。
[0080] ステップ305において、ユーザー入力モジュールが最も高い優先順位を有すると判断した場合、本方法はステップ315に進む。ステップ315において、ユーザー入力モジュールを用いて、計算機の現在地を判定する。実施形態の中には、現在地を入力するように、計算機のユーザー・インターフェースを通じてユーザーに促すものもある。しかし、ユーザーに現在地を促すのに適した方法であればいずれでも用いることができる。
[0081] 現在地を特定しようとする際にステップ307から315の内どれを用いたかには関係なく、方法300はステップ317に進む。ステップ317において、本方法は、現在地が得られたか否か判断する。現在地が得られなかった場合、本方法はステップ305に戻り、次に優先される位置検出モジュールを特定する。ステップ305において異なるサービスを選択するために、直前に特定され用いられた位置検出モジュールを度外視したり、またはその優先順位を下げてもよい。ステップ317において現在地を得ることに成功したと判断するまで、本方法は、ステップ305から317を繰り返し続ける。
[0082] 一旦現在地を得ることに成功したなら(またはステップ303において、現在地が分かっておりしかも期限切れでないなら)本方法はステップ319に進み、現在地から1つ以上のサービス領域を判定する。実施形態の中には、特定された各サービス領域が、異なるタイプのワイヤレス・サービスに対応する場合もある。例えば、ワイヤレス・テレビジョン・サービスに関連するサービス領域が、ラジオ・サービスまたはインターネット・アクセス・サービスが得られるサービス領域とは異なることもある。サービス領域を特定するステップを、クライアント計算機に関係があるワイヤレス・サービスが得られるサービス領域を特定することに限定してもよい。例えば、 計算機のユーザーが加入しているサービスまたはユーザーが現在アクセスを要求しているサービスが得られるサービス領域のみを特定するのであってもよい。
[0083] 実施形態の中には、ステップ319においてクライアント計算機によってサービス領域を特定する場合もある。しかし、サービス領域は頻繁な変更を受ける可能性があるので、現在地からサービス領域を判定するリモート・データー・サーバーに現在地情報を提供するとよい。つまり、クライアント・デバイスはサービス領域の地図を格納することを回避するとよい。
[0084] 現在地からどのようにサービス領域を得るかには関係なく、本方法はステップ321に進み、サービス領域に合った無線プロファイルを入手する。無線プロファイルは、ローカル・データーベースからまたはリモート・サーバーから入手することができる。ステップ321において、特定されたサービス領域において利用可能な全てのサービスに合った無線プロファイルを入手することもでき、またはクライアント計算機に関係があるサービスに限定してもよい。実施形態の中には、無線プロファイルが、提供されるワイヤレス・サービスおよびクライアント・デバイスにおけるソフトウェア無線のタイプの双方に特定的である場合もある。しかし、実施形態の中には、無線プロファイルが、サービス領域において用いられるワイヤレス・サービスのみに特定的な場合もある。
[0085] ステップ323において、無線プロファイルを検証する。検証は、無線プロファイルに付随する証明書を認証することを含むことができる。実施形態の中には、無線プロファイルが暗号化されており、ステップ323において、しかるべき鍵を用いて、無線プロファイルを解読する場合もある。しかし、無線プロファイルの検証は、適した方法であればそのいずれでも行うことができる。実施形態の中には、ステップ323が任意である場合もある。
[0086] 一旦プロファイルが検証されたなら(検証が実行される場合)、ステップ325において、無線プロファイルを用いてワイヤレス・ネットワーク・インターフェースのソフトウェア無線を構成する。次いで、計算機は、コンテンツを受信し始め、それをユーザーに提示し始めることができる。
[0087] 方法200および300について無線プロファイルに関して説明したが、これらの方法は、他のタイプの通信プロファイルを入手し、これを用いて計算機を構成するために用いることもできることは認められてしかるべきである。通信プロファイルとは、所望のサービスと通信するように計算機を構成するためのプロファイルである。通信プロファイルは、無線プロファイルを含んでも、または含まなくてもよい。
[0088] 方法200または300を通信プロファイルに関して用いるとき、方法200および300のステップ213および325において、それぞれ、これらの方法は、いずれかの適した方法で、通信プロファイルによって計算機を構成することができる。計算機がソフトウェア無線を含むとき、SDRを構成するために通信プロファイルを用いることができ、例えば、通信プロファイルと共に含まれる無線プロファイルを用いることができる。
[0089] 図4から図7は、一部の実施形態による携帯用計算機上におけるユーザー・インターフェースの表示部の出力例を示す。これら一連の図は、計算機上で所望のコンテンツを受信するときにユーザーが体験することができるシーケンスを示す。
[0090] 図4は、計算機の表示部上に表示されたウィンドウ400を示す。ウィンドウ400は、統合サービス・マネージャーである。図示した例では、サービス・マネージャーはワイヤレス・サービスを管理する。具体的には、この例において利用可能なワイヤレス・サービスが、アイコンによって表される。これらのアイコンには、テレビジョン・サービス・アイコン401、ラジオ・サービス・アイコン402、およびインターネット・アクセス・サービス・アイコン403が含まれる。他の実施形態では、利用可能なワイヤレス・サービスがこれらよりも多い場合も少ない場合もある。ワイヤレス・サービスは適した種類であればいずれでもよい。図示の例では、ユーザーは、マウスを用いてTVサービス・アイコン401上にポインティング・カーソル404を位置付け、マウス上でしかるべきボタンを押下する(例えば、マウス・クリック)することによってというようにして、入力デバイスを活性化することによって、TVサービスを選択する。TVサービス・アイコン401を選択した後、計算機のディスプレイ上にウィンドウ500を表示し、ユーザーにTVサービス用のインターフェースを設けることができる(図5)。ウィンドウ500は、ワイヤレスTVサービスからコンテンツを受信するコンテンツ・アプリケーションのユーザー・インターフェースの表示部を表す。実施形態の中には、ユーザーに同意を促す場合もある。しかし、同意は、代わりの時点において、いずれかの適した方法で得ることもできる。テレビジョン・サービスにアクセスするため、提示される広告のようなコンテンツをカスタム化させるため、あるいはユーザーにサービスに対して課金する承認を得るため、または課金情報を得るために、同意が要求される場合がある。ユーザーが同意しない場合、ウィンドウ500を閉じることができ、またはコンテンツへのアクセスを何らかの方法で制限することができる。
[0091] サービスの選択によって、前述したような技法を用いてこのようなサービスからコンテンツを得るように、計算機にそれ自体を自動的に構成させることができる。したがって、ウィンドウ500内に接続ステータス・ダイアログ・ボックス510を開いて、TVサービス・アクセス・ステータスをユーザーに提示することができる。この例では、一連のステップのステータスをユーザーに提示する。線511は、計算機が現在地を得つつあることをユーザーに示す。一旦現在地が得られたなら、線512を表示して、無線プロファイルがダウンロードされつつあることを示すことができる。一旦TVサービスに合った無線プロファイルが得られたなら、線513を表示して、ソフトウェア無線を構成するために無線プロファイルが用いられていることを示すことができる。一旦無線プロファイルが構成されたなら、ワイヤレスTVサービスへのワイヤレス接続が行われ、チャネル・ガイドのような情報をダウンロードすることができる。次いで、設定が完了したことをユーザーに通知する。
[0092] いずれの時点でも、ユーザーは取り消しボタン516を選択することによってプロセスを中断することを選択することができる。また、一旦設定が完了したなら、ユーザーに、OKボタン515を選択することによって、ステータス・ダイアログ・ボックス510を承認するように求めることができる。
[0093] 設定が首尾良く完了したと仮定すると、図6に示すように、ウィンドウ500においてガイドを表示することができる。このガイドは、選択されたサービスに対して利用可能なコンテンツ選択肢についての情報を含むことができる。ガイド情報は、ワイヤレス・サービス、ネットワーク接続を通じて接続されているサーバーから、またはいずれかの適した方法で受信することができる。例えば、ワイヤレス・サービスからガイドを収容したデーターのストリームを受信するように、 ソフトウェア無線を構成することができる。ここで、ガイドは、利用可能なチャネル601のリスト、およびそれぞれのチャネル上で現在ブロードキャストされている番組602のリストを含む。しかし、ガイドは、適した方法であればそのいずれでも提示することができる。この例に限って言えば、ユーザーがボタン603上にカーソル404を位置付けて、ボタンをクリックして、「スポーツ・ニュース」チャネル上で野球の試合を視聴するというユーザーの選択を示すと仮定する。実施形態の中には、選択されたチャネルからコンテンツを受信するように、ソフトウェア無線を再構成する、または「同調させる」とよい場合もある。
[0094] ここでは、ウィンドウ500は、スポーツ・ネットワーク・チャネルからコンテンツを受信するように構成されている。サブウィンドウ703において、野球の試合のビデオ画像が表示される。この番組のオーディオ・チャネルは、計算機上にあるスピーカーによって再生することができる。実施形態の中には、ユーザーに便宜を図るために、現在のチャネルおよび番組を特定する情報701を特定するとよい場合がある。加えて、広告702をウィンドウ400内に表示することもできる。広告は、ユーザーの位置およびユーザーが要求したコンテンツに基づいて、カスタム化することができる。例えば、広告702は、「貴方の地区におけるゲームのチケットを買って下さい」と表示される。ユーザーが広告702を(例えば、カーソル404によって)選択した場合、計算機の位置および提示されているコンテンツに基づいて情報がカスタム化され、ユーザーに示すことができる。
[0095] 以上のように本発明の少なくとも1つの実施形態の様々な態様を説明したので、種々の変更、修正、および改良は当業者には容易に想起されることは認められてしかるべきである。
[0096] 例えば、図示されていないが、計算機100は1つ以上の非SDRワイヤレス・ネットワーク・インターフェース(図示せず)を含むことができる。
[0097] このような変更、修正、および改良は、本開示の一部であることを意図しており、本発明の主旨および範囲に該当することを意図している。したがって、以上の説明および図面は、一例としてに過ぎない。
[0098] 以上に説明した本発明の実施形態は、様々な方法の内いずれでも実施することができる。例えば、ハードウェア、ソフトウェア、またはこれらの組み合わせを用いて、実施形態を実施することができる。ソフトウェアで実施するとき、1つのコンピューターに設けられているかまたは多数のコンピューター間に分散されているかには係わらず、いずれかの適したプロセッサーまたはプロセッサーの集合体においてソフトウェア・コードを実行することができる。
[0099] 更に、コンピューターは、ラック実装コンピューター、デスクトップ・コンピューター、ラップトップ・コンピューター、またはタブレット・コンピューターというように、多数の形態のいずれでも実施できることは認められてしかるべきである。加えて、コンピューターは、一般にはコンピューターと見なされないが適した処理能力を有するデバイスにも埋め込むことができる。これらのデバイスには、パーソナル・ディジタル・アシスタント(PDA)、スマート・フォン、あるいは他の適した携帯用または固定電子デバイスであればいずれもが含まれる。
[0100] また、コンピューターは1つ以上の入力および出力デバイスを有することができる。これらのデバイスは、とりわけ、ユーザー・インターフェースを提示するために用いることができる。ユーザー・インターフェースを設けるために用いることができる出力デバイスの例には、出力の視覚的提示のためのプリンターまたは表示画面、および出力の可聴提示のためのスピーカーまたはその他の音響発生デバイスが含まれる。ユーザー・インターフェースのために用いることができる入力デバイスの例には、キーボード、ならびにマウス、タッチ・パッド、およびディジタル化タブレットのようなポインティング・デバイスが含まれる。他の例として、コンピューターが、音声認識によって、または他の可聴フォーマットで入力情報を受信することもできる。
[0101] このようなコンピューターは、いずれかの適した形態で、企業ネットワークまたはインターネットのような、ローカル・エリア・ネットワークまたはワイド・エリア・ネットワークを含む、1系統以上のネットワークによって接続することができる。このようなネットワークは、適した技術であればそのいずれにも基づくことができ、いずれかの適したプロトコルにしたがって動作することもでき、ワイヤレス・ネットワーク、有線ネットワーク、または光ファイバ・ネットワークを含むことができる。
[0102] また、本明細書において概要を説明した種々の方法またはプロセスは、種々のオペレーティング・システムまたはプラットフォームの内いずれか1つを採用する1つ以上のプロセッサー上で実行可能なソフトウェアとしてコード化することができる。加えて、このようなソフトウェアは、多数の適したプログラミング言語および/またはプログラミングまたはスクリプティング・ツールのいずれを用いても書くことができ、更に、フレームワークまたは仮想マシン上で実行される、実行可能な機械語コードまたは中間コードとしてコンパイルすることもできる。
[0103] これに関して、本発明は、1つ以上のプログラムがエンコードされているコンピューター読み取り可能媒体(または多数のコンピューター読み取り可能媒体)として具体化することもできる(例えば、コンピューター・メモリー、1つ以上のフロッピ・ディスク、コンパクト・ディスク、光ディスク、磁気テープ、フラッシュ・メモリー、フィールド・プログラマブル・ゲート・アレイまたはその他の半導体デバイスにおける回路構成、あるいはその他の有形コンピューター記憶媒体)。これらのプログラムを1つ以上のコンピューターまたは他のプロセッサー上において実行すると、先に論じた本発明の種々の実施形態を実施する方法を実行する。1つまたは複数のコンピューター読み取り可能媒体は、移植可能とし、格納されている1つまたは複数のプログラムを1つ以上の異なるコンピューターまたは他のプロセッサー上にロードして、先に論じたような本発明の種々の態様を実施することができる。
[0104] 「プログラム」または「ソフトウェア」という用語は、先に論じた本発明の種々の態様を実施するようにコンピューターまたは他のプロセッサーをプログラミングするために採用することができる、あらゆるタイプのコンピューター・コードまたはコンピューター実行可能命令を指すように、本明細書では包括的な意味で用いられている。加えて、この実施形態の一態様によれば、実行されると本発明の方法を実行する1つ以上のコンピューター・プログラムは、1つのコンピューターまたはプロセッサー上に常駐する必要はなく、本発明の種々の態様を実施するために、モジュール状に多数の異なるコンピューターまたはプロセッサー間に分散されていてもよいことは認められてしかるべきである。
[0105] コンピューター実行可能命令は、1つ以上のコンピューターまたは他のデバイスによって実行する、プログラム・モジュールのような多くの形態とすることができる。一般に、プログラム・モジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データー構造等を含み、特定のタスクを実行するか、または特定の抽象データー・タイプを実施する。通例、プログラム・モジュールの機能は、種々の実施形態において所望に応じて組み合わせること、または分散することもできる。
[0106] また、データー構造は、適した形態であればそのいずれでもコンピューター読み取り可能媒体に格納することができる。図示を簡略化するために、データー構造は、当該データー構造における場所によって関係付けられたフィールドを有するように示すことができる。同様に、このような関係は、コンピューター読み取り可能媒体においてフィールド間で関係を伝える場所と共に、これらのフィールドにストレージを割り当てることによって達成することができる。しかしながら、データー構造のフィールドにおいて情報間に関係を確立するためには、適したメカニズムであればいずれでも用いることができ、ポインター、タグの使用によること、またはデーター・エレメント間に関係を確立するその他のメカニズムが含まれる。
[0107] 本発明の種々の態様は、単独でも、組み合わせでも、または先に説明した実施形態において具体的な論じられなかった種々の構成でも用いることができ、したがって、前述の説明において明記したコンポーネントや図面に示したコンポーネントの詳細や構成には、その応用は限定されない。例えば、一実施形態において説明した大要を、他の実施形態において説明した態様といかように組み合わせてもよい。
[0108] また、本発明は、方法として具体化することができ、その例を示した。この方法の一部として実行される動作は、いずれの適した方法でも順序を決定することができる。したがって、実施形態は、図示した順序とは異なる順序で動作が実行される構成にすることもでき、一部の動作を同時に実行することを含むことができるが、例示的な実施形態では連続的な動作として示されている。
[0109] 「第1」、「第2」、「第3」等のような序数を請求項において使用して請求項の要素を修飾する場合、それ自体は、優先順位も、時間的先行も、あるいは1つの請求項要素の他の要素に対する順序、即ち、方法の動作が実行される時間的順序も言外に含むことはなく、単に、請求項要素を区別するために、ある名称を有する1つの請求項要素を、同じ名称を有する他の要素(序数項の使用を除く)から区別する付箋として用いられるに過ぎない。
[0110] また、本明細書において用いた言葉づかいや用語は、説明を目的にしているのであり、限定と見なしてはならない。「含む」、「備えている」、または「有する」、「収容する」、「伴う」、およびこれらの派生形は、本明細書では、その後に羅列される項目、その均等物、および付加的な項目も包含することを意味する。