(57)【要約】  さまざまな実施形態は、性能メトリックおよび信号強度に基づいて無線アクセス・ポイント選択を提供する方法および装置を提供する。具体的には、複数の無線アクセス・ポイントのうちの１つを選択するクライアントは、選択判断を、性能メトリックならびに信号強度に基づかせる。
2015526986.tif 000002
【特許請求の範囲】
【請求項１】
無線アクセス・ポイントを選択する装置であって、
データ・ストレージと、
前記データ・ストレージに通信的に接続されたプロセッサであって、
前記装置にとって利用可能な複数の無線アクセス・ポイントを判定し、
前記装置と、利用可能な前記複数の無線アクセス・ポイントのそれぞれと、の間の信号強度を含む複数の信号強度を判定し、
利用可能な前記複数の無線アクセス・ポイントのうちの少なくとも２つに関連する複数のヒストリカル性能メトリックを判定し、
前記複数のヒストリカル性能メトリックおよび前記複数の信号強度に基づいて、前記無線アクセス・ポイントを前記複数の無線アクセス・ポイントから選択する
ように構成されたプロセッサと、
を含む、装置。
【請求項２】
前記複数のヒストリカル性能メトリックは、１ホップ性能測定値、バックホール性能測定値、およびエンドツーエンド性能測定値のうちの少なくとも１つを含む、請求項１に記載の装置。
【請求項３】
前記複数のヒストリカル性能メトリックは、複数の（信号強度、無線ＡＰ）対に基づき、前記（信号強度、無線ＡＰ）対は、前記装置と前記複数の無線アクセス・ポイントのそれぞれとの間の前記複数の現在の信号強度に対応する、請求項２に記載の装置。
【請求項４】
前記複数のヒストリカル性能メトリックは、複数の（信号強度、無線ＡＰ、測定サーバ）タプルに基づき、前記（信号強度、無線ＡＰ、測定サーバ）タプルは、前記装置と前記複数の無線アクセス・ポイントのそれぞれとの間の前記複数の現在の信号強度に対応する、請求項２に記載の装置。
【請求項５】
前記プロセッサは、
前記装置を前記選択された無線アクセス・ポイントに関連付け、
前記装置と前記選択された無線アクセス・ポイントとの間で１ホップ性能メトリックを測定し、
前記１ホップ性能メトリックを性能データベースに報告する
ようにさらに構成される、請求項１に記載の装置。
【請求項６】
前記プロセッサは、
前記装置と測定サーバとの間でエンドツーエンド性能メトリックを測定し、
前記エンドツーエンド性能メトリックを前記性能データベースに報告する
ようにさらに構成される、請求項５に記載の装置。
【請求項７】
無線アクセス・ポイントを選択する方法であって、
データ・ストレージに通信的に接続されたプロセッサで、装置にとって利用可能な複数の無線アクセス・ポイントを判定するステップと、
前記データ・ストレージと協働する前記プロセッサによって、前記装置と前記複数の無線アクセス・ポイントのそれぞれとの間の信号強度を含む複数の信号強度を判定するステップと、
前記データ・ストレージと協働する前記プロセッサによって、利用可能な前記複数の無線アクセス・ポイントのうちの少なくとも２つに関連する複数のヒストリカル性能メトリックを判定するステップと、
前記データ・ストレージと協働する前記プロセッサによって、前記複数のヒストリカル性能メトリックおよび前記複数の信号強度に基づいて、前記無線アクセス・ポイントを前記複数の無線アクセス・ポイントから選択するステップと、
を含む、方法。
【請求項８】
前記複数のヒストリカル性能メトリックは、１ホップ性能測定値、バックホール性能測定値、およびエンドツーエンド性能測定値のうちの少なくとも１つを含む、請求項７に記載の方法。
【請求項９】
前記複数のヒストリカル性能メトリックは、複数の（信号強度、無線ＡＰ）対に基づき、前記（信号強度、無線ＡＰ）対は、前記装置と前記複数の無線アクセス・ポイントのそれぞれとの間の前記複数の現在の信号強度に対応する、請求項７に記載の方法。
【請求項１０】
前記複数のヒストリカル性能メトリックは、複数の（信号強度、無線ＡＰ、測定サーバ）タプルに基づき、前記（信号強度、無線ＡＰ、測定サーバ）タプルは、前記装置と前記複数の無線アクセス・ポイントのそれぞれとの間の前記複数の現在の信号強度に対応する、請求項７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的には無線アクセス・ポイント（ＡＰ）選択を提供する方法および装置に関する。
【背景技術】
【０００２】
このセクションでは、本発明のよりよい理解を容易にするのに役立つ可能性がある態様を紹介する。したがって、このセクションの言明は、この観点から読まれなければならず、何が従来技術に含まれ、何が従来技術に含まれないのかに関する承認と理解してはならない。
【０００３】
いくつかの既知の無線システムでは、クライアント・デバイスは、利用可能な無線ＡＰのリストから、最良の信号強度を提供する無線ＡＰを選択する。
【発明の概要】
【課題を解決するための手段】
【０００４】
さまざまな実施形態は、性能メトリックおよび信号強度に基づく無線アクセス・ポイント選択を提供する方法および装置を提供する。有利なことに、無線アクセス・ポイント選択を、信号強度に加えて性能メトリックに基づかせることによって、改善されたトラフィック・スループットおよび改善されたエンドツーエンド性能を得ることができる。
【０００５】
一実施形態では、無線アクセス・ポイントを選択する装置が提供される。この装置は、データ・ストレージと、データ・ストレージに通信的に接続されたプロセッサとを含む。プロセッサは、装置から利用可能な複数の無線アクセス・ポイントを判定し、装置と複数の利用可能な無線アクセス・ポイントのそれぞれとの間の信号強度を含む複数の信号強度を判定し、複数の利用可能な無線アクセス・ポイントのうちの少なくとも２つに関連する複数のヒストリカル性能メトリックを判定し、複数のヒストリカル性能メトリックおよび複数の信号強度に基づいて、無線アクセス・ポイントを複数の無線アクセス・ポイントから選択するようにプログラムされる。
【０００６】
上記実施形態のいくつかでは、複数のヒストリカル性能メトリックは、現在時刻範囲または曜日に基づく。
【０００７】
上記実施形態のいくつかでは、複数のヒストリカル性能メトリックの判定は、複数のヒストリカル性能メトリックを性能データベースから取り出すようにプロセッサをプログラムすることを含む。
【０００８】
上記実施形態のいくつかでは、複数のヒストリカル性能メトリックは、１ホップ性能測定値、バックホール性能測定値、またはエンドツーエンド性能測定値を含む。
【０００９】
上記実施形態のいくつかでは、複数のヒストリカル性能メトリックは、ヒストリカル・ユーザ経験レーティングを含む。
【００１０】
上記実施形態のいくつかでは、複数のヒストリカル性能メトリックは、複数の（信号強度、無線ＡＰ）対に基づく。（信号強度、無線ＡＰ）対は、装置と複数の無線アクセス・ポイントのそれぞれとの間の複数の現在の信号強度に対応する。
【００１１】
上記実施形態のいくつかでは、複数のヒストリカル性能メトリックは、複数の（信号強度、無線ＡＰ、測定サーバ）タプルに基づく。（信号強度、無線ＡＰ、測定サーバ）タプルは、装置と複数の無線アクセス・ポイントのそれぞれとの間の複数の現在の信号強度に対応する。
【００１２】
上記実施形態のいくつかでは、無線アクセス・ポイントの選択は、複数のヒストリカル性能メトリックにおいて関連する最大の性能メトリックを有する無線アクセス・ポイントに基づいて無線アクセス・ポイントを選択するようにプロセッサをプログラムすることを含む。
【００１３】
上記実施形態のいくつかでは、プロセッサは、装置を選択された無線アクセス・ポイントに関連付け、装置と選択された無線アクセス・ポイントとの間で１ホップ性能メトリックを測定し、１ホップ性能メトリックを性能データベースに報告するようにさらにプログラムされる。
【００１４】
上記実施形態のいくつかでは、プロセッサは、装置と測定サーバとの間でエンドツーエンド性能メトリックを測定し、エンドツーエンド性能メトリックを性能データベースに報告するようにさらにプログラムされる。
【００１５】
第２の実施形態では、複数の性能メトリックを測定する装置が提供される。この装置は、データ・ストレージと、データ・ストレージに通信的に接続されたプロセッサとを含む。プロセッサは、性能測定トリガの発生を判定し、性能測定トリガの発生は、クライアントと無線ＡＰとの間の関連付けの判定を含み、性能測定トリガの発生に基づいて、クライアントと無線ＡＰとの間またはクライアントと測定サーバとの間で性能メトリックを測定し、測定された性能メトリックを性能データベースに報告するようにプログラムされる。
【００１６】
上記実施形態のいくつかでは、性能メトリックは、小パケットのラウンド・トリップ時間、大パケットのラウンド・トリップ時間、アップリンク・スループット、またはダウンリンク・スループットである。
【００１７】
上記実施形態のいくつかでは、性能メトリックの測定は、受動的測定を含む。
【００１８】
上記実施形態のいくつかでは、性能メトリックの測定は、能動的測定を含む。
【００１９】
第３の実施形態では、無線アクセス・ポイントを選択する方法が提供される。この方法は、装置から利用可能な複数の無線アクセス・ポイントを判定するステップと、装置と複数の無線アクセス・ポイントのそれぞれとの間の信号強度を含む複数の信号強度を判定するステップと、複数の利用可能な無線アクセス・ポイントのうちの少なくとも２つに関連する複数のヒストリカル性能メトリックを判定するステップと、複数のヒストリカル性能メトリックおよび複数の信号強度に基づいて、無線アクセス・ポイントを複数の無線アクセス・ポイントから選択するステップとを含む。
【００２０】
上記実施形態のいくつかでは、複数のヒストリカル性能メトリックの判定は、データ・ストレージと協働するプロセッサによって、複数のヒストリカル性能メトリックを性能データベースから取り出すことを含む。
【００２１】
上記実施形態のいくつかでは、複数のヒストリカル性能メトリックは、１ホップ性能測定値、バックホール性能測定値、またはエンドツーエンド性能測定値を含む。
【００２２】
上記実施形態のいくつかでは、複数のヒストリカル性能メトリックは、ヒストリカル・ユーザ経験レーティングを含む。
【００２３】
上記実施形態のいくつかでは、複数のヒストリカル性能メトリックは、複数の（信号強度、無線ＡＰ）対に基づく。（信号強度、無線ＡＰ）対は、装置と複数の無線アクセス・ポイントのそれぞれとの間の複数の現在の信号強度に対応する。
【００２４】
上記実施形態のいくつかでは、複数のヒストリカル性能メトリックは、複数の（信号強度、無線ＡＰ、測定サーバ）タプルに基づく。（信号強度、無線ＡＰ、測定サーバ）タプルは、装置と複数の無線アクセス・ポイントのそれぞれとの間の複数の現在の信号強度に対応する。
【００２５】
さまざまな実施形態が、添付図面に示されている。
【図面の簡単な説明】
【００２６】
【図１】無線ＡＰ選択システム１００の実施形態を示す図である。
【図２】図１のクライアント１１０（すなわち、クライアント２１０）、無線ＡＰ  １２０のうちの１つ（すなわち、無線ＡＰ  ２２０）、測定サーバ１４０（すなわち、測定サーバ２４０）、および性能データベース１５０（すなわち、性能データベース２５０）の実施形態を示す機能ブロック図である。
【図３】装置（たとえば、図２のクライアント２１０、無線ＡＰ  ２２０、または測定サーバ２４０）が図２の適当な性能プログラムＰ１に示されているように性能を測定する方法３００の実施形態を示す流れ図である。
【図４】クライアント（たとえば、図１のクライアント１１０または図２のクライアント２１０）が図２のユーザ経験入力プログラム２１２−Ｐ２に示されているようにユーザ経験レーティングを報告する方法４００の実施形態を示す流れ図である。
【図５】クライアント（たとえば、図１のクライアント１１０または図２のクライアント２１０）が図２のＡＰ選択プログラム２１２−Ｐ３に示されているように無線ＡＰを選択する方法５００の実施形態を示す流れ図である。
【図６】図１のクライアント１１０、無線ＡＰ  １２０のうちの１つ、もしくは測定サーバ１４０、または図２のクライアント２１０、無線ＡＰ  ２２０、もしくは測定サーバ２４０など、さまざまな装置６００の実施形態を概略的に示す図である。
【発明を実施するための形態】
【００２７】
理解を容易にするために、実質的に同一のもしくは類似する構造または実質的に同一のもしくは類似する機能を有する要素を指定するのに、同一の符号を使用した。
【００２８】
この説明および図面は、単に、本発明の原理を説明するものである。したがって、当業者が、本明細書で明示的には説明されず、図示されないが、本発明の原理を実施し、その範囲に含まれるさまざまな配置を考案できることを了解されたい。さらに、本明細書で列挙されるすべての例は、特に、本発明の原理および本発明人が当技術を促進するために貢献する概念を読者が理解するのを助ける教育的目的であることを主に意図されたものであり、そのような具体的に列挙される例および条件への限定を伴わないものと解釈されなければならない。さらに、用語「ｏｒ（または）」は、本明細書で使用される時に、そうではないと示される（たとえば、「ｏｒ  ｅｌｓｅ（または、さもなければ）」または「ｏｒ  ｉｎ  ｔｈｅ  ａｌｔｅｒｎａｔｉｖｅ（または、代替案では）」）場合を除いて、非排他的なｏｒを指す。また、本明細書で説明されるさまざまな実施形態は、新しい実施形態を形成するためにいくつかの実施形態を１つまたは複数の他の実施形態と組み合わせることができるので、必ずしも相互に排他的ではない。
【００２９】
さまざまな実施形態は、性能メトリックおよび信号強度に基づいて無線アクセス・ポイント選択を提供する方法および装置を提供する。有利なことに、無線アクセス・ポイント選択を、信号強度に加えて性能メトリックに基づかせることによって、システムは、トラフィック・スループットまたはエンドツーエンド性能を改善することができる。さらに、より高いスループットを有する無線ＡＰに切り替えることによって、ネットワークを介するクライアントとターゲット・サーバとの間の通信の持続時間を短縮することができ、これによって、クライアントでのバッテリ消耗を減らすことができることを了解されたい。
【００３０】
図１に、無線ＡＰ選択システム１００の実施形態を示す。無線ＡＰ選択システム１００は、通信パスを介してネットワーク１３０にアクセスする１つまたは複数のクライアント１１０（明瞭さのために、１つのクライアントだけを図示）を含む。通信パスは、クライアント通信チャネル１１５−１〜１１５−ｎ（集合的に、クライアント通信チャネル１１５）のうちの適当な１つ、無線ＡＰ  １２０−１〜１２０−ｎ（集合的に、無線ＡＰ  １２０）のうちの適当な１つ、および無線ＡＰ通信チャネル１２５−１〜１２５−ｎ（集合的に、無線ＡＰ通信チャネル１２５）のうちの適当な１つを含む。通信チャネル１１５、無線ＡＰ  １２０、無線ＡＰ通信チャネル１２５のうちの適当な１つが、性能データベース１５０に格納されたヒストリック性能メトリックに基づいて選択される。性能データベース１５０は、ネットワーク１３０上で性能データベース通信チャネル１５５を介してデバイス（たとえば、クライアント１１０）によってアクセスされる。性能メトリックは、クライアント１１０、無線ＡＰ  １２０のうちの１つ、および測定サーバ１４０のうちの少なくとも２つの間で測定されたネットワーク性能を含む。測定サーバ１４０は、ネットワーク１３０上で測定サーバ通信チャネル１４５を介してデバイス（たとえば、クライアント１１０または無線ＡＰ  １２０のうちの１つ）によってアクセスされる。
【００３１】
クライアント１１０は、無線ＡＰ  １２０のうちの１つまたは複数との関連付けと、ネットワーク１３０上でクライアント通信チャネル１１５のうちの１つまたは複数を介する情報の送信または受信とが可能な任意のタイプの通信デバイスを含むことができる。たとえば、通信デバイスは、シン・クライアント、スマート・フォン、パーソナル・コンピュータもしくはラップトップ・コンピュータ、サーバ、ネットワーク・デバイス、タブレット、ｅリーダー、または類似物とすることができる。通信デバイスは、処理または格納など、タスクの一部を実行するために例示的なシステム内の他のリソースに頼ることができ、あるいは、タスクを独立に実行できるものとすることができる。１つのクライアントが本明細書で示されるが、システム１００がより多くのクライアントを含むことができることを了解されたい。さらに、任意の時のクライアントの個数は、動作中のさまざまな時にクライアントをシステムに追加しまたは減ずることができるので、動的とすることができる。
【００３２】
無線ＡＰ  １２０は、無線デバイス（たとえば、クライアント１１０）がネットワーク１３０に接続することを可能にする任意のタイプのデバイスを含むことができる。
【００３３】
通信チャネル１１５は、無線通信（たとえば、ＬＴＥ、ＧＳＭ、ＣＤＭＡ、Ｂｌｕｅｔｏｏｔｈ）、ＷＬＡＮ通信（たとえば、ＷｉＦｉ）、および類似物など、１つまたは複数の通信チャネルを介する通信をサポートする。単一の接続として図示されているが、通信チャネル１１５を、任意の個数の通信チャネルまたは通信チャネルの任意の組合せとすることができることを了解されたい。
【００３４】
通信チャネル１２５、１４５、および１５５は、無線通信（たとえば、ＬＴＥ、ＧＳＭ、ＣＤＭＡ、Ｂｌｕｅｔｏｏｔｈ）、ＷＬＡＮ通信（たとえば、ＷｉＦｉ）、パケット・ネットワーク通信（たとえば、ＩＰ）、ブロードバンド通信（たとえば、ＤＯＣＳＩＳ、ＦｉＯＳ、およびＤＳＬ）、ストレージ通信（たとえば、ファイバ・チャネル、ｉＳＣＳＩ）、および類似物など、１つまたは複数の通信チャネルを介する通信をサポートする。単一の接続として図示されているが、通信チャネル１２５、１４５、および１５５を、任意の個数の通信チャネルまたは通信チャネルの任意の組合せとすることができることを了解されたい。
【００３５】
ネットワーク１３０は、任意の個数のアクセス・ノード、エッジ・ノード、およびネットワーク・デバイスと、任意の個数および構成のリンクとを含む。さらに、ネットワーク１３０は、ＬＴＥ、ＧＳＭ、ＣＤＭＡ、ローカル・エリア・ネットワーク（ＬＡＮ）、無線ローカル・エリア・ネットワーク（ＷＬＡＮ）、広域ネットワーク（ＷＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、または類似物を含む、任意の組合せおよび任意の個数の無線または有線のネットワークを含むことができることを了解されたい。
【００３６】
測定サーバ１４０は、クライアント１１０とネットワーク１３０に接続する別のサーバとの間の性能メトリックを推定する代表的なサーバとして働く。具体的には、測定サーバ１４０は、ネットワーク１３０上で測定サーバ通信チャネル１４５を介して情報を送信しまたは受信することができる任意のサーバとすることができる。クライアント１１０と測定サーバ１４０との間の通信の性能は、ネットワーク１３０上のクライアント１１０と別のサーバ（明瞭さのために図示せず）との間のエンドツーエンド性能の推定値として働く。同様に、無線ＡＰ  １２０のうちの１つと測定サーバ１４０との間の通信の性能は、ネットワーク１３０上の無線ＡＰ  １２０のうちの１つと別のサーバとの間のバックホール性能の推定値として働く。本明細書では１つの測定サーバだけが図示されているが、システム１００がより多くの測定サーバを含むことができることを了解されたい。
【００３７】
性能データベース１５０は、無線ＡＰ選択システム１００によって要求されるヒストリック性能メトリックの永続的な蓄積である。性能データベース１５０は、任意の適切なストレージ・デバイスまたはメモリ・デバイスとすることができ、任意の個数のストレージ・デバイスを含むことができる。含まれるストレージ・デバイスは、（１）分散され、（２）同様のまたは異なるものであり、あるいは（３）お互いにローカルまたは地理的に分散されるものとすることができる。本明細書では１つの性能データベースが図示されるが、システム１００がより多くのストレージ・ノードを含むことができることを了解されたい。
【００３８】
いくつかの実施形態では、無線ＡＰ  １２０のうちの１つまたは複数は、ＷｉＦｉアクセス・ポイントである。
【００３９】
いくつかの実施形態では、通信チャネル１１５に加えて、クライアント１１０は、クライアント１１０と無線ＡＰ  １２０以外のデバイスとの間で情報を送信し、受信する通信チャネル（図示せず）をサポートする。たとえば、無線ＡＰ  １２０がＷｉＦｉアクセス・ポイントであり、通信チャネル１１５がＷＬＡＮ通信チャネルである実施形態でセルラ・データ・オフロードをサポートするために、クライアント１１０は、クライアント１１０が無線（たとえば、ＬＴＥ）ネットワークを介して通信するために、追加の無線通信（たとえば、ＬＴＥ、ＧＳＭ、ＣＤＭＡ、Ｂｌｕｅｔｏｏｔｈ）チャネルを含むことができる。
【００４０】
いくつかの実施形態では、無線ＡＰ  １２０のうちの１つまたは複数は、小セル基地局である。
【００４１】
いくつかの実施形態では、ネットワーク１３０は、インターネットである。
【００４２】
いくつかの実施形態では、性能データベース１５０は、測定サーバ１４０と同一の装置に含まれる。
【００４３】
いくつかの実施形態では、性能データベース１５０またはその一部は、クライアント１１０内に分散される。これらの実施形態のいくつかでは、性能データベース１５０のうちでクライアント１１０内に含まれる部分は、クライアント１１０の地理的位置に基づく。たとえば、クライアント１１０は、性能データベース１５０のうちでクライアント１１０に近接する地理的領域内の無線ＡＰの性能メトリックを含む部分をダウンロードすることができる。有利なことに、クライアント１１０は、近接する無線ＡＰの性能メトリックを格納することによって、無線ＡＰ選択プログラムをより効率的に実行できるものとすることができる。任意の適切なしきい値を使用して、近接する無線ＡＰ（たとえば、しきい距離以内または都市内の無線ＡＰ）を判定することができる。さらに、いくつかの実施形態では、性能データベース１５０のうちでクライアント１１０内に格納される部分を、さらに、無線ＡＰを制御するサービス・プロバイダ、ダウンロードすべき無線ＡＰのしきい個数、およびダウンロードすべき性能メトリック・データのしきいサイズに基づくものとすることができる。たとえば、クライアント１１０は、性能データベース１５０のうちでクライアント１１０から５マイル以内の無線ＡＰに関する部分をダウンロードすることができ、これらの無線ＡＰは、あるサービス・プロバイダ（たとえば、ＡＴ＆Ｔ）に関連し、クライアント１１０は、最も近接する１０００個の無線ＡＰをダウンロードするというしきい値をセットする。
【００４４】
いくつかの実施形態では、無線ＡＰ選択システム１００は、異種ネットワーク（ＨｅｔＮｅｔ：Ｈｅｔｅｒｏｇｅｎｅｏｕｓ  Ｎｅｔｗｏｒｋ）の一部である。これらの実施形態のいくつかでは、無線ＡＰ選択システム１００は、３ＧＰＰ  Ｌｏｎｇ−Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ（ＬＴＥ）Ａｄｖａｎｃｅｄネットワークの一部である。これらの実施形態のいくつかでは、クライアント１１０は、ＬＴＥ基地局（明瞭さのために図示せず）のデータ・オフロード・サービスを実施するために無線ＡＰ  １２０のうちの１つに切り替える。
【００４５】
図２に、図１のクライアント１１０（すなわち、クライアント２１０）、無線ＡＰ  １２０のうちの１つ（すなわち、無線ＡＰ  ２２０）、測定サーバ１４０（すなわち、測定サーバ２４０）、および性能データベース１５０（すなわち、性能データベース２５０）の実施形態の機能ブロック図を示す。クライアント２１０、無線ＡＰ  ２２０、および測定サーバ２４０は、それぞれ測定プログラム２１２−Ｐ１、２２２−Ｐ１、および２４２−Ｐ１（集合的に、測定プログラムＰ１）を含む。測定プログラムＰ１は、実線のコンポーネント相互作用の線２６６−１、２６６−２、および２６６−３（集合的に、コンポーネント相互作用２６６）によって示されるように、クライアント２１０、無線ＡＰ  ２２０、および測定サーバ２４０の間の性能メトリックを測定する。オプションで、クライアント２１０は、ユーザの知覚する性能メトリックを収集するためにユーザ経験入力プログラム２１２−Ｐ２をも含む。性能メトリックは、破線の測定値報告の線２６４−１、２６４−２、２６４−３、および２６４−４（集合的に、測定値報告２６４）のうちの適当な１つを介して性能データベース２５０に報告される。性能データベース２５０は、オプションで、受信された性能メトリックを格納するバックエンド性能データベース２５２−ＢＥおよびフロントエンド性能データベース２５２−ＦＥを含む。クライアント２１０は、さらに、ＡＰ選択プログラム２１２−Ｐ３を含む。ＡＰ選択プログラム２１２−Ｐ３は、点線の測定値取出の線２６２を介して性能データベース２５０から受信したヒストリカル性能メトリックに基づいて、無線ＡＰ（たとえば、図１の無線ＡＰ  １２０のうちの１つ）を選択する。
【００４６】
測定プログラムＰ１は、クライアント２１０、無線ＡＰ  ２２０、および測定サーバ２４０の間の性能メトリックを測定する。測定は、（１）１ホップ性能（２６６−１によって示される、クライアントと無線ＡＰとの間）、（２）バックホール性能（２６６−２によって示される、無線ＡＰと測定サーバとの間）、または（３）エンドツーエンド性能（２６６−３によって示される、クライアントと測定サーバとの間）を含むことができる。
【００４７】
クライアント２１０は、オプションでユーザ経験入力プログラム２１２−Ｐ２を含む。ユーザ経験入力プログラム２１２−Ｐ２は、ユーザに提供されるインターフェースを介してエンド・ユーザ経験レーティングを受け取る。具体的には、ユーザ経験入力プログラム２１２−Ｐ２は、クライアント２１０のユーザが、主観的なエンド・ユーザ経験に基づいて無線ＡＰのレーティングを入力することを可能にする。ユーザ経験入力プログラム２１２−Ｐ２は、入力されたレーティングを、クライアント２１０が現在関連付けられている又は直近に関連付けられた無線ＡＰ（たとえば、図１の無線ＡＰ  １２０のうちの１つ）にマッピングし、この情報を、測定値報告２６４−１を介して性能データベース２５０に送信する。いくつかの実施形態では、クライアント２１０がマッピングされた無線ＡＰに関連付けられた時間期間などのさらなる情報が、入力されたレーティングおよびマッピングされた無線ＡＰと共に送信される。
【００４８】
ＡＰ選択プログラム２１２−Ｐ３は、測定値取出２６２を介して性能データベース２５０からヒストリカル性能メトリックを受信し、本明細書で説明するように、取り出されたヒストリカル性能メトリックに基づいて、利用可能な無線ＡＰ（たとえば、図１の無線ＡＰ  １２０）のリストのうちの１つを選択する。
【００４９】
性能データベース２５０は、任意の適切なストレージ・フォーマットと、任意の個数または組合せのストレージ・デバイスまたはメモリ・デバイスとを含むことができる。具体的には、性能データベース２５０は、（１）測定プログラムＰ１から受信された性能メトリック、（２）受信された性能メトリックに関連する時刻もしくは曜日、または（３）受信された性能メトリックに関連するクライアントと無線ＡＰとの間の信号強度などの付随情報など、無線ＡＰ選択判断を判定する際に使用される任意の適切なヒストリカル情報を収集し、格納する。性能メトリックは、（１）大パケットのラウンド・トリップ時間（１ホップ、バックホール、エンドツーエンド）、（２）小パケットのラウンド・トリップ時間（１ホップ、バックホール、エンドツーエンド）、（３）アップリンク・スループット（１ホップ、バックホール、エンドツーエンド）、（４）ダウンリンク・スループット（１ホップ、バックホール、エンドツーエンド）、または（５）エンド・ユーザ経験レーティング（エンドツーエンド性能）など、任意の適切な性能メトリックを含むことができる。時刻または曜日を、時刻と曜日との両方を表す１つのタイムスタンプまたは別々の時刻フォーマットおよび曜日フォーマットとしてなど、任意の適切な形で表すことができることを了解されたい。
【００５０】
オプションで、性能データベース２５０は、バックエンド性能データベース２５２−ＢＥおよびフロントエンド性能データベース２５２−ＦＥを含むことができる。経時的に、性能データベース２５０のサイズが極端に大きくなり、したがって非効率的になる可能性があることを了解されたい。ＡＰ選択プログラム２１２−Ｐ３は、時間期間の移動するウィンドウにわたる時刻および曜日の所与の範囲の平均値およびピーク／最良値などの集約情報だけを必要とする場合があるので、コンパクトなデータベース（たとえば、フロントエンド性能データベース２５２−ＦＥ）を、無線ＡＰごとの集約情報を格納するように構成することができる。バックエンド性能データベース２５２−ＢＥは、測定プログラムＰ１およびユーザ経験入力プログラム２１２−Ｐ２によって報告された生の性能メトリックを格納することができる。有利なことに、生の受信された性能メトリックのより大きい部分をバックエンド性能データベース２５２−ＢＥに格納することによって、フロントエンド性能データベース２５２−ＦＥのエントリを作るために、生の受信された性能メトリックに対して、変更された集約アルゴリズムを適用することができる。さらに、集約アルゴリズムを経時的に調整して、推定される性能期待値を改善することができる。
【００５１】
いくつかの実施形態では、測定プログラムＰ１は、短い時間期間（たとえば、２〜３秒）にわたってスループットを測定し、それぞれアップリンク方向およびダウンリンク方向のトラフィックの、ピーク・スループットおよび平均スループットならびに最良／最短ラウンド・トリップ時間（ＲＴＴ）および平均ＲＴＴの両方を報告する。
【００５２】
いくつかの実施形態では、性能データベース２５０は、平均値およびピーク／最良値など、集約情報を格納することができる。
【００５３】
いくつかの実施形態では、コンポーネント相互作用２６６または測定値報告２６４は、アプリケーション・レベル・プロトコルを介する。これらの実施形態のいくつかでは、アプリケーション・レベル・プロトコルは、ＴＣＰ接続またはＵＤＰ接続のいずれかを使用する。
【００５４】
いくつかの実施形態では、測定値報告２６４は、一方向通信である。
【００５５】
いくつかの実施形態では、測定プログラムＰ１は、測定された性能メトリックを性能データベースに周期的に送信する。
【００５６】
いくつかの実施形態では、パケットが、性能データベースへ向かう途中（たとえば、測定値報告２６４）で失われる場合に、その情報は、単純に性能データベースで記録されず、再送信プロトコルは使用されない。
【００５７】
測定サーバ２４０が、性能データベース２５０を含む場合に、測定値報告２６４−４を、単純に、性能データベース２５０に性能メトリックを格納する測定サーバ２４０とすることができることを了解されたい。
【００５８】
いくつかの実施形態では、性能データベース２５０は、クライアント２１０、無線ＡＰ  ２２０、または測定サーバ２４０のうちの１つと同一の位置に配置される。性能データベース２５０が同一の位置に配置される時に、測定値報告２６４が、ネットワーク（たとえば、図１のネットワーク１３０）を通過することを必要としない可能性があることを了解されたい。
【００５９】
いくつかの実施形態では、信号強度および１ホップ性能は、（クライアント、無線ＡＰ）対に適用され、バックホール性能は、（無線ＡＰ、測定サーバ）対に適用され、エンドツーエンド性能とエンド・ユーザ経験レーティングとの両方は、（クライアント、無線ＡＰ、測定サーバ）タプルに適用される。
【００６０】
有利なことに、過去の無線ＡＰに関連するクライアントの性能統計が必要な性能データを提供するので、クライアントのＩＰアドレスは、無線ＡＰ選択プロセスで使用される必要がない。
【００６１】
第１の実施形態では、性能データベース２５０は、クライアント関連性能メトリック（たとえば、１ホップ性能、エンドツーエンド性能、およびエンド・ユーザ経験レーティング）を記録する時に、クライアントのＩＰアドレスを格納する。これらの実施形態のいくつかでは、クライアントが測定値取出２６２を実行する時に、性能データベース２５０エントリは、次のように変更される。
ａ．所与の無線ＡＰおよび信号強度を有する（クライアント、無線ＡＰ）対の１ホップ性能統計エントリは、（信号強度、無線ＡＰ）対の１ホップ性能エントリに変換される。
ｂ．所与の無線ＡＰおよび測定サーバを有する（クライアント、無線ＡＰ、測定サーバ）タプルのエンドツーエンド性能統計エントリは、（信号強度、無線ＡＰ、測定サーバ）タプルの１エントリに変換される。
ｃ．所与の無線ＡＰおよび測定サーバを有する（クライアント、無線ＡＰ、測定サーバ）タプルのエンド・ユーザ経験レーティング統計エントリは、（信号強度、無線ＡＰ、測定サーバ）タプルの１エントリに変換される。
【００６２】
第２の実施形態では、性能データベース２５０は、クライアントのアイデンティティとして、ＩＰアドレスまたはデバイスＩＤではなくクライアントによって観察された無線ＡＰの信号強度を格納する。
【００６３】
有利なことに、本明細書で説明される対およびタプルを使用し、クライアント識別子の表現として現在の信号強度を使用する、性能データベース２５０での性能メトリックの格納は、所与の無線ＡＰによるヒストリカル性能メトリックの単純化された取出を可能にする。
【００６４】
たとえば、クライアント２１０は、無線ＡＰ  ２２０の識別子と、それ自体と無線ＡＰ  ２２０との間の無線接続の信号強度とを判定し、その後、無線ＡＰ  ２２０の識別子および現在の信号強度に関連するヒストリカル性能メトリックについて測定値取出２６２を介して性能データベース２５０に照会することができる。その後、性能データベース２５０は、データベースに照会し、（信号強度、無線ＡＰ）対に基づいてヒストリカル性能メトリック・レコードを取り出し、測定値取出２６２を介してクライアント２１０にその結果、又は未加工の結果、又は、集約された結果を返すことができる。
【００６５】
いくつかの実施形態では、性能データベース２５０は、データベース・クエリに時刻範囲または曜日を含めることができる。有利なことに、リンク品質は、時刻または曜日に基づいて異なる可能性があるので、これらの要因によって制約された照会は、現在のネットワーク条件をよりよく近似する可能性がある。これらの実施形態のいくつかでは、クライアント２１０は、性能データベース２５０への照会に時刻範囲または曜日を含めることができる。これらの実施形態の他の実施形態では、性能データベース２５０は、照会を、照会の時の現在の一時的条件に基づくものにすることができる。
【００６６】
これらの実施形態のいくつかでは、取り出されるヒストリカル性能メトリックは、絶対信号強度ではなく、現在の信号強度に基づく信号強度範囲に関係するものとすることができる。信号強度範囲は、任意の適切な範囲とすることができ、性能データベース２５０またはクライアント２１０のいずれかによって決定されるものとすることができる。これらの実施形態のいくつかでは、信号強度範囲を、クライアント２１０によって性能データベース２５０への照会に含めることができる。
【００６７】
いくつかの実施形態では、クライアント２１０が、エンドツーエンド性能メトリックについて性能データベース２５０に照会する時に、クライアント２１０は、性能データベース２５０への照会に測定サーバの識別子を含めることができる。エンドツーエンド性能メトリックの取出に関するいくつかの他の実施形態では、クライアント２１０は、性能データベースへの照会に測定サーバの識別子を含めることを要求されない。エンドツーエンド測定の実行に関して所与の無線ＡＰに関連する１つの測定サーバだけがある場合に、その測定サーバが、所与の無線ＡＰに基づいて判定されることを了解されたい。これらの実施形態では、性能データベース２５０は、その後、（信号強度、無線ＡＰ、測定サーバ）タプルに基づいて、ヒストリカル・エンドツーエンド性能メトリック・レコードを取り出すことができる。
【００６８】
いくつかの実施形態では、性能データベース２５０は、集中設計として構成される。たとえば、１つの性能データベースが、セルラ・ネットワークからネットワーク（たとえば、図１のネットワーク１３０）へのデータ・オフロードを実現するために無線サービス・プロバイダの加入者が接続を許可される無線オペレータのネットワーク内の無線ＡＰのすべての情報を格納することができる。これらの実施形態のいくつかでは、利用可能な無線ＡＰのリストを、認証プロセスに基づくものとすることができる。
【００６９】
いくつかの実施形態では、性能データベース２５０は、分散設計として構成される。たとえば、複数のより小さいデータベースを使用して、１つの性能データベースが、ある地理的領域内の無線ＡＰの情報を格納することができる。
【００７０】
いくつかの実施形態では、ＡＰ選択プログラム２１２−Ｐ３は、無線ＡＰ選択トリガによって開始される。無線ＡＰ選択トリガは、しきい値を満足する信号強度を有する１つまたは複数の無線ＡＰが存在することの判定または現在の無線接続の信号強度がしきい値未満に低下したことの判定などの任意の適切なイベントとすることができる。たとえば、ＬＴＥ実施態様では、１つまたは複数の無線ＡＰが存在することの判定は、ＬＴＥ基地局のデータ・オフロード・サービスを実施するためにＡＰ選択プログラム２１２−Ｐ３をトリガすることができる。
【００７１】
ＡＰ選択プログラム２１２−Ｐ３のいくつかの実施形態では、測定値取出２６２は、無線ＡＰ選択トリガに応答して、クライアント２１０の性能メトリックを取り出す。
【００７２】
ＡＰ選択プログラム２１２−Ｐ３のいくつかの実施形態では、測定値取出２６２は、無線ＡＰ選択トリガの前にクライアント２１０の性能メトリックを取り出す。これらの実施形態のいくつかでは、ＡＰ選択プログラム２１２−Ｐ３は、クライアントの移動パターンを包含する地理的領域内のすべての無線ＡＰに関する性能メトリックを取り出し、格納する。領域内の利用可能なＡＰのリストが変化し、ユーザの移動パターンが変化し、ＡＰの性能が経時的に変化する時に、クライアント２１０は、性能データベース２５０から更新された性能メトリックを周期的に取り出すことができる。
【００７３】
これらの実施形態のいくつかでは、性能メトリックは、フロントエンド性能データベースから取り出される。
【００７４】
ＡＰ選択プログラム２１２−Ｐ３のいくつかの実施形態では、性能データベース２５０からクライアント（たとえば、クライアント２１０）への性能メトリックの分配は、プル手法またはプッシュ手法のいずれかに従うことができる。プル手法では、クライアントは、性能データベース２５０に性能メトリックを周期的に要求する。プッシュ手法では、性能データベース２５０は、周期的にまたは性能メトリックの変化の際に、クライアント２１０に性能情報を送信する。
【００７５】
図３は、装置（たとえば、図２のクライアント２１０、無線ＡＰ  ２２０、または測定サーバ２４０）が図２の適当な性能プログラムＰ１に示されているように性能を測定する方法３００の実施形態を示す流れ図を示す。この方法は、性能測定トリガが発生したことの判定時に（ステップ３２０）、性能メトリックを測定すること（ステップ３４０）と、測定された性能メトリックを性能データベース（たとえば、図２の性能データベース２５０）に報告することとを含む。
【００７６】
方法３００では、ステップ３２０は、性能測定トリガが発生したかどうかを判定することを含む。トリガ判定に基づいて、この方法は、トリガ・イベントが判定される場合にステップ３４０に進むか、リターンする（ステップ３９５）かのいずれかである。トリガは、性能メトリックを測定しなければならないことをシグナリングする任意の適切なイベントとすることができる。たとえば、トリガ・イベントを、（ａ）しきいインターバルで周期的にトリガされる、（ｂ）クライアント（たとえば、図１のクライアント１１０または図２の２１０）が無線ＡＰ（たとえば、図１の無線ＡＰ  １２０のうちの１つまたは図２の２２０）に関連する時にしきいインターバルで周期的にトリガされる、（ｃ）測定要求（たとえば、クライアント、無線ＡＰ、または測定サーバの任意の対の間でのメッセージの交換）、（ｄ）アプリケーション・セッションの始めまたは終りに、（ｅ）または類似物とすることができる。複数のトリガ・イベントが同時に発生し得ることを了解されたい。
【００７７】
方法３００では、ステップ３４０は、クライアント、無線ＡＰ、または測定サーバの任意の対の間の通信の性能メトリックを測定することを含む。具体的には、測定する装置（たとえば、図２のクライアント２１０、無線ＡＰ  ２２０、または測定サーバ２４０のうちの１つ）が、適当な測定プログラム（たとえば、図２の性能プログラムＰ１のうちの適当な１つ）を実行する。
【００７８】
方法３００では、ステップ３６０は、性能メトリックを性能データベース（たとえば、図２の性能データベース２５０）に報告することを含む。具体的には、測定プログラムは、測定された性能メトリックを性能データベース（たとえば、図２の性能データベース２５０）に周期的に報告することができる。
【００７９】
ステップ３２０のいくつかの実施形態では、クライアントが無線ＡＰに関連することの判定を、メッセージを介するものとすることができる。たとえば、測定サーバは、関連を示す明示的なメッセージをクライアントまたは無線ＡＰのいずれかから受信することができ、あるいは、有線ネットワーク（たとえば、図１のネットワーク１３０）を介するクライアントからのメッセージの受信に基づいて、クライアントが関連することを暗黙のうちに暗示することができる。
【００８０】
いくつかの実施形態では、ステップ３４０は、変更された時刻および曜日の間の性能メトリックを収集することを含む。無線ＡＰの性能が、トラフィック負荷に基づいて変化する可能性があることと、トラフィック負荷が、時刻パターンおよび曜日パターンに基づいて変化する可能性があることとを了解されたい。
【００８１】
ステップ３４０の第１の実施形態では、性能メトリック（たとえば、リンク品質）の測定は、受動的である（すなわち、測定プログラムは、通常のデータ動作中に測定を実行する）。具体的には、測定を、クライアント（たとえば、図２のクライアント２１０）が無線ＡＰ（たとえば、図２の無線ＡＰ  ２２０）に関連する時に行うことができる。
【００８２】
ステップ３４０の第２の実施形態では、性能メトリックの測定は、能動的である（すなわち、測定プログラムは、１つまたは複数のテストを実行する）。
【００８３】
ステップ３６０のいくつかの実施形態では、無線ＡＰまたはクライアント上の測定プログラム（たとえば、それぞれ図２の測定プログラム２２２−Ｐ１、２１２−Ｐ１）は、性能メトリック以外のデータを報告することができる。これらの実施形態のいくつかでは、本明細書で説明されるように無線ＡＰ信号強度をリンク品質と相関させるために、無線ＡＰ信号強度が、性能メトリックと一緒に報告される。
【００８４】
ステップ３６０の実施形態のいくつかでは、性能メトリックを、ある時間の期間の間に装置（たとえば、図２のクライアント２１０、無線ＡＰ  ２２０、または測定サーバ２４０）に格納し、性能データベース（たとえば、図２の性能データベース２５０）に周期的に報告することができる。たとえば、ある時間の期間にわたって測定され、格納された複数の性能メトリックを、まとめて送信することができる。
【００８５】
ステップ３４０のいくつかの実施形態では、測定プログラム（たとえば、図２の測定プログラムＰ１のうちの適当な１つ）が、装置の対（たとえば、図２のクライアント２１０、無線ＡＰ  ２２０、または測定サーバ２４０のうちの２つ）に基づいて、性能メトリックを測定する。
【００８６】
いくつかの実施形態では、クライアント（たとえば、図２のクライアント２１０）と無線ＡＰ（たとえば、図２の無線ＡＰ  ２２０）との間の通信に関係する１ホップ性能メトリックが、測定される。これらの実施形態のいくつかでは、無線ＡＰまたは測定サーバによって収集される１ホップ性能に関する測定される性能メトリックは、小パケットのラウンド・トリップ時間（ＲＴＴ）、大パケットのＲＴＴ、アップリンク・スループット、またはダウンリンク・スループットを含む。１ホップ性能測定は、受動的測定または能動的測定を含むことができる。
【００８７】
ステップ３２０のいくつかの実施形態では、クライアントが無線ＡＰに関連する時に、性能測定トリガを周期的に呼び出すことができる。１ホップ通信が無線ネットワークを介するので、性能メトリックが測定される時に、クライアントが無線ＡＰに関連しなければならないことを了解されたい。
【００８８】
受動的実施形態のいくつかの実施形態では、無線ＡＰ上の測定プログラム（たとえば、図２の測定プログラム２２２−Ｐ１）は、アップリンク方向で受信器スループットを測定するが、クライアント上の測定プログラム（たとえば、図２の測定プログラム２１２−Ｐ１）は、ダウンリンク方向で受信器スループットを測定する。
【００８９】
能動的実施形態のいくつかの実施形態では、測定プログラム（たとえば、図２の測定プログラム２２２−Ｐ１）は、以下のような、１つまたは複数のテストを行う。
ａ．クライアント上の測定プログラムから無線ＡＰ上の測定プログラムに送信される大パケット・サイズおよび小パケット・サイズを用いるｐｉｎｇテスト。
ｂ．無線ＡＰ上の測定プログラムからクライアント上の測定プログラムに送信される大パケット・サイズおよび小パケット・サイズを用いるｐｉｎｇテスト。
ｃ．クライアント上の測定プログラムから無線ＡＰ上の測定プログラムへの、ＵＤＰを使用してテスト・ファイルをアップロードするアップリンク・スループット・テスト。
ｄ．無線ＡＰ上の測定プログラムからクライアント上の測定プログラムへの、ＵＤＰを使用してテスト・ファイルをダウンロードするダウンリンク・スループット・テスト。
【００９０】
いくつかの実施形態では、無線ＡＰ（たとえば、図２の無線ＡＰ  ２２０）と測定サーバ（たとえば、図２の測定サーバ２４０）との間の通信に関係するバックホール性能メトリックが測定される。これらの実施形態のいくつかでは、無線ＡＰまたは測定サーバによって収集されるバックホール性能に関する測定される性能メトリックは、小パケットのラウンド・トリップ時間（ＲＴＴ）、大パケットのＲＴＴ、アップリンク・スループット、またはダウンリンク・スループットを含む。無線バックホール性能測定は、受動的測定または能動的測定を含むことができる。
【００９１】
ステップ３２０のいくつかの実施形態では、クライアントが無線ＡＰに関連するか否かにかかわらず、性能測定トリガを周期的に呼び出すことができる。バックホール性能測定が有線ネットワークを介するので、性能メトリックが測定される時に、クライアントが無線ＡＰに関連するという要件がないことを了解されたい。
【００９２】
受動的実施形態のいくつかの実施形態では、無線ＡＰ上の測定プログラム（たとえば、図２の測定プログラム２２２−Ｐ１）は、ダウンリンク方向で受信器スループットを測定し、測定サーバ上の測定プログラム（たとえば、図２の測定プログラム２４２−Ｐ１）は、アップリンク方向で受信器スループットを測定する。
【００９３】
能動的実施形態のいくつかの実施形態では、測定プログラム（たとえば、図２の測定プログラムＰ１）は、以下のような、１つまたは複数のテストを行う。
ａ．無線ＡＰ上の測定プログラムから測定サーバ上の測定プログラムに送信される大パケット・サイズおよび小パケット・サイズを用いるｐｉｎｇテスト。
ｂ．測定サーバ上の測定プログラムから無線ＡＰ上の測定プログラムに送信される大パケット・サイズおよび小パケット・サイズを用いるｐｉｎｇテスト。
ｃ．無線ＡＰ上の測定プログラムから測定サーバ上の測定プログラムへの、ＵＤＰを使用してテスト・ファイルをアップロードするアップリンク・スループット・テスト。
ｄ．測定サーバ上の測定プログラムから無線ＡＰ上の測定プログラムへの、ＵＤＰを使用してテスト・ファイルをダウンロードするダウンリンク・スループット・テスト。
【００９４】
いくつかの実施形態では、クライアント（たとえば、図２のクライアント２１０）と測定サーバ（たとえば、図２の測定サーバ２４０）との間の通信に関係するエンドツーエンド性能メトリックが測定される。これらの実施形態のいくつかでは、クライアントまたは測定サーバによって収集されるエンドツーエンド性能測定に関する測定される性能メトリックは、小パケットのラウンド・トリップ時間（ＲＴＴ）、大パケットのＲＴＴ、アップリンク・スループット、またはダウンリンク・スループットを含む。エンドツーエンド性能測定は、受動的測定または能動的測定を含むことができる。
【００９５】
ステップ３２０のいくつかの実施形態では、クライアントが無線ＡＰに関連する時に、性能測定トリガを周期的に呼び出すことができる。エンドツーエンド通信が、無線ネットワークと有線ネットワークとの両方を介するので、性能メトリックが測定される時に、クライアントが無線ＡＰに関連しなければならないことを了解されたい。
【００９６】
受動的実施形態のいくつかの実施形態では、クライアント上の測定プログラム（たとえば、図２の測定プログラム２１２−Ｐ１）は、ダウンリンク方向で受信器スループットを測定し、測定サーバ上の測定プログラム（たとえば、図２の測定プログラム２４２−Ｐ１）は、アップリンク方向で受信器スループットを測定する。
【００９７】
能動的実施形態のいくつかの実施形態では、測定プログラム（たとえば、図２の測定プログラムＰ１）は、以下のような、１つまたは複数のテストを行う。
ａ．クライアント上の測定プログラムから測定サーバ上の測定プログラムに送信される大パケット・サイズおよび小パケット・サイズを用いるｐｉｎｇテスト。
ｂ．測定サーバ上の測定プログラムからクライアント上の測定プログラムに送信される大パケット・サイズおよび小パケット・サイズを用いるｐｉｎｇテスト。
ｃ．クライアント上の測定プログラムから測定サーバ上の測定プログラムへの、ＵＤＰを使用してテスト・ファイルをアップロードするアップリンク・スループット・テスト。
ｄ．測定サーバ上の測定プログラムからクライアント上の測定プログラムへの、ＵＤＰを使用してテスト・ファイルをダウンロードするダウンリンク・スループット・テスト。
【００９８】
測定プログラムが、任意の適切なテストを行うことができ、上記の実施形態が、例示的であって限定的ではないことを了解されたい。たとえば、測定プログラム（たとえば、図２の測定プログラムＰ１）は、ＴＣＰを使用するスループット・テストまたはジッタ・テストなど、他のテストを行うことができる。
【００９９】
図４に、クライアント（たとえば、図１のクライアント１１０または図２のクライアント２１０）が図２のユーザ経験入力プログラム２１２−Ｐ２に示されているようにユーザ経験レーティングを報告する方法４００の実施形態を示す流れ図を示す。この方法は、ユーザ経験入力プログラムを呼び出すべきであるか否かを判定すること（ステップ４２０）と、ユーザ経験エントリ選択を表示すること（ステップ４４０）と、ユーザ経験レーティング・エントリを選択する入力を受け取ること（ステップ４６０）と、ユーザ経験エントリ選択に基づいて性能データベースに報告すること（ステップ４８０）とを含む。
【０１００】
方法４００では、ステップ４２０は、ユーザ経験入力プログラムを呼び出すべきであるか否かを判定することを含む。ユーザ経験入力プログラムは、（ａ）通信セッションの終りに自動的に呼び出される、（ｂ）ユーザ選択の検出によって、（ｃ）または類似物など、任意の適切なイベントによって呼び出され得る。複数のイベントが同時に発生する可能性があることを了解されたい。
【０１０１】
方法４００では、ステップ４４０は、この無線ＡＰに関するユーザの経験を記述するユーザの選択を要求するために、ユーザ経験レーティング選択のリストを表示することを含む。これらの実施形態のいくつかでは、ユーザ経験レーティング選択は、数（たとえば、１から５まで）である。これらの実施形態のいくつかでは、ユーザ経験レーティング選択は、テキスト（たとえば、優、良、並、可、または不可）である。
【０１０２】
方法４００では、ステップ４６０は、ユーザ経験レーティング・エントリを選択する入力を受け取ることを含む。具体的には、クライアントは、そのクライアント（たとえば、図１のクライアント１１０）の入力されたユーザ経験レーティングを、現在クライアントに関連するか直近にクライアントに関連した無線ＡＰ（たとえば、図１の無線ＡＰ  １２０のうちの１つ）にマッピングする。
【０１０３】
方法４００では、ステップ４８０は、本明細書で説明されるように、ユーザ経験エントリ選択に基づいて性能データベースに報告することを含む。
【０１０４】
ステップ４２０、４４０、または４６０のいくつかの実施形態では、ユーザは、クライアントが無線ＡＰに関連している間または選択しきい値が満足されている間に、ユーザ経験入力ＡＰＩを呼び出すことができる。選択しきい値は、クライアントの無線ＡＰとの関連が打ち切られた後のしきい時間期間など、任意の適切なしきい値とすることができる。たとえば、ユーザが、クライアント（たとえば、図２のクライアント２１０）の無線ＡＰ（たとえば、図２の無線ＡＰ  ２２０）との関連が打ち切られた後のしきい時間以内にユーザ経験レーティングを入力しなかった場合に、クライアントは、ユーザがＡＰＩを呼び出すことまたはユーザ経験レーティングを入力することを許さない。これらの実施形態のいくつかでは、クライアントは、ユーザがＡＰＩを呼び出すことまたはユーザ経験レーティングを入力することをクライアントが許さない時に、「グレー表示にされた」アイコンまたは非アクティブ・アイコンを表示することができる。
【０１０５】
いくつかの実施形態では、グラフィカル・ユーザ・インターフェースは、ユーザによる選択のためにユーザ経験入力アイコン（たとえば、アイコンをクリックするかタップすることによって呼び出されるアイコン）を表示する。これらの実施形態のいくつかでは、ステップ４２０は、クライアントが無線ＡＰに関連している間または選択しきい値が満足されている間に、ユーザ経験入力アイコンを選択可能（すなわち、呼び出されることが可能）にすることを含む。
【０１０６】
ステップ４８０のいくつかの実施形態では、ユーザ経験レーティングを、ある時間の期間の間に装置（たとえば、図２のクライアント２１０）に格納し、性能データベース（たとえば、図２の性能データベース２５０）に周期的に報告することができる。たとえば、ある時間の期間にわたって受け取られ、格納された複数のユーザ経験レーティングを、まとめて送信することができる。
【０１０７】
ステップ４８０のいくつかの実施形態では、クライアントがマッピングされた無線ＡＰに関連した時間期間などのさらなる情報が、入力されたユーザ経験レーティングおよびマッピングされた無線ＡＰと共に送信される。
【０１０８】
図５に、クライアント（たとえば、図１のクライアント１１０または図２のクライアント２１０）が図２のユーザ経験入力プログラム２１２−Ｐ３に示されているように無線ＡＰを選択する方法５００の実施形態を示す流れ図を示す。この方法は、利用可能な無線アクセス・ポイントのリストを判定すること（ステップ５２０）と、利用可能な無線アクセス・ポイントのそれぞれの信号強度を判定すること（ステップ５４０）と、利用可能な無線アクセス・ポイントのうちの少なくとも２つに関連するヒストリカル性能メトリックを判定すること（ステップ５６０）と、判定された性能情報および信号強度に基づいて利用可能なアクセス・ポイントのうちの少なくとも１つを選択すること（ステップ５８０）とを含む。
【０１０９】
方法５００では、ステップ５２０は、利用可能な無線ＡＰのリストを判定することを含む。具体的には、クライアントによる使用に利用可能な無線ＡＰのリストが判定される。信号強度が、ステップ５４０で無線ＡＰについて判定されない場合には、その無線ＡＰは、利用可能な無線ＡＰのリストのメンバではない。
【０１１０】
方法５００では、ステップ５４０は、利用可能な無線アクセス・ポイントのそれぞれの信号強度を判定することを含む。
【０１１１】
方法５００では、ステップ５６０は、利用可能な無線アクセス・ポイントのうちの少なくとも２つに関連するヒストリカル性能メトリックを判定することを含む。具体的には、この方法を実行する装置は、本明細書で説明されるように、性能データベース（たとえば、性能データベース２５０）から、利用可能な無線アクセス・ポイントのうちの少なくとも２つに関連するヒストリカル性能メトリックを取り出す。
【０１１２】
方法５００では、ステップ５８０は、判定されたヒストリカル性能メトリックおよび現在の信号強度に基づいて利用可能なアクセス・ポイントのうちの少なくとも１つを選択することを含む。
【０１１３】
いくつかの実施形態では、ステップ５２０および５４０は、同時に判定される。たとえば、利用可能な無線ＡＰのリストを、しきい信号強度以上の信号強度を有する無線ＡＰを判定することによって判定することができる。これらの実施形態のいくつかでは、しきい信号強度を、０を超える信号強度とすることができる。
【０１１４】
ステップ５６０のいくつかの実施形態では、ヒストリカル性能情報は、特定の時刻範囲または曜日に基づく。
【０１１５】
これらの実施形態のいくつかでは、特定の時刻範囲は、現在時刻からしきい時間の範囲である。たとえば、しきい時間以内（たとえば、最後の１５分以内）に測定された最近のヒストリカル性能メトリックを使用することができる。ステップ５８０のＡＰ選択を、ターゲット利用可能無線ＡＰに関連する他のクライアントによってしきい時間以内に報告された性能メトリックに基づくものとすることができることを了解されたい。というのは、これらの最近の過去の性能メトリックが、ターゲット利用可能無線ＡＰの現在の性能メトリックを示す可能性があるからである。
【０１１６】
ステップ５６０のいくつかの実施形態では、ヒストリカル性能情報は、性能メトリックを含む。これらの実施形態のいくつかでは、性能メトリックは、１ホップ性能メトリック、バックホール性能メトリック、またはエンドツーエンド性能メトリックを含む。
【０１１７】
ステップ５６０のいくつかの実施形態では、ヒストリカル性能情報は、ヒストリカル・ユーザ経験レーティングを含む。
【０１１８】
いくつかの実施形態では、ステップ５６０または５８０は、判定を現在の時刻範囲および曜日に基づくものにすることを含む。これらの実施形態のいくつかでは、選択は、現在の時刻範囲または曜日中のヒストリカル性能情報に基づく。
【０１１９】
ステップ５６０または５８０のいくつかの実施形態では、異なる選択アルゴリズムまたはヒストリカル性能メトリックの異なるサブセットを使用することができる。
【０１２０】
利用可能な無線アクセス・ポイントのすべてが、性能データベースに格納された完全な関連するヒストリカル性能メトリックを有するとは限らないことを了解されたい。たとえば、新たに設置された無線ＡＰが、性能データベースに格納された性能レコードを全く有しない場合があり、１つまたは複数の無線ＡＰに関連する最近に格納された性能メトリックがない場合があり、測定プログラム（たとえば、図２の測定プログラム２２２−Ｐ１）を有しない無線ＡＰが、性能データベースに格納されたすべての利用可能なヒストリカル性能メトリック（たとえば、バックホール性能メトリック）を有しない場合がある。
【０１２１】
異なる選択アルゴリズムを使用するステップ５８０のいくつかの実施形態では、選択アルゴリズムを、ステップ５６０で返されるヒストリカル性能情報のサブセットに基づくものとすることができる。たとえば、無線ＡＰのいくつかまたはすべてがバックホール性能メトリックを有しない場合には、バックホール性能メトリックを使用しないアルゴリズムを選択することができる。第２の例で、性能メトリックが、ある時刻範囲について利用可能ではない場合には、時刻範囲を増やすか、別の時刻の性能メトリックを使用することができる。この第２の例に対して、最近のヒストリカル性能メトリック（たとえば、ある時間しきい値以内の）が利用可能である場合には、これらの最近に報告された測定値を使用することができるが、最近のヒストリカル性能メトリックが利用可能ではない場合には、ヒストリカル性能メトリックを、より大きい時間しきい値または、以前の日の時刻範囲中に報告された性能測定値に基づくものとすることができる。
【０１２２】
ステップ５８０のいくつかの実施形態では、選択アルゴリズムは、欠けている性能メトリックを推定することができる。たとえば、判定されたヒストリカル性能メトリックが、第１の無線ＡＰのバックホール性能メトリックを含むが、第２の無線ＡＰのバックホール性能メトリックを含まない場合には、ステップ５８０は、第１の無線ＡＰと同一であるものとして第２の無線ＡＰのバックホール性能メトリックを推定し、環境条件に基づいて第２の無線ＡＰのバックホール性能メトリックを推定し、あるいは、第２の無線ＡＰのバックホール性能メトリックをデフォルト値にセットすることができる。
【０１２３】
いくつかの実施形態では、ステップ５８０は、性能メトリックを最大にする選択アルゴリズムを使用することを含む。たとえば、最大の平均スループットを選択するアルゴリズムである。
【０１２４】
いくつかの実施形態では、ステップ５８０は、性能メトリックがしきい値を満足することを要求する選択アルゴリズムを使用することを含む。たとえば、しきい値以上の平均スループットまたはしきい値以下のラウンド・トリップ遅延を要求するアルゴリズムである。
【０１２５】
第１の実施形態では、ステップ５８０は、（現在の信号強度、ヒストリカル・ユーザ経験レーティング）対を含む選択アルゴリズムを使用することを含む。これらの実施形態のいくつかでは、選択は、あるしきい値Ｔｓを超える現在の信号強度と、無線ＡＰの最大のヒストリカル・ユーザ経験レーティングとを有する無線ＡＰに基づく。これらの実施形態のいくつかでは、選択は、最大の現在の信号強度としきい値Ｔｒを超えるヒストリカル・ユーザ経験レーティングとを有する無線ＡＰに基づく。
【０１２６】
第２の実施形態では、ステップ５８０は、（現在の信号強度、ヒストリカル・エンドツーエンド性能）対を含む選択アルゴリズムを使用することを含む。これらの実施形態のいくつかでは、選択は、あるしきい値Ｔｓを超える現在の信号強度と、測定値が報告される無線ＡＰの最大のヒストリカル・エンドツーエンド性能とを有する無線ＡＰとに基づく。これらの実施形態のいくつかでは、選択は、最大の信号強度とあるしきい値Ｔｅを超えるヒストリカル・エンドツーエンド性能とを有する無線ＡＰに基づく。
【０１２７】
第３の実施形態では、ステップ５８０は、（現在の信号強度、ヒストリカル・バックホール性能）対を含む選択アルゴリズムを使用することを含む。これらの実施形態のいくつかでは、選択は、あるしきい値Ｔｓを超える現在の信号強度と、無線ＡＰの最大のヒストリカル・バックホール性能とを有する無線ＡＰに基づく。これらの実施形態のいくつかでは、選択は、最大の信号強度とあるしきい値Ｔｂを超えるヒストリカル・バックホール性能とを有する無線ＡＰに基づく。
【０１２８】
第４の実施形態では、ステップ５８０は、（現在の信号強度、ヒストリカル１ホップ性能）対を含む選択アルゴリズムを使用することを含む。これらの実施形態のいくつかでは、選択は、あるしきい値Ｔｓを超える現在の信号強度と、ＡＰの最大のヒストリカル１ホップ性能とを有する無線ＡＰに基づき、測定値は、クライアントの信号強度がＴｓを超える時に報告される。これらの実施形態のいくつかでは、選択は、最大の信号強度としきい値Ｔｏを超えるヒストリカル１ホップ性能とを有する無線ＡＰに基づく。
【０１２９】
第５の実施形態では、ステップ５８０は、（現在の信号強度、ヒストリカル１ホップ性能、ヒストリカル・バックホール性能）タプルを含む選択アルゴリズムを使用することを含む。これらの実施形態のいくつかでは、選択は、あるしきい値Ｔｓを超える現在の信号強度と、（Ｐｏ＋Ｐｂ）の最大値とを有する無線ＡＰに基づき、Ｐｏは、無線ＡＰのヒストリカル１ホップ性能であり、測定値は、クライアントの信号強度がＴｓを超える時に報告され、Ｐｂは、ＡＰのヒストリカル・バックホール性能である。これらの実施形態のいくつかでは、選択は、最大の信号強度としきい値Ｔｏｂを超える和（Ｐｏ＋Ｐｂ）とを有する無線ＡＰに基づき、Ｐｏは、無線ＡＰのヒストリカル１ホップ性能であり、測定値は、クライアントの信号強度がＴｓを超える時に報告され、Ｐｂは、無線ＡＰのヒストリカル・バックホール性能である。
【０１３０】
第６の実施形態では、ステップ５８０は、さらに、第２〜第５の実施形態の選択アルゴリズムをユーザ経験レーティングに基づくものにすることを含む。これらの実施形態のいくつかでは、アルゴリズムを、次のようにユーザ経験レーティングしきい値Ｔｒを追加することによって変更することができる。考慮される無線ＡＰのセットは、あるしきい値Ｔｒを超えるヒストリカル・ユーザ経験レーティングを有しなければならない。
【０１３１】
図１および３を参照して、無線ＡＰの選択の例を与える。ステップ５２０では、クライアント１１０は、無線ＡＰ  １２０−１、１２０−２、および１２０−４が利用可能であると判定することができる。ステップ５４０では、クライアント１１０は、信号強度がそれぞれＳｉｇｎａｌＳｔｒｅｎｇｔｈ（１）、ＳｉｇｎａｌＳｔｒｅｎｇｔｈ（２）、およびＳｉｇｎａｌＳｔｒｅｎｇｔｈ（３）であると判定することができる。ステップ５６０では、クライアント１１０は、（信号強度、無線ＡＰ）対の１ホップ性能メトリックについて性能データベース１５０に照会し、それぞれＡｖｇＴｈｒｏｕｇｈｐｕｔ（１）、ＡｖｇＴｈｒｏｕｇｈｐｕｔ（２）、およびＡｖｇＴｈｒｏｕｇｈｐｕｔ（３）のヒストリカル性能メトリックを取り出すことができる。ステップ５８０では、クライアント１１０は、ＡｖｇＴｈｒｏｕｇｈｐｕｔ（２）が無線ＡＰの最高のヒストリカル平均スループットであることと、ＳｉｇｎａｌＳｔｒｅｎｇｔｈ（２）が最小しきい信号強度を超えることとの判定に基づいて、無線ＡＰ  １２０−２を選択することができる。
【０１３２】
主に特定のシーケンスで図示され、説明されるが、方法３００、４００、および５００に示されたステップを、任意の適切なシーケンスで実行できることを了解されたい。さらに、１つのステップによって識別されるステップを、そのシーケンス内の１つまたは複数の他のステップ内で実行することもでき、あるいは、複数のステップの共通のアクションを１回だけ実行することができる。
【０１３３】
さまざまな上で説明された方法のステップを、プログラムされたコンピュータによって実行することができることを了解されたい。本明細書では、いくつかの実施形態は、プログラム・ストレージ・デバイス、たとえば、機械可読またはコンピュータ可読であり、命令の機械実行可能プログラムまたはコンピュータ実行可能プログラムを符号化するデータ記憶媒体を包含することも意図され、前記命令は、前記上で説明された方法のステップの一部またはすべてを実行する。プログラム・ストレージ・デバイスは、たとえば、ディジタル・メモリ、磁気ディスクおよび磁気テープなどの磁気記憶媒体、ハード・ドライブ、または光学的に可読のデータ記憶媒体とすることができる。実施形態は、上で説明された方法の前記ステップを実行するようにプログラムされたコンピュータを包含することも意図されている。
【０１３４】
図６に、図１のクライアント１１０、無線ＡＰ  １２０のうちの１つ、もしくは測定サーバ１４０、または図２のクライアント２１０、無線ＡＰ  ２２０、もしくは測定サーバ２４０など、さまざまな装置６００の実施形態を概略的に示す。装置６００は、プロセッサ６１０、データ・ストレージ６１１、およびＩ／Ｏインターフェース６３０を含む。
【０１３５】
プロセッサ６１０は、装置６００の動作を制御する。プロセッサ６１０は、データ・ストレージ６１１と協働する。
【０１３６】
データ・ストレージ６１１は、プログラム・データを格納することができる。データ・ストレージ６１１は、プロセッサ６１０によって実行可能なプログラム６２０をも格納する。
【０１３７】
プロセッサ実行可能なプログラム６２０は、Ｉ／Ｏインターフェース・プログラム６２１、測定プログラム６２３、ユーザ経験入力プログラム６２５、またはＡＰ選択プログラム６２７を含むことができる。プロセッサ６１０は、プロセッサ実行可能なプログラム６２０と協働する。
【０１３８】
Ｉ／Ｏインターフェース６３０は、上で説明したように、図１の通信チャネル１１５、１２５、または１４５のうちの適当な１つまたは複数を介する通信をサポートするために、プロセッサ６１０およびＩ／Ｏインターフェース・プログラム６２１と協働する。
【０１３９】
測定プログラム６２３は、上で説明したように、図３の方法３００のステップを実行する。
【０１４０】
ユーザ経験入力プログラム６２５は、上で説明したように、図４の方法４００のステップを実行する。
【０１４１】
ＡＰ選択プログラム６２７は、上で説明したように、図５の方法５００のステップを実行する。
【０１４２】
いくつかの実施形態では、プロセッサ６１０は、プロセッサ／ＣＰＵコアなどのリソースを含むことができ、Ｉ／Ｏインターフェース６３０は、任意の適切なネットワーク・インターフェースを含むことができ、あるいは、データ・ストレージ６１１は、メモリまたはストレージ・デバイスを含むことができる。さらに、装置６００は、１つまたは複数のサーバ、プロセッサ、メモリ、ネットワーク・インターフェースもしくはストレージ・デバイスなどのコンポーネントからなるブレードなど、任意の適切な物理ハードウェア構成とすることができる。これらの実施形態のいくつかでは、装置６００は、お互いにリモートであるクラウド・ネットワーク・リソースを含むことができる。
【０１４３】
いくつかの実施形態では、装置６００を、仮想計算機とすることができる。これらの実施形態のいくつかでは、仮想計算機は、異なる計算機からのまたは地理的に分散されたコンポーネントを含むことができる。たとえば、データ・ストレージ６１１およびプロセッサ６１０は、２つの異なる物理計算機内にあるものとすることができる。
【０１４４】
プロセッサ実行可能なプログラム６２０が、プロセッサ６１０上で実施される時に、プログラム・コード・セグメントは、特定の論理回路に類似して動作する独自のデバイスを提供するために、プロセッサと組み合わさる。
【０１４５】
本明細書では、たとえばプログラムおよび論理がデータ・ストレージ内に格納され、メモリがプロセッサに通信的に接続される実施形態に関して図示され、説明されるが、そのような情報を、任意の他の適切な形で（たとえば、任意の適切な個数のメモリ、ストレージ、またはデータベースを使用して）、デバイスの任意の適切な配置に通信的に接続されたメモリ、ストレージ、またはデータベースの任意の適切な配置を使用して、メモリ、ストレージ、内部データベース、または外部データベースの任意の適切な組合せで情報を格納して、あるいは任意の適切な個数のアクセス可能な外部のメモリ、ストレージ、またはデータベースを使用して、格納することができることを了解されたい。したがって、本明細書で言及される用語データ・ストレージは、メモリ、ストレージ、およびデータベースのすべての適切な組合せを包含することが意図されている。
【０１４６】
説明および図面は、単に、本発明の原理を示すものである。したがって、当業者が、本明細書で明示的に説明されず、図示されないが、本発明の原理を実施し、その趣旨および範囲に含まれるさまざまな配置を考案できることを了解されたい。さらに、本明細書で列挙されるすべての例は、主に、特に読者が本発明の原理と当技術を促進するために本発明人が寄与する概念とを理解するのを助けるための教育的目的のみのためのものであり、そのような具体的に列挙される例および条件への限定なしに解釈されなければならない。さらに、本発明の原理、態様、および実施形態ならびにその特定の例を列挙する本明細書のすべての言明は、その均等物を包含することが意図されている。
【０１４７】
「プロセッサ」としてラベルを付けられた任意の機能ブロックを含む、図面に示されたさまざまな要素の機能を、専用ハードウェアならびに適当なソフトウェアに関連してソフトウェアを実行できるハードウェアの使用を介して提供することができる。プロセッサによって提供される時に、機能を、単一の専用プロセッサによって、単一の共有されるプロセッサによって、またはその一部を共有できる複数の個々のプロセッサによって提供することができる。さらに、用語「プロセッサ」または「コントローラ」の明示的な使用は、ソフトウェアを実行できるハードウェアを排他的に指すと解釈されてはならず、暗黙のうちに、限定なしに、ディジタル信号プロセッサ（ＤＳＰ）ハードウェア、ネットワーク・プロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、ソフトウェアを格納する読取り専用メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、および不揮発性ストレージを含むことができる。従来のまたはカスタムの、他のハードウェアを含めることもできる。同様に、図面に示された任意のスイッチは、概念的であるのみである。その機能を、プログラム論理の動作を介して、専用論理を介して、プログラム制御および専用論理の相互作用を介して、または手動でさえ実行することができ、特定の技法は、文脈からより具体的に理解されるように、実装者によって選択可能である。
【０１４８】
本明細書の任意のブロック図が、本発明の原理を実施する例示的な回路網の概念図を表すことを了解されたい。同様に、任意のフロー・チャート、流れ図、状態遷移図、擬似コード、および類似物が、コンピュータ可読媒体内で実質的に表され、したがって、コンピュータまたはプロセッサが明示的に図示されるか否かに関わりなく、そのようなコンピュータまたはプロセッサによって実行され得るさまざまなプロセスを表すことを了解されたい。
【図１】
2015526986.tif 000003
【図２】
2015526986.tif 000004
【図３】
2015526986.tif 000005
【図４】
2015526986.tif 000006
【図５】
2015526986.tif 000007
【図６】
2015526986.tif 000008
【国際調査報告】
2015526986.tif 000009
2015526986.tif 000010
2015526986.tif 000011