(57)【要約】      （修正有）【課題】ワイヤレス通信デバイス内でアプリケーションを無線にマッピングするための技法を提供する。【解決手段】オペレーティングシステムの下位にあるコントローラにおいて、オペレーティングシステムの上位にある複数のアプリケーションからの入力を受信し、複数のアプリケーションからの入力に基づいて、かつ複数の無線間の干渉をさらに緩和するために、選択された複数の無線を決定し、アプリケーションからの入力に基づいて、複数のアプリケーションを複数の無線にマッピングすることを決定する。【選択図】図４
2014212545.tif 000002
【特許請求の範囲】
【請求項１】
ワイヤレス通信デバイス内でアプリケーションを無線にマッピングする方法であって、
オペレーティングシステムの下位にあるコントローラにおいて、前記オペレーティングシステムの上位にある複数のアプリケーションからの入力を受信することと、
前記複数のアプリケーションからの前記入力に基づいて、かつ前記複数の無線間の干渉をさらに緩和するために、選択された複数の無線を決定することと、
前記アプリケーションからの前記入力に基づいて、前記複数のアプリケーションを前記複数の無線にマッピングすることを決定することと、
を備える方法。
【請求項２】
前記複数のアプリケーションがマッピングされる前記複数の無線を示す情報を前記複数のアプリケーションに提供すること、
をさらに備える、請求項１に記載の方法。
【請求項３】
前記複数の無線に関する干渉情報を取得すること、
をさらに備え、前記複数の無線が、前記干渉情報にさらに基づいて選択される、
請求項１に記載の方法。
【請求項４】
前記複数のアプリケーションの要件を決定すること、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションの前記要件にさらに基づいて前記複数の無線にマッピングされる、
請求項１に記載の方法。
【請求項５】
前記複数のアプリケーションの好みを決定すること、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションに関する前記好みにさらに基づいて、前記複数の無線にマッピングされる、
請求項１に記載の方法。
【請求項６】
前記複数のアプリケーションの優先順位を決定すること、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションの前記優先順位にさらに基づいて、前記複数の無線にマッピングされる、
請求項１に記載の方法。
【請求項７】
前記ワイヤレス通信デバイス内の複数の無線の能力、もしくは状況、またはそれら両方を決定すること、
をさらに備え、前記複数の無線が、前記複数の無線の前記能力、もしくは前記状況、またはそれら両方に基づいて選択される、請求項１に記載の方法。
【請求項８】
前記ワイヤレス通信デバイスの能力、もしくは状況、またはそれら両方を決定すること、
をさらに備え、前記複数のアプリケーションが、前記ワイヤレス通信デバイスの前記能力、もしくは前記状況、またはそれら両方にさらに基づいて、前記複数の無線にマッピングされる、
請求項１に記載の方法。
【請求項９】
前記複数のアプリケーションの要件、もしくは好み、または優先順位、あるいはそれらの組合せを取得するために、上層内のエンティティと通信することと、
前記複数の無線の能力、もしくは状況、またはそれら両方を取得するために、下層内のエンティティと通信することと、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションの前記要件、もしくは前記好み、または前記優先順位、あるいはそれらの組合せと、前記複数の無線の前記能力、もしくは前記状況、またはそれら両方とに基づいて、前記複数の無線にマッピングされる、
請求項１に記載の方法。
【請求項１０】
前記コントローラによって、前記複数のアプリケーションと前記複数の無線とのリアルタイムの相互作用をサポートすること、
をさらに備える、請求項１に記載の方法。
【請求項１１】
アプリケーション向けの無線を選択するように、もしくはアプリケーションを無線にマッピングするように、またはそれら両方を行うように指定された、接続マネージャの動作を制御すること、
をさらに備える、請求項１に記載の方法。
【請求項１２】
前記複数のアプリケーションをマッピングすることを前記決定することは、
前記複数のアプリケーションに関する少なくとも１つの接続要求を前記接続マネージャに送ることと、
前記複数のアプリケーションを前記複数の無線に前記マッピングすることに伴う、少なくとも１つの応答を前記接続マネージャから受信することと、
を備える、請求項１１に記載の方法。
【請求項１３】
無線間の干渉を緩和するために前記無線の動作を制御するように指定された共存マネージャの動作を制御すること、
をさらに備える、請求項１に記載の方法。
【請求項１４】
前記複数の無線を前記決定することは、
前記複数のアプリケーション向けの無線リソースに関する少なくとも１つの要求を前記共存マネージャに送ることと；
利用可能な無線で、少なくとも１つの応答を前記共存マネージャから受信することと、なお、前記複数の無線は前記利用可能な無線の中にある；
を備える、請求項１３に記載の方法。
【請求項１５】
アプリケーション向けの無線を選択するように、もしくはアプリケーションを無線にマッピングするように、またはそれら両方を行うように指定された接続マネージャの動作を制御することと、
無線間の干渉を緩和するために前記無線の動作を制御するように指定された共存マネージャの動作を制御することと、
をさらに備える、請求項１に記載の方法。
【請求項１６】
接続マネージャに関する第１のデータベース、もしくは共存マネージャに関する第２のデータベース、またはそれら両方を管理すること、
をさらに備える、請求項１に記載の方法。
【請求項１７】
前記コントローラと、接続マネージャまたは共存マネージャとの、あるいはそれら両方との間の、通信のために使用されるデータバスを管理すること、
をさらに備える、請求項１に記載の方法。
【請求項１８】
中央処理装置（ＣＰＵ）リソース、もしくはメモリリソース、またはそれら両方を、接続マネージャもしくは共存マネージャ、またはそれら両方に提供すること、
をさらに備える、請求項１に記載の方法。
【請求項１９】
前記ワイヤレスデバイスの電力供給時に利用可能な無線のセットを取得することと、
前記利用可能な無線のセットに関して、無線接続確認、もしくはインターネット接続確認、またはそれら両方を開始することと、
をさらに備える、請求項１に記載の方法。
【請求項２０】
ワイヤレス通信デバイス内でアプリケーションを無線にマッピングするための装置であって、
オペレーティングシステムの下位にあるコントローラにおいて、前記オペレーティングシステムの上位にある複数のアプリケーションからの入力を受信するための手段と、
前記複数のアプリケーションからの前記入力に基づいて、かつ前記複数の無線間の干渉をさらに緩和するために、選択された複数の無線を決定するための手段と、
前記アプリケーションからの前記入力に基づいて、前記複数のアプリケーションを前記複数の無線にマッピングすることを決定するための手段と
を備える装置。
【請求項２１】
前記複数のアプリケーションがマッピングされる前記複数の無線を示す情報を前記複数のアプリケーションに提供するための手段、
をさらに備える、請求項２０に記載の装置。
【請求項２２】
前記複数の無線に関する干渉情報を取得するための手段、
をさらに備え、前記複数の無線が、前記干渉情報にさらに基づいて選択される、
請求項２０に記載の装置。
【請求項２３】
前記複数のアプリケーションの要件、もしくは好み、または優先順位、あるいはそれらの組合せを決定するための手段、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションの前記要件、もしくは前記好み、または前記優先順位、あるいはそれらの組合せにさらに基づいて、前記複数の無線にマッピングされる、
請求項２０に記載の装置。
【請求項２４】
前記複数のアプリケーションの要件、もしくは好み、または優先順位、あるいはそれらの組合せを取得するために、上層内のエンティティと通信するための手段と、
前記複数の無線の能力、もしくは状況、またはそれら両方を取得するために、下層内のエンティティと通信するための手段と、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションの前記要件、もしくは前記好み、または前記優先順位、あるいはそれらの組合せと、前記複数の無線の前記能力、もしくは前記状況、またはそれら両方とに基づいて、前記複数の無線にマッピングされる、
請求項２０に記載の装置。
【請求項２５】
アプリケーション向けの無線を選択するように、もしくはアプリケーションを無線にマッピングするように、またはそれら両方を実行するように指定された、接続マネージャの動作を制御するための手段、
をさらに備える、請求項２０に記載の装置。
【請求項２６】
無線間の干渉を緩和するために前記無線の動作を制御するように指定された共存マネージャの動作を制御するための手段
をさらに備える、請求項２０に記載の装置。
【請求項２７】
接続マネージャに関する第１のデータベース、もしくは共存マネージャに関する第２のデータベース、またはそれら両方を管理するための手段
をさらに備える、請求項２０に記載の装置。
【請求項２８】
ワイヤレス通信デバイス内でアプリケーションを無線にマッピングするための装置であって、
オペレーティングシステムの下位にあるコントローラにおいて、前記オペレーティングシステムの上位にある複数のアプリケーションからの入力を受信することと、前記複数のアプリケーションからの前記入力に基づいて、かつ前記複数の無線間の干渉をさらに緩和するために、選択された複数の無線を決定することと、前記アプリケーションからの前記入力に基づいて、前記複数のアプリケーションを前記複数の無線にマッピングすることを決定することとを行うように構成された、少なくとも１つのプロセッサ、
を備える装置。
【請求項２９】
前記少なくとも１つのプロセッサが、前記複数のアプリケーションがマッピングされる前記複数の無線を示す情報を前記複数のアプリケーションに提供するように構成される、請求項２８に記載の装置。
【請求項３０】
前記少なくとも１つのプロセッサが、前記複数の無線に関する干渉情報を取得するように構成され、前記複数の無線が、前記干渉情報にさらに基づいて選択される、請求項２８に記載の装置。
【請求項３１】
前記少なくとも１つのプロセッサが、前記複数のアプリケーションの要件、もしくは好み、または優先順位、あるいはそれらの組合せを決定するように構成され、前記複数のアプリケーションが、前記複数のアプリケーションの前記要件、もしくは前記好み、または前記優先順位、あるいはそれらの組合せにさらに基づいて、前記複数の無線にマッピングされる、請求項２８に記載の装置。
【請求項３２】
前記少なくとも１つのプロセッサが、前記複数のアプリケーションの要件、もしくは好み、または優先順位、あるいはそれらの組合せを取得するために、上層内のエンティティと通信し、前記複数の無線の能力、もしくは状況、またはそれら両方を取得するために、下層内のエンティティと通信するように構成され、前記複数のアプリケーションが、前記複数のアプリケーションの前記要件、もしくは前記好み、または前記優先順位、あるいはそれらの組合せと、前記複数の無線の前記能力、もしくは前記状況、またはそれらの組合せとに基づいて、前記複数の無線にマッピングされる、請求項２８に記載の装置。
【請求項３３】
前記少なくとも１つのプロセッサが、アプリケーション向けの無線を選択するように、もしくはアプリケーションを無線にマッピングするように、またはそれら両方を行うように指定された接続マネージャの動作、を制御するように構成される、請求項２８に記載の装置。
【請求項３４】
前記少なくとも１つのプロセッサが、無線間の干渉を緩和するために前記無線の動作を制御するように指定された共存マネージャの動作、を制御するように構成される、請求項２８に記載の装置。
【請求項３５】
前記少なくとも１つのプロセッサが、接続マネージャに関する第１のデータベース、もしくは共存マネージャに関する第２のデータベース、またはそれら両方を管理するように構成される、請求項２８に記載の装置。
【請求項３６】
少なくとも１つのコンピュータに、オペレーティングシステムの下位にあるコントローラにおいて複数のアプリケーションからの入力を受信させるためのコードと、なお、前記複数のアプリケーションは前記オペレーティングシステムの上位にある；
前記少なくとも１つのコンピュータに、前記複数のアプリケーションからの前記入力に基づいて、かつ前記複数の無線間の干渉をさらに緩和するために、選択された複数の無線を決定させるためのコードと；
前記少なくとも１つのコンピュータに、前記アプリケーションからの前記入力に基づいて、前記複数のアプリケーションを前記複数の無線にマッピングすることを決定させるためのコードと、
を備えた非一時的コンピュータ可読媒体、
を備えるコンピュータプログラム製品。
【発明の詳細な説明】
【優先権の主張】
【０００１】
本出願は、その譲受人に渡され、参照により本明細書に組み込まれている、２００９年８月１８日に出願した「共存マネージャコントローラとしてのＳＰＳ(SPS AS COEXISTENCE MANAGER CONTROLLER)」という表題の仮米国出願第６１／２３４，９４１号の優先権を主張するものである。
【背景】
【０００２】
Ｉ．分野
本発明は、一般に、通信に関し、より詳細には、ワイヤレス通信デバイスによる通信をサポートするための技法に関する。
【０００３】
ＩＩ．背景
ワイヤレス通信ネットワークは、音声、ビデオ、パケットデータ、メッセージング、ブロードキャストなど、様々な通信コンテンツを提供するために広く配備されている。これらのワイヤレスネットワークは、利用可能なネットワークリソースを共有することによって、複数のユーザをサポートできる多元接続ネットワークであり得る。そのような多元接続ネットワークの例は、符号分割多元接続（ＣＤＭＡ）ネットワーク、時分割多元接続（ＴＤＭＡ）ネットワーク、周波数分割多元接続（ＦＤＭＡ）ネットワーク、直行ＦＤＭＡ（ＯＦＤＭＡ）ネットワーク、およびシングルキャリアＦＤＭＡ（ＳＣ−ＦＤＭＡ）ネットワークを含む。
【０００４】
ワイヤレス通信デバイスは、異なるワイヤレス通信ネットワークとの通信をサポートするために、いくつかの無線(a number of radios)を含むことが可能である。ワイヤレスデバイスは、異なる要件（different requirements）を有し得るいくつかのアプリケーションをサポートすることも可能である。良好なパフォーマンスを達成できるように、ワイヤレスデバイス上のアクティブなアプリケーション（active applications）に関する通信をサポートすることが望ましい場合がある。
【発明の概要】
【０００５】
ワイヤレス通信デバイス内でアプリケーションを無線にマッピングする(mapping applications to radios)ための技法が本明細書で説明される。一態様では、コントローラは、（ｉ）互いに対して過剰な干渉を引き起こさずに同時に動作できる無線を選択することと、（ｉｉ）アプリケーションを無線にマッピングすることとをサポートすることが可能である。このコントローラは、ワイヤレスデバイス内のオペレーティングシステムの下位にあって（reside below）よく、下で説明されるように、様々な利点を提供することが可能である。
【０００６】
一設計では、このコントローラは、オペレーティングシステムの上位にあって（reside above）よい複数のアプリケーションからの入力を受信することが可能である。このコントローラは、複数の無線に関する干渉情報を取得することができる。このコントローラは、それらのアプリケーションからの入力に基づいて、かつそれらの無線間の干渉を緩和するための干渉情報にさらに基づいて、選択された複数の無線を決定することが可能である。このコントローラは、それらのアプリケーションからの入力に基づいて、アプリケーションを無線にマッピングすることを決定できる。アプリケーションの要件（requirements of the applications）、アプリケーションの好み（preferences of the applications）、アプリケーションの優先順位（priorities of the applications）、および／もしくはその他の情報にさらに基づいて、無線を選択することが可能であり、かつ／またはアプリケーションを無線にマッピングすることが可能である。このコントローラは、それらのアプリケーションがマッピングされる無線を示す情報をそれらのアプリケーションに提供することが可能である。それらのアプリケーションは、次いで、その選択された無線を経由して接続性を取得することが可能である。
【０００７】
一設計では、このコントローラは、無線の選択(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）をサポートすることが可能である。
【０００８】
一設計では、このコントローラは、無線の選択(radio selection)と、アプリケーションから無線へのマッピング(application-to-radio mapping)とをサポートするために、他のエンティティの動作を制御することが可能である。このコントローラは、アプリケーション向けの無線を選択するように、かつ／またはアプリケーションを無線にマッピングするように指定され得る接続マネージャ（connection manager）の動作を制御することが可能である。このコントローラは、無線間の干渉を緩和するために無線の動作を制御するように指定され得る共存マネージャ（coexistence manager）の動作を制御することも可能である。
【０００９】
このコントローラは、接続管理（connection management）および／または共存管理（coexistence management）をサポートするために、他の機能を実行することも可能である。このコントローラは、接続マネージャと共存マネージャとに関するデータベースを管理することが可能である。このコントローラは、コントローラと、接続マネージャと、共存マネージャとの間の通信のために使用されるデータバスを管理することが可能である。このコントローラは、中央処理装置（ＣＰＵ）リソース、メモリリソース、および／もしくはその他のリソースを接続マネージャならびに／または共存マネージャに提供することが可能である。このコントローラは、接続管理および／または共存管理をサポートするために、他の機能を実行することも可能である。
【００１０】
本開示の様々な態様および機能が、下でさらに詳細に説明される。
【図面の簡単な説明】
【００１１】
【図１】様々なワイヤレスネットワークと通信しているワイヤレスデバイスを示す図。
【図２】ワイヤレスデバイスのブロック図。
【図３】ワイヤレスデバイスがオンにされたときの初期化に関するコールフローを示す図。
【図４】アプリケーション向けの無線を選択することを実行するためのコールフローを示す図。
【図５】アプリケーションを無線にマッピングするためのプロセスを示す図。
【詳細な説明】
【００１２】
図１は、複数のワイヤレス通信ネットワークと通信できるワイヤレス通信デバイス１１０を示す。これらのワイヤレスネットワークは、１つもしくは複数のワイヤレス広域ネットワーク（ＷＷＡＮ）１２０および１３０、１つもしくは複数のワイヤレスローカルエリアネットワーク（ＷＬＡＮ）１４０および１５０、１つもしくは複数のワイヤレスパーソナルエリアネットワーク（ＷＰＡＮ）１６０、１つもしくは複数のブロードキャストネットワーク１７０、１つもしくは複数の衛星測位システム１８０、図１に示されないその他のネットワークおよびシステム、またはそれらの任意の組合せを含むことが可能である。「ネットワーク」および「システム」という用語は、多くの場合、交換可能に使用される。ＷＷＡＮは、セルラネットワークであってよい。
【００１３】
セルラネットワーク１２０および１３０は、それぞれ、ＣＤＭＡ、ＴＤＭＡ、ＦＤＭＡ、ＯＦＤＭＡ、ＳＣ−ＦＤＭＡ、またはいくつかのその他のネットワークであってよい。ＣＤＭＡネットワークは、汎用地上波無線アクセス（ＵＴＲＡ）、ｃｄｍａ２０００などの無線技術またはエアインターフェースを実施することが可能である。ＵＴＲＡは、広帯域ＣＤＭＡ（ＷＣＤＭＡ（登録商標））と、ＣＤＭＡの他のバージョンとを含む。ｃｄｍａ２０００は、ＩＳ−２０００標準と、ＩＳ−９５標準と、ＩＳ−８５６標準とをカバーする。ＩＳ−２０００は、ＣＤＭＡ  １Ｘとも呼ばれ、ＩＳ−８５６は、エボリューションデータオプティマイズド（ＥＶＤＯ）とも呼ばれる。ＴＤＭＡネットワークは、広域移動通信システム（ＧＳＭ（登録商標））、デジタル先進移動電話システム（Ｄ−ＡＭＰＳ）などの無線技術を実施することが可能である。ＯＦＤＭＡネットワークは、進化型ＵＴＲＡ（Ｅ−ＵＴＲＡ）、ウルトラモバイルブロードバンド（ＵＭＢ）、ＩＥＥＥ８０２．１６（ＷｉＭＡＸ）、ＩＥＥＥ８０２．２０、Ｆｌａｓｈ−ＯＦＤＭ（登録商標）などの無線技術を実施することが可能である。ＵＴＲＡおよびＥ−ＵＴＲＡは、ユニバーサル移動通信システム（ＵＭＴＳ）の一部である。３ＧＰＰロングタームエボリューション（ＬＴＥ）およびＬＴＥアドバンスト（ＬＴＥ−Ａ）は、Ｅ−ＵＴＲＡを使用する、ＵＭＴＳの新しいリリースである。ＵＴＲＡ、Ｅ−ＵＴＲＡ、ＵＭＴＳ、ＬＴＥ、ＬＴＥ−Ａ、およびＧＳＭは、「第３世代パートナーシッププロジェクト」（３ＧＰＰ）と名付けられた組織からの文書で説明されている。ｃｄｍａ２０００およびＵＭＢは、「第３世代パートナーシッププロジェクト２」と名付けられた組織からの文書で説明されている。セルラネットワーク１２０および１３０は、それぞれ、ワイヤレスデバイスに関する双方向通信をサポートできる基地局１２２および１３２を含むことが可能である。
【００１４】
ＷＬＡＮ１４０および１５０は、それぞれ、ＩＥＥＥ８０２．１１（Ｗｉ−Ｆｉ）、Ｈｉｐｅｒｌａｎなどの無線技術を実施することが可能である。ＷＬＡＮ１４０および１５０は、それぞれ、ワイヤレスデバイスに関する双方向通信をサポートできるアクセスポイント１４２および１５２を含むことが可能である。ＷＰＡＮ１６０は、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＩＥＥＥ８０２．１５などの無線技術を実施することが可能である。ＷＰＡＮ１６０は、ワイヤレスデバイス１１０、ヘッドセット１６２、コンピュータ１６４、マウス１６６など、様々なデバイスに関する双方向通信をサポートすることが可能である。
【００１５】
ブロードキャストネットワーク１７０は、テレビ（ＴＶ）ブロードキャストネットワーク、周波数変調（ＦＭ）ブロードキャストネットワーク、デジタルブロードキャストネットワークなどであってよい。デジタルブロードキャストネットワークは、ＭｅｄｉａＦＬＯ（商標）、デジタルビデオブロードキャスティングフォーハンドヘルド（Digital Video Broadcasting for Handhelds）（ＤＶＢ−Ｈ）、統合デジタル放送サービス（Integrated Services Digital Broadcasting for Terrestrial Television Broadcasting）（ＩＳＤＢ−Ｔ）、米国次世代テレビシステム委員会−モバイル／ハンドヘルド（Advanced Television Systems Committee - Mobile/Handheld）（ＡＴＳＣ−Ｍ／Ｈ）などの無線技術を実施することが可能である。ブロードキャストネットワーク１７０は、一方向通信をサポートできる１つまたは複数の放送局１７２を含むことが可能である。
【００１６】
衛星測位システム１８０は、合衆国の全地球測位システム（ＧＰＳ）、欧州のガリレオシステム、ロシアのＧＬＯＮＡＳＳシステム、日本の準天頂衛星システム（ＱＺＳＳ）、インドの領域航法衛星システム（ＩＲＮＳＳ）、中国の北斗システムなどであってよい。衛星測位システム１８０は、測位のために使用される信号を送信する、いくつかの衛星１８２を含むことが可能である。
【００１７】
ワイヤレスデバイス１１０は、固定であってよく、またはモバイルであってもよく、ユーザ装置（ＵＥ）、移動局、モバイル装置、端末、アクセス端末、加入者ユニット、局などと呼ばれる場合もある。ワイヤレスデバイス１１０は、セルラ電話、携帯情報端末（ＰＤＡ）、ワイヤレスモデム、ハンドヘルドデバイス、ラップトップコンピュータ、コードレス電話、ワイヤレスローカルループ（ＷＬＬ）局、スマートフォン、ネットブック、スマートブック、ブロードキャスト受信機などであってよい。ワイヤレスデバイス１１０は、セルラネットワーク１２０および／または１３０、ＷＬＡＮ１４０および／または１５０、ＷＰＡＮ１６０内のデバイスなどと二方向で通信することが可能である。ワイヤレスデバイス１１０は、ブロードキャストネットワーク１７０、衛星測位システム１８０などから信号を受信することも可能である。一般に、ワイヤレスデバイス１１０は、任意の時点で、任意の数のワイヤレスネットワークおよびシステムと通信することが可能である。
【００１８】
図２は、ホストサブシステム２０２と無線サブシステム２０４とを含むワイヤレスデバイス１１０の設計のブロック図を示す。ホストサブシステム２０２は、ワイヤレスデバイス１１０に関する様々なアプリケーションおよび機能をサポートする。無線サブシステム２０４は、ワイヤレスデバイス１１０に関する無線通信をサポートする。
【００１９】
図２に示される設計では、ホストサブシステム２０２は、ホストプロセッサ２１０とメモリ２１２とを含む。ワイヤレスデバイス１１０は、音声、パケットデータ、ビデオ共有、ビデオ電話、電子メール、ブロードキャスト受信、インスタントメッセージング、プッシュツートークなど、様々な通信サービスを提供できるＬ個のアプリケーション２２０ａから２２０ｌをサポートすることが可能である。一般に、Ｌは、任意の値であってよい。Ｌ個のアプリケーション２２０のうちのいずれか１つは、所与の時点でアクティブであり得る。アプリケーションプログラミングインターフェース（ＡＰＩ）２２２は、ワイヤレスデバイス１１０に関するアプリケーション２２０とオペレーティングシステム（ＯＳ）２２４との間の通信をサポートすることが可能である。オペレーティングシステム２２４は、ワイヤレスデバイス１１０の動作を制御することが可能であり、ハイレベルオペレーティングシステム（ＨＬＯＳ）、またはいくつかのその他のオペレーティングシステムであってよい。ホストプロセッサ２１０は、アクティブなアプリケーション２２０を実行することが可能であり、アプリケーションＡＰＩ２２２とＯＳ２２４とを実行することも可能である。１つまたは複数のメインＣＰＵ２２６は、アクティブなアプリケーション２２４に関する処理とその他の機能とを実行することが可能である。メモリ２１２は、ホストプロセッサ２１０に関するプログラムコードとプログラムデータとを格納することが可能である。
【００２０】
図２に示される設計では、無線サブシステム２０４は、マルチアプリケーション−無線（ＭＡＲ）コントローラ（multiple application-radio （MAR） controller）２４０と、接続マネージャ（ＣｎＭ）２６０と、共存マネージャ（ＣｘＭ）２７０と、ＣｎＭデータベース２８０と、ＣｘＭデータベース２８２と、Ｒ個の無線２９０ａから２９０ｒとを含み、この場合、Ｒは、任意の値であってよい。ＭＡＲコントローラ２４０は、スマート周辺システム（ＳＰＳ）コントローラなどと呼ばれる場合もある。無線サブシステム２０４は、モデムチップ、モデムチップセット、ワイヤレスデータカードなどであってよい。Ｒ個の無線２９０は、３ＧＰＰ２セルラネットワーク（例えば、ＣＤＭＡ  １Ｘ、ＥＶＤＯなど）、３ＧＰＰセルラネットワーク（例えば、ＧＳＭ、ＧＰＲＳ、ＥＤＧＥ、ＷＣＤＭＡ／ＵＭＴＳ、ＬＴＥなど）、ＷＬＡＮ、ＷｉＭＡＸネットワーク、ＧＰＳ、Ｂｌｕｅｔｏｏｔｈ、ブロードキャストネットワーク、近視野通信（ＮＦＣ）、無線周波数識別（ＲＦＩＤ）などに関する場合がある。
【００２１】
ＭＡＲコントローラ２４０は、無線サブシステム２０４内の他のユニットに制御機能とリソースとを提供することが可能である。ＭＡＲコントローラ２４０は、どのアプリケーションがアクティブであるかを決定するために、ＡＰＩを経由して、アプリケーション２２０と通信し、それらのアクティブなアプリケーションの要件を取得して、利用可能な無線または選択された無線に関する情報を提供することが可能である。ＭＡＲコントローラ２４０内で、ＨＬＯＳ  ＡＰＩ２４２は、下で説明されるように、ＭＡＲコントローラ２４０とアプリケーション２２０との間の通信を円滑にすることが可能である。ＣＰＵ２４４は、ＭＡＲコントローラ２４０と、接続マネージャ２６０と、共存マネージャ２７０とに関する処理を実行することが可能である。ＣＰＵ２４４は、無線２９０を経由して送信および／または受信されているデータに関する処理を実行することも可能である。それぞれの無線２９０に関する処理は、その無線によってサポートされる無線技術に依存してよく、符号化、復号化、変調、復調、暗号化、暗号解読などを含むことが可能である。メモリ２４６は、ＭＡＲコントローラ２４０、接続マネージャ２６０、および共存マネージャ２７０に関するプログラムコードとデータとを格納することが可能である。ダイレクトメモリアクセス（ＤＭＡ）／ファブリックコントローラ２４８は、ローカルメモリもしくは外部メモリ、またはその他のサブシステムとのデータ転送をサポートすることが可能である。バスコントローラ２５０は、同期バスまたは非同期バスであってよいデータバス２５８を経由して通信を調整することが可能である。バスコントローラ２５０は、データバス２５８のクロック生成とスリープ構成要素とを管理することが可能であり、接続された無線とのユニキャスト通信およびブロードキャスト通信を管理することも可能である。バスコントローラ２５０は、例えば、図２に示されない、１つまたは複数のその他のバスを経由して、無線サブシステム２０４とワイヤレスデバイス１１０内のその他のエンティティとの間の通信を調整することも可能である。
【００２２】
一設計では、ＭＡＲコントローラ２４０は、例えば、無線選択、システム選択、無線間のハンドオフなどに関係する機能に関して、接続マネージャ２６０と共存マネージャ２７０とに関する処理を実行することが可能である。システム選択は、特定のワイヤレスシステム、もしくは特定の無線技術、または特定の系統の無線技術を選択することを指す場合がある。無線選択は、ワイヤレスデバイス１００内の特定の無線を選択することを指す場合がある。ＣＰＵ２４４は、無線サブシステム２０４内に位置する埋込み式プロセッサであってよい。ＣＰＵ２４４および関連メモリ２４６は、ＣｎＭ機能とＣｘＭ機能とをホストするために単一の集中型環境を提供することが可能である。これは、接続マネージャ２６０がローカライズされた環境内ですべてのアクティブな無線のリアルタイム管理を提供することを可能にし得る。これは、接続マネージャ２６０が、任意の数の無線をサポートするためにスケーラブルなインフラストラクチャを提供することも可能にし得る。ＣＰＵ２４４は、既存のＣｘＭ機能とＣｎＭ機能とを実行する際に電力節約を実現するために、要求されるパフォーマンスが従来のＣＰＵよりも低い低出力プロセッサであってよい。さらに、ＣＰＵ２４４は、必要なとき、接続マネージャ２６０および共存マネージャ２７０が機能的であり得るように、「常時オン」環境を提供することが可能である。電力消費を削減するために、適切な場合、ＣＰＵ２４４がスリープすることを同時に可能にしながら、この「常時オン」機能性を保証できる。
【００２３】
接続マネージャ２６０は、利用可能な無線を経由して、アクティブなアプリケーションに関する通信をサポートするための様々な機能を実行することが可能である。接続マネージャ２６０内で、システムポリシーマネージャ２６２は、無線２９０に関連するポリシーを管理して、事象に応答して、無線をアクティブ化および非アクティブ化し、ワイヤレスネットワーク同士の間のハンドオフを管理することが可能である。これらのポリシーは、任意の所与のアプリケーションに関して、どの（１つまたは複数の）無線を使用するかを決定するために使用可能である。システムポリシーマネージャ２６２は、３ＧＰＰ２内の好ましいローミングリスト（ＰＲＬ）、３ＧＰＰ内の好ましい公有地モバイルネットワーク（ＰＬＭＮ）のリストなどを経由して提供され得るネットワークオペレータ規則に基づいて動作できる。システムリソースマネージャ２６４は、競合解決、電力管理、サービスのリンク品質（ＱｏＳ）、受付制御など、リソース管理を実行するために、システムポリシーマネージャ２６２とインターフェースをとることが可能である。無線インターフェースマネージャ２６６は、呼を管理することと、電話設定を変更することと、補助サービスを登録／登録解除することと、呼状況、電話状態／電話状況、およびサービス状況に関してアプリケーションに通知することとが可能である。無線インターフェースマネージャ２６６は、モバイルインターネットプロトコル（ＭＩＰ）と、隣接チャネル測定と、より良好なシステム検出と、事前認証およびセキュリティ鍵交換と、音声サービスおよびデータサービスに関するその他の機能ユニットとを使用して、サービス継続性を管理することも可能である。無線インターフェースマネージャ２６６は、ワイヤレスデバイス１１０とその他のワイヤレスデバイスとの間のピアツーピア通信をサポートすることも可能である。ＣｎＭコントローラ２６８は、接続マネージャ２６０の制御全体を担うことができ、データバス２５８を経由して交換されたメッセージを介して、接続マネージャ２６０内のその他のマネージャおよびコントローラの動作を調整することも可能である。
【００２４】
共存マネージャ２７０は、無線２９０とインターフェースをとることができ、無線の動作を制御することが可能である。共存マネージャ２７０は、アクティブな無線から入力を受信することができ、これらの無線間の干渉を緩和して、可能な限り多くの無線に関して良好なパフォーマンスを達成するために、アクティブな無線の動作を制御することが可能である。共存マネージャ２７０内で、ＣｘＭコントローラ２７８は、共存マネージャ２７０の制御全体を担うことができる。無線コントローラ２７６は、無線２９０とインターフェースをとることができ、無線の動作を制御することが可能である。無線コントローラ２７６は、（図２に示されるように）共存マネージャ２７０の一部であってよく、または共存マネージャ２７０の外部にあってもよい（例えば、無線２９０の一部であってもよい）。無線コントローラ２７６は、音声呼出継続性（ＶＣＣ）とデータ呼継続性（ＤＣＣ）とをサポートするための機能を実行することが可能である。無線コントローラ２７６は、回線交換ネットワークとパケット交換ネットワークとの間の音声呼出継続性に関するハンドオフ機構を実施することも可能である。無線コントローラ２７６は、（ｉ）３ＧＰＰ  Ｉ−ＷＬＡＮで定義されるデータサービス継続性と、（ｉｉ）３ＧＰＰおよびインターネット技術タスクフォース（ＩＥＴＦ）で定義されたモバイルＩＰとに関するハンドオフ機構を実施することも可能である。無線コントローラ２７６は、良好なユーザ経験を維持するために、異なる無線技術の無線間の自動システム選択と、呼出中／使用中のハンドオフとに関して、ＶＣＣ機能性とＤＣＣ機能性とをサポートすることが可能である。ルックアップテーブル（ＬＵＴ）２７２は、現在動作しているシナリオに基づいて、データベースの関係する部分を取り出すために、ＣｘＭデータベース２８２と関連付けられることが可能である（ＣｘＭデータベース２８２とインターフェースをとることが可能である）。ハードウェアアクセラレータ（ＨＷＡ）２７４は、ある種の機能の効率的な処理を実現することが可能である。
【００２５】
ＣｎＭデータベース２８０は、アプリケーション向けの無線を選択するために使用され得る様々な情報を格納することができる。一設計では、ＣｎＭデータベース２８０は、以下のうちの１つまたは複数を格納することが可能である。すなわち、異なるワイヤレスネットワークに関する情報のネットワークデータベースと、ワイヤレスデバイス１１０に接続性を提供するための無線を選択するために使用される情報のポリシーデータベースと、接続性を取得するために使用され得るプロファイルのプロファイルデータベースと、ワイヤレスデバイス１１０上にダウンロードされているサービスクライアントのサービスデータベースと、現在動作しているシナリオに基づいて、アプリケーション向けの無線を選択するために使用される情報の変換された干渉データベースと、ワイヤレスデバイス１１０に関する他の情報のその他のデータベースとである。
【００２６】
プロファイルデータベースは、ワイヤレスデバイス１１０に接続性を提供するために使用され得る様々なプロファイルを格納することが可能である。プロファイルは、ワイヤレスデバイス１１０が接続性を取得するために実行すべき特定の活動に関する好みを含むことが可能である。例えば、プロファイルは、他の無線に対するある種の無線の好み、ある条件下での特定の無線の好みなどを識別することが可能である。異なるエンティティの要件に対する適合を可能にするために、異なるプロファイルをそれらのエンティティによって画定することが可能である。一設計では、以下のプロファイルのうちの１つまたは複数を画定することが可能である。すなわち、例えば、コスト、プライバシー、バッテリー使用など、様々な考慮事項に基づいて、ユーザによって画定された接続性に関する好みを格納するユーザプロファイルと、例えば、ＰＲＬ、好ましいＰＬＭＮリストなど、ネットワークオペレータによって画定された接続性好みを格納するオペレータプロファイルと、例えば、ワイヤレスデバイス１１０の能力に基づいてＯＥＭによって画定された接続性好みを格納する相手先商標製品製造（ＯＥＭ）プロファイルと、例えば、アプリケーションの要件に基づいて画定されたアプリケーション２２０に関する接続性好みを格納するアプリケーションプロファイルと、補助サービスに関する接続性好みを格納するサービスプロファイルと、ワイヤレスデバイス１１０の学習パターンおよび学習行動に基づいて決定された接続性好みを格納する学習プロファイルとである。
【００２７】
ＣｘＭデータベース２８２は、異なる動作シナリオにおける無線の異なる組合せのパフォーマンスに関する情報を備えることが可能な干渉データベースを格納することが可能である。この干渉データベースは、カラーチャートの形をとってよい。一設計では、このカラーチャートは、（ｉ）異なる周波数帯域における異なる送信機無線に関するいくつかの列と、（ｉｉ）異なる周波数帯域における異なる受信機無線のいくつかの行とを含むことが可能である。列と行との間の交点における所与の帯域組合せの場合、その列に関する周波数帯域における送信機無線の存在下のその行に関する周波数帯域における受信機無線のパフォーマンスをそのカラーチャート内に格納することが可能である。
【００２８】
もう１つの設計では、このカラーチャートは、異なる送信機無線と異なる受信機無線に関するいくつかの動作状態とに関して、いくつかのセル／エントリーを含むことが可能である。無線は、無線からの干渉を緩和するため、かつ／または無線のパフォーマンスを改善するために調整され得る１つまたは複数の構成可能なパラメータを有することが可能である。それぞれの構成可能なパラメータは、そのパラメータに適用可能な複数の可能性な設定／値のうちの１つに設定できる。無線は、それぞれの構成可能なパラメータに関する特定の設定によって画定され得る動作状態を有することが可能である。そのカラーチャートは、その上で送信機無線が動作できるそれぞれの周波数チャネルに関する列のセットを含むことが可能であり、それぞれの列は、送信機無線の異なる動作状態に対応し得る。そのカラーチャートは、その上で受信機無線が動作できるそれぞれの周波数チャネルの行のセットを含むことも可能であり、それぞれの行は、受信機無線の異なる動作状態に対応し得る。セル／エントリーは、送信機無線および受信機無線の動作状態のそれぞれの独自の組合せに関して画定可能である。セル（ｉ，ｊ）は、送信機無線が動作状態ｉにあり、受信機無線が動作状態ｊにある状態で、受信機無線のパフォーマンスレベル（例えば、容認可能、最低限度、または容認不可能）で満たすことができる。送信機無線の動作状態および／または受信機無線の動作状態は、所望されるパフォーマンスを取得するために、必要に応じて変化し得る。
【００２９】
無線間の干渉に関する情報は、例えば、他の形で量子化すること、他の形態または構造を使用して提示することなど、他の形で捕捉および提示することも可能である。いずれの場合も、ＣｘＭデータベース２８２内の干渉データベースは、同時に動作できる無線を選択するために使用することが可能である。無線の動作は、無線間の干渉を低減して、それらの無線に関して容認可能なパフォーマンスを取得するために、干渉データベースに基づいて制御することも可能である。一設計では、干渉データベースは、現在の干渉状態に基づいて、頻繁に（例えば、ミリ秒ごとにまたはそれ以下の頻度で）更新可能である。一設計では、干渉データベースは、初期接続および／またはハンドオフに関して無線を選択するためにより使いやすい場合がある変換された干渉データベースに変換可能である。この変換は、（ｉ）無線によって観察された干渉状態のより正確な表示を取得するのに適した時定数を用いて、無線に関する干渉状態をフィルタリングすること、（ｉｉ）（例えば、デシベル（ｄＢ）値を用いた）ある形態から（例えば、カラーコード化されたインジケータを用いた）別の形態に変更すること、および／または（ｉｉｉ）干渉情報に関する他の動作を含むことが可能である。
【００３０】
図２は、ワイヤレスデバイス１１０に関する無線サブシステム２０４、ＭＡＲコントローラ２４０、接続マネージャ２６０、および共存マネージャ２７０の１つの例示的な設計を示す。無線サブシステム２０４、ＭＡＲコントローラ２４０、接続マネージャ２６０、および共存マネージャ２７０は、より少ないマネージャ、コントローラ、およびデータベース、異なるマネージャ、コントローラ、およびデータベース、ならびに／または追加のマネージャ、コントローラ、およびデータベースを含むことも可能である。一般に、無線サブシステム２０４は、（ｉ）任意の数の機能に関する任意の数のマネージャおよびコントローラと、（ｉｉ）通信をサポートするために有用であり得る任意のタイプの情報に関する任意の数のデータベースとを含むことが可能である。
【００３１】
一設計では、ＭＡＲコントローラ２４０は、以下の機能のうちの１つもしくは複数を実行またはサポートすることが可能である。すなわち、接続マネージャ２６０および共存マネージャ２７０のマスタコントローラとして動作する機能と、ＣｎＭデータベース２８０およびＣｘＭデータベース２８２を管理する機能と、データバス２５８を管理する機能と、上層／より高い層のＨＬＯＳおよびアプリケーション、ならびにより低い層の無線および／またはそのコントローラと通信する機能と、ＣＰＵ、メモリ、およびバスリソースを提供する機能と、その他の機能を実行する機能とである。
【００３２】
ＭＡＲコントローラ２４０の様々な機能が下で詳細に説明される。
【００３３】
一設計では、ＭＡＲコントローラ２４０は、接続マネージャ２６０と共存マネージャ２７０とに関する総合コントローラ／マスタコントローラであってよい。ＭＡＲコントローラ２４０は、アプリケーション２２０の受信要件の機能を含めて、アクティブなアプリケーション２２０をアクティブな無線２９０にマッピングするＣｎＭ機能を管理することが可能である。ＭＡＲコントローラ２４０は、アクティブな無線２９０間の干渉を緩和するＣｘＭ機能を管理することも可能であり、アクティブなアプリケーション２２０に適した無線を選択する際にＣｎＭコントローラ２６８を支援できる。
【００３４】
一設計では、接続マネージャ２６０は、アプリケーション２２０を無線２９０にマッピングするために、様々な機能を実行することが可能である。共存マネージャ２７０は、アクティブな無線２９０間の干渉を緩和するために、様々な機能を実行することが可能である。接続マネージャ２６０および共存マネージャ２７０は、それらの独自の内部機能にサービス提供するために、それぞれ、専用コントローラ２６８および２７８を有することが可能である。ＣｎＭコントローラ２６８は、ＣｎＭ機能を自律的に管理することが可能であり、ＣｘＭコントローラ２７８もＣｘＭ機能を自律的に管理することが可能である。ＭＡＲコントローラ２４０は、ＣｎＭコントローラ２６８とＣｘＭコントローラ２７８とに関するブローカとして機能できる。ＭＡＲコントローラ２４０は、ＣＰＵ２４４と、メモリ２４６と、ＤＭＡ／ファブリック２４８と、バスコントローラ２５０とを経由して、システムオンチップ（ＳＯＣ）インフラストラクチャを提供することも可能である。接続マネージャ２６０および共存マネージャ２７０は、ＭＡＲコントローラ２４０なしで動作することが可能な場合がある。例えば、接続マネージャ２６０は、ＨＬＯＳ  ＣｎＭアプリケーションを用いて動作することが可能であり、共存マネージャ２７０は、ＨＬＯＳ  ＣｘＭアプリケーションを用いて動作することが可能である。しかし、この場合、接続マネージャ２６０および共存マネージャ２７０は、限定された能力を有する可能性があり、静的動作または半静的動作に限定される可能性がある。ＭＡＲコントローラ２４０は、接続マネージャ２６０および共存マネージャ２７０の動的な同時のリアルタイム動作をサポートすることができ、プロファイルデータベース内で表示されたマネージャ間の優先順位をサポートすることが可能である。
【００３５】
一設計では、ＭＡＲコントローラ２４０は、接続マネージャ２６０と共存マネージャ２７０とに関する制御およびデータの転送を管理することが可能である。ＭＡＲコントローラ２４０は、マネージャ２６０および２７０から任意のメインシステム制御プロセッサ関与を置換してオフロードする可能性があり、これは、重い通信負荷と、電力消費と、停止したシステム動作とを生み出す可能性がある。ＭＡＲコントローラ２４０は、電力供給時に構成可能であり、接続管理および共存管理のタスクのために、メインシステムプロセッサ（例えば、（１つまたは複数の）ＣＰＵ２２６）とリソースとを解放することが可能である。
【００３６】
一設計では、ＭＡＲコントローラ２４０は、例えば、プロファイルデータベース内で示されるようなエンティティ間の優先順位を含めて、接続管理のために複数のエンティティの同時動作を可能にし得る。例えば、ＭＡＲコントローラ２４０は、ＨＬＯＳ２２４内のＣｎＭエンティティおよび埋め込まれたＣｎＭエンティティの同時動作をサポートすることが可能である。もう１つの例として、ＭＡＲコントローラ２４０は、プロファイルデータベース内で画定されたような異なる動作規則に基づいて、複数の（例えば、２つの）埋め込まれたＣｎＭエンティティ（例えば、異なるユーザに関するＣｎＭエンティティ、事業に対する個人に関するＣｎＭエンティティ）の同時動作をサポートすることが可能である。
【００３７】
一設計では、ＭＡＲコントローラ２４０は、ワイヤレスデバイス１１０内のスタック内の「上層」および「下層」と通信することが可能である。上層は、ＨＬＯＳ２２４、アプリケーション２２０、および／または接続管理と共存管理とに関係するその他のアプリケーションを含むことが可能である。下層は、無線２９０および／またはそれらのコントローラ２７６を含むことが可能である。一設計では、ＭＡＲコントローラ２４０は、ＨＬＯＳ  ＡＰＩ２４２を管理することが可能であり、かつ／またはＨＬＯＳスペース内のアプリケーション２２０とインターフェースをとることが可能である。
【００３８】
ＭＡＲコントローラ２４０は、アプリケーション２２０の要件、好み、および／もしくは優先順位を受信するために、ホストプロセッサ２１０ならびに／またはアプリケーション２２０と通信することが可能である。ＭＡＲコントローラ２４０は、無線２９０の能力および／または現在の状況を受信するために、無線コントローラ２７６と通信することも可能である。ＭＡＲコントローラ２４０は、無線構成と、無線機能と、アクティブなアプリケーション２２０に良好なパフォーマンスを提供できる多数のアクティブな無線とを調整するために、共存マネージャ２７０を経由して制御とデータとを送ることが可能である。ＭＡＲコントローラ２４０は、無線コントローラ２７６から状態を受信することが可能であり、無線２９０間の干渉を削減するために、無線機能をリアルタイムで更新することが可能である。
【００３９】
一設計では、ＭＡＲコントローラ２４０は、ＣｎＭデータベース２８０とＣｘＭデータベース２８２とを含めて、無線サブシステム２０４内のデータベースを管理することが可能である。ＭＡＲコントローラ２４０は、ＣｎＭデータベース２８０とＣｘＭデータベース２８２とに対するアクセスを管理することができ、データベース２８０および２８２の更新をリアルタイムで動的に管理することも可能である。これは、メインＣＰＵおよびＨＬＯＳ  ＡＰＩが、待ち時間が長い相互作用と、限定された効果とを有し得る、静的な最悪状況推定、静的状態機械、または単なるソフトウェア解決策から動作できる従来設計と対照的であり得る。
【００４０】
一設計では、ＭＡＲコントローラ２４０は、それを経由してＭＡＲコントローラ２４０と、接続マネージャ２６０と、共存マネージャ２７０との間で制御とデータとを転送できるデータバス２５８を管理することが可能である。ＭＡＲコントローラ２４０は、バスマスタとして動作することができ、無線２９０と、ＣｎＭコントローラ２６８と、ＣｘＭコントローラ２７８とを含めて、すべてのエンティティに関してデータバス２５８を制御することが可能である。ＭＡＲコントローラ２４０は、特定の無線、無線のセット、またはすべての無線にデータを送るために、またはそれらからデータを受信するために、データバス２５８を管理することが可能である。ＭＡＲコントローラ２４０は、データバス２５８上で無線２９０のデータ、機能、およびアプリケーション対応型較正（application aware calibration）を管理することが可能である。トラフィックはデータバス２５８を介して動的に経路指定可能であり、これは短い待ち時間を有する可能性がある。これは、ＭＡＲコントローラ２４０がアクティブなアプリケーションに改善された無線機能を提供するためにリアルタイムで動作することを可能にし得る。これは、低い頻度でだけアプリケーション要件と無線状態とを決定でき、表および／または状態機械など、静的構造内に期待される動作パラメータを格納できる実施態様と対照的であり得る。そのような実施態様では、（例えば、割込みに基づいて）要求された更新は、一般に、無線機能をリアルタイムで改善できない可能性がある動作環境によって無視される場合がある。
【００４１】
一設計では、ＭＡＲコントローラ２４０は、接続マネージャ２６０と共存マネージャ２７０とにＣＰＵリソースとメモリリソースとを提供することが可能である。ＭＡＲコントローラ２４０内のＣＰＵ２４４は、例えば、接続マネージャ２６０と共存マネージャ２７０とによって要求されるような処理をそれらのマネージャに関して実行することが可能である。メモリ２４６は、接続マネージャ２６０と共存マネージャ２７０とに関するデータおよび／またはプログラムコードを格納することが可能である。ＭＡＲコントローラ２４０は、ＭＡＲコントローラ２４０と、接続マネージャ２６０と、共存マネージャ２７０とを経由する通信およびデータ移動に関してバス制御とＤＭＡ／ファブリックリソースとを提供することも可能である。ＭＡＲコントローラ２４０は、アプリケーション２２０と無線２９０とのリアルタイムの相互作用をサポートすることができ、従来、ＨＬＯＳ機能、静的状態機械、またはルックアップテーブルによって実行可能なＣｎＭ決定とＣｘＭ決定とを実行することが可能である。
【００４２】
一設計では、ＭＡＲコントローラ２４０は、任意のＨＬＯＳと任意のフレームワークとに依存せずに動作することが可能である。一設計では、ＭＡＲコントローラ２４０は、メインＣＰＵに対する何らの停止または割込みなしに、システムに接続されたすべての無線の自律的な独立した動作を可能にし得る。一設計では、ＭＡＲコントローラ２４０は、ブラックボックスとして動作することができ、ワイヤレスデバイス１１０のＨＬＯＳ２２４および（１つまたは複数の）メインＣＰＵ２２６に非依存であり得る。これは、ＭＡＲコントローラ２４０が様々なマルチ無線ワイヤレスデバイスおよびマルチ無線ワイヤレスアーキテクチャの形で実施されることを可能にできる。
【００４３】
図３は、ワイヤレスデバイス１１０が電力供給されるときに初期化するためのコールフロー３００の一設計を示す。電力供給時に、接続マネージャ２６０は、ＣｎＭデータベース２８０の完全性確認（integrity check）を実行することが可能である（ステップ１）。同様に、共存マネージャ２７０は、ＣｘＭデータベース２８２の完全性確認を実行することが可能である（ステップ２）。それぞれのデータベースの完全性確認は、そのデータベース内に格納された、またはいくつかのその他の機構を介して格納された情報に関して生成された巡回冗長検査（ＣＲＣ）を確認することによって実行できる。接続マネージャ２６０は、アプリケーション２２０の状況を受信することができ、ＣｎＭデータベース２８０を更新することが可能である（ステップ３）。共存マネージャ２７０は、無線２９０およびそれらの能力の状況を受信して、アクティブか無線に関する干渉情報を決定し、ＣｘＭデータベース２８２を更新することが可能である（ステップ４）。
【００４４】
接続マネージャ２６０は、アプリケーション２２０の状況をＭＡＲコントローラ２４０に報告することが可能である（ステップ５）。同様に、共存マネージャ２７０は、無線２９０の状況をＭＡＲコントローラ２４０に報告することが可能である（ステップ６）。ＭＡＲコントローラ２４０は、ＣｎＭデータベース２８０内に列挙されたアクティブな無線に関して無線接続性確認（radio connectivity check）、インターネット接続確認（Internet connection check）、および／またはその他の確認を開始でき、その結果をＣｎＭデータベース２８０内に保存することが可能である（ステップ７）。無線接続性確認は、基地局、もしくはアクセスポイント、またはいくつかのその他のローカルエンティティに対するものであってよく、あるいはプロファイルデータベース内で画定されたようなものであってもよい。インターネット接続確認は、インターネット、またはいくつかのその他の遠隔エンティティに対するものであってよい。あるいは、接続マネージャ２６０は、無線接続性確認および／またはその他の確認を開始することができ、その結果をＭＡＲコントローラ２４０に報告することが可能である。無線接続性確認および／またはその他の確認は、プロファイルデータベース内で画定可能であり、基本的な接続性テスト（はい／いいえ）、帯域幅推定／スループット推定、受信信号強度インジケータ（ＲＳＳＩ）測定などを必要とする場合がある。ＭＡＲコントローラ２４０は、すべてのアクティブな無線２９０の状況を維持することが可能である。
【００４５】
図４は、アクティブなアプリケーション向けの無線を選択することを実行するためのコールフロー４００の一設計を示す。アプリケーション２２０を開始することができ、アプリケーション２２０は、接続を要求することが可能である（ステップ１）。ＭＡＲコントローラ２４０は、アプリケーション２２０から接続要求を受信することができ、例えば、アプリケーションならびに／またはプロファイルデータベースからアプリケーションの要件、好み、および／もしくは優先順位を取得することが可能である（ステップ２）。これらの要件は、ＱｏＳ要件、スループット要件などを含むことが可能である。ＭＡＲコントローラ２４０は、無線リソースに関する要求を共存マネージャ２７０に送ることが可能である（ステップ３）。共存マネージャ２７０は、利用可能な無線と、それらの無線間の干渉影響とを決定することが可能である（ステップ４）。共存マネージャ２７０は、次いで、使用のために利用可能な無線のリストを含み得るＣｘＭリソースを戻すことができる（ステップ５）。
【００４６】
ＭＡＲコントローラ２４０は、共存マネージャ２７０から応答を受信することができ、接続要求とＣｘＭ応答とを接続マネージャ２６０に送ることが可能である（ステップ６）。接続マネージャ２６０は、アプリケーション向けの１つまたは複数の利用可能な無線を選択することが可能である（ステップ７）。接続マネージャ２６０は、次いで、アプリケーションを（１つまたは複数の）選択された無線にマッピングすること含み得るＣｎＭ応答を戻すことができる（ステップ８）。ＭＡＲコントローラ２４０は、ＣｎＭ応答を受信することができ、（１つまたは複数の）選択された無線をアプリケーション２２０に提供することが可能である（ステップ９）。次いで、アプリケーション２２０は、その（１つまたは複数の）選択された無線を経由して、接続性を取得することが可能である（ステップ１０）。
【００４７】
図４に示されるように、プロセス４００のフローは、アプリケーション２２０からＭＡＲコントローラ２４０に対するものであり、次いで、接続マネージャ２６０と共存マネージャ２７０とに対するものであってよい。ＭＡＲコントローラ２４０は、プロセス４００の間に、ＣｎＭデータベース２８０とＣｘＭデータベース２８２とを管理すること、更新すること、無効にすること、および較正することが可能である。
【００４８】
ＭＡＲコントローラ２４０は、無線２９０の能力および／または状況を決定するために、リアルタイムの無線通信／無線制御をサポートすることが可能である。ＭＡＲコントローラ２４０は、アクティブな無線に関する干渉状態の高速決定をサポートすることが可能である。ＭＡＲコントローラ２４０は、無線に対するアプリケーションの高速な動的マッピングと、アクティブな無線の干渉緩和とを可能にすることもできる。
【００４９】
ＭＡＲコントローラ２４０は、アプリケーション２２０と接続マネージャ２６０との間のインターフェースであってよい。ＭＡＲコントローラ２４０は、アプリケーション２２０の要件、好み、および／または優先順位を受信することができ、その情報を処理して、接続マネージャ２６０とＣｎＭデータベース２８０とに中継することが可能である。ＭＡＲコントローラ２４０は、初期の情報収集および情報更新を実行することが可能である。ＭＡＲコントローラ２４０は、プロファイルを管理および更新することも可能である。ＭＡＲコントローラ２４０は、ＭＡＲコントローラ２４０が相互作用する様々なエンティティ間で同期を維持することも可能である。
【００５０】
ＭＡＲコントローラ２４０は、アプリケーション２２０と共存マネージャ２７０との間のインターフェースであってもよい。ＭＡＲコントローラ２４０は、接続マネージャ２６０によって提供され得るアプリケーション２２０の要件、好み、および／または優先順位を満たす無線２９０のリストを受信することが可能である。ＭＡＲコントローラ２４０は、アプリケーション２２０に関する情報を処理することができ、その情報を共存マネージャ２７０とＣｘＭデータベース２８２とに中継することが可能である。ＭＡＲコントローラ２４０は、ＨＬＯＳ  ＡＰＩ２４２から無線のグループに関する干渉情報を受信することが可能である。ＭＡＲコントローラ２４０は、初期の情報収集および情報更新を実行することが可能である。ＭＡＲコントローラ２４０は、ＣｘＭデータベース２８２を更新することが可能である。ＭＡＲコントローラ２４０は、無線２９０に対する通信／無線２９０からの通信／無線２９０間の通信を管理することも可能である。
【００５１】
一例として、２４００ＭＨｚ帯域のＷＬＡＮ無線（すなわち、「ＷＬＡＮ−２４００」）は、当初、アクティブであり得る。接続マネージャ２６０は、「最善のシステムを確保」要求および／または、それを介して音声呼出を行うための適切な無線に関する要求を受信することが可能である。その受信された要求に基づいて、接続マネージャ２６０は、８００ＭＨｚにおいて１ｘ無線（すなわち、「１ｘ−８００」）および２５００ＭＨＺにおいてＬＴＥ無線（すなわち、「ＬＴＥ−２５００」）がその音声呼出に関する候補無線であることを決定できる。接続マネージャ２６０は、ＷＬＡＮ−２４００とＬＴＥ−２５００の組合せが、結果として、激しい干渉をもたらすことになり、音声呼出に関して１ｘ−８００がより望ましいことを助言できる共存マネージャ２７０および／またはＭＡＲコントローラ２４０に確認することが可能である。したがって、接続マネージャ２６０は、ＷＬＡＮ無線との干渉を回避して、より良好なユーザ経験を提供するために、８００ＭＨｚにおいて１ｘ無線上で音声呼出を行うことを円滑にできる。
【００５２】
ＭＡＲコントローラ２４０は、様々な形でワイヤレスデバイス１１０のパフォーマンスを改善することが可能である。ＭＡＲコントローラ２４０は、ＣｎＭ機能および／またはＣｘＭ機能をサポートすることができ、接続マネージャ２６０と共存マネージャ２７０とに様々なリソースを提供することが可能である。ＭＡＲコントローラ２４０は、接続マネージャ２６０だけと動作すること、もしくは共存マネージャ２７０だけと動作すること、または接続マネージャ２６０と共存マネージャ２７０の両方と動作することが可能である。ＭＡＲコントローラ２４０は、アプリケーションに関する接続性と、無線の動作とを管理するために、ワイヤレスデバイス１１０内の他のプロセッサによる過剰な関与を回避することが可能であり、これは、ワイヤレスデバイス１１０に対するパフォーマンス劣化を回避できる。
【００５３】
ワイヤレスデバイス１１０は、ＭＡＲコントローラを含まない他のワイヤレスデバイスと異なってよい。これらの他のワイヤレスデバイスは、ＣｎＭ機能および／またはＣｘＭ機能を上層内（例えば、ＨＬＯＳ内もしくはアプリケーション内）または下層内（例えば、個々の無線内）に含むことが可能である。上層実施態様の一例は、個々の無線に対してＨＬＯＳ  ＡＰＩを使用して実施される接続マネージャであり得る。下層実施態様の一例は、パケットトラフィックアービトレーション（Packet Traffic Arbitration）（ＰＴＡ）プロトコルなど、ＢｌｕｅｔｏｏｔｈとＷＬＡＮ無線との間のＣｘＭバスであってよい。
【００５４】
対照的に、ＭＡＲコントローラ２４０は、複数のコントローラのインテリジェントマネージャであってよく、（ｉ）ＨＬＯＳ２２４およびアプリケーション２２０と、（ｉｉ）ワイヤレスデバイス１１０内の個々の無線２９０との間にあってよい。ＭＡＲコントローラ２４０は、アプリケーション２２０内、無線２９０内、および無線状態内の迅速な変化に素早い応答を提供するために、リアルタイムの形で動作可能である。
【００５５】
図５は、アプリケーションを無線にマッピングするためのプロセス５００の一設計を示す。プロセス５００は、コントローラ（例えば、図２のＭＡＲコントローラ２４０またはいくつかのその他のコントローラ）によって実行可能である。このコントローラは、複数のアプリケーションからの入力を受信することが可能である（ブロック５１２）。このコントローラは、オペレーティングシステムの下位にあってよく、複数のアプリケーションは、例えば、図２に示されるように、オペレーティングシステムの上位にあってよい。このコントローラは、複数の無線に関する干渉情報を取得することが可能である（ブロック５１４）。このコントローラは、複数のアプリケーションからの入力に基づいて、かつ複数の無線間の干渉を緩和するための干渉情報にさらに基づいて、選択された複数の無線を決定することが可能である（ブロック５１６）。このコントローラは、複数のアプリケーションからの入力に基づいて、それらのアプリケーションを複数の無線にマッピングすることを決定することが可能である（ブロック５１８）。このコントローラは、複数のアプリケーションがマッピングされる複数の無線を示す情報をその複数のアプリケーションに提供することが可能である（ブロック５２０）。次いで、それらの複数のアプリケーションは、それらの選択された無線を経由して接続性を取得できる。
【００５６】
一設計では、複数のアプリケーションの要件は、（例えば、複数のアプリケーションの入力に基づいて）決定可能であり、複数の無線を選択するために、および／または複数のアプリケーションを複数の無線にマッピングするために使用可能である。一設計では、複数のアプリケーションの好みは、（例えば、プロファイルデータベースおよび／またはアプリケーションに基づいて）決定可能であり、複数の無線を選択するために、および／または複数のアプリケーションを複数の無線にマッピングするために使用可能である。一設計では、複数のアプリケーションを複数の無線にマッピングするために、複数のアプリケーションの優先順位を決定して、使用することが可能である。一設計では、無線を選択するために、ワイヤレスデバイス内の無線の能力および／または状況を決定して、使用することが可能である。一設計では、複数のアプリケーションを複数の無線にマッピングするために、ワイヤレスデバイスの能力および／または状況（例えば、電池レベル）を決定して、使用することが可能である。無線を選択するために、および／またはアプリケーションを無線にマッピングするために、他の情報を使用することも可能である。
【００５７】
一設計では、このコントローラは、複数のアプリケーションの要件、好み、および／または優先順位を取得するために、上層内でエンティティ（例えば、アプリケーション）と通信することが可能である。一設計では、このコントローラは、複数の無線の能力および／または状況を取得するために、下層内でエンティティ（例えば、無線コントローラ）と通信することが可能である。複数のアプリケーションは、その複数のアプリケーションの要件、好み、および／または優先順位、ならびに複数の無線の能力および／状況に基づいて、その複数の無線にマッピング可能である。このコントローラは、アプリケーションと無線とのリアルタイムの相互作用をサポートすることが可能である。これは、変化している環境においてすら、良好なパフォーマンスを取得するために、アクティブなアプリケーションに適した無線が選択されることを可能にできる。
【００５８】
一設計では、このコントローラは、アプリケーション向けの無線を選択するように、かつ／またはアプリケーションを無線にマッピングするように指定され得る接続マネージャの動作を制御することが可能である。一設計では、このコントローラは、複数のアプリケーションに関する少なくとも１つの接続要求を接続マネージャに送ることが可能である。このコントローラは、複数のアプリケーションを複数の無線にマッピングすることに伴う、少なくとも１つの応答を、例えば、図４に示されるように、共存マネージャから受信することが可能である。
【００５９】
一設計では、このコントローラは、無線間の干渉を緩和するためにそれらの無線の動作を制御するように指定され得る共存マネージャの動作を制御することが可能である。一設計では、このコントローラは、複数のアプリケーション向けの無線リソースに関する少なくとも１つの要求を共存マネージャに送ることが可能である。このコントローラは、利用可能な無線を含めて、少なくとも１つの応答を共存マネージャから受信することが可能である。その複数の無線はそれらの利用可能な無線の中から選択可能である。
【００６０】
一設計では、このコントローラは、接続マネージャに関する第１のデータベースおよび／または共存マネージャに関する第２のデータベースを管理することが可能である。このコントローラは、データベースのアクセスを管理すること、データベースの更新を制御すること、および／またはデータベースに関するその他の機能を実行することが可能である。一設計では、このコントローラは、コントローラ、接続マネージャ、および／または共存マネージャの間の通信のために使用されるデータバスを管理することが可能である。一設計では、このコントローラは、ＣＰＵリソース、メモリリソース、および／もしくはその他のリソースを接続マネージャならびに／または共存マネージャに提供することが可能である。このコントローラは、接続管理および／または共存管理をサポートするためにその他の機能を実行することも可能である。
【００６１】
当業者は、情報および信号は、様々な異なる技術および技法のうちのいずれかを使用して表すことが可能である点を理解されよう。例えば、上の説明を通して参照される場合があるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁粉、光場もしくは光学粒子、またはそれらの任意の組合せによって表すことが可能である。
【００６２】
当業者は、本明細書の開示に関して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、またはそれらの組合せとして実施可能である点をさらに理解されよう。ハードウェアとソフトウェアのこの交換可能性を明瞭に例示するために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップは、上で、一般にそれらの機能の点から説明されている。そのような機能がハードウェアとして実施されるか、またはソフトウェアとして実施されるかは、特定のアプリケーションと、システム全体に課せられる設計制約とに依存する。当業者は、説明された機能性をそれぞれの特定のアプリケーションに関して様々な形で実施できるが、そのような実施態様決定は、本開示の範囲からの逸脱を生じさせるとして解釈されるべきではない。
【００６３】
本明細書の開示に関して説明された様々な例示的な論理ブロック、モジュール、および回路は、本明細書で説明された機能を実行するように設計された汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）もしくはその他のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタ論理、ディスクリートハードウェア構成要素、またはそれらの任意の組合せを用いて実施あるいは実行することが可能である。汎用プロセッサは、マイクロプロセッサであってよいが、代替では、このプロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であってよい。プロセッサは、コンピューティングデバイスの組合せ、例えば、ＤＳＰとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと共に１つもしくは複数のマイクロプロセッサ、または任意のその他のそのような構成として実施されることも可能である。
【００６４】
本明細書の開示に関して説明された方法またはアルゴリズムのステップは、ハードウェアの形で直接的に、プロセッサによって実行されるソフトウェアモジュールの形で、またはそれら２つの組合せの形で具体化可能である。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、取外し可能ディスク、ＣＤ−ＲＯＭ、または当技術分野で知られている任意の他の形態の記憶媒体の中に常駐可能である。例示的な記憶媒体は、プロセッサがその記憶媒体から情報を読み取り、その記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替では、記憶媒体は、プロセッサと一体であってよい。プロセッサおよび記憶媒体は、ＡＳＩＣ内に常駐可能である。ＡＳＩＣは、ユーザ端末内に常駐可能である。代替では、プロセッサおよび記憶媒体は、ユーザ端末内にディスクリート構成要素として常駐可能である。
【００６５】
１つまたは複数の例示的な設計では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せの形で実施可能である。ソフトウェアの形で実装される場合、これらの機能は、１つもしくは複数の命令またはコードとして、コンピュータ可読媒体上に格納可能であるか、あるいはコンピュータ可読媒体を介して送信可能である。コンピュータ可読媒体は、コンピュータ記憶媒体と、ある場所から別の場所へのコンピュータプログラムの転送を円滑にする任意の媒体を含む通信媒体の両方を含む。記憶媒体は、汎用コンピュータまたは専用コンピュータによってアクセス可能な任意の利用可能な媒体であってよい。限定ではなく、例として、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭもしくはその他の光ディスク記憶装置、磁気ディスク記憶装置もしくはその他の磁気記憶装置、または所望されるプログラムコード手段を命令もしくはデータ構造の形で搬送または格納するために使用可能であり、汎用コンピュータもしくは専用コンピュータ、または汎用プロセッサもしくは専用プロセッサによってアクセス可能な任意のその他の媒体を備えることが可能である。また、任意の接続は、適切には、コンピュータ可読媒体と呼ばれる。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者線（ＤＳＬ）、もしくは赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、またはその他の遠隔ソースから送信される場合、その同軸ケーブル、光ファイバケーブル、より対線、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義の中に含まれる。本明細書で使用される場合、ディスク（ｄｉｓｋ）およびディスク（ｄｉｓｃ）は、コンパクトディスク（ＣＤ）と、レーザディスクと、光ディスクと、デジタル多用途ディスク（ＤＶＤ）と、フロッピー（登録商標）ディスクと、ブルーレイ（登録商標）ディスクとを含み、この場合、ディスク（ｄｉｓｋ）は、通常、データを磁気的に再生し、一方、ディスク（ｄｉｓｃ）は、レーザを用いて、データを光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲に含まれるべきである。
【００６６】
本開のこれまでの説明は、当業者が本発明を行うこと、または本発明を使用することを可能にするために提供されている。本開示に対する様々な修正は、当業者にとって容易に明らかであり、本明細書で定義された包括的な原理は、本開示の精神あるいは範囲から逸脱せずに、その他の変形対し適用可能である。したがって、本開示は、本明細書で説明される例および設計に限定されるようには意図されておらず、本明細書で開示された原理および新規な特徴と整合する最も広い範囲が与えられるべきである。
【図１】
2014212545.tif 000003
【図２】
2014212545.tif 000004
【図３】
2014212545.tif 000005
【図４】
2014212545.tif 000006
【図５】
2014212545.tif 000007
【手続補正書】
【提出日】平成26年7月18日(2014.7.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ワイヤレス通信デバイス内でアプリケーションを無線にマッピングする方法であって、
オペレーティングシステムによって制御されるコントローラにおいて、前記オペレーティングシステムを制御する複数のアプリケーションからの入力を受信することと、
前記複数のアプリケーションからの前記入力に基づいて、かつ前記複数の無線間の干渉をさらに緩和するために、選択された複数の無線を決定することと、
前記アプリケーションからの前記入力に基づいて、前記複数のアプリケーションを前記複数の無線にマッピングすることを決定することと、
前記アプリケーション向けの無線を選択するようにもしくは前記アプリケーションを無線にマッピングするようにまたはそれら両方を行うように指定された接続マネージャの動作を制御することと、
前記複数の無線間の干渉を緩和するために前記無線の動作を制御するように指定された共存マネージャの動作を制御することと、
前記複数のアプリケーションのどのアプリケーションがアクティブであるかを決定するために前記複数のアプリケーションと通信し、前記アクティブなアプリケーションの要求を取得して、利用可能な無線または前記選択された無線に関する情報を前記接続マネージャおよび前記共存マネージャに提供するように指定されたマルチアプリケーション−無線コントローラの動作を制御することと
を備える方法。
【請求項２】
前記複数のアプリケーションがマッピングされる前記複数の無線を示す情報を前記複数のアプリケーションに提供すること、
をさらに備える、請求項１に記載の方法。
【請求項３】
前記複数の無線に関する干渉情報を取得すること、
をさらに備え、前記複数の無線が、前記干渉情報にさらに基づいて選択される、
請求項１に記載の方法。
【請求項４】
前記複数のアプリケーションの要件を決定すること、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションの前記要件にさらに基づいて前記複数の無線にマッピングされる、
請求項１に記載の方法。
【請求項５】
前記複数のアプリケーションの好みを決定すること、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションに関する前記好みにさらに基づいて、前記複数の無線にマッピングされる、
請求項１に記載の方法。
【請求項６】
前記複数のアプリケーションの優先順位を決定すること、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションの前記優先順位にさらに基づいて、前記複数の無線にマッピングされる、
請求項１に記載の方法。
【請求項７】
前記ワイヤレス通信デバイス内の複数の無線の能力、もしくは状況、またはそれら両方を決定すること、
をさらに備え、前記複数の無線が、前記複数の無線の前記能力、もしくは前記状況、またはそれら両方に基づいて選択される、請求項１に記載の方法。
【請求項８】
前記ワイヤレス通信デバイスの能力、もしくは状況、またはそれら両方を決定すること、
をさらに備え、前記複数のアプリケーションが、前記ワイヤレス通信デバイスの前記能力、もしくは前記状況、またはそれら両方にさらに基づいて、前記複数の無線にマッピングされる、
請求項１に記載の方法。
【請求項９】
前記複数のアプリケーションの要件、もしくは好み、または優先順位、あるいはそれらの組合せを取得するために、上層内のエンティティと通信することと、
前記複数の無線の能力、もしくは状況、またはそれら両方を取得するために、下層内のエンティティと通信することと、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションの前記要件、もしくは前記好み、または前記優先順位、あるいはそれらの組合せと、前記複数の無線の前記能力、もしくは前記状況、またはそれら両方とに基づいて、前記複数の無線にマッピングされる、
請求項１に記載の方法。
【請求項１０】
前記コントローラによって、前記複数のアプリケーションと前記複数の無線とのリアルタイムの相互作用をサポートすること、
をさらに備える、請求項１に記載の方法。
【請求項１１】
前記複数のアプリケーションをマッピングすることを前記決定することは、
前記複数のアプリケーションに関する少なくとも１つの接続要求を前記接続マネージャに送ることと、
前記複数のアプリケーションを前記複数の無線に前記マッピングすることに伴う、少なくとも１つの応答を前記接続マネージャから受信することと、
を備える、請求項１に記載の方法。
【請求項１２】
前記複数の無線を前記決定することは、
前記複数のアプリケーション向けの無線リソースに関する少なくとも１つの要求を前記共存マネージャに送ることと；
前記利用可能な無線で、少なくとも１つの応答を前記共存マネージャから受信することと、なお、前記複数の無線は前記利用可能な無線の中にある；
を備える、請求項１に記載の方法。
【請求項１３】
アプリケーション向けの無線を選択するように、もしくはアプリケーションを無線にマッピングするように、またはそれら両方を行うように指定された接続マネージャの動作を制御することと、
無線間の干渉を緩和するために前記無線の動作を制御するように指定された共存マネージャの動作を制御することと、
をさらに備える、請求項１に記載の方法。
【請求項１４】
接続マネージャに関する第１のデータベース、もしくは共存マネージャに関する第２のデータベース、またはそれら両方を管理すること、
をさらに備える、請求項１に記載の方法。
【請求項１５】
前記コントローラと、接続マネージャまたは共存マネージャとの、あるいはそれら両方との間の、通信のために使用されるデータバスを管理すること、
をさらに備える、請求項１に記載の方法。
【請求項１６】
中央処理装置（ＣＰＵ）リソース、もしくはメモリリソース、またはそれら両方を、接続マネージャもしくは共存マネージャ、またはそれら両方に提供すること、
をさらに備える、請求項１に記載の方法。
【請求項１７】
前記ワイヤレス通信デバイスの電力供給時に利用可能な無線のセットを取得することと、
前記利用可能な無線のセットに関して、無線接続確認、もしくはインターネット接続確認、またはそれら両方を開始することと、
をさらに備える、請求項１に記載の方法。
【請求項１８】
ワイヤレス通信デバイス内でアプリケーションを無線にマッピングするための装置であって、
オペレーティングシステムによって制御されるコントローラにおいて、前記オペレーティングシステムを制御する複数のアプリケーションからの入力を受信するための手段と、
前記複数のアプリケーションからの前記入力に基づいて、かつ前記複数の無線間の干渉をさらに緩和するために、選択された複数の無線を決定するための手段と、
前記アプリケーションからの前記入力に基づいて、前記複数のアプリケーションを前記複数の無線にマッピングすることを決定するための手段と
前記アプリケーション向けの無線を選択するようにもしくは前記アプリケーションを無線にマッピングするようにまたはそれら両方を行うように指定された接続マネージャの動作を制御する手段と、
前記複数の無線間の干渉を緩和するために前記無線の動作を制御するように指定された共存マネージャの動作を制御する手段と、
前記複数のアプリケーションのどのアプリケーションがアクティブであるかを決定するために前記複数のアプリケーションと通信し、前記アクティブなアプリケーションの要求を取得して、利用可能な無線または前記選択された無線に関する情報を前記接続マネージャおよび前記共存マネージャに提供するように指定されたマルチアプリケーション−無線コントローラの動作を制御する手段と
を備える装置。
【請求項１９】
前記複数のアプリケーションがマッピングされる前記複数の無線を示す情報を前記複数のアプリケーションに提供するための手段、
をさらに備える、請求項１８に記載の装置。
【請求項２０】
前記複数の無線に関する干渉情報を取得するための手段、
をさらに備え、前記複数の無線が、前記干渉情報にさらに基づいて選択される、
請求項１８に記載の装置。
【請求項２１】
前記複数のアプリケーションの要件、もしくは好み、または優先順位、あるいはそれらの組合せを決定するための手段、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションの前記要件、もしくは前記好み、または前記優先順位、あるいはそれらの組合せにさらに基づいて、前記複数の無線にマッピングされる、
請求項１８に記載の装置。
【請求項２２】
前記複数のアプリケーションの要件、もしくは好み、または優先順位、あるいはそれらの組合せを取得するために、上層内のエンティティと通信するための手段と、
前記複数の無線の能力、もしくは状況、またはそれら両方を取得するために、下層内のエンティティと通信するための手段と、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションの前記要件、もしくは前記好み、または前記優先順位、あるいはそれらの組合せと、前記複数の無線の前記能力、もしくは前記状況、またはそれら両方とに基づいて、前記複数の無線にマッピングされる、
請求項１８に記載の装置。
【請求項２３】
接続マネージャに関する第１のデータベース、もしくは共存マネージャに関する第２のデータベース、またはそれら両方を管理するための手段
をさらに備える、請求項１８に記載の装置。
【請求項２４】
ワイヤレス通信デバイス内でアプリケーションを無線にマッピングするための装置であって、
オペレーティングシステムによって制御されるコントローラにおいて、前記オペレーティングシステムを制御する複数のアプリケーションからの入力を受信することと、前記複数のアプリケーションからの前記入力に基づいて、かつ前記複数の無線間の干渉をさらに緩和するために、選択された複数の無線を決定することと、前記アプリケーションからの前記入力に基づいて、前記複数のアプリケーションを前記複数の無線にマッピングすることを決定することと、前記アプリケーション向けの無線を選択するようにもしくは前記アプリケーションを無線にマッピングするようにまたはそれら両方を行うように指定された接続マネージャの動作を制御することと、前記複数の無線間の干渉を緩和するために前記無線の動作を制御するように指定された共存マネージャの動作を制御することと、前記複数のアプリケーションのどのアプリケーションがアクティブであるかを決定するために前記複数のアプリケーションと通信し、前記アクティブなアプリケーションの要求を取得して、利用可能な無線または前記選択された無線に関する情報を前記接続マネージャおよび前記共存マネージャに提供するように指定されたマルチアプリケーション−無線コントローラの動作を制御することと
を行うように構成された、少なくとも１つのプロセッサ、
を備える装置。
【請求項２５】
前記少なくとも１つのプロセッサが、前記複数のアプリケーションがマッピングされる前記複数の無線を示す情報を前記複数のアプリケーションに提供するように構成される、請求項２４に記載の装置。
【請求項２６】
前記少なくとも１つのプロセッサが、前記複数の無線に関する干渉情報を取得するように構成され、前記複数の無線が、前記干渉情報にさらに基づいて選択される、請求項２４に記載の装置。
【請求項２７】
前記少なくとも１つのプロセッサが、前記複数のアプリケーションの要件、もしくは好み、または優先順位、あるいはそれらの組合せを決定するように構成され、前記複数のアプリケーションが、前記複数のアプリケーションの前記要件、もしくは前記好み、または前記優先順位、あるいはそれらの組合せにさらに基づいて、前記複数の無線にマッピングされる、請求項２４に記載の装置。
【請求項２８】
前記少なくとも１つのプロセッサが、前記複数のアプリケーションの要件、もしくは好み、または優先順位、あるいはそれらの組合せを取得するために、上層内のエンティティと通信し、前記複数の無線の能力、もしくは状況、またはそれら両方を取得するために、下層内のエンティティと通信するように構成され、前記複数のアプリケーションが、前記複数のアプリケーションの前記要件、もしくは前記好み、または前記優先順位、あるいはそれらの組合せと、前記複数の無線の前記能力、もしくは前記状況、またはそれらの組合せとに基づいて、前記複数の無線にマッピングされる、請求項２４に記載の装置。
【請求項２９】
前記少なくとも１つのプロセッサが、接続マネージャに関する第１のデータベース、もしくは共存マネージャに関する第２のデータベース、またはそれら両方を管理するように構成される、請求項２４に記載の装置。
【請求項３０】
少なくとも１つのコンピュータに、オペレーティングシステムによって制御されるコントローラにおいて、複数のアプリケーションからの入力を受信させるためのコードと、なお、前記複数のアプリケーションは前記オペレーティングシステムを制御する；
前記少なくとも１つのコンピュータに、前記複数のアプリケーションからの前記入力に基づいて、かつ前記複数の無線間の干渉をさらに緩和するために、選択された複数の無線を決定させるためのコードと；
前記少なくとも１つのコンピュータに、前記アプリケーションからの前記入力に基づいて、前記複数のアプリケーションを前記複数の無線にマッピングすることを決定させるためのコードと、
前記少なくとも１つのコンピュータに、前記アプリケーション向けの無線を選択するようにもしくは前記アプリケーションを無線にマッピングするようにまたはそれら両方を行うように指定された接続マネージャの動作を制御させるためのコードと、
前記少なくとも１つのコンピュータに、前記複数の無線間の干渉を緩和するために前記無線の動作を制御するように指定された共存マネージャの動作を制御させるためのコードと、
前記少なくとも１つのコンピュータに、前記複数のアプリケーションのどのアプリケーションがアクティブであるかを決定するために前記複数のアプリケーションと通信し、前記アクティブなアプリケーションの要求を取得して、利用可能な無線または前記選択された無線に関する情報を前記接続マネージャおよび前記共存マネージャに提供するように指定されたマルチアプリケーション−無線コントローラの動作を制御させるためのコードと
を備えたコンピュータ読取可能記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００６６
【補正方法】変更
【補正の内容】
【００６６】
本開のこれまでの説明は、当業者が本発明を行うこと、または本発明を使用することを可能にするために提供されている。本開示に対する様々な修正は、当業者にとって容易に明らかであり、本明細書で定義された包括的な原理は、本開示の精神あるいは範囲から逸脱せずに、その他の変形対し適用可能である。したがって、本開示は、本明細書で説明される例および設計に限定されるようには意図されておらず、本明細書で開示された原理および新規な特徴と整合する最も広い範囲が与えられるべきである。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ワイヤレス通信デバイス内でアプリケーションを無線にマッピングする方法であって、
オペレーティングシステムの下位にあるコントローラにおいて、前記オペレーティングシステムの上位にある複数のアプリケーションからの入力を受信することと、
前記複数のアプリケーションからの前記入力に基づいて、かつ前記複数の無線間の干渉をさらに緩和するために、選択された複数の無線を決定することと、
前記アプリケーションからの前記入力に基づいて、前記複数のアプリケーションを前記複数の無線にマッピングすることを決定することと、
を備える方法。
［Ｃ２］
前記複数のアプリケーションがマッピングされる前記複数の無線を示す情報を前記複数のアプリケーションに提供すること、
をさらに備える、Ｃ１に記載の方法。
［Ｃ３］
前記複数の無線に関する干渉情報を取得すること、
をさらに備え、前記複数の無線が、前記干渉情報にさらに基づいて選択される、
Ｃ１に記載の方法。
［Ｃ４］
前記複数のアプリケーションの要件を決定すること、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションの前記要件にさらに基づいて前記複数の無線にマッピングされる、
Ｃ１に記載の方法。
［Ｃ５］
前記複数のアプリケーションの好みを決定すること、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションに関する前記好みにさらに基づいて、前記複数の無線にマッピングされる、
Ｃ１に記載の方法。
［Ｃ６］
前記複数のアプリケーションの優先順位を決定すること、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションの前記優先順位にさらに基づいて、前記複数の無線にマッピングされる、
Ｃ１に記載の方法。
［Ｃ７］
前記ワイヤレス通信デバイス内の複数の無線の能力、もしくは状況、またはそれら両方を決定すること、
をさらに備え、前記複数の無線が、前記複数の無線の前記能力、もしくは前記状況、またはそれら両方に基づいて選択される、Ｃ１に記載の方法。
［Ｃ８］
前記ワイヤレス通信デバイスの能力、もしくは状況、またはそれら両方を決定すること、
をさらに備え、前記複数のアプリケーションが、前記ワイヤレス通信デバイスの前記能力、もしくは前記状況、またはそれら両方にさらに基づいて、前記複数の無線にマッピングされる、
Ｃ１に記載の方法。
［Ｃ９］
前記複数のアプリケーションの要件、もしくは好み、または優先順位、あるいはそれらの組合せを取得するために、上層内のエンティティと通信することと、
前記複数の無線の能力、もしくは状況、またはそれら両方を取得するために、下層内のエンティティと通信することと、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションの前記要件、もしくは前記好み、または前記優先順位、あるいはそれらの組合せと、前記複数の無線の前記能力、もしくは前記状況、またはそれら両方とに基づいて、前記複数の無線にマッピングされる、
Ｃ１に記載の方法。
［Ｃ１０］
前記コントローラによって、前記複数のアプリケーションと前記複数の無線とのリアルタイムの相互作用をサポートすること、
をさらに備える、Ｃ１に記載の方法。
［Ｃ１１］
アプリケーション向けの無線を選択するように、もしくはアプリケーションを無線にマッピングするように、またはそれら両方を行うように指定された、接続マネージャの動作を制御すること、
をさらに備える、Ｃ１に記載の方法。
［Ｃ１２］
前記複数のアプリケーションをマッピングすることを前記決定することは、
前記複数のアプリケーションに関する少なくとも１つの接続要求を前記接続マネージャに送ることと、
前記複数のアプリケーションを前記複数の無線に前記マッピングすることに伴う、少なくとも１つの応答を前記接続マネージャから受信することと、
を備える、Ｃ１１に記載の方法。
［Ｃ１３］
無線間の干渉を緩和するために前記無線の動作を制御するように指定された共存マネージャの動作を制御すること、
をさらに備える、Ｃ１に記載の方法。
［Ｃ１４］
前記複数の無線を前記決定することは、
前記複数のアプリケーション向けの無線リソースに関する少なくとも１つの要求を前記共存マネージャに送ることと；
利用可能な無線で、少なくとも１つの応答を前記共存マネージャから受信することと、なお、前記複数の無線は前記利用可能な無線の中にある；
を備える、Ｃ１３に記載の方法。
［Ｃ１５］
アプリケーション向けの無線を選択するように、もしくはアプリケーションを無線にマッピングするように、またはそれら両方を行うように指定された接続マネージャの動作を制御することと、
無線間の干渉を緩和するために前記無線の動作を制御するように指定された共存マネージャの動作を制御することと、
をさらに備える、Ｃ１に記載の方法。
［Ｃ１６］
接続マネージャに関する第１のデータベース、もしくは共存マネージャに関する第２のデータベース、またはそれら両方を管理すること、
をさらに備える、Ｃ１に記載の方法。
［Ｃ１７］
前記コントローラと、接続マネージャまたは共存マネージャとの、あるいはそれら両方との間の、通信のために使用されるデータバスを管理すること、
をさらに備える、Ｃ１に記載の方法。
［Ｃ１８］
中央処理装置（ＣＰＵ）リソース、もしくはメモリリソース、またはそれら両方を、接続マネージャもしくは共存マネージャ、またはそれら両方に提供すること、
をさらに備える、Ｃ１に記載の方法。
［Ｃ１９］
前記ワイヤレスデバイスの電力供給時に利用可能な無線のセットを取得することと、
前記利用可能な無線のセットに関して、無線接続確認、もしくはインターネット接続確認、またはそれら両方を開始することと、
をさらに備える、Ｃ１に記載の方法。
［Ｃ２０］
ワイヤレス通信デバイス内でアプリケーションを無線にマッピングするための装置であって、
オペレーティングシステムの下位にあるコントローラにおいて、前記オペレーティングシステムの上位にある複数のアプリケーションからの入力を受信するための手段と、
前記複数のアプリケーションからの前記入力に基づいて、かつ前記複数の無線間の干渉をさらに緩和するために、選択された複数の無線を決定するための手段と、
前記アプリケーションからの前記入力に基づいて、前記複数のアプリケーションを前記複数の無線にマッピングすることを決定するための手段と
を備える装置。
［Ｃ２１］
前記複数のアプリケーションがマッピングされる前記複数の無線を示す情報を前記複数のアプリケーションに提供するための手段、
をさらに備える、Ｃ２０に記載の装置。
［Ｃ２２］
前記複数の無線に関する干渉情報を取得するための手段、
をさらに備え、前記複数の無線が、前記干渉情報にさらに基づいて選択される、
Ｃ２０に記載の装置。
［Ｃ２３］
前記複数のアプリケーションの要件、もしくは好み、または優先順位、あるいはそれらの組合せを決定するための手段、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションの前記要件、もしくは前記好み、または前記優先順位、あるいはそれらの組合せにさらに基づいて、前記複数の無線にマッピングされる、
Ｃ２０に記載の装置。
［Ｃ２４］
前記複数のアプリケーションの要件、もしくは好み、または優先順位、あるいはそれらの組合せを取得するために、上層内のエンティティと通信するための手段と、
前記複数の無線の能力、もしくは状況、またはそれら両方を取得するために、下層内のエンティティと通信するための手段と、
をさらに備え、前記複数のアプリケーションが、前記複数のアプリケーションの前記要件、もしくは前記好み、または前記優先順位、あるいはそれらの組合せと、前記複数の無線の前記能力、もしくは前記状況、またはそれら両方とに基づいて、前記複数の無線にマッピングされる、
Ｃ２０に記載の装置。
［Ｃ２５］
アプリケーション向けの無線を選択するように、もしくはアプリケーションを無線にマッピングするように、またはそれら両方を実行するように指定された、接続マネージャの動作を制御するための手段、
をさらに備える、Ｃ２０に記載の装置。
［Ｃ２６］
無線間の干渉を緩和するために前記無線の動作を制御するように指定された共存マネージャの動作を制御するための手段
をさらに備える、Ｃ２０に記載の装置。
［Ｃ２７］
接続マネージャに関する第１のデータベース、もしくは共存マネージャに関する第２のデータベース、またはそれら両方を管理するための手段
をさらに備える、Ｃ２０に記載の装置。
［Ｃ２８］
ワイヤレス通信デバイス内でアプリケーションを無線にマッピングするための装置であって、
オペレーティングシステムの下位にあるコントローラにおいて、前記オペレーティングシステムの上位にある複数のアプリケーションからの入力を受信することと、前記複数のアプリケーションからの前記入力に基づいて、かつ前記複数の無線間の干渉をさらに緩和するために、選択された複数の無線を決定することと、前記アプリケーションからの前記入力に基づいて、前記複数のアプリケーションを前記複数の無線にマッピングすることを決定することとを行うように構成された、少なくとも１つのプロセッサ、
を備える装置。
［Ｃ２９］
前記少なくとも１つのプロセッサが、前記複数のアプリケーションがマッピングされる前記複数の無線を示す情報を前記複数のアプリケーションに提供するように構成される、Ｃ２８に記載の装置。
［Ｃ３０］
前記少なくとも１つのプロセッサが、前記複数の無線に関する干渉情報を取得するように構成され、前記複数の無線が、前記干渉情報にさらに基づいて選択される、Ｃ２８に記載の装置。
［Ｃ３１］
前記少なくとも１つのプロセッサが、前記複数のアプリケーションの要件、もしくは好み、または優先順位、あるいはそれらの組合せを決定するように構成され、前記複数のアプリケーションが、前記複数のアプリケーションの前記要件、もしくは前記好み、または前記優先順位、あるいはそれらの組合せにさらに基づいて、前記複数の無線にマッピングされる、Ｃ２８に記載の装置。
［Ｃ３２］
前記少なくとも１つのプロセッサが、前記複数のアプリケーションの要件、もしくは好み、または優先順位、あるいはそれらの組合せを取得するために、上層内のエンティティと通信し、前記複数の無線の能力、もしくは状況、またはそれら両方を取得するために、下層内のエンティティと通信するように構成され、前記複数のアプリケーションが、前記複数のアプリケーションの前記要件、もしくは前記好み、または前記優先順位、あるいはそれらの組合せと、前記複数の無線の前記能力、もしくは前記状況、またはそれらの組合せとに基づいて、前記複数の無線にマッピングされる、Ｃ２８に記載の装置。
［Ｃ３３］
前記少なくとも１つのプロセッサが、アプリケーション向けの無線を選択するように、もしくはアプリケーションを無線にマッピングするように、またはそれら両方を行うように指定された接続マネージャの動作、を制御するように構成される、Ｃ２８に記載の装置。
［Ｃ３４］
前記少なくとも１つのプロセッサが、無線間の干渉を緩和するために前記無線の動作を制御するように指定された共存マネージャの動作、を制御するように構成される、Ｃ２８に記載の装置。
［Ｃ３５］
前記少なくとも１つのプロセッサが、接続マネージャに関する第１のデータベース、もしくは共存マネージャに関する第２のデータベース、またはそれら両方を管理するように構成される、Ｃ２８に記載の装置。
［Ｃ３６］
少なくとも１つのコンピュータに、オペレーティングシステムの下位にあるコントローラにおいて複数のアプリケーションからの入力を受信させるためのコードと、なお、前記複数のアプリケーションは前記オペレーティングシステムの上位にある；
前記少なくとも１つのコンピュータに、前記複数のアプリケーションからの前記入力に基づいて、かつ前記複数の無線間の干渉をさらに緩和するために、選択された複数の無線を決定させるためのコードと；
前記少なくとも１つのコンピュータに、前記アプリケーションからの前記入力に基づいて、前記複数のアプリケーションを前記複数の無線にマッピングすることを決定させるためのコードと、
を備えた非一時的コンピュータ可読媒体、
を備えるコンピュータプログラム製品。
【外国語明細書】
2014212545000001.pdf