(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5902238
(24)【登録日】2016年3月18日
(45)【発行日】2016年4月13日
(54)【発明の名称】ワイヤレス通信デバイス内でアプリケーションを無線にマッピングするための方法および装置
(51)【国際特許分類】
H04W 88/02 20090101AFI20160331BHJP
H04W 48/18 20090101ALI20160331BHJP
H04W 88/06 20090101ALI20160331BHJP
【FI】
H04W88/02 131
H04W48/18 110
H04W88/06
【請求項の数】30
【外国語出願】
【全頁数】28
(21)【出願番号】特願2014-125697(P2014-125697)
(22)【出願日】2014年6月18日
(62)【分割の表示】特願2012-525672(P2012-525672)の分割
【原出願日】2010年8月18日
(65)【公開番号】特開2014-212545(P2014-212545A)
(43)【公開日】2014年11月13日
【審査請求日】2014年7月18日
(31)【優先権主張番号】61/234,941
(32)【優先日】2009年8月18日
(33)【優先権主張国】US
(31)【優先権主張番号】12/857,686
(32)【優先日】2010年8月17日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100109830
【弁理士】
【氏名又は名称】福原 淑弘
(74)【代理人】
【識別番号】100103034
【弁理士】
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100075672
【弁理士】
【氏名又は名称】峰 隆司
(74)【代理人】
【識別番号】100153051
【弁理士】
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100140176
【弁理士】
【氏名又は名称】砂川 克
(74)【代理人】
【識別番号】100158805
【弁理士】
【氏名又は名称】井関 守三
(74)【代理人】
【識別番号】100179062
【弁理士】
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100124394
【弁理士】
【氏名又は名称】佐藤 立志
(74)【代理人】
【識別番号】100112807
【弁理士】
【氏名又は名称】岡田 貴志
(74)【代理人】
【識別番号】100111073
【弁理士】
【氏名又は名称】堀内 美保子
(72)【発明者】
【氏名】リチャード・ディー.・ウィートフェルト
(72)【発明者】
【氏名】ハンス・ゲオルグ・グルバー
【審査官】
古市 徹
(56)【参考文献】
【文献】
特開2005−328520(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04B 7/24 − 7/26
H04W 4/00 − 99/00
3GPP TSG RAN WG1−4
SA WG1−2
CT WG1
(57)【特許請求の範囲】
【請求項1】
ワイヤレス通信デバイス内でアプリケーションを無線にマッピングする方法であって、前記方法はオペレーティングシステムによって制御されるコントローラにより実行され、
前記オペレーティングシステムを制御する複数のアプリケーションからの入力を受信することと、
前記複数のアプリケーションからの前記入力に基づいて、かつ複数の無線間の干渉をさらに緩和するために、選択された前記複数の無線を決定することと、
前記アプリケーションからの前記入力に基づいて、前記複数のアプリケーションを前記複数の無線にマッピングすることを決定することと、
前記アプリケーション向けの無線を選択するようにもしくは前記アプリケーションを無線にマッピングするようにまたはそれら両方を行うように指定された接続マネージャの動作を制御することと、
前記複数の無線間の干渉を緩和するために前記無線の動作を制御するように指定された共存マネージャの動作を制御することと、
前記複数のアプリケーションのどのアプリケーションがアクティブであるかを決定するために前記複数のアプリケーションと通信し、前記アクティブなアプリケーションの要求を取得して、利用可能な無線または前記選択された無線に関する情報を前記接続マネージャおよび前記共存マネージャに提供するように指定されたマルチアプリケーション−無線コントローラの動作を制御することと
を備え、
前記マルチアプリケーション−無線コントローラは任意のハイレベルオペレーティングシステム(HLOS)と任意のフレームワークとに依存せずに動作する、
方法。
【請求項2】
前記コントローラが、前記複数のアプリケーションがマッピングされる前記複数の無線を示す情報を前記複数のアプリケーションに提供すること、
をさらに備える、請求項1に記載の方法。
【請求項3】
前記コントローラが、前記複数の無線に関する干渉情報を取得すること、
をさらに備え、前記複数の無線が、前記干渉情報にさらに基づいて選択される、
請求項1に記載の方法。
【請求項4】
前記コントローラが、前記複数のアプリケーションの要件を決定すること、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションの前記要件にさらに基づいて前記複数の無線にマッピングされる、
請求項1に記載の方法。
【請求項5】
前記コントローラが、前記複数のアプリケーションの好みを決定すること、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションに関する前記好みにさらに基づいて、前記複数の無線にマッピングされる、
請求項1に記載の方法。
【請求項6】
前記コントローラが、前記複数のアプリケーションの優先順位を決定すること、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションの前記優先順位にさらに基づいて、前記複数の無線にマッピングされる、
請求項1に記載の方法。
【請求項7】
前記コントローラが、前記ワイヤレス通信デバイス内の複数の無線の、能力もしくは状況またはそれら両方を決定すること、
をさらに備え、前記複数の無線が、前記複数の無線の、前記能力もしくは前記状況またはそれら両方に基づいて選択される、請求項1に記載の方法。
【請求項8】
前記コントローラが、前記ワイヤレス通信デバイスの、能力もしくは状況またはそれら両方を決定すること、
をさらに備え、前記複数のアプリケーションが、前記ワイヤレス通信デバイスの、前記能力もしくは前記状況またはそれら両方にさらに基づいて、前記複数の無線にマッピングされる、
請求項1に記載の方法。
【請求項9】
前記コントローラが、前記複数のアプリケーションの、要件もしくは好みまたは優先順位、あるいはそれらの組合せを取得するために、上層内のエンティティと通信することと、
前記コントローラが、前記複数の無線の、能力もしくは状況またはそれら両方を取得するために、下層内のエンティティと通信することと、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションの、前記要件もしくは前記好みまたは前記優先順位、あるいはそれらの組合せと、前記複数の無線の、前記能力もしくは前記状況またはそれら両方とに基づいて、前記複数の無線にマッピングされ、
前記上層および前記下層は、前記ワイヤレス通信デバイス内のスタック内の層であり、前記上層は、前記HLOSおよびアプリケーションを含み、前記下層は、無線コントローラを含む、
請求項1に記載の方法。
【請求項10】
前記コントローラに、前記アプリケーションの要件、好み、および/または優先順位を取得するために、前記複数のアプリケーションとリアルタイムに通信させ、前記複数の無線の能力および/または状況を取得するために、前記マルチアプリケーション−無線コントローラと通信させること、
をさらに備える、請求項1に記載の方法。
【請求項11】
前記複数のアプリケーションを前記マッピングすることを前記決定することは、
前記複数のアプリケーションに関する少なくとも1つの接続要求を前記接続マネージャに送ることと、
前記複数のアプリケーションを前記複数の無線に前記マッピングすることに伴う、少なくとも1つの応答を前記接続マネージャから受信することと、
を備える、請求項1に記載の方法。
【請求項12】
前記複数の無線を前記決定することは、
前記複数のアプリケーション向けの無線リソースに関する少なくとも1つの要求を前記共存マネージャに送ることと、
利用可能な無線で、少なくとも1つの応答を前記共存マネージャから受信することと、なお、前記複数の無線は前記利用可能な無線の中にある、
を備える、請求項1に記載の方法。
【請求項13】
前記コントローラが、アプリケーション向けの無線を選択するように、もしくはアプリケーションを無線にマッピングするように、またはそれら両方を行うように指定された接続マネージャの動作を制御することと、
前記コントローラが、無線間の干渉を緩和するために前記無線の動作を制御するように指定された共存マネージャの動作を制御することと、
をさらに備える、請求項1に記載の方法。
【請求項14】
前記コントローラが、接続マネージャに関する第1のデータベース、もしくは共存マネージャに関する第2のデータベース、またはそれら両方を管理すること、
をさらに備える、請求項1に記載の方法。
【請求項15】
前記コントローラが、前記コントローラと、接続マネージャまたは共存マネージャとの、あるいはそれら両方との間の、通信のために使用されるデータバスを管理すること、
をさらに備える、請求項1に記載の方法。
【請求項16】
前記コントローラが、中央処理装置(CPU)リソース、もしくはメモリリソース、またはそれら両方を、接続マネージャもしくは共存マネージャ、またはそれら両方に提供すること、
をさらに備える、請求項1に記載の方法。
【請求項17】
前記コントローラが、前記ワイヤレス通信デバイスの電力供給時に利用可能な無線のセットを取得することと、
前記コントローラが、前記利用可能な無線のセットに関して、無線接続確認、もしくはインターネット接続確認、またはそれら両方を開始することと、
をさらに備える、請求項1に記載の方法。
【請求項18】
ワイヤレス通信デバイス内でアプリケーションを無線にマッピングするための装置であって、
オペレーティングシステムによって制御されるコントローラにおいて、前記オペレーティングシステムを制御する複数のアプリケーションからの入力を受信するための手段と、
前記複数のアプリケーションからの前記入力に基づいて、かつ複数の無線間の干渉をさらに緩和するために、選択された前記複数の無線を決定するための手段と、
前記アプリケーションからの前記入力に基づいて、前記複数のアプリケーションを前記複数の無線にマッピングすることを決定するための手段と、
前記アプリケーション向けの無線を選択するようにもしくは前記アプリケーションを無線にマッピングするようにまたはそれら両方を行うように指定された接続マネージャの動作を制御するための手段と、
前記複数の無線間の干渉を緩和するために前記無線の動作を制御するように指定された共存マネージャの動作を制御するための手段と、
前記複数のアプリケーションのどのアプリケーションがアクティブであるかを決定するために前記複数のアプリケーションと通信し、前記アクティブなアプリケーションの要求を取得して、利用可能な無線または前記選択された無線に関する情報を前記接続マネージャおよび前記共存マネージャに提供するように指定されたマルチアプリケーション−無線コントローラの動作を制御するための手段と
を備え、
前記マルチアプリケーション−無線コントローラは任意のハイレベルオペレーティングシステム(HLOS)と任意のフレームワークとに依存せずに動作する、
装置。
【請求項19】
前記複数のアプリケーションがマッピングされる前記複数の無線を示す情報を前記複数のアプリケーションに提供するための手段、
をさらに備える、請求項18に記載の装置。
【請求項20】
前記複数の無線に関する干渉情報を取得するための手段、
をさらに備え、前記複数の無線が、前記干渉情報にさらに基づいて選択される、
請求項18に記載の装置。
【請求項21】
前記複数のアプリケーションの、要件もしくは好みまたは優先順位、あるいはそれらの組合せを決定するための手段、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションの、前記要件もしくは前記好みまたは前記優先順位、あるいはそれらの組合せにさらに基づいて、前記複数の無線にマッピングされる、
請求項18に記載の装置。
【請求項22】
前記複数のアプリケーションの、要件もしくは好みまたは優先順位、あるいはそれらの組合せを取得するために、前記ワイヤレス通信デバイスの上層内のエンティティと通信するための手段と、
前記複数の無線の、能力もしくは状況またはそれら両方を取得するために、前記ワイヤレス通信デバイスの下層内のエンティティと通信するための手段と、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションの、前記要件もしくは前記好みまたは前記優先順位、あるいはそれらの組合せと、前記複数の無線の、前記能力もしくは前記状況またはそれら両方とに基づいて、前記複数の無線にマッピングされ、
前記上層および前記下層は、前記ワイヤレス通信デバイス内のスタック内の層であり、前記上層は、前記HLOSおよびアプリケーションを含み、前記下層は、無線コントローラを含む、
請求項18に記載の装置。
【請求項23】
接続マネージャに関する第1のデータベース、もしくは共存マネージャに関する第2のデータベース、またはそれら両方を管理するための手段、
をさらに備える、請求項18に記載の装置。
【請求項24】
ワイヤレス通信デバイス内でアプリケーションを無線にマッピングするための装置であって、
オペレーティングシステムによって制御されるコントローラにおいて、前記オペレーティングシステムを制御する複数のアプリケーションからの入力を受信することと、前記複数のアプリケーションからの前記入力に基づいて、かつ複数の無線間の干渉をさらに緩和するために、選択された前記複数の無線を決定することと、前記アプリケーションからの前記入力に基づいて、前記複数のアプリケーションを前記複数の無線にマッピングすることを決定することと、前記アプリケーション向けの無線を選択するようにもしくは前記アプリケーションを無線にマッピングするようにまたはそれら両方を行うように指定された接続マネージャの動作を制御することと、前記複数の無線間の干渉を緩和するために無線の動作を制御するように指定された共存マネージャの動作を制御することと、前記複数のアプリケーションのどのアプリケーションがアクティブであるかを決定するために前記複数のアプリケーションと通信し、前記アクティブなアプリケーションの要求を取得して、利用可能な無線または前記選択された無線に関する情報を前記接続マネージャおよび前記共存マネージャに提供するように指定されたマルチアプリケーション−無線コントローラの動作を制御することと
を行うように構成された、少なくとも1つのプロセッサ、
を備え、
前記マルチアプリケーション−無線コントローラは任意のハイレベルオペレーティングシステム(HLOS)と任意のフレームワークとに依存せずに動作する、
装置。
【請求項25】
前記少なくとも1つのプロセッサが、前記複数のアプリケーションがマッピングされる前記複数の無線を示す情報を前記複数のアプリケーションに提供するように構成される、請求項24に記載の装置。
【請求項26】
前記少なくとも1つのプロセッサが、前記複数の無線に関する干渉情報を取得するように構成され、前記複数の無線が、前記干渉情報にさらに基づいて選択される、請求項24に記載の装置。
【請求項27】
前記少なくとも1つのプロセッサが、前記複数のアプリケーションの、要件もしくは好みまたは優先順位、あるいはそれらの組合せを決定するように構成され、前記複数のアプリケーションが、前記複数のアプリケーションの、前記要件もしくは前記好みまたは前記優先順位、あるいはそれらの組合せにさらに基づいて、前記複数の無線にマッピングされる、請求項24に記載の装置。
【請求項28】
前記少なくとも1つのプロセッサが、前記複数のアプリケーションの、要件もしくは好みまたは優先順位、あるいはそれらの組合せを取得するために、前記ワイヤレス通信デバイスの上層内のエンティティと通信し、前記複数の無線の、能力もしくは状況またはそれら両方を取得するために、前記ワイヤレス通信デバイスの下層内のエンティティと通信するように構成され、前記複数のアプリケーションが、前記複数のアプリケーションの、前記要件もしくは前記好みまたは前記優先順位、あるいはそれらの組合せと、前記複数の無線の、前記能力もしくは前記状況またはそれらの組合せとに基づいて、前記複数の無線にマッピングされ、
前記上層および前記下層は、前記ワイヤレス通信デバイス内のスタック内の層であり、前記上層は、前記HLOSおよびアプリケーションを含み、前記下層は、無線コントローラを含む、
請求項24に記載の装置。
【請求項29】
前記少なくとも1つのプロセッサが、接続マネージャに関する第1のデータベース、もしくは共存マネージャに関する第2のデータベース、またはそれら両方を管理するように構成される、請求項24に記載の装置。
【請求項30】
少なくとも1つのコンピュータに、オペレーティングシステムによって制御されるコントローラにおいて、前記オペレーティングシステムを制御する複数のアプリケーションからの入力を受信させるためのコードと、
前記少なくとも1つのコンピュータに、前記複数のアプリケーションからの前記入力に基づいて、かつ複数の無線間の干渉をさらに緩和するために、選択された前記複数の無線を決定させるためのコードと、
前記少なくとも1つのコンピュータに、前記アプリケーションからの前記入力に基づいて、前記複数のアプリケーションを前記複数の無線にマッピングすることを決定させるためのコードと、
前記少なくとも1つのコンピュータに、前記アプリケーション向けの無線を選択するようにもしくは前記アプリケーションを無線にマッピングするようにまたはそれら両方を行うように指定された接続マネージャの動作を制御させるためのコードと、
前記少なくとも1つのコンピュータに、前記複数の無線間の干渉を緩和するために無線の動作を制御するように指定された共存マネージャの動作を制御させるためのコードと、
前記少なくとも1つのコンピュータに、前記複数のアプリケーションのどのアプリケーションがアクティブであるかを決定するために前記複数のアプリケーションと通信し、前記アクティブなアプリケーションの要求を取得して、利用可能な無線または前記選択された無線に関する情報を前記接続マネージャおよび前記共存マネージャに提供するように指定されたマルチアプリケーション−無線コントローラの動作を制御させるためのコードと
を備え、
前記マルチアプリケーション−無線コントローラは任意のハイレベルオペレーティングシステム(HLOS)と任意のフレームワークとに依存せずに動作する、
コンピュータ読取可能記憶媒体。
【発明の詳細な説明】
【0001】
本出願は、その譲受人に渡され、参照により本明細書に組み込まれている、2009年8月18日に出願した「共存マネージャコントローラとしてのSPS(SPS AS COEXISTENCE MANAGER CONTROLLER)」という表題の仮米国出願第61/234,941号の優先権を主張するものである。
【0002】
I.分野
本発明は、一般に、通信に関し、より詳細には、ワイヤレス通信デバイスによる通信をサポートするための技法に関する。
【0003】
II.背景
ワイヤレス通信ネットワークは、音声、ビデオ、パケットデータ、メッセージング、ブロードキャストなど、様々な通信コンテンツを提供するために広く配備されている。これらのワイヤレスネットワークは、利用可能なネットワークリソースを共有することによって、複数のユーザをサポートできる多元接続ネットワークであり得る。そのような多元接続ネットワークの例は、符号分割多元接続(CDMA)ネットワーク、時分割多元接続(TDMA)ネットワーク、周波数分割多元接続(FDMA)ネットワーク、直行FDMA(OFDMA)ネットワーク、およびシングルキャリアFDMA(SC−FDMA)ネットワークを含む。
【0004】
ワイヤレス通信デバイスは、異なるワイヤレス通信ネットワークとの通信をサポートするために、いくつかの無線(a number of radios)を含むことが可能である。ワイヤレスデバイスは、異なる要件(different requirements)を有し得るいくつかのアプリケーションをサポートすることも可能である。良好なパフォーマンスを達成できるように、ワイヤレスデバイス上のアクティブなアプリケーション(active applications)に関する通信をサポートすることが望ましい場合がある。
【発明の概要】
【0005】
ワイヤレス通信デバイス内でアプリケーションを無線にマッピングする(mapping applications to radios)ための技法が本明細書で説明される。一態様では、コントローラは、(i)互いに対して過剰な干渉を引き起こさずに同時に動作できる無線を選択することと、(ii)アプリケーションを無線にマッピングすることとをサポートすることが可能である。このコントローラは、ワイヤレスデバイス内のオペレーティングシステムの下位にあって(reside below)よく、下で説明されるように、様々な利点を提供することが可能である。
【0006】
一設計では、このコントローラは、オペレーティングシステムの上位にあって(reside above)よい複数のアプリケーションからの入力を受信することが可能である。このコントローラは、複数の無線に関する干渉情報を取得することができる。このコントローラは、それらのアプリケーションからの入力に基づいて、かつそれらの無線間の干渉を緩和するための干渉情報にさらに基づいて、選択された複数の無線を決定することが可能である。このコントローラは、それらのアプリケーションからの入力に基づいて、アプリケーションを無線にマッピングすることを決定できる。アプリケーションの要件(requirements of the applications)、アプリケーションの好み(preferences of the applications)、アプリケーションの優先順位(priorities of the applications)、および/もしくはその他の情報にさらに基づいて、無線を選択することが可能であり、かつ/またはアプリケーションを無線にマッピングすることが可能である。このコントローラは、それらのアプリケーションがマッピングされる無線を示す情報をそれらのアプリケーションに提供することが可能である。それらのアプリケーションは、次いで、その選択された無線を経由して接続性を取得することが可能である。
【0007】
一設計では、このコントローラは、無線の選択(radio selection)と、アプリケーションから無線へのマッピング(application-to-radio mapping)とを円滑にするために、上層内と下層内の(in both upper layers and lower layers)両方のエンティティとインターフェースをとることが可能である。このコントローラは、それらのアプリケーションの要件(requirements)、好み(preferences)、および/または優先順位(priorities)を取得するために、上層内のエンティティ(例えば、アプリケーション)と通信することが可能である。このコントローラは、それらの無線の能力(capabilities)および/または状況(status)を取得するために、下層内のエンティティ(例えば、無線コントローラ)と通信することが可能である。これらのアプリケーションは、それらのアプリケーションの要件、好み、および/または優先順位、ならびにそれらの無線の能力および/または状況に基づいて、無線にマッピングされ得る。このコントローラは、アプリケーションと無線とのリアルタイムの相互作用(real-time interaction with the applications and radios)をサポートすることが可能である。
【0008】
一設計では、このコントローラは、無線の選択(radio selection)と、アプリケーションから無線へのマッピング(application-to-radio mapping)とをサポートするために、他のエンティティの動作を制御することが可能である。このコントローラは、アプリケーション向けの無線を選択するように、かつ/またはアプリケーションを無線にマッピングするように指定され得る接続マネージャ(connection manager)の動作を制御することが可能である。このコントローラは、無線間の干渉を緩和するために無線の動作を制御するように指定され得る共存マネージャ(coexistence manager)の動作を制御することも可能である。
【0009】
このコントローラは、接続管理(connection management)および/または共存管理(coexistence management)をサポートするために、他の機能を実行することも可能である。このコントローラは、接続マネージャと共存マネージャとに関するデータベースを管理することが可能である。このコントローラは、コントローラと、接続マネージャと、共存マネージャとの間の通信のために使用されるデータバスを管理することが可能である。このコントローラは、中央処理装置(CPU)リソース、メモリリソース、および/もしくはその他のリソースを接続マネージャならびに/または共存マネージャに提供することが可能である。このコントローラは、接続管理および/または共存管理をサポートするために、他の機能を実行することも可能である。
【0010】
本開示の様々な態様および機能が、下でさらに詳細に説明される。
【図面の簡単な説明】
【0011】
【
図1】様々なワイヤレスネットワークと通信しているワイヤレスデバイスを示す図。
【
図3】ワイヤレスデバイスがオンにされたときの初期化に関するコールフローを示す図。
【
図4】アプリケーション向けの無線を選択することを実行するためのコールフローを示す図。
【
図5】アプリケーションを無線にマッピングするためのプロセスを示す図。
【0012】
図1は、複数のワイヤレス通信ネットワークと通信できるワイヤレス通信デバイス110を示す。これらのワイヤレスネットワークは、1つもしくは複数のワイヤレス広域ネットワーク(WWAN)120および130、1つもしくは複数のワイヤレスローカルエリアネットワーク(WLAN)140および150、1つもしくは複数のワイヤレスパーソナルエリアネットワーク(WPAN)160、1つもしくは複数のブロードキャストネットワーク170、1つもしくは複数の衛星測位システム180、
図1に示されないその他のネットワークおよびシステム、またはそれらの任意の組合せを含むことが可能である。「ネットワーク」および「システム」という用語は、多くの場合、交換可能に使用される。WWANは、セルラネットワークであってよい。
【0013】
セルラネットワーク120および130は、それぞれ、CDMA、TDMA、FDMA、OFDMA、SC−FDMA、またはいくつかのその他のネットワークであってよい。CDMAネットワークは、汎用地上波無線アクセス(UTRA)、cdma2000などの無線技術またはエアインターフェースを実施することが可能である。UTRAは、広帯域CDMA(WCDMA(登録商標))と、CDMAの他のバージョンとを含む。cdma2000は、IS−2000標準と、IS−95標準と、IS−856標準とをカバーする。IS−2000は、CDMA 1Xとも呼ばれ、IS−856は、エボリューションデータオプティマイズド(EVDO)とも呼ばれる。TDMAネットワークは、広域移動通信システム(GSM(登録商標))、デジタル先進移動電話システム(D−AMPS)などの無線技術を実施することが可能である。OFDMAネットワークは、進化型UTRA(E−UTRA)、ウルトラモバイルブロードバンド(UMB)、IEEE802.16(WiMAX)、IEEE802.20、Flash−OFDM(登録商標)などの無線技術を実施することが可能である。UTRAおよびE−UTRAは、ユニバーサル移動通信システム(UMTS)の一部である。3GPPロングタームエボリューション(LTE)およびLTEアドバンスト(LTE−A)は、E−UTRAを使用する、UMTSの新しいリリースである。UTRA、E−UTRA、UMTS、LTE、LTE−A、およびGSMは、「第3世代パートナーシッププロジェクト」(3GPP)と名付けられた組織からの文書で説明されている。cdma2000およびUMBは、「第3世代パートナーシッププロジェクト2」と名付けられた組織からの文書で説明されている。セルラネットワーク120および130は、それぞれ、ワイヤレスデバイスに関する双方向通信をサポートできる基地局122および132を含むことが可能である。
【0014】
WLAN140および150は、それぞれ、IEEE802.11(Wi−Fi)、Hiperlanなどの無線技術を実施することが可能である。WLAN140および150は、それぞれ、ワイヤレスデバイスに関する双方向通信をサポートできるアクセスポイント142および152を含むことが可能である。WPAN160は、Bluetooth(登録商標)、IEEE802.15などの無線技術を実施することが可能である。WPAN160は、ワイヤレスデバイス110、ヘッドセット162、コンピュータ164、マウス166など、様々なデバイスに関する双方向通信をサポートすることが可能である。
【0015】
ブロードキャストネットワーク170は、テレビ(TV)ブロードキャストネットワーク、周波数変調(FM)ブロードキャストネットワーク、デジタルブロードキャストネットワークなどであってよい。デジタルブロードキャストネットワークは、MediaFLO(商標)、デジタルビデオブロードキャスティングフォーハンドヘルド(Digital Video Broadcasting for Handhelds)(DVB−H)、統合デジタル放送サービス(Integrated Services Digital Broadcasting for Terrestrial Television Broadcasting)(ISDB−T)、米国次世代テレビシステム委員会−モバイル/ハンドヘルド(Advanced Television Systems Committee - Mobile/Handheld)(ATSC−M/H)などの無線技術を実施することが可能である。ブロードキャストネットワーク170は、一方向通信をサポートできる1つまたは複数の放送局172を含むことが可能である。
【0016】
衛星測位システム180は、合衆国の全地球測位システム(GPS)、欧州のガリレオシステム、ロシアのGLONASSシステム、日本の準天頂衛星システム(QZSS)、インドの領域航法衛星システム(IRNSS)、中国の北斗システムなどであってよい。衛星測位システム180は、測位のために使用される信号を送信する、いくつかの衛星182を含むことが可能である。
【0017】
ワイヤレスデバイス110は、固定であってよく、またはモバイルであってもよく、ユーザ装置(UE)、移動局、モバイル装置、端末、アクセス端末、加入者ユニット、局などと呼ばれる場合もある。ワイヤレスデバイス110は、セルラ電話、携帯情報端末(PDA)、ワイヤレスモデム、ハンドヘルドデバイス、ラップトップコンピュータ、コードレス電話、ワイヤレスローカルループ(WLL)局、スマートフォン、ネットブック、スマートブック、ブロードキャスト受信機などであってよい。ワイヤレスデバイス110は、セルラネットワーク120および/または130、WLAN140および/または150、WPAN160内のデバイスなどと二方向で通信することが可能である。ワイヤレスデバイス110は、ブロードキャストネットワーク170、衛星測位システム180などから信号を受信することも可能である。一般に、ワイヤレスデバイス110は、任意の時点で、任意の数のワイヤレスネットワークおよびシステムと通信することが可能である。
【0018】
図2は、ホストサブシステム202と無線サブシステム204とを含むワイヤレスデバイス110の設計のブロック図を示す。ホストサブシステム202は、ワイヤレスデバイス110に関する様々なアプリケーションおよび機能をサポートする。無線サブシステム204は、ワイヤレスデバイス110に関する無線通信をサポートする。
【0019】
図2に示される設計では、ホストサブシステム202は、ホストプロセッサ210とメモリ212とを含む。ワイヤレスデバイス110は、音声、パケットデータ、ビデオ共有、ビデオ電話、電子メール、ブロードキャスト受信、インスタントメッセージング、プッシュツートークなど、様々な通信サービスを提供できるL個のアプリケーション220aから220lをサポートすることが可能である。一般に、Lは、任意の値であってよい。L個のアプリケーション220のうちのいずれか1つは、所与の時点でアクティブであり得る。アプリケーションプログラミングインターフェース(API)222は、ワイヤレスデバイス110に関するアプリケーション220とオペレーティングシステム(OS)224との間の通信をサポートすることが可能である。オペレーティングシステム224は、ワイヤレスデバイス110の動作を制御することが可能であり、ハイレベルオペレーティングシステム(HLOS)、またはいくつかのその他のオペレーティングシステムであってよい。ホストプロセッサ210は、アクティブなアプリケーション220を実行することが可能であり、アプリケーションAPI222とOS224とを実行することも可能である。1つまたは複数のメインCPU226は、アクティブなアプリケーション224に関する処理とその他の機能とを実行することが可能である。メモリ212は、ホストプロセッサ210に関するプログラムコードとプログラムデータとを格納することが可能である。
【0020】
図2に示される設計では、無線サブシステム204は、マルチアプリケーション−無線(MAR)コントローラ(multiple application-radio (MAR) controller)240と、接続マネージャ(CnM)260と、共存マネージャ(CxM)270と、CnMデータベース280と、CxMデータベース282と、R個の無線290aから290rとを含み、この場合、Rは、任意の値であってよい。MARコントローラ240は、スマート周辺システム(SPS)コントローラなどと呼ばれる場合もある。無線サブシステム204は、モデムチップ、モデムチップセット、ワイヤレスデータカードなどであってよい。R個の無線290は、3GPP2セルラネットワーク(例えば、CDMA 1X、EVDOなど)、3GPPセルラネットワーク(例えば、GSM、GPRS、EDGE、WCDMA/UMTS、LTEなど)、WLAN、WiMAXネットワーク、GPS、Bluetooth、ブロードキャストネットワーク、近視野通信(NFC)、無線周波数識別(RFID)などに関する場合がある。
【0021】
MARコントローラ240は、無線サブシステム204内の他のユニットに制御機能とリソースとを提供することが可能である。MARコントローラ240は、どのアプリケーションがアクティブであるかを決定するために、APIを経由して、アプリケーション220と通信し、それらのアクティブなアプリケーションの要件を取得して、利用可能な無線または選択された無線に関する情報を提供することが可能である。MARコントローラ240内で、HLOS API242は、下で説明されるように、MARコントローラ240とアプリケーション220との間の通信を円滑にすることが可能である。CPU244は、MARコントローラ240と、接続マネージャ260と、共存マネージャ270とに関する処理を実行することが可能である。CPU244は、無線290を経由して送信および/または受信されているデータに関する処理を実行することも可能である。それぞれの無線290に関する処理は、その無線によってサポートされる無線技術に依存してよく、符号化、復号化、変調、復調、暗号化、暗号解読などを含むことが可能である。メモリ246は、MARコントローラ240、接続マネージャ260、および共存マネージャ270に関するプログラムコードとデータとを格納することが可能である。ダイレクトメモリアクセス(DMA)/ファブリックコントローラ248は、ローカルメモリもしくは外部メモリ、またはその他のサブシステムとのデータ転送をサポートすることが可能である。バスコントローラ250は、同期バスまたは非同期バスであってよいデータバス258を経由して通信を調整することが可能である。バスコントローラ250は、データバス258のクロック生成とスリープ構成要素とを管理することが可能であり、接続された無線とのユニキャスト通信およびブロードキャスト通信を管理することも可能である。バスコントローラ250は、例えば、
図2に示されない、1つまたは複数のその他のバスを経由して、無線サブシステム204とワイヤレスデバイス110内のその他のエンティティとの間の通信を調整することも可能である。
【0022】
一設計では、MARコントローラ240は、例えば、無線選択、システム選択、無線間のハンドオフなどに関係する機能に関して、接続マネージャ260と共存マネージャ270とに関する処理を実行することが可能である。システム選択は、特定のワイヤレスシステム、もしくは特定の無線技術、または特定の系統の無線技術を選択することを指す場合がある。無線選択は、ワイヤレスデバイス100内の特定の無線を選択することを指す場合がある。CPU244は、無線サブシステム204内に位置する埋込み式プロセッサであってよい。CPU244および関連メモリ246は、CnM機能とCxM機能とをホストするために単一の集中型環境を提供することが可能である。これは、接続マネージャ260がローカライズされた環境内ですべてのアクティブな無線のリアルタイム管理を提供することを可能にし得る。これは、接続マネージャ260が、任意の数の無線をサポートするためにスケーラブルなインフラストラクチャを提供することも可能にし得る。CPU244は、既存のCxM機能とCnM機能とを実行する際に電力節約を実現するために、要求されるパフォーマンスが従来のCPUよりも低い低出力プロセッサであってよい。さらに、CPU244は、必要なとき、接続マネージャ260および共存マネージャ270が機能的であり得るように、「常時オン」環境を提供することが可能である。電力消費を削減するために、適切な場合、CPU244がスリープすることを同時に可能にしながら、この「常時オン」機能性を保証できる。
【0023】
接続マネージャ260は、利用可能な無線を経由して、アクティブなアプリケーションに関する通信をサポートするための様々な機能を実行することが可能である。接続マネージャ260内で、システムポリシーマネージャ262は、無線290に関連するポリシーを管理して、事象に応答して、無線をアクティブ化および非アクティブ化し、ワイヤレスネットワーク同士の間のハンドオフを管理することが可能である。これらのポリシーは、任意の所与のアプリケーションに関して、どの(1つまたは複数の)無線を使用するかを決定するために使用可能である。システムポリシーマネージャ262は、3GPP2内の好ましいローミングリスト(PRL)、3GPP内の好ましい公有地モバイルネットワーク(PLMN)のリストなどを経由して提供され得るネットワークオペレータ規則に基づいて動作できる。システムリソースマネージャ264は、競合解決、電力管理、サービスのリンク品質(QoS)、受付制御など、リソース管理を実行するために、システムポリシーマネージャ262とインターフェースをとることが可能である。無線インターフェースマネージャ266は、呼を管理することと、電話設定を変更することと、補助サービスを登録/登録解除することと、呼状況、電話状態/電話状況、およびサービス状況に関してアプリケーションに通知することとが可能である。無線インターフェースマネージャ266は、モバイルインターネットプロトコル(MIP)と、隣接チャネル測定と、より良好なシステム検出と、事前認証およびセキュリティ鍵交換と、音声サービスおよびデータサービスに関するその他の機能ユニットとを使用して、サービス継続性を管理することも可能である。無線インターフェースマネージャ266は、ワイヤレスデバイス110とその他のワイヤレスデバイスとの間のピアツーピア通信をサポートすることも可能である。CnMコントローラ268は、接続マネージャ260の制御全体を担うことができ、データバス258を経由して交換されたメッセージを介して、接続マネージャ260内のその他のマネージャおよびコントローラの動作を調整することも可能である。
【0024】
共存マネージャ270は、無線290とインターフェースをとることができ、無線の動作を制御することが可能である。共存マネージャ270は、アクティブな無線から入力を受信することができ、これらの無線間の干渉を緩和して、可能な限り多くの無線に関して良好なパフォーマンスを達成するために、アクティブな無線の動作を制御することが可能である。共存マネージャ270内で、CxMコントローラ278は、共存マネージャ270の制御全体を担うことができる。無線コントローラ276は、無線290とインターフェースをとることができ、無線の動作を制御することが可能である。無線コントローラ276は、(
図2に示されるように)共存マネージャ270の一部であってよく、または共存マネージャ270の外部にあってもよい(例えば、無線290の一部であってもよい)。無線コントローラ276は、音声呼出継続性(VCC)とデータ呼継続性(DCC)とをサポートするための機能を実行することが可能である。無線コントローラ276は、回線交換ネットワークとパケット交換ネットワークとの間の音声呼出継続性に関するハンドオフ機構を実施することも可能である。無線コントローラ276は、(i)3GPP I−WLANで定義されるデータサービス継続性と、(ii)3GPPおよびインターネット技術タスクフォース(IETF)で定義されたモバイルIPとに関するハンドオフ機構を実施することも可能である。無線コントローラ276は、良好なユーザ経験を維持するために、異なる無線技術の無線間の自動システム選択と、呼出中/使用中のハンドオフとに関して、VCC機能性とDCC機能性とをサポートすることが可能である。ルックアップテーブル(LUT)272は、現在動作しているシナリオに基づいて、データベースの関係する部分を取り出すために、CxMデータベース282と関連付けられることが可能である(CxMデータベース282とインターフェースをとることが可能である)。ハードウェアアクセラレータ(HWA)274は、ある種の機能の効率的な処理を実現することが可能である。
【0025】
CnMデータベース280は、アプリケーション向けの無線を選択するために使用され得る様々な情報を格納することができる。一設計では、CnMデータベース280は、以下のうちの1つまたは複数を格納することが可能である。すなわち、異なるワイヤレスネットワークに関する情報のネットワークデータベースと、ワイヤレスデバイス110に接続性を提供するための無線を選択するために使用される情報のポリシーデータベースと、接続性を取得するために使用され得るプロファイルのプロファイルデータベースと、ワイヤレスデバイス110上にダウンロードされているサービスクライアントのサービスデータベースと、現在動作しているシナリオに基づいて、アプリケーション向けの無線を選択するために使用される情報の変換された干渉データベースと、ワイヤレスデバイス110に関する他の情報のその他のデータベースとである。
【0026】
プロファイルデータベースは、ワイヤレスデバイス110に接続性を提供するために使用され得る様々なプロファイルを格納することが可能である。プロファイルは、ワイヤレスデバイス110が接続性を取得するために実行すべき特定の活動に関する好みを含むことが可能である。例えば、プロファイルは、他の無線に対するある種の無線の好み、ある条件下での特定の無線の好みなどを識別することが可能である。異なるエンティティの要件に対する適合を可能にするために、異なるプロファイルをそれらのエンティティによって画定することが可能である。一設計では、以下のプロファイルのうちの1つまたは複数を画定することが可能である。すなわち、例えば、コスト、プライバシー、バッテリー使用など、様々な考慮事項に基づいて、ユーザによって画定された接続性に関する好みを格納するユーザプロファイルと、例えば、PRL、好ましいPLMNリストなど、ネットワークオペレータによって画定された接続性好みを格納するオペレータプロファイルと、例えば、ワイヤレスデバイス110の能力に基づいてOEMによって画定された接続性好みを格納する相手先商標製品製造(OEM)プロファイルと、例えば、アプリケーションの要件に基づいて画定されたアプリケーション220に関する接続性好みを格納するアプリケーションプロファイルと、補助サービスに関する接続性好みを格納するサービスプロファイルと、ワイヤレスデバイス110の学習パターンおよび学習行動に基づいて決定された接続性好みを格納する学習プロファイルとである。
【0027】
CxMデータベース282は、異なる動作シナリオにおける無線の異なる組合せのパフォーマンスに関する情報を備えることが可能な干渉データベースを格納することが可能である。この干渉データベースは、カラーチャートの形をとってよい。一設計では、このカラーチャートは、(i)異なる周波数帯域における異なる送信機無線に関するいくつかの列と、(ii)異なる周波数帯域における異なる受信機無線のいくつかの行とを含むことが可能である。列と行との間の交点における所与の帯域組合せの場合、その列に関する周波数帯域における送信機無線の存在下のその行に関する周波数帯域における受信機無線のパフォーマンスをそのカラーチャート内に格納することが可能である。
【0028】
もう1つの設計では、このカラーチャートは、異なる送信機無線と異なる受信機無線に関するいくつかの動作状態とに関して、いくつかのセル/エントリーを含むことが可能である。無線は、無線からの干渉を緩和するため、かつ/または無線のパフォーマンスを改善するために調整され得る1つまたは複数の構成可能なパラメータを有することが可能である。それぞれの構成可能なパラメータは、そのパラメータに適用可能な複数の可能性な設定/値のうちの1つに設定できる。無線は、それぞれの構成可能なパラメータに関する特定の設定によって画定され得る動作状態を有することが可能である。そのカラーチャートは、その上で送信機無線が動作できるそれぞれの周波数チャネルに関する列のセットを含むことが可能であり、それぞれの列は、送信機無線の異なる動作状態に対応し得る。そのカラーチャートは、その上で受信機無線が動作できるそれぞれの周波数チャネルの行のセットを含むことも可能であり、それぞれの行は、受信機無線の異なる動作状態に対応し得る。セル/エントリーは、送信機無線および受信機無線の動作状態のそれぞれの独自の組合せに関して画定可能である。セル(i,j)は、送信機無線が動作状態iにあり、受信機無線が動作状態jにある状態で、受信機無線のパフォーマンスレベル(例えば、容認可能、最低限度、または容認不可能)で満たすことができる。送信機無線の動作状態および/または受信機無線の動作状態は、所望されるパフォーマンスを取得するために、必要に応じて変化し得る。
【0029】
無線間の干渉に関する情報は、例えば、他の形で量子化すること、他の形態または構造を使用して提示することなど、他の形で捕捉および提示することも可能である。いずれの場合も、CxMデータベース282内の干渉データベースは、同時に動作できる無線を選択するために使用することが可能である。無線の動作は、無線間の干渉を低減して、それらの無線に関して容認可能なパフォーマンスを取得するために、干渉データベースに基づいて制御することも可能である。一設計では、干渉データベースは、現在の干渉状態に基づいて、頻繁に(例えば、ミリ秒ごとにまたはそれ以下の頻度で)更新可能である。一設計では、干渉データベースは、初期接続および/またはハンドオフに関して無線を選択するためにより使いやすい場合がある変換された干渉データベースに変換可能である。この変換は、(i)無線によって観察された干渉状態のより正確な表示を取得するのに適した時定数を用いて、無線に関する干渉状態をフィルタリングすること、(ii)(例えば、デシベル(dB)値を用いた)ある形態から(例えば、カラーコード化されたインジケータを用いた)別の形態に変更すること、および/または(iii)干渉情報に関する他の動作を含むことが可能である。
【0030】
図2は、ワイヤレスデバイス110に関する無線サブシステム204、MARコントローラ240、接続マネージャ260、および共存マネージャ270の1つの例示的な設計を示す。無線サブシステム204、MARコントローラ240、接続マネージャ260、および共存マネージャ270は、より少ないマネージャ、コントローラ、およびデータベース、異なるマネージャ、コントローラ、およびデータベース、ならびに/または追加のマネージャ、コントローラ、およびデータベースを含むことも可能である。一般に、無線サブシステム204は、(i)任意の数の機能に関する任意の数のマネージャおよびコントローラと、(ii)通信をサポートするために有用であり得る任意のタイプの情報に関する任意の数のデータベースとを含むことが可能である。
【0031】
一設計では、MARコントローラ240は、以下の機能のうちの1つもしくは複数を実行またはサポートすることが可能である。すなわち、接続マネージャ260および共存マネージャ270のマスタコントローラとして動作する機能と、CnMデータベース280およびCxMデータベース282を管理する機能と、データバス258を管理する機能と、上層/より高い層のHLOSおよびアプリケーション、ならびにより低い層の無線および/またはそのコントローラと通信する機能と、CPU、メモリ、およびバスリソースを提供する機能と、その他の機能を実行する機能とである。
【0032】
MARコントローラ240の様々な機能が下で詳細に説明される。
【0033】
一設計では、MARコントローラ240は、接続マネージャ260と共存マネージャ270とに関する総合コントローラ/マスタコントローラであってよい。MARコントローラ240は、アプリケーション220の受信要件の機能を含めて、アクティブなアプリケーション220をアクティブな無線290にマッピングするCnM機能を管理することが可能である。MARコントローラ240は、アクティブな無線290間の干渉を緩和するCxM機能を管理することも可能であり、アクティブなアプリケーション220に適した無線を選択する際にCnMコントローラ268を支援できる。
【0034】
一設計では、接続マネージャ260は、アプリケーション220を無線290にマッピングするために、様々な機能を実行することが可能である。共存マネージャ270は、アクティブな無線290間の干渉を緩和するために、様々な機能を実行することが可能である。接続マネージャ260および共存マネージャ270は、それらの独自の内部機能にサービス提供するために、それぞれ、専用コントローラ268および278を有することが可能である。CnMコントローラ268は、CnM機能を自律的に管理することが可能であり、CxMコントローラ278もCxM機能を自律的に管理することが可能である。MARコントローラ240は、CnMコントローラ268とCxMコントローラ278とに関するブローカとして機能できる。MARコントローラ240は、CPU244と、メモリ246と、DMA/ファブリック248と、バスコントローラ250とを経由して、システムオンチップ(SOC)インフラストラクチャを提供することも可能である。接続マネージャ260および共存マネージャ270は、MARコントローラ240なしで動作することが可能な場合がある。例えば、接続マネージャ260は、HLOS CnMアプリケーションを用いて動作することが可能であり、共存マネージャ270は、HLOS CxMアプリケーションを用いて動作することが可能である。しかし、この場合、接続マネージャ260および共存マネージャ270は、限定された能力を有する可能性があり、静的動作または半静的動作に限定される可能性がある。MARコントローラ240は、接続マネージャ260および共存マネージャ270の動的な同時のリアルタイム動作をサポートすることができ、プロファイルデータベース内で表示されたマネージャ間の優先順位をサポートすることが可能である。
【0035】
一設計では、MARコントローラ240は、接続マネージャ260と共存マネージャ270とに関する制御およびデータの転送を管理することが可能である。MARコントローラ240は、マネージャ260および270から任意のメインシステム制御プロセッサ関与を置換してオフロードする可能性があり、これは、重い通信負荷と、電力消費と、停止したシステム動作とを生み出す可能性がある。MARコントローラ240は、電力供給時に構成可能であり、接続管理および共存管理のタスクのために、メインシステムプロセッサ(例えば、(1つまたは複数の)CPU226)とリソースとを解放することが可能である。
【0036】
一設計では、MARコントローラ240は、例えば、プロファイルデータベース内で示されるようなエンティティ間の優先順位を含めて、接続管理のために複数のエンティティの同時動作を可能にし得る。例えば、MARコントローラ240は、HLOS224内のCnMエンティティおよび埋め込まれたCnMエンティティの同時動作をサポートすることが可能である。もう1つの例として、MARコントローラ240は、プロファイルデータベース内で画定されたような異なる動作規則に基づいて、複数の(例えば、2つの)埋め込まれたCnMエンティティ(例えば、異なるユーザに関するCnMエンティティ、事業に対する個人に関するCnMエンティティ)の同時動作をサポートすることが可能である。
【0037】
一設計では、MARコントローラ240は、ワイヤレスデバイス110内のスタック内の「上層」および「下層」と通信することが可能である。上層は、HLOS224、アプリケーション220、および/または接続管理と共存管理とに関係するその他のアプリケーションを含むことが可能である。下層は、無線290および/またはそれらのコントローラ276を含むことが可能である。一設計では、MARコントローラ240は、HLOS API242を管理することが可能であり、かつ/またはHLOSスペース内のアプリケーション220とインターフェースをとることが可能である。
【0038】
MARコントローラ240は、アプリケーション220の要件、好み、および/もしくは優先順位を受信するために、ホストプロセッサ210ならびに/またはアプリケーション220と通信することが可能である。MARコントローラ240は、無線290の能力および/または現在の状況を受信するために、無線コントローラ276と通信することも可能である。MARコントローラ240は、無線構成と、無線機能と、アクティブなアプリケーション220に良好なパフォーマンスを提供できる多数のアクティブな無線とを調整するために、共存マネージャ270を経由して制御とデータとを送ることが可能である。MARコントローラ240は、無線コントローラ276から状態を受信することが可能であり、無線290間の干渉を削減するために、無線機能をリアルタイムで更新することが可能である。
【0039】
一設計では、MARコントローラ240は、CnMデータベース280とCxMデータベース282とを含めて、無線サブシステム204内のデータベースを管理することが可能である。MARコントローラ240は、CnMデータベース280とCxMデータベース282とに対するアクセスを管理することができ、データベース280および282の更新をリアルタイムで動的に管理することも可能である。これは、メインCPUおよびHLOS APIが、待ち時間が長い相互作用と、限定された効果とを有し得る、静的な最悪状況推定、静的状態機械、または単なるソフトウェア解決策から動作できる従来設計と対照的であり得る。
【0040】
一設計では、MARコントローラ240は、それを経由してMARコントローラ240と、接続マネージャ260と、共存マネージャ270との間で制御とデータとを転送できるデータバス258を管理することが可能である。MARコントローラ240は、バスマスタとして動作することができ、無線290と、CnMコントローラ268と、CxMコントローラ278とを含めて、すべてのエンティティに関してデータバス258を制御することが可能である。MARコントローラ240は、特定の無線、無線のセット、またはすべての無線にデータを送るために、またはそれらからデータを受信するために、データバス258を管理することが可能である。MARコントローラ240は、データバス258上で無線290のデータ、機能、およびアプリケーション対応型較正(application aware calibration)を管理することが可能である。トラフィックはデータバス258を介して動的に経路指定可能であり、これは短い待ち時間を有する可能性がある。これは、MARコントローラ240がアクティブなアプリケーションに改善された無線機能を提供するためにリアルタイムで動作することを可能にし得る。これは、低い頻度でだけアプリケーション要件と無線状態とを決定でき、表および/または状態機械など、静的構造内に期待される動作パラメータを格納できる実施態様と対照的であり得る。そのような実施態様では、(例えば、割込みに基づいて)要求された更新は、一般に、無線機能をリアルタイムで改善できない可能性がある動作環境によって無視される場合がある。
【0041】
一設計では、MARコントローラ240は、接続マネージャ260と共存マネージャ270とにCPUリソースとメモリリソースとを提供することが可能である。MARコントローラ240内のCPU244は、例えば、接続マネージャ260と共存マネージャ270とによって要求されるような処理をそれらのマネージャに関して実行することが可能である。メモリ246は、接続マネージャ260と共存マネージャ270とに関するデータおよび/またはプログラムコードを格納することが可能である。MARコントローラ240は、MARコントローラ240と、接続マネージャ260と、共存マネージャ270とを経由する通信およびデータ移動に関してバス制御とDMA/ファブリックリソースとを提供することも可能である。MARコントローラ240は、アプリケーション220と無線290とのリアルタイムの相互作用をサポートすることができ、従来、HLOS機能、静的状態機械、またはルックアップテーブルによって実行可能なCnM決定とCxM決定とを実行することが可能である。
【0042】
一設計では、MARコントローラ240は、任意のHLOSと任意のフレームワークとに依存せずに動作することが可能である。一設計では、MARコントローラ240は、メインCPUに対する何らの停止または割込みなしに、システムに接続されたすべての無線の自律的な独立した動作を可能にし得る。一設計では、MARコントローラ240は、ブラックボックスとして動作することができ、ワイヤレスデバイス110のHLOS224および(1つまたは複数の)メインCPU226に非依存であり得る。これは、MARコントローラ240が様々なマルチ無線ワイヤレスデバイスおよびマルチ無線ワイヤレスアーキテクチャの形で実施されることを可能にできる。
【0043】
図3は、ワイヤレスデバイス110が電力供給されるときに初期化するためのコールフロー300の一設計を示す。電力供給時に、接続マネージャ260は、CnMデータベース280の完全性確認(integrity check)を実行することが可能である(ステップ1)。同様に、共存マネージャ270は、CxMデータベース282の完全性確認を実行することが可能である(ステップ2)。それぞれのデータベースの完全性確認は、そのデータベース内に格納された、またはいくつかのその他の機構を介して格納された情報に関して生成された巡回冗長検査(CRC)を確認することによって実行できる。接続マネージャ260は、アプリケーション220の状況を受信することができ、CnMデータベース280を更新することが可能である(ステップ3)。共存マネージャ270は、無線290およびそれらの能力の状況を受信して、アクティブか無線に関する干渉情報を決定し、CxMデータベース282を更新することが可能である(ステップ4)。
【0044】
接続マネージャ260は、アプリケーション220の状況をMARコントローラ240に報告することが可能である(ステップ5)。同様に、共存マネージャ270は、無線290の状況をMARコントローラ240に報告することが可能である(ステップ6)。MARコントローラ240は、CnMデータベース280内に列挙されたアクティブな無線に関して無線接続性確認(radio connectivity check)、インターネット接続確認(Internet connection check)、および/またはその他の確認を開始でき、その結果をCnMデータベース280内に保存することが可能である(ステップ7)。無線接続性確認は、基地局、もしくはアクセスポイント、またはいくつかのその他のローカルエンティティに対するものであってよく、あるいはプロファイルデータベース内で画定されたようなものであってもよい。インターネット接続確認は、インターネット、またはいくつかのその他の遠隔エンティティに対するものであってよい。あるいは、接続マネージャ260は、無線接続性確認および/またはその他の確認を開始することができ、その結果をMARコントローラ240に報告することが可能である。無線接続性確認および/またはその他の確認は、プロファイルデータベース内で画定可能であり、基本的な接続性テスト(はい/いいえ)、帯域幅推定/スループット推定、受信信号強度インジケータ(RSSI)測定などを必要とする場合がある。MARコントローラ240は、すべてのアクティブな無線290の状況を維持することが可能である。
【0045】
図4は、アクティブなアプリケーション向けの無線を選択することを実行するためのコールフロー400の一設計を示す。アプリケーション220を開始することができ、アプリケーション220は、接続を要求することが可能である(ステップ1)。MARコントローラ240は、アプリケーション220から接続要求を受信することができ、例えば、アプリケーションならびに/またはプロファイルデータベースからアプリケーションの要件、好み、および/もしくは優先順位を取得することが可能である(ステップ2)。これらの要件は、QoS要件、スループット要件などを含むことが可能である。MARコントローラ240は、無線リソースに関する要求を共存マネージャ270に送ることが可能である(ステップ3)。共存マネージャ270は、利用可能な無線と、それらの無線間の干渉影響とを決定することが可能である(ステップ4)。共存マネージャ270は、次いで、使用のために利用可能な無線のリストを含み得るCxMリソースを戻すことができる(ステップ5)。
【0046】
MARコントローラ240は、共存マネージャ270から応答を受信することができ、接続要求とCxM応答とを接続マネージャ260に送ることが可能である(ステップ6)。接続マネージャ260は、アプリケーション向けの1つまたは複数の利用可能な無線を選択することが可能である(ステップ7)。接続マネージャ260は、次いで、アプリケーションを(1つまたは複数の)選択された無線にマッピングすること含み得るCnM応答を戻すことができる(ステップ8)。MARコントローラ240は、CnM応答を受信することができ、(1つまたは複数の)選択された無線をアプリケーション220に提供することが可能である(ステップ9)。次いで、アプリケーション220は、その(1つまたは複数の)選択された無線を経由して、接続性を取得することが可能である(ステップ10)。
【0047】
図4に示されるように、プロセス400のフローは、アプリケーション220からMARコントローラ240に対するものであり、次いで、接続マネージャ260と共存マネージャ270とに対するものであってよい。MARコントローラ240は、プロセス400の間に、CnMデータベース280とCxMデータベース282とを管理すること、更新すること、無効にすること、および較正することが可能である。
【0048】
MARコントローラ240は、無線290の能力および/または状況を決定するために、リアルタイムの無線通信/無線制御をサポートすることが可能である。MARコントローラ240は、アクティブな無線に関する干渉状態の高速決定をサポートすることが可能である。MARコントローラ240は、無線に対するアプリケーションの高速な動的マッピングと、アクティブな無線の干渉緩和とを可能にすることもできる。
【0049】
MARコントローラ240は、アプリケーション220と接続マネージャ260との間のインターフェースであってよい。MARコントローラ240は、アプリケーション220の要件、好み、および/または優先順位を受信することができ、その情報を処理して、接続マネージャ260とCnMデータベース280とに中継することが可能である。MARコントローラ240は、初期の情報収集および情報更新を実行することが可能である。MARコントローラ240は、プロファイルを管理および更新することも可能である。MARコントローラ240は、MARコントローラ240が相互作用する様々なエンティティ間で同期を維持することも可能である。
【0050】
MARコントローラ240は、アプリケーション220と共存マネージャ270との間のインターフェースであってもよい。MARコントローラ240は、接続マネージャ260によって提供され得るアプリケーション220の要件、好み、および/または優先順位を満たす無線290のリストを受信することが可能である。MARコントローラ240は、アプリケーション220に関する情報を処理することができ、その情報を共存マネージャ270とCxMデータベース282とに中継することが可能である。MARコントローラ240は、HLOS API242から無線のグループに関する干渉情報を受信することが可能である。MARコントローラ240は、初期の情報収集および情報更新を実行することが可能である。MARコントローラ240は、CxMデータベース282を更新することが可能である。MARコントローラ240は、無線290に対する通信/無線290からの通信/無線290間の通信を管理することも可能である。
【0051】
一例として、2400MHz帯域のWLAN無線(すなわち、「WLAN−2400」)は、当初、アクティブであり得る。接続マネージャ260は、「最善のシステムを確保」要求および/または、それを介して音声呼出を行うための適切な無線に関する要求を受信することが可能である。その受信された要求に基づいて、接続マネージャ260は、800MHzにおいて1x無線(すなわち、「1x−800」)および2500MHZにおいてLTE無線(すなわち、「LTE−2500」)がその音声呼出に関する候補無線であることを決定できる。接続マネージャ260は、WLAN−2400とLTE−2500の組合せが、結果として、激しい干渉をもたらすことになり、音声呼出に関して1x−800がより望ましいことを助言できる共存マネージャ270および/またはMARコントローラ240に確認することが可能である。したがって、接続マネージャ260は、WLAN無線との干渉を回避して、より良好なユーザ経験を提供するために、800MHzにおいて1x無線上で音声呼出を行うことを円滑にできる。
【0052】
MARコントローラ240は、様々な形でワイヤレスデバイス110のパフォーマンスを改善することが可能である。MARコントローラ240は、CnM機能および/またはCxM機能をサポートすることができ、接続マネージャ260と共存マネージャ270とに様々なリソースを提供することが可能である。MARコントローラ240は、接続マネージャ260だけと動作すること、もしくは共存マネージャ270だけと動作すること、または接続マネージャ260と共存マネージャ270の両方と動作することが可能である。MARコントローラ240は、アプリケーションに関する接続性と、無線の動作とを管理するために、ワイヤレスデバイス110内の他のプロセッサによる過剰な関与を回避することが可能であり、これは、ワイヤレスデバイス110に対するパフォーマンス劣化を回避できる。
【0053】
ワイヤレスデバイス110は、MARコントローラを含まない他のワイヤレスデバイスと異なってよい。これらの他のワイヤレスデバイスは、CnM機能および/またはCxM機能を上層内(例えば、HLOS内もしくはアプリケーション内)または下層内(例えば、個々の無線内)に含むことが可能である。上層実施態様の一例は、個々の無線に対してHLOS APIを使用して実施される接続マネージャであり得る。下層実施態様の一例は、パケットトラフィックアービトレーション(Packet Traffic Arbitration)(PTA)プロトコルなど、BluetoothとWLAN無線との間のCxMバスであってよい。
【0054】
対照的に、MARコントローラ240は、複数のコントローラのインテリジェントマネージャであってよく、(i)HLOS224およびアプリケーション220と、(ii)ワイヤレスデバイス110内の個々の無線290との間にあってよい。MARコントローラ240は、アプリケーション220内、無線290内、および無線状態内の迅速な変化に素早い応答を提供するために、リアルタイムの形で動作可能である。
【0055】
図5は、アプリケーションを無線にマッピングするためのプロセス500の一設計を示す。プロセス500は、コントローラ(例えば、
図2のMARコントローラ240またはいくつかのその他のコントローラ)によって実行可能である。このコントローラは、複数のアプリケーションからの入力を受信することが可能である(ブロック512)。このコントローラは、オペレーティングシステムの下位にあってよく、複数のアプリケーションは、例えば、
図2に示されるように、オペレーティングシステムの上位にあってよい。このコントローラは、複数の無線に関する干渉情報を取得することが可能である(ブロック514)。このコントローラは、複数のアプリケーションからの入力に基づいて、かつ複数の無線間の干渉を緩和するための干渉情報にさらに基づいて、選択された複数の無線を決定することが可能である(ブロック516)。このコントローラは、複数のアプリケーションからの入力に基づいて、それらのアプリケーションを複数の無線にマッピングすることを決定することが可能である(ブロック518)。このコントローラは、複数のアプリケーションがマッピングされる複数の無線を示す情報をその複数のアプリケーションに提供することが可能である(ブロック520)。次いで、それらの複数のアプリケーションは、それらの選択された無線を経由して接続性を取得できる。
【0056】
一設計では、複数のアプリケーションの要件は、(例えば、複数のアプリケーションの入力に基づいて)決定可能であり、複数の無線を選択するために、および/または複数のアプリケーションを複数の無線にマッピングするために使用可能である。一設計では、複数のアプリケーションの好みは、(例えば、プロファイルデータベースおよび/またはアプリケーションに基づいて)決定可能であり、複数の無線を選択するために、および/または複数のアプリケーションを複数の無線にマッピングするために使用可能である。一設計では、複数のアプリケーションを複数の無線にマッピングするために、複数のアプリケーションの優先順位を決定して、使用することが可能である。一設計では、無線を選択するために、ワイヤレスデバイス内の無線の能力および/または状況を決定して、使用することが可能である。一設計では、複数のアプリケーションを複数の無線にマッピングするために、ワイヤレスデバイスの能力および/または状況(例えば、電池レベル)を決定して、使用することが可能である。無線を選択するために、および/またはアプリケーションを無線にマッピングするために、他の情報を使用することも可能である。
【0057】
一設計では、このコントローラは、複数のアプリケーションの要件、好み、および/または優先順位を取得するために、上層内でエンティティ(例えば、アプリケーション)と通信することが可能である。一設計では、このコントローラは、複数の無線の能力および/または状況を取得するために、下層内でエンティティ(例えば、無線コントローラ)と通信することが可能である。複数のアプリケーションは、その複数のアプリケーションの要件、好み、および/または優先順位、ならびに複数の無線の能力および/状況に基づいて、その複数の無線にマッピング可能である。このコントローラは、アプリケーションと無線とのリアルタイムの相互作用をサポートすることが可能である。これは、変化している環境においてすら、良好なパフォーマンスを取得するために、アクティブなアプリケーションに適した無線が選択されることを可能にできる。
【0058】
一設計では、このコントローラは、アプリケーション向けの無線を選択するように、かつ/またはアプリケーションを無線にマッピングするように指定され得る接続マネージャの動作を制御することが可能である。一設計では、このコントローラは、複数のアプリケーションに関する少なくとも1つの接続要求を接続マネージャに送ることが可能である。このコントローラは、複数のアプリケーションを複数の無線にマッピングすることに伴う、少なくとも1つの応答を、例えば、
図4に示されるように、共存マネージャから受信することが可能である。
【0059】
一設計では、このコントローラは、無線間の干渉を緩和するためにそれらの無線の動作を制御するように指定され得る共存マネージャの動作を制御することが可能である。一設計では、このコントローラは、複数のアプリケーション向けの無線リソースに関する少なくとも1つの要求を共存マネージャに送ることが可能である。このコントローラは、利用可能な無線を含めて、少なくとも1つの応答を共存マネージャから受信することが可能である。その複数の無線はそれらの利用可能な無線の中から選択可能である。
【0060】
一設計では、このコントローラは、接続マネージャに関する第1のデータベースおよび/または共存マネージャに関する第2のデータベースを管理することが可能である。このコントローラは、データベースのアクセスを管理すること、データベースの更新を制御すること、および/またはデータベースに関するその他の機能を実行することが可能である。一設計では、このコントローラは、コントローラ、接続マネージャ、および/または共存マネージャの間の通信のために使用されるデータバスを管理することが可能である。一設計では、このコントローラは、CPUリソース、メモリリソース、および/もしくはその他のリソースを接続マネージャならびに/または共存マネージャに提供することが可能である。このコントローラは、接続管理および/または共存管理をサポートするためにその他の機能を実行することも可能である。
【0061】
当業者は、情報および信号は、様々な異なる技術および技法のうちのいずれかを使用して表すことが可能である点を理解されよう。例えば、上の説明を通して参照される場合があるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁粉、光場もしくは光学粒子、またはそれらの任意の組合せによって表すことが可能である。
【0062】
当業者は、本明細書の開示に関して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、またはそれらの組合せとして実施可能である点をさらに理解されよう。ハードウェアとソフトウェアのこの交換可能性を明瞭に例示するために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップは、上で、一般にそれらの機能の点から説明されている。そのような機能がハードウェアとして実施されるか、またはソフトウェアとして実施されるかは、特定のアプリケーションと、システム全体に課せられる設計制約とに依存する。当業者は、説明された機能性をそれぞれの特定のアプリケーションに関して様々な形で実施できるが、そのような実施態様決定は、本開示の範囲からの逸脱を生じさせるとして解釈されるべきではない。
【0063】
本明細書の開示に関して説明された様々な例示的な論理ブロック、モジュール、および回路は、本明細書で説明された機能を実行するように設計された汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくはその他のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタ論理、ディスクリートハードウェア構成要素、またはそれらの任意の組合せを用いて実施あるいは実行することが可能である。汎用プロセッサは、マイクロプロセッサであってよいが、代替では、このプロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であってよい。プロセッサは、コンピューティングデバイスの組合せ、例えば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと共に1つもしくは複数のマイクロプロセッサ、または任意のその他のそのような構成として実施されることも可能である。
【0064】
本明細書の開示に関して説明された方法またはアルゴリズムのステップは、ハードウェアの形で直接的に、プロセッサによって実行されるソフトウェアモジュールの形で、またはそれら2つの組合せの形で具体化可能である。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、取外し可能ディスク、CD−ROM、または当技術分野で知られている任意の他の形態の記憶媒体の中に常駐可能である。例示的な記憶媒体は、プロセッサがその記憶媒体から情報を読み取り、その記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替では、記憶媒体は、プロセッサと一体であってよい。プロセッサおよび記憶媒体は、ASIC内に常駐可能である。ASICは、ユーザ端末内に常駐可能である。代替では、プロセッサおよび記憶媒体は、ユーザ端末内にディスクリート構成要素として常駐可能である。
【0065】
1つまたは複数の例示的な設計では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せの形で実施可能である。ソフトウェアの形で実装される場合、これらの機能は、1つもしくは複数の命令またはコードとして、コンピュータ可読媒体上に格納可能であるか、あるいはコンピュータ可読媒体を介して送信可能である。コンピュータ可読媒体は、コンピュータ記憶媒体と、ある場所から別の場所へのコンピュータプログラムの転送を円滑にする任意の媒体を含む通信媒体の両方を含む。記憶媒体は、汎用コンピュータまたは専用コンピュータによってアクセス可能な任意の利用可能な媒体であってよい。限定ではなく、例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROMもしくはその他の光ディスク記憶装置、磁気ディスク記憶装置もしくはその他の磁気記憶装置、または所望されるプログラムコード手段を命令もしくはデータ構造の形で搬送または格納するために使用可能であり、汎用コンピュータもしくは専用コンピュータ、または汎用プロセッサもしくは専用プロセッサによってアクセス可能な任意のその他の媒体を備えることが可能である。また、任意の接続は、適切には、コンピュータ可読媒体と呼ばれる。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者線(DSL)、もしくは赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、またはその他の遠隔ソースから送信される場合、その同軸ケーブル、光ファイバケーブル、より対線、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義の中に含まれる。本明細書で使用される場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)と、レーザディスクと、光ディスクと、デジタル多用途ディスク(DVD)と、フロッピー(登録商標)ディスクと、ブルーレイ(登録商標)ディスクとを含み、この場合、ディスク(disk)は、通常、データを磁気的に再生し、一方、ディスク(disc)は、レーザを用いて、データを光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲に含まれるべきである。
【0066】
本開のこれまでの説明は、当業者が本発明を行うこと、または本発明を使用することを可能にするために提供されている。本開示に対する様々な修正は、当業者にとって容易に明らかであり、本明細書で定義された包括的な原理は、本開示の精神あるいは範囲から逸脱せずに、その他の変形対し適用可能である。したがって、本開示は、本明細書で説明される例および設計に限定されるようには意図されておらず、本明細書で開示された原理および新規な特徴と整合する最も広い範囲が与えられるべきである。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ワイヤレス通信デバイス内でアプリケーションを無線にマッピングする方法であって、
オペレーティングシステムの下位にあるコントローラにおいて、前記オペレーティングシステムの上位にある複数のアプリケーションからの入力を受信することと、
前記複数のアプリケーションからの前記入力に基づいて、かつ前記複数の無線間の干渉をさらに緩和するために、選択された複数の無線を決定することと、
前記アプリケーションからの前記入力に基づいて、前記複数のアプリケーションを前記複数の無線にマッピングすることを決定することと、
を備える方法。
[C2]
前記複数のアプリケーションがマッピングされる前記複数の無線を示す情報を前記複数のアプリケーションに提供すること、
をさらに備える、C1に記載の方法。
[C3]
前記複数の無線に関する干渉情報を取得すること、
をさらに備え、前記複数の無線が、前記干渉情報にさらに基づいて選択される、
C1に記載の方法。
[C4]
前記複数のアプリケーションの要件を決定すること、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションの前記要件にさらに基づいて前記複数の無線にマッピングされる、
C1に記載の方法。
[C5]
前記複数のアプリケーションの好みを決定すること、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションに関する前記好みにさらに基づいて、前記複数の無線にマッピングされる、
C1に記載の方法。
[C6]
前記複数のアプリケーションの優先順位を決定すること、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションの前記優先順位にさらに基づいて、前記複数の無線にマッピングされる、
C1に記載の方法。
[C7]
前記ワイヤレス通信デバイス内の複数の無線の能力、もしくは状況、またはそれら両方を決定すること、
をさらに備え、前記複数の無線が、前記複数の無線の前記能力、もしくは前記状況、またはそれら両方に基づいて選択される、C1に記載の方法。
[C8]
前記ワイヤレス通信デバイスの能力、もしくは状況、またはそれら両方を決定すること、
をさらに備え、前記複数のアプリケーションが、前記ワイヤレス通信デバイスの前記能力、もしくは前記状況、またはそれら両方にさらに基づいて、前記複数の無線にマッピングされる、
C1に記載の方法。
[C9]
前記複数のアプリケーションの要件、もしくは好み、または優先順位、あるいはそれらの組合せを取得するために、上層内のエンティティと通信することと、
前記複数の無線の能力、もしくは状況、またはそれら両方を取得するために、下層内のエンティティと通信することと、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションの前記要件、もしくは前記好み、または前記優先順位、あるいはそれらの組合せと、前記複数の無線の前記能力、もしくは前記状況、またはそれら両方とに基づいて、前記複数の無線にマッピングされる、
C1に記載の方法。
[C10]
前記コントローラによって、前記複数のアプリケーションと前記複数の無線とのリアルタイムの相互作用をサポートすること、
をさらに備える、C1に記載の方法。
[C11]
アプリケーション向けの無線を選択するように、もしくはアプリケーションを無線にマッピングするように、またはそれら両方を行うように指定された、接続マネージャの動作を制御すること、
をさらに備える、C1に記載の方法。
[C12]
前記複数のアプリケーションをマッピングすることを前記決定することは、
前記複数のアプリケーションに関する少なくとも1つの接続要求を前記接続マネージャに送ることと、
前記複数のアプリケーションを前記複数の無線に前記マッピングすることに伴う、少なくとも1つの応答を前記接続マネージャから受信することと、
を備える、C11に記載の方法。
[C13]
無線間の干渉を緩和するために前記無線の動作を制御するように指定された共存マネージャの動作を制御すること、
をさらに備える、C1に記載の方法。
[C14]
前記複数の無線を前記決定することは、
前記複数のアプリケーション向けの無線リソースに関する少なくとも1つの要求を前記共存マネージャに送ることと;
利用可能な無線で、少なくとも1つの応答を前記共存マネージャから受信することと、なお、前記複数の無線は前記利用可能な無線の中にある;
を備える、C13に記載の方法。
[C15]
アプリケーション向けの無線を選択するように、もしくはアプリケーションを無線にマッピングするように、またはそれら両方を行うように指定された接続マネージャの動作を制御することと、
無線間の干渉を緩和するために前記無線の動作を制御するように指定された共存マネージャの動作を制御することと、
をさらに備える、C1に記載の方法。
[C16]
接続マネージャに関する第1のデータベース、もしくは共存マネージャに関する第2のデータベース、またはそれら両方を管理すること、
をさらに備える、C1に記載の方法。
[C17]
前記コントローラと、接続マネージャまたは共存マネージャとの、あるいはそれら両方との間の、通信のために使用されるデータバスを管理すること、
をさらに備える、C1に記載の方法。
[C18]
中央処理装置(CPU)リソース、もしくはメモリリソース、またはそれら両方を、接続マネージャもしくは共存マネージャ、またはそれら両方に提供すること、
をさらに備える、C1に記載の方法。
[C19]
前記ワイヤレスデバイスの電力供給時に利用可能な無線のセットを取得することと、
前記利用可能な無線のセットに関して、無線接続確認、もしくはインターネット接続確認、またはそれら両方を開始することと、
をさらに備える、C1に記載の方法。
[C20]
ワイヤレス通信デバイス内でアプリケーションを無線にマッピングするための装置であって、
オペレーティングシステムの下位にあるコントローラにおいて、前記オペレーティングシステムの上位にある複数のアプリケーションからの入力を受信するための手段と、
前記複数のアプリケーションからの前記入力に基づいて、かつ前記複数の無線間の干渉をさらに緩和するために、選択された複数の無線を決定するための手段と、
前記アプリケーションからの前記入力に基づいて、前記複数のアプリケーションを前記複数の無線にマッピングすることを決定するための手段と
を備える装置。
[C21]
前記複数のアプリケーションがマッピングされる前記複数の無線を示す情報を前記複数のアプリケーションに提供するための手段、
をさらに備える、C20に記載の装置。
[C22]
前記複数の無線に関する干渉情報を取得するための手段、
をさらに備え、前記複数の無線が、前記干渉情報にさらに基づいて選択される、
C20に記載の装置。
[C23]
前記複数のアプリケーションの要件、もしくは好み、または優先順位、あるいはそれらの組合せを決定するための手段、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションの前記要件、もしくは前記好み、または前記優先順位、あるいはそれらの組合せにさらに基づいて、前記複数の無線にマッピングされる、
C20に記載の装置。
[C24]
前記複数のアプリケーションの要件、もしくは好み、または優先順位、あるいはそれらの組合せを取得するために、上層内のエンティティと通信するための手段と、
前記複数の無線の能力、もしくは状況、またはそれら両方を取得するために、下層内のエンティティと通信するための手段と、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションの前記要件、もしくは前記好み、または前記優先順位、あるいはそれらの組合せと、前記複数の無線の前記能力、もしくは前記状況、またはそれら両方とに基づいて、前記複数の無線にマッピングされる、
C20に記載の装置。
[C25]
アプリケーション向けの無線を選択するように、もしくはアプリケーションを無線にマッピングするように、またはそれら両方を実行するように指定された、接続マネージャの動作を制御するための手段、
をさらに備える、C20に記載の装置。
[C26]
無線間の干渉を緩和するために前記無線の動作を制御するように指定された共存マネージャの動作を制御するための手段
をさらに備える、C20に記載の装置。
[C27]
接続マネージャに関する第1のデータベース、もしくは共存マネージャに関する第2のデータベース、またはそれら両方を管理するための手段
をさらに備える、C20に記載の装置。
[C28]
ワイヤレス通信デバイス内でアプリケーションを無線にマッピングするための装置であって、
オペレーティングシステムの下位にあるコントローラにおいて、前記オペレーティングシステムの上位にある複数のアプリケーションからの入力を受信することと、前記複数のアプリケーションからの前記入力に基づいて、かつ前記複数の無線間の干渉をさらに緩和するために、選択された複数の無線を決定することと、前記アプリケーションからの前記入力に基づいて、前記複数のアプリケーションを前記複数の無線にマッピングすることを決定することとを行うように構成された、少なくとも1つのプロセッサ、
を備える装置。
[C29]
前記少なくとも1つのプロセッサが、前記複数のアプリケーションがマッピングされる前記複数の無線を示す情報を前記複数のアプリケーションに提供するように構成される、C28に記載の装置。
[C30]
前記少なくとも1つのプロセッサが、前記複数の無線に関する干渉情報を取得するように構成され、前記複数の無線が、前記干渉情報にさらに基づいて選択される、C28に記載の装置。
[C31]
前記少なくとも1つのプロセッサが、前記複数のアプリケーションの要件、もしくは好み、または優先順位、あるいはそれらの組合せを決定するように構成され、前記複数のアプリケーションが、前記複数のアプリケーションの前記要件、もしくは前記好み、または前記優先順位、あるいはそれらの組合せにさらに基づいて、前記複数の無線にマッピングされる、C28に記載の装置。
[C32]
前記少なくとも1つのプロセッサが、前記複数のアプリケーションの要件、もしくは好み、または優先順位、あるいはそれらの組合せを取得するために、上層内のエンティティと通信し、前記複数の無線の能力、もしくは状況、またはそれら両方を取得するために、下層内のエンティティと通信するように構成され、前記複数のアプリケーションが、前記複数のアプリケーションの前記要件、もしくは前記好み、または前記優先順位、あるいはそれらの組合せと、前記複数の無線の前記能力、もしくは前記状況、またはそれらの組合せとに基づいて、前記複数の無線にマッピングされる、C28に記載の装置。
[C33]
前記少なくとも1つのプロセッサが、アプリケーション向けの無線を選択するように、もしくはアプリケーションを無線にマッピングするように、またはそれら両方を行うように指定された接続マネージャの動作、を制御するように構成される、C28に記載の装置。
[C34]
前記少なくとも1つのプロセッサが、無線間の干渉を緩和するために前記無線の動作を制御するように指定された共存マネージャの動作、を制御するように構成される、C28に記載の装置。
[C35]
前記少なくとも1つのプロセッサが、接続マネージャに関する第1のデータベース、もしくは共存マネージャに関する第2のデータベース、またはそれら両方を管理するように構成される、C28に記載の装置。
[C36]
少なくとも1つのコンピュータに、オペレーティングシステムの下位にあるコントローラにおいて複数のアプリケーションからの入力を受信させるためのコードと、なお、前記複数のアプリケーションは前記オペレーティングシステムの上位にある;
前記少なくとも1つのコンピュータに、前記複数のアプリケーションからの前記入力に基づいて、かつ前記複数の無線間の干渉をさらに緩和するために、選択された複数の無線を決定させるためのコードと;
前記少なくとも1つのコンピュータに、前記アプリケーションからの前記入力に基づいて、前記複数のアプリケーションを前記複数の無線にマッピングすることを決定させるためのコードと、
を備えた非一時的コンピュータ可読媒体、
を備えるコンピュータプログラム製品。