(57)【特許請求の範囲】
【請求項１】
アクティブな通信リンクの特性を判定する方法であって、
第1のアクセス制約に基づいて、前記アクティブな通信リンクを介してサーバにアクセスすることの正当性を判定するステップと、
アクセスすることが正当であれば、前記サーバからの通信に対する要求を送信するステップと、
ワイヤレスデバイスにおいて、前記要求に応答して、前記アクティブな通信リンクを通じて前記サーバからの前記通信を受信するステップと、
前記ワイヤレスデバイスにおいて、前記サーバからの前記通信に基づいて、前記アクティブな通信リンクの特性を判定するステップとを含み、前記サーバからの前記通信が、前記ワイヤレスデバイスのユーザインターフェースを介して提示されるべきデータを含み、
前記第１のアクセス制約は、前記ワイヤレスデバイスがバックホール品質推定（ＢＱＥ）又はインターネット接続検出（ＩＣＤ）をどのようにまたはいつ実行すべきかを示す情報を含み、
前記サーバからの前記通信は、前記サーバにアクセスすることの正当性を特定する情報を含む第2のアクセス制約に関連する、方法。
【請求項２】
前記要求がインターネット接続検出(ICD)要求を含み、
前記通信がICD応答を含み、
前記通信リンクの前記特性を判定するステップが、前記ICD応答に基づいてインターネット接続性を判定するステップを含む、請求項1に記載の方法。
【請求項３】
前記第2のアクセス制約が前記第1のアクセス制約を更新する、請求項1に記載の方法。
【請求項４】
前記第1のアクセス制約が、前記要求を中止する回数に対する前記要求を送信する回数の比を示すアクセス確率因子を示し、
前記アクセス確率因子に対応する頻度で前記要求を中止するステップをさらに含む、請求項1に記載の方法。
【請求項５】
前記第1のアクセス制約が、要求を送信する回数を示すアクセス割当を含み、
送信された要求の前記回数が前記アクセス割当未満である場合にのみ、前記要求を送信するステップをさらに含む、請求項1に記載の方法。
【請求項６】
前記第1のアクセス制約がさらに、前記要求を中止する回数に対する前記要求を送信する回数の比を示すアクセス確率因子を示し、
前記アクセス確率因子に対応する頻度で前記要求を中止するステップをさらに含む、請求項5に記載の方法。
【請求項７】
第1の数の以前に判定された通信リンクの特性を記憶するステップと、
前記記憶された以前に判定された通信リンクの特性の第1の数に基づいて、通信に対する以前の要求が同じ通信リンクを通じて制限時間内に送信されたかどうかを判定するステップとをさらに含む、請求項1に記載の方法。
【請求項８】
アクティブな通信リンクの特性を判定するように構成されるワイヤレスデバイスであって、
ユーザインターフェースと、
第1のアクセス制約に基づいて、前記アクティブな通信リンクを介してサーバにアクセスすることの正当性を判定するように構成される、プロセッサと、
アクセスすることが正当であれば、前記サーバからの通信に対する要求を送信するように構成される、送信機と、
前記要求に応答して、前記アクティブな通信リンクを通じて前記サーバからの前記通信を受信するように構成される、受信機とを含み、前記プロセッサがさらに、前記サーバからの前記通信に基づいて、前記アクティブな通信リンクの特性を判定するように構成され、前記サーバからの前記通信が、前記ワイヤレスデバイスの前記ユーザインターフェースを介して提示されるべきデータを含み、
前記第１のアクセス制約は、前記ワイヤレスデバイスがバックホール品質推定（ＢＱＥ）又はインターネット接続検出（ＩＣＤ）をどのようにまたはいつ実行すべきかを示す情報を含み、
前記サーバからの前記通信は、前記サーバにアクセスすることの正当性を特定する情報を含む第2のアクセス制約に関連する、ワイヤレスデバイス。
【請求項９】
前記第2のアクセス制約が前記第1のアクセス制約を更新する、請求項8に記載のデバイス。
【請求項１０】
前記第1のアクセス制約が、前記要求を中止する回数に対する前記要求を送信する回数の比を示すアクセス確率因子を示し、
前記プロセッサがさらに、前記アクセス確率因子に対応する頻度で前記要求を中止するように構成される、請求項8に記載のデバイス。
【請求項１１】
前記第1のアクセス制約が、要求を送信する回数を示すアクセス割当を含み、
前記送信機がさらに、送信された要求の前記回数が前記アクセス割当未満である場合にのみ、前記要求を送信するように構成される、請求項8に記載のデバイス。
【請求項１２】
前記第1のアクセス制約がさらに、前記要求を中止する回数に対する前記要求を送信する回数の比を示すアクセス確率因子を示し、
前記プロセッサがさらに、前記アクセス確率因子に対応する頻度で前記要求を中止するように構成される、請求項11に記載のデバイス。
【請求項１３】
第1の数の以前に判定された通信リンクの特性を記憶するように構成されるメモリをさらに含み、
前記プロセッサがさらに、前記記憶された以前に判定された通信リンクの特性の第1の数に基づいて、通信に対する以前の要求が同じ通信リンクを通じて制限時間内に送信されたかどうかを判定するように構成される、請求項8に記載のデバイス。
【請求項１４】
アクティブな通信リンクの特性を判定するための装置であって、
ユーザインターフェースと、
第1のアクセス制約に基づいて、前記アクティブな通信リンクを介してサーバにアクセスすることの正当性を判定するための手段と、
アクセスすることが正当であれば、前記サーバからの通信に対する要求を送信するための手段と、
前記要求に応答して、前記アクティブな通信リンクを通じて前記サーバからの前記通信を受信するための手段と、
前記サーバからの前記通信に基づいて、前記アクティブな通信リンクの特性を判定するための手段とを含み、前記サーバからの前記通信が、前記装置の前記ユーザインターフェースを介して提示されるべきデータを含み、
前記第１のアクセス制約は、前記装置がバックホール品質推定（ＢＱＥ）又はインターネット接続検出（ＩＣＤ）をどのようにまたはいつ実行すべきかを示す情報を含み、
前記サーバからの前記通信は、前記サーバにアクセスすることの正当性を特定する情報を含む第2のアクセス制約に関連する、装置。
【請求項１５】
前記第2のアクセス制約が前記第1のアクセス制約を更新する、請求項14に記載の装置。
【請求項１６】
前記第1のアクセス制約が、前記要求を中止する回数に対する前記要求を送信する回数の比を示すアクセス確率因子を示し、
前記アクセス確率因子に対応する頻度で前記要求を中止するための手段をさらに含む、請求項14に記載の装置。
【請求項１７】
前記第1のアクセス制約が、要求を送信する回数を示すアクセス割当を含み、
送信された要求の前記回数が前記アクセス割当未満である場合にのみ、前記要求を送信するための手段をさらに含む、請求項14に記載の装置。
【請求項１８】
前記第1のアクセス制約がさらに、前記要求を中止する回数に対する前記要求を送信する回数の比を示すアクセス確率因子を示し、
前記アクセス確率因子に対応する頻度で前記要求を中止するための手段をさらに含む、請求項17に記載の装置。
【請求項１９】
第1の数の以前に判定された通信リンクの特性を記憶するための手段と、
前記記憶された以前に判定された通信リンクの特性の第1の数に基づいて、通信に対する以前の要求が同じ通信リンクを通じて制限時間内に送信されたかどうかを判定するための手段とをさらに含む、請求項14に記載の装置。
【請求項２０】
コードを含む非一時的コンピュータ可読記憶媒体であって、前記コードが、実行されると、装置に、
第1のアクセス制約に基づいて、アクティブな通信リンクを介してサーバにアクセスすることの正当性を判定させ、
アクセスすることが正当であれば、前記サーバからの通信に対する要求を送信させ、
前記要求に応答して、前記アクティブな通信リンクを通じて前記サーバからの前記通信を受信させ、
前記サーバからの前記通信に基づいて、前記アクティブな通信リンクの特性を判定させ、前記サーバからの前記通信が、前記装置のユーザインターフェースを介して提示されるべきデータを含み、
前記第１のアクセス制約は、前記装置がバックホール品質推定（ＢＱＥ）又はインターネット接続検出（ＩＣＤ）をどのようにまたはいつ実行すべきかを示す情報を含み、
前記サーバからの前記通信は、前記サーバにアクセスすることの正当性を特定する情報を含む第2のアクセス制約に関連する、非一時的コンピュータ可読記憶媒体。
【請求項２１】
前記第2のアクセス制約が前記第1のアクセス制約を更新する、請求項20に記載の媒体。
【請求項２２】
前記第1のアクセス制約が、前記要求を中止する回数に対する前記要求を送信する回数の比を示すアクセス確率因子を示し、
実行されると、前記装置に、前記アクセス確率因子に対応する頻度で前記要求を中止させる、コードをさらに含む、請求項20に記載の媒体。
【請求項２３】
前記第1のアクセス制約が、要求を送信する回数を示すアクセス割当を含み、
実行されると、前記装置に、送信された要求の前記回数が前記アクセス割当未満である場合にのみ、前記要求を送信させる、コードをさらに含む、請求項20に記載の媒体。
【請求項２４】
前記第1のアクセス制約がさらに、前記要求を中止する回数に対する前記要求を送信する回数の比を示すアクセス確率因子を示し、
実行されると、前記装置に、前記アクセス確率因子に対応する頻度で前記要求を中止させる、コードをさらに含む、請求項23に記載の媒体。
【請求項２５】
実行されると、前記装置に、
第1の数の以前に判定された通信リンクの特性を記憶させ、
前記記憶された以前に判定された通信リンクの特性の第1の数に基づいて、通信に対する以前の要求が同じ通信リンクを通じて制限時間内に送信されたかどうかを判定させる、コードをさらに含む、請求項20に記載の媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、2011年9月16日に出願された米国仮特許出願第61/535,708号に対する、米国特許法第119条(e)による優先権の利益を主張し、上記の出願の全体が参照によって組み込まれ、本明細書の一部として考えられるべきである。
【０００２】
本出願は全般にワイヤレス通信に関し、より詳細には、ネットワーク品質の推定を管理するためのシステム、方法、およびデバイスに関する。
【背景技術】
【０００３】
多くの通信システムでは、通信ネットワークが、いくつかの対話する空間的に分離されたデバイスの間でメッセージを交換するのに使用される。ネットワークは、たとえば、メトロポリタンエリア、ローカルエリア、またはパーソナルエリアであり得る地理的範囲により分類され得る。そのようなネットワークは、それぞれ、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、ローカルエリアネットワーク(LAN)、ワイヤレスローカルエリアネットワーク(WLAN)、またはパーソナルエリアネットワーク(PAN)と呼ばれる。ネットワークはまた、様々なネットワークのノードおよびデバイスを相互接続するために使用されるスイッチング/ルーティング技法(たとえば、回線交換対パケット交換)、送信のために利用される物理媒体のタイプ(たとえば、有線対ワイヤレス)、および使用される通信プロトコルのセット(たとえば、インターネットプロトコル群、SONET(同期光ネットワーク)、イーサネット（登録商標）など)により異なる。
【０００４】
ワイヤレスネットワークは、ネットワーク要素が可動であり、したがって動的な接続性のニーズを有する時、またはネットワークアーキテクチャが固定式ではないアドホックなトポロジーで形成される場合に、好適であることが多い。ワイヤレスネットワークは、無線、マイクロ波、赤外線、光などの周波数帯域内の電磁波を使用する、誘導されない伝搬モードで無形の物理媒体を利用する。ワイヤレスネットワークは、有利なことに、固定式の有線ネットワークと比べると、ユーザの移動性および速やかな現場展開を支援する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ワイヤレスネットワーク内のデバイスは、互いに情報を送信/受信することができる。デバイスが情報を転送する速度は、相手のデバイスにより、かつ/またはワイヤレスネットワークにより異なり得る。したがって、ネットワークの速度を推定し、接続性を検出し、それらを管理するための、改善されたシステム、方法、およびデバイスが望まれる。
【課題を解決するための手段】
【０００６】
本発明のシステム、方法およびデバイスはそれぞれ複数の態様を有し、それらのうちの単一のものが単独で、その望ましい属性を担うことはない。以下の特許請求の範囲によって表される本発明の範囲を限定することなく、いくつかの特徴がここで簡単に論じられる。この議論を考慮すれば、また特に、「発明を実施するための形態」と題されるセクションを読めば、ネットワークアクセス情報の受信とともにネットワーク速度および/またはインターネット接続性を推定し、それによって使用されないデータの転送を減らすことを含む利点を、本発明の特徴がどのようにもたらすかが理解されるだろう。
【０００７】
本開示で説明される主題の態様は、通信リンクの特性を判定する方法を提供する。方法は、モバイルデバイスにおいて、通信リンクの適格性を判定するための第1の通信に対する第1の要求を、サーバに送信するステップを含む。方法はさらに、第1の要求に応答して、サーバから第1の通信を受信するステップを含む。第1の通信は、通信リンクを通じて受信される。方法はさらに、第1の通信に基づいて、通信リンクの適格性を判定するステップを含む。方法はさらに、複数のネットワークの判定された適格性を特定する情報を記憶するステップを含む。方法はさらに、通信リンクを通じて、第2の通信に対する第2の要求を選択的に送信するステップを含む。選択的に送信するステップは、記憶された情報に基づく。
【０００８】
本開示で説明される主題の別の態様は、通信リンクの特性を判定するように構成されるワイヤレスデバイスを提供する。デバイスは、通信リンクの適格性を判定するための第1の通信に対する第1の要求を送信するように構成される、送信機を含む。送信機は、第1の要求をサーバに送信するように構成される。デバイスはさらに、第1の要求に応答してサーバから第1の通信を受信するように構成される、受信機を含む。受信機は、通信リンクを通じて第1の通信を受信するように構成される。デバイスはさらに、第1の通信に基づいて通信リンクの適格性を判定するように構成される、プロセッサを含む。デバイスはさらに、複数のネットワークの判定された適格性を特定する情報を記憶するように構成される、メモリを含む。送信機はさらに、通信リンクを通じて、第2の通信に対する第2の要求を選択的に送信するように構成される。選択的に送信するステップは、記憶された情報に基づく。
【０００９】
本開示で説明される主題の別の態様は、通信リンクの特性を判定するための装置を提供する。装置は、第1の通信に対する第1の要求をサーバに送信するための手段を含む。第1の通信は、通信リンクの適格性を判定するためのものである。装置はさらに、第1の要求に応答して、サーバから第1の通信を受信するための手段を含む。第1の通信は、通信リンクを通じて受信される。装置はさらに、第1の通信に基づいて、通信リンクの適格性を判定するための手段を含む。装置はさらに、複数のネットワークの判定された適格性を特定する情報を記憶するための手段を含む。装置はさらに、通信リンクを通じて、第2の通信に対する第2の要求を選択的に送信するための手段を含む。選択的に送信するステップは、記憶された情報に基づく。
【００１０】
本開示で説明される主題の別の態様は、非一時的コンピュータ可読記憶媒体を提供する。媒体は、実行されると、装置に、通信リンクの適格性を判定するための第1の通信に対する第1の要求を送信させる、コードを含む。第1の要求はサーバに送信される。媒体はさらに、実行されると、装置に、第1の要求に応答して、通信リンクを通じてサーバから第1の通信を受信させる、コードを含む。媒体はさらに、実行されると、装置に、第1の通信に基づいて通信リンクの適格性を判定させる、コードを含む。媒体はさらに、実行されると、装置に、複数のネットワークの判定された適格性を特定する情報を記憶させる、コードを含む。媒体はさらに、実行されると、装置に、通信リンクを通じて第2の通信に対する第2の要求を選択的に送信させる、コードを含む。選択的に送信するステップは、記憶された情報に基づく。
【００１１】
本開示で説明される主題の別の態様は、アクティブな通信リンクの特性を判定する方法を提供する。方法は、第1のアクセス制約に基づいて、アクティブな通信リンクを介してサーバにアクセスすることの正当性を判定するステップを含む。方法はさらに、アクセスすることが正当であれば、サーバからの通信に対する要求を送信するステップを含む。方法はさらに、要求に応答して、通信リンクを通じてサーバからの通信を受信するステップを含む。方法はさらに、サーバからの通信に基づいて、通信リンクの特性を判定するステップを含む。
【００１２】
本開示で説明される主題の別の態様は、アクティブな通信リンクの特性を判定するように構成されるワイヤレスデバイスを提供する。デバイスは、第1のアクセス制約に基づいて、アクティブな通信リンクを介してサーバにアクセスすることの正当性を判定するように構成される、プロセッサを含む。デバイスはさらに、アクセスすることが正当であれば、サーバからの通信に対する要求を送信するように構成される、送信機を含む。デバイスはさらに、要求に応答して、通信リンクを通じてサーバからの通信を受信するように構成される、受信機を含む。プロセッサはさらに、サーバからの通信に基づいて、通信リンクの特性を判定するように構成される。
【００１３】
本開示で説明される主題の別の態様は、アクティブな通信リンクの特性を判定するための装置を提供する。装置は、第1のアクセス制約に基づいて、アクティブな通信リンクを介してサーバにアクセスすることの正当性を判定するための手段を含む。装置はさらに、アクセスすることが正当であれば、サーバからの通信に対する要求を送信するための手段を含む。装置はさらに、要求に応答して、通信リンクを通じてサーバからの通信を受信するための手段を含む。装置はさらに、サーバからの通信に基づいて、通信リンクの特性を判定するための手段を含む。
【００１４】
本開示で説明される主題の別の態様は、別の非一時的コンピュータ可読記憶媒体を提供する。媒体は、実行されると、装置に、第1のアクセス制約に基づいて、アクティブな通信リンクを介してサーバにアクセスすることの正当性を判定させる、コードを含む。媒体はさらに、実行されると、装置に、アクセスすることが正当であれば、サーバからの通信に対する要求を送信させる、コードを含む。媒体はさらに、実行されると、装置に、要求に応答して、通信リンクを通じてサーバからの通信を受信させる、コードを含む。媒体はさらに、実行されると、装置に、サーバからの通信に基づいて通信リンクの特性を判定させる、コードを含む。
【００１５】
本開示で説明される主題の別の態様は、アクセスポイントを通じたサーバへの接続性を検出する方法を提供する。方法は、ワイヤレスデバイスにおいて、トークンを含む接続検出要求を生成するステップを含む。方法はさらに、ワイヤレスデバイスにおいて、アクセスポイントを介して、サーバに宛てられた接続検出要求を送信するステップを含む。方法はさらに、サーバからの接続検出応答を待機するステップを含む。方法はさらに、受信された接続検出応答がトークンを含むかどうかを判定するステップを含む。
【００１６】
本開示で説明される主題の別の態様は、ワイヤレスネットワーク内で通信する方法を提供する。方法は、少なくとも1つの通信リンクのネットワーク接続性を、許容可能または許容不可能であると判定するステップを含む。方法はさらに、許容不可能なネットワーク接続性を伴う通信リンクを通じて、データの第1のサブセットを送信するステップを含む。方法はさらに、許容可能なネットワーク接続性を伴う通信リンクを通じて、データの第2のサブセットを送信するステップを含む。
【００１７】
本開示で説明される主題の別の態様は、アクセスポイントを通じたサーバへの接続性を検出するように構成される、ワイヤレスデバイスを提供する。デバイスは、トークンを含む接続検出要求を生成するように構成される、プロセッサを含む。デバイスはさらに、アクセスポイントを介して、サーバに宛てられた接続検出要求を送信するように構成される、送信機を含む。プロセッサはさらに、サーバからの接続検出応答を待機するように構成される。プロセッサはさらに、受信された接続検出応答がトークンを含むかどうかを判定するように構成される。
【００１８】
本開示で説明される主題の別の態様は、ワイヤレスネットワーク内で通信するように構成される、ワイヤレスデバイスを提供する。デバイスは、少なくとも1つの通信リンクのネットワーク接続性を、許容可能または許容不可能であると判定するように構成される、プロセッサを含む。デバイスはさらに、許容不可能なネットワーク接続性を伴う通信リンクを通じて、データの第1のサブセットを送信するように構成される、送信機を含む。送信機はさらに、許容可能なネットワーク接続性を伴う通信リンクを通じて、データの第2のサブセットを送信するように構成される。
【００１９】
本開示で説明される主題の別の態様は、アクセスポイントを通じたサーバへの接続性を検出するための装置を提供する。装置は、トークンを含む接続検出要求を生成するための手段を含む。装置はさらに、アクセスポイントを介して、サーバに宛てられた接続検出要求を送信するための手段を含む。装置はさらに、サーバからの接続検出応答を待機するための手段を含む。装置はさらに、受信された接続検出応答がトークンを含むかどうかを判定するための手段を含む。
【００２０】
本開示で説明される主題の別の態様は、ワイヤレスネットワーク内で通信するための装置を提供する。装置は、少なくとも1つの通信リンクのネットワーク接続性を、許容可能または許容不可能であると判定するための手段を含む。装置はさらに、許容不可能なネットワーク接続性を伴う通信リンクを通じて、データの第1のサブセットを送信するための手段を含む。装置はさらに、許容可能なネットワーク接続性を伴う通信リンクを通じて、データの第2のサブセットを送信するための手段を含む。
【００２１】
本開示で説明される主題の別の態様は、別の非一時的コンピュータ可読記憶媒体を提供する。媒体は、実行されると、装置に、トークンを含む接続検出要求を生成させる、コードを含む。媒体はさらに、実行されると、装置に、アクセスポイントを介して、サーバへ宛てられた接続検出要求を送信させる、コードを含む。媒体はさらに、実行されると、装置に、サーバからの接続検出応答を待機させる、コードを含む。媒体はさらに、実行されると、装置に、受信された接続検出応答がトークンを含むかどうかを判定させる、コードを含む。
【００２２】
本開示で説明される主題の別の態様は、別の非一時的コンピュータ可読媒体を提供する。媒体は、実行されると、装置に、少なくとも1つの通信リンクのネットワーク接続性を、許容可能または許容不可能であると判定させる、コードを含む。媒体はさらに、実行されると、装置に、許容不可能なネットワーク接続性を伴う通信リンクを通じて、データの第1のサブセットを送信させる、コードを含む。媒体はさらに、実行されると、装置に、許容可能なネットワーク接続性を伴う通信リンクを通じて、データの第2のサブセットを送信させる、コードを含む。
【００２３】
本開示で説明される主題の別の態様は、通信リンクの特性を判定する別の方法を提供する。方法は、モバイルデバイスにおいて、サーバからの通信に対する要求を送信するステップを含む。方法はさらに、要求に応答して、通信リンクを通じてサーバからの通信を受信するステップを含む。方法はさらに、トラフィックと通信を受信するための時間との少なくとも1つの目標量を計算するステップを含む。方法はさらに、計算された時間または受信されたトラフィックの量に基づいて、通信を終了するステップを含む。方法はさらに、サーバからの通信に基づいて、通信リンクの特性を判定するステップを含む。
【００２４】
本開示で説明される主題の別の態様は、通信リンクの特性を判定するように構成される別のワイヤレスデバイスを提供する。デバイスは、サーバからの通信に対する要求を送信するように構成される、送信機を含む。デバイスはさらに、要求に応答して、通信リンクを通じてサーバからの通信を受信するように構成される、受信機を含む。デバイスはさらに、トラフィックと通信を受信するための時間との少なくとも1つの目標量を計算するように構成される、プロセッサを含む。プロセッサはさらに、計算された時間または受信されたトラフィックの量に基づいて、通信を終了するように構成される。プロセッサはさらに、サーバからの通信に基づいて、通信リンクの特性を判定するように構成される。
【００２５】
本開示で説明される主題の別の態様は、通信リンクの特性を判定するための別の装置を提供する。装置は、サーバからの通信に対する要求を送信するための手段を含む。装置はさらに、要求に応答して、通信リンクを通じてサーバからの通信を受信するための手段を含む。装置はさらに、トラフィックと通信を受信するための時間との少なくとも1つの目標量を計算するための手段を含む。装置はさらに、計算された時間または受信されたトラフィックの量に基づいて、通信を終了するための手段を含む。装置はさらに、サーバからの通信に基づいて、通信リンクの特性を判定するための手段を含む。
【００２６】
本開示で説明される主題の別の態様は、別の非一時的コンピュータ可読記憶媒体を提供する。媒体は、実行されると、装置に、サーバからの通信に対する要求を送信させる、コードを含む。媒体はさらに、実行されると、装置に、要求に応答して、通信リンクを通じてサーバからの通信を受信させる、コードを含む。媒体はさらに、実行されると、装置に、トラフィックと通信を受信するための時間との少なくとも1つの目標量を計算させる、コードを含む。媒体はさらに、実行されると、装置に、計算された時間または受信されたトラフィックの量に基づいて通信を終了させる、コードを含む。媒体はさらに、実行されると、装置に、サーバからの通信に基づいて通信リンクの特性を判定させる、コードを含む。
【００２７】
本開示で説明される主題の別の態様は、通信リンクの品質を推定する方法を提供する。方法は、ネットワークインターフェースを介してデータユニットを受信するステップを含む。方法はさらに、ネットワークインターフェースにおいて、受信されたデータユニットを監視するステップを含む。方法はさらに、ネットワークインターフェースを介して受信された各データユニットに対して、データユニットがローカルエリアネットワークから生じたか非ローカルネットワークから生じたかを判定するステップを含む。方法はさらに、非ローカルネットワークから生じたデータユニットに基づいて、通信リンクの特性を計算するステップを含む。
【００２８】
本開示で説明される主題の別の態様は、通信リンクの品質を推定するように構成されるワイヤレスデバイスを提供する。デバイスは、データユニットを受信するように構成される、ネットワークインターフェースを含む。デバイスはさらに、ネットワークインターフェースにおいて、受信されたデータユニットを監視するように構成される、プロセッサを含む。プロセッサはさらに、ネットワークインターフェースを介して受信された各データユニットに対して、データユニットがローカルエリアネットワークから生じたか非ローカルネットワークから生じたかを判定するように構成される。プロセッサはさらに、非ローカルネットワークから生じたデータユニットに基づいて、通信リンクの特性を計算するように構成される。
【００２９】
本開示で説明される主題の別の態様は、通信リンクの品質を推定するための装置を提供する。装置は、ネットワークインターフェースを介してデータユニットを受信するための手段を含む。装置はさらに、ネットワークインターフェースにおいて、受信されたデータユニットを監視するための手段を含む。装置はさらに、ネットワークインターフェースを介して受信された各データユニットに対して、データユニットがローカルエリアネットワークから生じたか非ローカルネットワークから生じたかを判定するための手段を含む。装置はさらに、非ローカルネットワークから生じたデータユニットに基づいて、通信リンクの特性を計算するための手段を含む。
【００３０】
本開示で説明される主題の別の態様は、別の非一時的コンピュータ可読媒体を提供する。媒体は、実行されると、装置に、ネットワークインターフェースを介してデータユニットを受信させる、コードを含む。媒体はさらに、実行されると、装置に、ネットワークインターフェースにおいて、受信されたデータユニットを監視させる、コードを含む。媒体はさらに、実行されると、装置に、ネットワークインターフェースを介して受信された各データユニットに対して、データユニットがローカルエリアネットワークから生じたか非ローカルネットワークから生じたかを判定させる、コードを含む。媒体はさらに、実行されると、装置に、非ローカルネットワークから生じたデータユニットに基づいて、通信リンクの特性を計算させる、コードを含む。
【図面の簡単な説明】
【００３１】
【図１】本開示の態様が利用され得るワイヤレス通信システムの例を示す図である。
【図２】図1のワイヤレス通信システム内で利用され得るワイヤレスデバイスにおいて使用され得る、受信機を含む様々なコンポーネントを示す図である。
【図３】一実装形態による、クエリ応答の概略図である。
【図４】通信リンク品質の充足性を判定する方法を示すフローチャートである。
【図５】アクセスポイントのインターネット接続性を判定する方法を示すフローチャートである。
【図６】通信リンクの特性を判定する方法のある実施形態を示すフローチャートである。
【図７】本発明の例示的な実施形態による、通信リンクの特性を判定するためのシステムの機能ブロック図である。
【図８】アクティブな通信リンクの特性を判定する方法のある実施形態を示すフローチャート800である。
【図９】本発明の例示的な実施形態による、アクティブな通信リンクの特性を判定するためのシステムの機能ブロック図である。
【図１０】アクセスポイントを通じたサーバへの接続性を検出する方法のある実施形態を示すフローチャートである。
【図１１】本発明の例示的な実施形態による、アクセスポイントを通じたサーバへの接続性を検出するためのシステムの機能ブロック図である。
【図１２】ワイヤレスネットワークにおいて通信する方法のある実施形態を示すフローチャートである。
【図１３】本発明の例示的な実施形態による、ワイヤレスネットワークにおいて通信するためのシステムの機能ブロック図である。
【図１４】通信リンクの特性を判定する別の方法のある実施形態を示すフローチャートである。
【図１５】本発明の例示的な実施形態による、通信リンクの特性を判定するための別のシステムの機能ブロック図である。
【図１６】通信リンクの品質を推定するある実施形態を示すフローチャートである。
【図１７】本発明の例示的な実施形態による、通信リンクの品質を推定するためのシステムの機能ブロック図である。
【発明を実施するための形態】
【００３２】
添付の図面を参照しながら、新規のシステム、装置および方法の様々な態様が、以下でより十分に説明される。しかしながら、本教示の開示は、多くの異なる形態で具現化されてよく、本開示全体にわたって提示される任意の特定の構造または機能に限定されるものと解釈すべきではない。むしろ、これらの態様は、本開示が周到で完全になり、本開示の範囲を当業者に十分に伝えるために与えられるものである。本明細書の教示に基づいて、本開示の範囲は、本発明の他の態様とは無関係に実装されるか、本発明の他の態様と組み合わせて実装されるかにかかわらず、本明細書で開示される新規のシステム、装置および方法のいかなる態様をも包含するものであることを、当業者は諒解されたい。たとえば、本明細書に記載の態様をいくつ使用しても、装置を実装することができ、または方法を実施することができる。加えて、本発明の範囲は、本明細書に記載の本発明の様々な態様に加えて、またはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実施されるそのような装置またはそのような方法を包含するものとする。本明細書で開示されるいずれの態様も、請求項の1つまたは複数の要素によって具現化され得ることを理解されたい。
【００３３】
本明細書では特定の態様が説明されるが、これらの態様の多くの変形体および置換は本開示の範囲内に入る。好ましい態様のいくつかの利益および利点に言及するが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。むしろ、本開示の態様は、様々なワイヤレス技術、システム構成、ネットワーク、および送信プロトコルに広く適用可能であるものとし、そのうちのいくつかが例として図および好ましい態様についての以下の説明で示される。発明を実施するための形態および図面は、限定的なものではなく本開示を説明するものにすぎず、本開示の範囲は添付の特許請求の範囲およびその等価物によって規定される。
【００３４】
普及しているワイヤレスネットワーク技術は、様々なタイプのワイヤレスローカルエリアネットワーク(WLAN)を含み得る。WLANは、広く使用されるネットワークプロトコルを利用して、近くのデバイスを一緒に相互接続するのに使用され得る。本明細書で説明される様々な態様は、WiFiのような任意の通信規格に、または、より一般的には、ワイヤレスプロトコルのIEEE群のうち任意のメンバーに適用することができる。たとえば、本明細書で説明される様々な態様は、IEEE802.11nプロトコルの一部として使用され得る。
【００３５】
一部の実装形態では、WLANは、ワイヤレスネットワークにアクセスするコンポーネントである様々なデバイスを含む。たとえば、アクセスポイント(「AP」)およびクライアント(局、すなわち「STA」とも呼ばれる)という2つのタイプのデバイスがあり得る。一般に、APは、WLAN用のハブまたは基地局として働き、STAは、WLANのユーザとして働く。たとえば、STAは、ラップトップコンピュータ、携帯情報端末(PDA)、携帯電話などであり得る。ある例では、STAは、WiFi(たとえば、802.11nなどのIEEE802.11プロトコル)準拠ワイヤレスリンクを介してAPに接続して、インターネットまたは他のワイドエリアネットワークへの全般的な接続性を取得する。APは、バックホールと呼ばれ得るリンクを通じて、インターネットまたは他のワイドエリアネットワークと相互接続し得る。一部の実装形態では、STAは、APとしても使用され得る。
【００３６】
アクセスポイント(「AP」)はまた、NodeB、eNodeB、基地局コントローラ(「BSC」)、無線基地局装置(「BTS」)、基地局(「BS」)、送受信機機能(「TF」)、無線ルータ、無線送受信機、または何らかの他の用語を含むことがあり、それらとして実装されることがあり、あるいはそれらとして知られていることがある。
【００３７】
局「STA」はまた、アクセス端末(「AT」)、加入者局、加入者ユニット、移動局、遠隔局、遠隔端末、ユーザ端末、ユーザエージェント、ユーザデバイス、ユーザ機器、または何らかの他の用語を含むことがあり、それらとして実装されることがあり、またはそれらとして知られていることがある。いくつかの実装形態では、アクセス端末は、セルラー電話、コードレス電話、セッション開始プロトコル(「SIP」)電話、ワイヤレスローカルループ(「WLL」)局、携帯情報端末(「PDA」)、ワイヤレス接続機能を有するハンドヘルドデバイス、またはワイヤレスモデムに接続された何らかの他の好適な処理デバイスを含み得る。したがって、本明細書で教示される1つまたは複数の態様は、電話(たとえば、セルラー電話またはスマートフォン)、コンピュータ(たとえば、ラップトップ)、ポータブル通信デバイス、ヘッドセット、ポータブルコンピューティングデバイス(たとえば、個人情報端末)、娯楽デバイス(たとえば、音楽もしくはビデオデバイス、または衛星ラジオ)、ゲームデバイスまたはシステム、全地球測位システムデバイス、あるいは、ワイヤレス媒体を介して通信するように構成された任意の他の適切なデバイスに組み込まれ得る。
【００３８】
図1は、本開示の態様が利用され得るワイヤレス通信システム100の例を示す。ワイヤレス通信システム100は、ワイヤレス規格、たとえば802.11n規格に従って動作し得る。ワイヤレス通信システム100は、STA106と通信するAP104を含み得る。
【００３９】
種々のプロセスおよび方法が、AP104とSTA106との間の、ワイヤレス通信システム100における送信のために使用され得る。たとえば、信号は、OFDM/OFDMA技法に従って、AP104とSTA106との間で送信および受信され得る。これが行われる場合、ワイヤレス通信システム100は、OFDM/OFDMAシステムと呼ばれ得る。あるいは、信号は、CDMA技法に従って、AP104とSTA106との間で送信および受信され得る。これが行われる場合、ワイヤレス通信システム100は、CDMAシステムと呼ばれ得る。
【００４０】
AP104からSTA106のうち1つまたは複数への送信を支援する通信リンクは、ダウンリンク(DL)108と呼ばれることがあり、STA106のうち1つまたは複数からAP104への送信を支援する通信リンクは、アップリンク(UL)110と呼ばれることがある。あるいは、ダウンリンク108は順方向リンクまたは順方向チャネルと呼ばれることがあり、アップリンク110は逆方向リンクまたは逆方向チャネルと呼ばれることがある。
【００４１】
AP104は、基地局として動作し、基本サービスエリア(BSA)102内でワイヤレス通信カバレッジを提供し得る。AP104は、AP104に接続され通信のためにAP104を使用するSTA106とともに、基本サービスセット(BSS)と呼ばれ得る。ワイヤレス通信システム100は、中央AP104をもたなくてよく、むしろSTA106の間のピアツーピアネットワークとして機能し得ることに留意されたい。したがって、本明細書で説明されるAP104の機能は、代替的には、STA106のうち1つまたは複数によって実行され得る。
【００４２】
例示される実施形態では、AP104は、バックホール通信リンク112を使用して、より大きなネットワーク114と通信する。ネットワーク114は、たとえば、インターネットまたは公衆交換電話網(PSTN)であってよい。バックホールは、いくつかの物理リンクを含み得る。ある実施形態では、STA106は、AP104を介してサーバ116と通信し得る。たとえば、STA106は、アップリンク110およびダウンリンク108を介してAP104と通信することができ、AP104は、バックホール通信リンク112を介して通信をサーバ116に中継することができる。
【００４３】
バックホール品質推定(BQE)
ある実施形態では、STA106は、サーバ116とのエンドツーエンドリンクの品質を推定することができる。エンドツーエンドリンクは、たとえば、アップリンク110、ダウンリンク108、およびバックホール通信リンク112を含み得る。したがって、STA106は、アップリンク110、ダウンリンク108、および/またはバックホール通信リンク112の積算品質として、エンドツーエンドリンクの品質を推定することができる。STA106は、たとえば、転送速度、レイテンシ、パケット遅延変動、パケットロスなどの測定として、エンドツーエンドリンクの品質を測定することができる。バックホール通信リンク112の品質がアップリンク110および/またはダウンリンク108の品質よりも低い実施形態では、エンドツーエンドリンクの品質は、バックホール通信リンク112の品質によって制限され得る。逆に、バックホール通信リンク112の品質がアップリンク110および/またはダウンリンク108の品質よりも高い実施形態では、エンドツーエンドリンクの品質は、アップリンク110および/またはダウンリンク108の品質によって制限され得る。したがって、いくつかの実施形態では、STA106は、バックホール通信リンク112の品質を事実上推定することができる。エンドツーエンドリンクの1つまたは複数の態様の品質の推定は、「バックホール品質推定」(BQE)と本明細書では呼ばれ得る。
【００４４】
ある実施形態では、STA106は、たとえば、サーバ116からのファイルを要求することによって、サーバ116とのエンドツーエンドリンクの品質を推定することができる。具体的には、STA106は、品質推定要求をサーバ116に送信することができる。サーバ116は、本明細書ではファイルと呼ばれるデータを含む、品質推定応答をSTA106に送信することができる。STA106は本明細書ではサーバ116から「ファイル」をダウンロードするものとして説明されるが、品質推定応答は静的である必要はないことが諒解されるだろう。ある実施形態では、STA106は、品質推定応答を動的に生成することができる。
【００４５】
エンドツーエンドリンクの品質がエンドツーエンドリンクの速度を含む実施形態では、STA106は、サーバ116から品質推定応答をダウンロードするのにかかる時間を測定し、品質推定応答のサイズを転送時間で除算することによって、エンドツーエンドリンクの速度を推定することができる。エンドツーエンドリンクの品質がエンドツーエンドリンクのレイテンシを含む実施形態では、STA106は、サーバがダウンロード要求に応答するのにかかる時間を測定することによって、エンドツーエンドリンクのレイテンシを推定することができる。エンドツーエンドリンクの品質がエンドツーエンドのパケット遅延変動を含む実施形態では、STA106は、品質推定応答をダウンロードする時にパケットの送信および確認応答を監視することによって、エンドツーエンドリンクのパケット遅延変動を推定することができる。エンドツーエンドリンクの品質がエンドツーエンドリンクのパケットロス率を含む実施形態では、STA106は、品質推定応答をダウンロードする時にサーバ116によって再送信されたパケットの数を測定することによって、エンドツーエンドリンクのパケットロス率を推定することができる。
【００４６】
一実施形態では、品質推定応答は、ランダムデータ、擬似ランダムデータ、空データ、または、STA106の現在の状態に関連するデータを含み得る。品質推定応答は、STA106に新たな情報を伝えることを意図しないデータを含み得る。したがって、品質推定応答は、「ダミーファイル」と呼ばれ得る。STA106は、ダミーファイル中のデータを使用することなく廃棄または削除することができる。たとえば、STA106は、アプリケーションにおいてダミーファイル中のデータを使用しなくてよく、ユーザインターフェースを介してそのデータを提示しなくてよい。別の実施形態では、ファイルは、STA106によって処理され、STA106の状況または状態に関連する情報を提供する。
【００４７】
ある実施形態では、サーバ116は、品質推定応答をキャッシュすることができる。たとえば、サーバ116は、たとえば、マサチューセッツ州ケンブリッジのAkamai Technologies, Inc.により提供されるAkamai(登録商標)Content Delivery Networkのような、コンテンツ配信ネットワーク(CDN)の一部であってよい。CDNは、異なる地理的な位置にある複数のサーバの1つにおいて品質推定応答をキャッシュすることができ、品質推定要求は、STA106に最も近いサーバにルーティングされ得る。本明細書で使用される場合、サーバ116は、スタンドアロンのサーバと、CDNとともに動作するサーバとのいずれかを指し得る。
【００４８】
ある実施形態では、品質推定応答は、STA106がエンドツーエンドリンクの品質を測定するのに十分なサイズであり得る。たとえば、品質推定応答は、サイズが約0ビットから約2メガビットの間であり得る。ある実施形態では、品質推定応答は、サイズが約0.5メガビットから約1.5メガビットの間であってよく、より具体的には、サイズが約1メガビットであってよい。ある実施形態では、品質推定応答のサイズは、STA106とサーバ116との間のパケットの往復時間(RTT)に基づき得る。たとえば、品質推定応答は、以下のTable 1(表1)に基づいてRTTに関連し得る。
【００４９】
【表１】
0005951779.tif 000002
【００５０】
STA106は頻繁に、たとえばSTA106がAPに接続するたびに、エンドツーエンドリンクの品質を推定し得るので、品質推定応答は、長時間大量の帯域幅を使用し得る。品質推定応答をダウンロードする時にSTA106によって使用される帯域幅は、STA106と関連付けられる帯域幅の割当に加わり得る。したがって、品質推定応答は、ダミーデータの代わりに有用なデータを含むことが望ましいことがある。有用なデータは、たとえば、STA106がまだ利用できないデータ、STA106上のアプリケーションが使用するデータ、STA106のユーザインターフェースを介して提示されるべきデータ、および/または、デバイス管理情報を含み得る。デバイス管理情報は、たとえば、アクセス確率因子、品質推定割当、BQEキャッシュ期間、BQE履歴制限、受動BQR命令、および/または他の情報を含み得る。デバイス管理情報は、アクセス制約を含み得る。
【００５１】
多数のSTAが、サーバ116に品質推定要求を送信するように構成され得る。サーバ116に送信される品質推定要求の数が増えるに従って、サーバ116での処理の負荷および/またはネットワーク帯域幅の負荷が増え得る。いくつかの実施形態では、品質推定要求の数は、サーバ116の能力を超え得る。サーバ116は、STA106にデバイス管理情報を送信することによって、品質推定要求の量を管理することができる。デバイス管理情報は、サーバ116がBQEのために利用可能となる条件を示し得る。
【００５２】
図2は、ワイヤレス通信システム100内で利用され得るワイヤレスデバイス202において使用され得る様々なコンポーネントを示す。ワイヤレスデバイス202は、プロセッサ204、メモリ206、筐体208、送信機210および受信機212(送受信機214を形成し得る)、アンテナ216、測位モジュール218、デジタル信号プロセッサ(DSP)220、ユーザインターフェース222、ならびに通信バス226を含み得る。ワイヤレスデバイス202は、本明細書で説明される様々な方法を実装するように構成され得るデバイスの例である。たとえば、ワイヤレスデバイス202は、AP104および/または複数のSTA106の1つを含み得る。
【００５３】
ワイヤレスデバイス202は、ワイヤレスデバイス202の動作を制御するプロセッサ204を含み得る。プロセッサ204は、中央処理装置(CPU)と呼ばれることもある。読取り専用メモリ(ROM)とランダムアクセスメモリ(RAM)の両方を含み得るメモリ206は、命令とデータとをプロセッサ204に与える。メモリ206の一部分は、不揮発性ランダムアクセスメモリ(NVRAM)も含み得る。プロセッサ204は、メモリ206内に記憶されたプログラム命令に基づいて、論理演算および算術演算を実行する。メモリ206中の命令は、本明細書で説明される方法を実施するように実行可能であり得る。
【００５４】
プロセッサ204は、1つもしくは複数のプロセッサとともに実装される処理システムのコンポーネントを含み、またはそのコンポーネントであってよい。1つまたは複数のプロセッサは、汎用マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックデバイス(PLD)、コントローラ、状態機械、ゲート論理、個別ハードウェアコンポーネント、専用ハードウェア有限状態機械、または、情報の算出もしくは他の操作を実行できる任意の他の適切なエンティティの、任意の組合せによって実装され得る。
【００５５】
処理システムは、ソフトウェアを記憶するための機械可読記憶媒体も含み得る。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語などの名称にかかわらず、任意のタイプの命令を意味すると広く解釈されたい。命令は、(たとえば、ソースコード形式、バイナリコード形式、実行可能コード形式、または任意の他の適切なコード形式の)コードを含み得る。命令は、1つまたは複数のプロセッサによって実行されると、処理システムに、本明細書で説明される様々な機能を実行させる。
【００５６】
ワイヤレスデバイス202は、ワイヤレスデバイス202と遠隔地との間のデータの送信および受信を可能にするために送信機210および/または受信機212を含み得る、筐体208も含み得る。送信機210と受信機212とは、組み合わされて送受信機214になり得る。アンテナ216は、筐体208に取り付けられ、送受信機214に電気的に結合され得る。ワイヤレスデバイス202は、(図示しない)複数の送信機、複数の受信機、複数の送受信機、および/または複数のアンテナも含み得る。
【００５７】
送信機210は、上で論じられたように、品質推定要求を送信し、様々なAPと接続するように構成され得る。受信機212は、上で論じられたように、品質推定応答を受信し、様々なAPの利用可能性を監視するように構成され得る。
【００５８】
ワイヤレスデバイス202は、ワイヤレスデバイス202の位置を測定するために使用され得る測位モジュール218を含み得る。測位モジュール218は、たとえば、全地球測位システム(GPS)、支援された全地球測位システム(AGPS)、セルラー三角測量、IPに基づく位置認識技法などに基づいて、ワイヤレスデバイス202の位置を測定することができる。位置モジュール218は、受信機212、アンテナ216、プロセッサ204、メモリ206、および/またはDSP220とともに、ワイヤレスデバイス202の位置を測定することができる。ワイヤレスデバイス202は、信号を処理する際に使用するためのデジタル信号プロセッサ(DSP)220も含み得る。DSP220は、送信用のパケットを生成するように構成され得る。いくつかの態様において、パケットは、物理層データユニット(PPDU)を含み得る。
【００５９】
ワイヤレスデバイス202は、いくつかの態様では、ユーザインターフェース222をさらに含み得る。ユーザインターフェース222は、キーパッド、マイクロフォン、スピーカ、および/またはディスプレイを含み得る。ユーザインターフェース222は、ワイヤレスデバイス202のユーザに情報を伝え、かつ/またはユーザから入力を受け取る、任意の要素またはコンポーネントを含み得る。ある実施形態では、ユーザインターフェース222は、ワイヤレスネットワークマップをユーザに表示することができ、ワイヤレスネットワークマップに基づいて異なるAPと接続せよという命令を受け取ることができる。
【００６０】
ワイヤレスデバイス202の様々なコンポーネントは、バスシステム226によって一緒に結合され得る。バスシステム226は、データバスとともに、たとえば、データバスに加えて、電力バス、制御信号バス、状態信号バスを含み得る。ワイヤレスデバイス202のコンポーネントは、何らかの他の機構を使用して、一緒に結合されてよく、または互いに入力を受け入れまたは提供してよいことを、当業者は諒解するだろう。
【００６１】
いくつかの別個のコンポーネントが図2に示されているが、コンポーネントのうち1つまたは複数は、組み合わされても、または共通して実装されてもよいことを当業者は認識するだろう。たとえば、プロセッサ204は、プロセッサ204に関して上で説明された機能を実装するだけでなく、信号検出器218および/またはDSP220に関して上で説明された機能を実装するのにも使用され得る。さらに、図2に示されるコンポーネントの各々は、複数の別個の要素を使用して実装され得る。
【００６２】
参照しやすくするために、ワイヤレスデバイス202がAPとして構成される場合、ワイヤレスデバイス202は今後ワイヤレスデバイス202aと呼ばれる。同様に、ワイヤレスデバイス202がSTAとして構成される場合、ワイヤレスデバイス202は今後ワイヤレスデバイス202sと呼ばれる。ワイヤレス通信システム100中のデバイスは、送信ノードの機能のみ、受信ノードの機能のみ、または、送信ノードと受信ノードの両方の機能を実装することができる。
【００６３】
能動BQE
ある実施形態では、プロセッサ204は、通信リンクの品質を推定するように構成される。たとえば、ワイヤレスデバイス202sがSTA106を含む実施形態では、プロセッサ204は、STA106とサーバ116との間のエンドツーエンドリンクの品質を、BQEを介して推定することができる。ある実施形態では、プロセッサ204は、間欠的にBQEを試みることができる。ある実施形態では、プロセッサ204は、ワイヤレスデバイス202sが通信ネットワークに接続するたびにBQEを試みることができる。たとえば、プロセッサ204は、ワイヤレスデバイス202sがAP104のようなAPと接続するたびにBQEを試みることができる。別の実施形態では、プロセッサ204は、一定の間隔で、または一定ではない間隔でBQEを試みることができる。
【００６４】
BQEを試みる時、プロセッサ204は、サーバ116がBQEのために利用可能かどうかを判定することができる。ある実施形態では、プロセッサ204は、サーバ116から受信されたデバイス管理情報に基づいて、サーバ116がBQEのために利用可能かどうかを判定することができる。サーバ116がBQEのために利用可能であるとプロセッサ204が判定すると、BQE試行は成功したと言える。サーバ116がBQEのために利用可能ではないとプロセッサ204が判定すると、BQE試行は失敗した、または中断したと言える。BQE試行が成功すると、プロセッサ204は、品質推定要求を生成し、品質推定要求を送信し、品質推定応答を受信し、品質推定要求に対する応答に基づいて通信リンクの品質尺度を計算し、品質尺度をサーバに報告し、応答をメモリ206に記憶することができる。サーバ116が関わる帯域幅の品質推定は、「能動BQE」と呼ばれ得る。
【００６５】
ある実施形態では、プロセッサ204は、サーバ116がBQEのために利用可能である時、品質推定要求を生成する。ある実施形態では、品質推定要求は、ハイパーテキスト転送プロトコル(HTTP) GET要求を含み得る。別の実施形態では、品質推定の報告は、量子化された位置を含むHTTP POST要求を含み得る。様々な実施形態では、品質推定要求は他の形態をとり得る。
【００６６】
ある実施形態では、プロセッサ204は、送信機210に、アンテナ216を介して品質推定要求をサーバ116へ送信させ得る。プロセッサは、受信機212を介してサーバ116から応答を受信し得る。応答は、デバイス管理情報を含み得る。ある実施形態では、プロセッサ204は、定期的に、ワイヤレスデバイス202sが新たなワイヤレスネットワークに接続するたびに、または様々な他の基準に基づいて、品質推定要求を生成し送信することができる。
【００６７】
サーバ116から品質推定応答を受信する時、プロセッサ204は、応答に基づいて品質尺度を計算することができる。品質尺度は通信統計を含んでよく、BQE結果と呼ばれ得る。たとえば、プロセッサ204は、ある数のバイトを受信するのにかかる時間を測定し、品質推定応答のサイズを転送時間で除算することによって、通信リンクの速度を推定することができる。バイトは、サーバ116、またはワイヤレスデバイス202に送信している任意の他のホストから、受信され得る。プロセッサ204は、サーバが品質推定要求に応答するのにかかる時間を測定することによって、通信リンクのレイテンシを推定することができる。プロセッサ204は、応答を受信する時にパケットおよび確認応答の送信を監視することによって、通信リンクのパケット遅延変動を推定することができる。プロセッサ204は、応答を受信する時にサーバ116によって再送信されるパケットの数を測定することによって、通信リンクのパケットロス率を推定することができる。
【００６８】
ある実施形態では、プロセッサ204は、能動BQEの間に「srate」尺度を計算することができる。srateは、ある期間の平均速度を測定することによって定量的なユーザ体験を反映する、総合的な尺度として使用され得る。上記の期間は、DNSクエリ時間(利用可能であれば)、TCP接続セットアップ時間、TCPスロースタート時間、およびTCP混雑回避時間を含み得る。プロセッサ204は、BQEカウンタを保持してよく、BQEカウンタは、各能動BQEの開始時にインクリメントされ得る。プロセッサ204は、要求するファイルサイズを計算して、BQE応答がダウンロードされるべき最長の時間を示すBQEタイムアウトを決定することができる。ある実施形態では、プロセッサ204は、AP104の基本サービスセット識別子(BSSID)のような、AP104についての情報を収集する。
【００６９】
ある実施形態では、プロセッサ204は、最大帯域幅(MBW)、往復時間(RTT)、最大セグメントサイズ(MSS)、並列ストリームの数(NPS)、および、TCPスロースタートにおいて費やされる時間に対する混雑回避において費やされる時間の比(cong2slow)のうちの1つまたは複数に基づいて、ファイルサイズを計算することができる。ある実施形態では、サーバ116は、現在の動作ポリシーに従って、STA106が測定を試みるべき最大帯域幅を伝えるために、MBWをSTA106に送信することができる。ある実施形態では、STA106は、インターネット接続検出(ICD)の間に、サーバ116からMBWを受信することができる。図5に関して以下で説明される、ICDの間に、STA116は、AP104がインターネット接続性を提供するかどうかを検出することができる。ある実施形態では、STA106は、受信されたMBWおよび/またはデフォルトのMBWをメモリ206に記憶することができる。
【００７０】
ある実施形態では、プロセッサ204は、BQEトラフィックの量をネットワークのレイテンシ条件に適合させるために、サーバ116へのRTTを推定することができる。ある実施形態では、プロセッサ204は、推定されたRTT値が利用可能ではない場合、デフォルトのRTT値を使用することができる。ある実施形態では、プロセッサ204は、図5に関して以下で説明されるICD送信とともにRTTを推定することができる。ある実施形態では、プロセッサ204は、任意のインターネットホストに基づいてRTTを推定することができる。ある実施形態では、プロセッサ204は、サーバ116が利用可能ではない時のみ、RTT推定のために別のインターネットホストを使用することができる。
【００７１】
ファイルサイズを計算する時、プロセッサ204は、NPS*(2^R-1)*MSS+MBW*T*cong2slowに等しい、総トラフィック値を求めることができる。上で論じられたように、NPSは、BQEのために使用される並列のTCPストリームの数である。Rは、転送プロトコルがピーク速度に達するのに十分なRTTの数である。ある実施形態では、R=max(1, log2(MBW*RTT/(N*MSS))である。MSSは、転送プロトコルによって使用される最大セグメントサイズである。MBWは、BQEが推定を試みる最大帯域幅である。Tは、転送プロトコルがピーク速度に達するのに十分な経過時間である。ある実施形態では、T=RTT*Rである。ある実施形態では、ファイルサイズは、求められた総トラフィック値に少なくとも等しい、最小の許容されたサイズである。ある実施形態では、転送プロトコルはTCPである。
【００７２】
ある実施形態では、プロセッサ204は、TCPスロースタートにおいて費やされる時間に対する混雑回避において費やされる時間の比(cong2slow)、ダウンロードがピーク速度に達するのに十分な経過時間(T)、および/または、DNSクエリが解決するための準備時間(dns_rtt)のうちの1つまたは複数に基づいて、BQEタイムアウトを計算することができる。サーバ116に対するRTT推定値が利用可能である場合、プロセッサ204は、ICD/BQEサーバのためのDNSがローカルDNSキャッシュ中にあると判定することができ、BQEの間にDNSを解決するための時間を準備しなくてよい。したがって、プロセッサ204はdns_rtt=0と設定することができる。サーバ116に対するRTT推定値が利用可能ではない場合、プロセッサ204はdns_rtt=2*RTTと設定することができる。ある実施形態では、プロセッサ204は、BQEタイムアウトを(cong2slow+1)*T+dns_rttと計算することができる。
【００７３】
ある実施形態では、プロセッサ204は、AP104についてのファイルサイズおよび情報に基づいて、BQE要求のためにURIを生成する。ある実施形態では、プロセッサは、BQE要求(たとえば、HTTP送信)のために使用されるソケットをワイヤレスローカルエリアネットワーク(WLAN)インターフェースにバインドする。プロセッサ204は、生成されたURIに対するHTTP GETを介して、BQE要求を提出することができる。ある実施形態では、プロセッサ204は、BQEタイムアウトに基づいてBQEタイマを始動し、srateの推定を開始することができる。
【００７４】
ある実施形態では、プロセッサ204は、ダウンロードされたバイトの数および経過したダウンロード時間に基づいて、srateを計算することができる。ある実施形態では、プロセッサ204は、ネットワークインターフェースレベルにおいて非ローカルホストからダウンロードされたバイトの数を監視することができる。プロセッサ204は、定期的にバイトカウンタを更新することができる。ある実施形態では、プロセッサ204は、無線インターフェースを通じて受信されたバイトのみを監視することができる。
【００７５】
ある実施形態では、プロセッサ204は、HTTP例外がBQE要求の送信の間に発生する場合、BQEが成功したと判定することができる。たとえば、プロセッサ204は、SC_INTERNAL_SERVER_ERROR、SC_NOT_FOUND、SC_SERVICE_UNAVAILABLE、およびSC_UNAUTHORIZEDの1つまたは複数が受信された場合、BQEが成功したと判定することができる。ある実施形態では、プロセッサ204は、BQEがHTTP例外により成功したと判定される場合、計算された速度をメモリ206に記憶しなくてよい。
【００７６】
ある実施形態では、プロセッサ204は、ダウンロードの間、受信されたバイトの数を監視することができる。能動BQEの間に受信されたバイトの数が計算されたファイルサイズ以上になると、プロセッサ204は能動BQEのダウンロードを終了することができる。ある実施形態では、プロセッサ204は、たとえば、ソケット停止またはHTTPライブラリを介して、進行中のHTTP GETを終了することができる。プロセッサ204は、ダウンロードを終了する時、TCP FINおよび/またはTCP RSTパケットを送信することができる。
【００７７】
ある実施形態では、プロセッサ204は、能動BQEの間にBQEタイマを監視することができる。能動BQEの期間がBQEタイムアウト閾値以上であることをBQEタイマが示すと、プロセッサ204は能動BQEのダウンロードを終了することができる。ある実施形態では、プロセッサ204は、たとえば、ソケット停止またはHTTPライブラリを介して、進行中のHTTP GETを終了することができる。プロセッサ204は、TCP FINパケットを送信することができる。様々な実施形態では、BQEタイマは、BQEタイムアウトからカウントダウンしてよく、またはBQEタイムアウトまでカウントアップしてよい。ある実施形態では、プロセッサ204は、受信されたバイトの数とBQEタイマの組合せに基づいて、BQEのダウンロードを停止することができる。
【００７８】
ある実施形態では、プロセッサ204は、能動BQEのダウンロードに基づいて、BQE尺度を計算することができる。プロセッサ204は、BQE尺度をBQE閾値と比較することができる。BQE閾値は、ワイヤレスデバイス202が通信リンクを使用するために通信リンクが満たさなければならない最小限の品質を示し得る。ある実施形態では、プロセッサ204は、BQE尺度がBQE閾値以上である場合、通信リンク112の品質は十分であると判定することができる。ある実施形態では、プロセッサ204は、BQE尺度がBQE閾値未満である場合、通信リンク112の品質は不十分であると判定することができる。
【００７９】
ある実施形態では、プロセッサ204は、BQEの後に、BQE情報の1つまたは複数をサーバ116にアップロードすることができる。たとえば、通信リンク112の品質は十分であるとプロセッサ204が判定すると、プロセッサ204は、計算されたsrateをサーバ116にアップロードすることができる。ある実施形態では、通信リンク112がアクセスをインターネットに提供するとプロセッサ204が判定すると、プロセッサ204は、BQE情報のみをアップロードすることができる。ある実施形態では、通信リンク112の品質が十分である場合、プロセッサ204は、BQE情報をメモリ206に記憶することができる。
【００８０】
ある実施形態では、通信リンク112の品質が不十分であるとプロセッサ204が判定すると、かつ/または、通信リンク112がインターネットアクセスを提供しないとプロセッサ204が判定すると、プロセッサ204は、BQE情報をサーバ116にアップロードすることなくBQE結果を廃棄することができる。ある実施形態では、通信リンク112の品質が不十分である場合、プロセッサ204は、BQE情報をメモリ206に記憶しなくてよい。ある実施形態では、プロセッサ204が、たとえばサービスセットID(SSID)のようなAP104の1つまたは複数の識別子を判定できない場合、プロセッサ204は、BQE情報をメモリ206に記憶しなくてよい。
【００８１】
ある実施形態では、プロセッサ204は、受信機212を介してサーバ116から応答を受信した後、応答をメモリ206に記憶することができる。様々な実施形態では、プロセッサ204は、品質推定以外の種々の目的で、品質推定応答中の情報を使用することができる。たとえば、応答がデバイス管理情報を含む実施形態では、プロセッサ204は、BQEのためにサーバ116を利用できるかどうかを判定する際に後で使用するために、デバイス管理情報をメモリ206に記憶することができる。
【００８２】
受動BQE
ある実施形態では、品質推定は受動BQEである。受動BQE命令は、プロセッサ204が品質推定要求をサーバ116に送信すべきではないことを示す情報を含み得る。サーバ116に連絡することのないBQEは、「受動BQE」と呼ばれ得る。ある実施形態では、プロセッサ204がBQEを試みる時、プロセッサ204は、サーバ116に品質推定要求を送信することなく、送信機210および/または受信機212を通じたネットワークトラフィックを監視することによって、受動BQEを実行することができる。
【００８３】
プロセッサ204が受動BQEを実行する実施形態では、プロセッサ204は、サーバへ、またはサーバからデータを転送するのにかかる時間を測定し、転送されるデータの量を転送時間で除算することによって、リンクの速度を推定することができる。別の実施形態では、プロセッサ204は、サーバが通信に応答するのにかかる時間を測定することによって、サーバとのリンクのレイテンシを推定することができる。別の実施形態では、プロセッサ204は、パケットおよび確認応答の送信を監視することによって、サーバとのリンクのパケット遅延変動を推定することができる。別の実施形態では、プロセッサ204は、品質推定応答をダウンロードする時にサーバによって再送信されるパケットの数を測定することによって、サーバとのリンクのパケットロス率を推定することができる。ある実施形態では、受動BQEの間、プロセッサ204は、BQEの目的で開始されずバックホール112の向こう側の宛先を有する通信のみを、監視および/または測定する。
【００８４】
ある実施形態では、プロセッサ204は、能動BQEに関して上で説明された1つまたは複数の技法を使用して、受動BQEを実行することができる。たとえば、プロセッサ204は、ダウンロード要求をサーバ116に送信することなく、能動BQE技法を実行することができる。サーバ116からダウンロードされたバイトを監視する代わりに、プロセッサ204は、1つまたは複数の他のインターネットサーバからダウンロードされたバイトを監視することができる。プロセッサ204は、上述のサンプリングモード、バーストモード、srate計算などを使用して、ダウンロードされたバイトを監視することができる。ある実施形態では、プロセッサ204は、受動BQEのために非ローカルトラフィックのみを監視することができる。ある実施形態では、プロセッサは、ユニキャストトラフィックのみを監視し、ブロードキャストおよびユニキャストトラフィックを除外することができる。ある実施形態では、プロセッサ204は、srateおよび/またはバーストビットレートを計算する際に、バイトが受信されなかった期間を除外することができる。別の実施形態では、プロセッサ204は、ネットワーク層において受信されたすべてのトラフィックを測定することができ、Nを整数として最大でN個のビットレートサンプルの平均を計算することができる。ある実施形態では、プロセッサ204は、STA106がAP104に接続されると受動BQEを実行することができ、それより後の制限された期間、受動BQEのみを実行することができる。
【００８５】
ある実施形態では、プロセッサ204は、サンプリング間隔およびバースト期間に従って、srateを計算することができる。ある実施形態では、サンプリング間隔は、プロセッサ204がどの程度頻繁にバイトカウンタを確認するかを示し得る。バースト期間は、プロセッサ204がビットレートを計算すべき期間を示し得る。バースト期間は、サンプリング間隔の倍数として規定され得る。ある実施形態では、STA106は、サーバ116からバースト期間および/またはサンプリング間隔を受信することができる。ある実施形態では、STA106は、メモリ206にバースト期間および/またはサンプリング間隔を記憶することができる。
【００８６】
ある実施形態では、各サンプリング間隔において、プロセッサ204は、その間隔で受信されたバイトの数を計算することができる。受信されたバイトの数を定期的に計算する場合、プロセッサ204はサンプリングモードにあり得る。少なくとも1バイトが受信されたとプロセッサ204が判定する場合、プロセッサ204はバーストモードに入り得る。
【００８７】
バーストモードでは、プロセッサ204は、バーストの期間に受信されるバイトの数を計算することができる。プロセッサ204は、バーストの間に受信されたバイトの数をバーストの期間で除算したものと等しい、バーストレートを計算することができる。srate計算の間、プロセッサ204は、1つまたは複数のバーストにわたって受信されたバイトの数の8倍の数を、1つまたは複数のバーストにわたる経過時間で除算したものとして、srateを計算することができる。
【００８８】
ある実施形態では、メモリ206は、事前設定された受動BQE命令を記憶することができる。別の実施形態では、プロセッサ204は、たとえば、BQE結果の履歴、バッテリレベルなどに基づいて、受動BQE命令を生成することができる。別の実施形態では、プロセッサ204は、受信機212を介して受動BQE命令を取り出し、受動BQE命令をメモリ206に記憶することができる。ある実施形態では、プロセッサ204は、品質推定要求に応答して、サーバ116から受動BQE命令を受信することができる。受動BQE命令は、品質推定応答に含まれ得る。様々な実施形態において、プロセッサ204は、能動BQEに加えて、またはその代わりに、受動BQEを実行することができる。たとえば、プロセッサ204が能動BQEを試みて失敗すると、プロセッサ204は受動BQEを実行することができる。別の例として、プロセッサ204は、受動BQE命令を受信することなく、受動BQEを実行するように構成され得る。
【００８９】
図3は、一実装形態による、クエリ応答300の概略図である。クエリ応答300は、図5に関して以下で説明される、BQE応答とICD応答の1つまたは複数を含み得る。示されるように、クエリ応答300は、デバイス管理情報310と、BQEおよび/またはICDデータ320とを含む。デバイス管理情報310およびBQEまたはICDデータ320はある特定の構成で示されるが、他の構成が可能であることを当業者は諒解するだろう。たとえば、デバイス管理情報310およびBQEデータ320の位置は、逆転され、インターリーブされ、追加のデータによって分離されるなどされてよい。さらに、BQEまたはICDデータ320は、デバイス管理情報310がBQEまたはICDに十分である実施形態では、省略されてよい。
【００９０】
群衆情報
BQEおよび/またはICDデータ320は、たとえば、近くのWiFiホットスポットについての情報、チャレンジレスポンスなどのような、ダミーデータおよび/または有用なデータを含み得る。ある実施形態では、品質推定応答は、群衆から得られる情報(「群衆情報」)を含み得る。群衆情報は、特定のAP104に対する1つまたは複数の他のSTA106のBQE結果に基づく、BQE情報を含み得る。群衆情報の少なくとも一部は、他のユーザによって提供されサーバ116上で収集され得る。ある実施形態では、群衆情報は、通信リンク112の品質が十分かどうかを示す数値を含む。別の実施形態では、群衆情報は、通信リンク112に対する平均のBQE尺度を含む。別の実施形態では、群衆情報は、サーバ116に記憶された過去のBQE結果に基づく、1つまたは複数の他の尺度を含み得る。群衆情報が任意の適切な符号化を使用できることを、当業者は諒解するだろう。
【００９１】
ある実施形態では、クエリ応答300は、テキスト、ハイパーテキストマークアップ言語(HTML)、拡張マークアップ言語(XML)、または任意の他のデータフォーマットとしてフォーマットされ得る。一実施形態では、クエリ応答300は次のようにフォーマットされ得る。
<access probability>0.7</access probability>
<quota>9</quota>
<ここから最後までのバイトは無意味である>
Pppppppppppppppppppppppppppppppppppppppppppp….
【００９２】
例示される実施形態では、デバイス管理情報320は、履歴制限330、キャッシュ期間340、要求割当350、アクセス確率因子360、および受動BQE命令370を含む。様々な実施形態では、デバイス管理情報320は、履歴制限330、キャッシュ期間340、要求割当350、アクセス確率因子360、および受動BQE命令370を異なる順序で含んでよく、追加の情報を含んでよく、かつ/または、履歴制限330、キャッシュ期間340、要求割当350、アクセス確率因子360、および受動BQE命令370の1つまたは複数を省略してよい。様々な実施形態では、プロセッサ204は、履歴制限330、キャッシュ期間340、要求割当350、アクセス確率因子360、および受動BQE命令370の1つまたは複数の、単独または組合せに対して動作してよい。
【００９３】
履歴制限
ある実施形態では、クエリ応答300は、履歴制限330を含み得る。履歴制限は、どれだけのBQEおよび/またはICD結果を、プロセッサ204が各通信ネットワークのために記憶すべきかを示す、情報を含み得る。ある実施形態では、履歴制限330は、プロセッサ204がBQEおよび/またはICDを実行する各通信ネットワークに対して、プロセッサ204がメモリ206に記憶すべきBQEおよび/またはICD結果の最大の数を示す、数値を含む。履歴制限330が任意の適切な符号化を使用できることを、当業者は諒解するだろう。様々な実施形態では、デバイス管理情報310は、BQE要求とICD要求の1つもしくは両方に対する別個の履歴制限330、または、BQE要求とICD要求の両方に対する組み合わされた履歴制限330を含み得る。
【００９４】
一実施形態では、プロセッサ204は、たとえばワイヤレスデバイス202sがAP104に接続する時、BQEおよび/またはICDを試みることができる。サーバ116がBQEおよび/またはICDに利用可能かどうかを判定するために、プロセッサは、メモリ206からBQE結果および/またはICD結果の履歴を読み取ることができる。結果の履歴は、BQE結果および/またはICD結果の長期間の履歴を含み得る。ある実施形態では、結果の履歴は、ネットワーク識別子のリスト、対応するBQE結果および/もしくはICD結果、ならびに/または、各結果が記録された時を示す対応するタイムスタンプを含み得る。ネットワーク識別子は、たとえば、SSID、BSSID、ルータの媒体アクセス制御(MAC)アドレス、ネットワークドメイン名などを含み得る。
【００９５】
STA106は、BQE結果およびICD結果に対する別個の結果の履歴を保持してよく、または、組み合わされた結果の履歴を保持してよい。ある実施形態では、結果の履歴(比較的長期間の結果の履歴を記憶する)および結果のキャッシュ(以下で説明されるように、比較的短期間の結果の履歴を記憶する)は、同じデータセット中に含まれ得る。別の実施形態では、結果の履歴および結果のキャッシュは別々に記憶され得る。
【００９６】
プロセッサ204は、現在のネットワーク識別子(すなわち、ワイヤレスデバイス202sが接続されているネットワークのネットワーク識別子)を判定することができる。プロセッサ204は、現在のネットワーク識別子を、メモリ206に記憶されている結果の履歴中のネットワーク識別子と比較することができる。現在のネットワーク識別子がメモリ206に記憶されている結果の履歴中に含まれていない場合、プロセッサ204は、サーバ116がBQEおよび/またはICDに利用可能であると判定することができる。現在のネットワーク識別子がメモリ206に記憶されている結果の履歴中に含まれている場合、プロセッサ204は、ローカルの履歴によってBQEの結論(たとえば、BQE成功またはBQE失敗)が出せなければ、サーバ116がBQEに利用可能であると判定することができる。平均-標準偏差>閾値または平均+標準偏差<閾値であれば、ローカルの履歴によってBQEの結論を出すことができ、前者の場合はBQE成功と結論づけられ、後者の場合はBQE失敗と結論づけられる。前述の式において、平均は、現在のネットワーク識別子に対する過去X回のBQE結果の平均であり、標準偏差は、過去X回の結果にわたる標準偏差であり、閾値は、閾値ビットレートである。
【００９７】
ある実施形態では、Xは履歴制限330に等しい。ある実施形態では、メモリ206は事前設定されたX値を記憶することができる。別の実施形態では、プロセッサ204は、たとえば、BQE結果および/またはICD結果の履歴、バッテリレベルなどに基づいて、X値を生成することができる。別の実施形態では、プロセッサ204は、受信機212を介してX値を取り出し、X値をメモリ206に記憶することができる。ある実施形態では、プロセッサ204は、品質推定要求に応答して、サーバ116からX値を受信することができる。X値は、クエリ応答300に含まれ得る。
【００９８】
ある実施形態では、メモリ206は事前設定された閾値を記憶することができる。別の実施形態では、プロセッサ204は、たとえば、BQE結果の履歴、バッテリレベルなどに基づいて、閾値を生成することができる。別の実施形態では、プロセッサ204は、受信機212を介して閾値を取り出し、閾値をメモリ206に記憶することができる。ある実施形態では、プロセッサ204は、BQEまたはICD要求に応答して、サーバ116から閾値を受信することができる。閾値は、クエリ応答300に含まれ得る。ある実施形態では、プロセッサは、無線を通じて測定された無線パラメータを使用して、現在の閾値を計算することができる。
【００９９】
一実施形態では、プロセッサ204は、乱数または擬似乱数を生成することができる。別の実施形態では、DSP204は、乱数または擬似乱数を生成することができる。乱数または擬似乱数は、0から1の範囲内で生成され得る。プロセッサ204は、生成された数を閾値と比較して、サーバ116がBQEに利用可能かどうかを判定することができる。ある実施形態では、プロセッサ204は、生成された数が閾値未満である場合、サーバ116がBQEに利用可能であると判定することができる。ある実施形態では、プロセッサ204は、生成された数が閾値以下である場合、サーバ116がBQEに利用可能であると判定することができる。
【０１００】
別の実施形態では、プロセッサ204がBQEを試みるたびに、プロセッサ204はカウンタをインクリメントすることができる。プロセッサ204は、メモリ206にカウンタを記憶することができる。プロセッサ204は、カウンタを割当と比較して、サーバ116がBQEに利用可能かどうかを判定することができる。ある実施形態では、プロセッサ204は、カウンタが割当未満である場合、サーバがBQEに利用可能であると判定することができる。
【０１０１】
一般に、閾値が高いと、プロセッサ204にBQEをより頻繁に実行させる傾向がある。同様に、閾値が低いと、プロセッサ204にBQEをあまり頻繁に実行させない傾向がある。所与の通信ネットワークに対するBQE結果の履歴が比較的高い場合、プロセッサ204はBQEをあまり頻繁に実行しない傾向がある。所与の通信ネットワークに対するBQE結果の履歴が比較的低い場合、プロセッサ204はBQEをより頻繁に実行する傾向がある。したがって、プロセッサ204は、比較的低品質のネットワークに接続されると、BQEをより頻繁に実行する傾向がある。
【０１０２】
別の実施形態では、プロセッサ204は、サーバ116が、BQE結果の履歴のばらつきに関連するある確率を有するBQEに利用可能であると、判定することができる。たとえば、プロセッサ204は、サーバ116が、1-(STDEVX/閾値)という確率を有するBQEに利用可能であると判定することができ、STDEVXは、現在のネットワーク識別子に対する過去X回のBQE結果の標準偏差であり、閾値は閾値ビットレートである。別の実施形態では、プロセッサ204は、サーバ116が、平均(mean)、中央値、平均(average)、標準偏差、ばらつき、最小値、最大値などの、BQE結果の履歴の統計尺度の1つまたは複数に関連するある確率を有するBQEに利用可能であると、判定することができる。
【０１０３】
ある実施形態では、メモリ206は事前設定された履歴制限330を記憶することができる。別の実施形態では、プロセッサ204は、たとえば、BQE結果および/またはICD結果の履歴、バッテリレベルなどに基づいて、履歴制限330を生成することができる。別の実施形態では、プロセッサ204は、受信機212を介して履歴制限330を取り出し、履歴制限330をメモリ206に記憶することができる。ある実施形態では、プロセッサ204は、BQE要求および/またはICD要求に応答して、サーバ116から履歴制限330を受信することができる。
【０１０４】
キャッシュ期間
ある実施形態では、クエリ応答300は、キャッシュ期間340を含み得る。キャッシュ期間は、プロセッサ204が同じネットワーク接続に対する連続するBQE要求および/またはICD要求の間でどの程度長く待機すべきかを示す情報を含み得る。一実施形態では、たとえば、プロセッサ204は、1時間に1回BQEおよび/またはICDを試みることができる。キャッシュ期間340が3時間のキャッシュ期間を示す場合、プロセッサ204は、サーバ116が最初のBQE試行および/またはICD試行に利用可能であると判定し、次いで、サーバ116が3時間の期間内のその後の2回のBQE試行および/またはICD試行には利用可能ではないと判定し、BQE試行および/またはICD試行は失敗する。
【０１０５】
ある実施形態では、キャッシュ期間340は、プロセッサ204が1回よりも多くBQEおよび/またはICDを実行すべきではない期間を示す、数値を含む。キャッシュ期間340は、任意の時間枠(たとえば、1時間、3時間、1日、1週間、1ヶ月など)を含み得る。キャッシュ期間340が任意の適切な符号化を使用できることを、当業者は諒解するだろう。様々な実施形態では、デバイス管理情報310は、BQE要求とICD要求の1つもしくは両方に対する別個のキャッシュ期間340、または、BQE要求とICD要求の両方に対する組み合わされたキャッシュ期間340を含み得る。
【０１０６】
一実施形態では、プロセッサ204は、たとえばワイヤレスデバイス202sがAP104に接続する時、BQEおよび/またはICDを試みることができる。サーバ116がBQEおよび/またはICDに利用可能かどうかを判定するために、プロセッサは、メモリ206から結果のキャッシュを読み取ることができる。結果のキャッシュは、BQE結果および/またはICD結果の短期間の履歴を含み得る。ある実施形態では、結果のキャッシュは、ネットワーク識別子のリスト、対応するBQE結果および/もしくはICD結果、ならびに/または、各BQE結果および/またはICD結果が記録された時を示す対応するタイムスタンプを含み得る。ネットワーク識別子は、たとえば、サービスセット識別子(SSID)、基本サービスセット識別子(BSSID)、ルータの媒体アクセス制御(MAC)アドレス、ネットワークドメイン名、セル識別子などを含み得る。
【０１０７】
STA106は、BQE結果およびICD結果に対する別個の結果のキャッシュを保持してよく、または、組み合わされた結果のキャッシュを保持してよい。ある実施形態では、結果の履歴(上で説明されたように、非常に長期間の結果の履歴を記憶する)および結果のキャッシュ(比較的短期間の結果の履歴を記憶する)は、同じデータセット中に含まれ得る。別の実施形態では、結果の履歴および結果のキャッシュは別々に記憶され得る。
【０１０８】
プロセッサ204は、現在のネットワーク識別子(すなわち、ワイヤレスデバイス202sが接続されているネットワークのネットワーク識別子)を判定することができる。プロセッサ204は、現在のネットワーク識別子を、メモリ206に記憶されている結果のキャッシュ中のネットワーク識別子と比較することができる。現在のネットワーク識別子がメモリ206に記憶されている結果のキャッシュ中に含まれていない場合、プロセッサ204は、サーバ116がBQEおよび/またはICDに利用可能であると判定することができる。現在のネットワーク識別子がメモリ206に記憶されている結果のキャッシュ中に含まれている場合、プロセッサ204は、サーバ116がBQEおよび/またはICDに利用可能ではないと判定することができる。ある実施形態では、現在のネットワーク識別子が結果のキャッシュに含まれ、タイムスタンプがキャッシュ期間340より古い場合、プロセッサ204は、サーバ116がBQEおよび/またはICDに利用可能ではないと判定することができる。サーバ116がBQEおよび/またはICDに利用可能であるとプロセッサ204が判定する場合、プロセッサ204は、本明細書で説明されるようにBQEおよび/またはICDを実行することができる。プロセッサ204は、現在のネットワーク識別子および/またはタイムスタンプとともに、BQE結果および/またはICD結果をBQE結果のキャッシュに記憶することができる。
【０１０９】
ある実施形態では、メモリ206は事前設定されたキャッシュ期間340を記憶することができる。別の実施形態では、プロセッサ204は、たとえば、BQE結果および/またはICD結果の履歴、バッテリレベルなどに基づいて、キャッシュ期間340を生成することができる。別の実施形態では、プロセッサ204は、受信機212を介してキャッシュ期間340を取り出し、キャッシュ期間340をメモリ206に記憶することができる。ある実施形態では、プロセッサ204は、BQE要求および/またはICD要求に応答して、サーバ116からキャッシュ期間340を受信することができる。
【０１１０】
要求割当
ある実施形態では、クエリ応答300は、要求割当350を含み得る。要求割当350は、プロセッサ204がBQEおよび/またはICDに対するサーバ116の利用可能性を判定する時、BQE試行および/またはICD試行が成功するであろうかどうかを示す情報を含み得る。具体的には、要求割当350は、ある期間内に成功するであろうBQE試行および/またはICD試行の数に対する制限を示し得る。一実施形態では、たとえば、プロセッサ204は、1日に10回、BQEおよび/またはICDを試みることができる。要求割当350が1日に5回というBQEおよび/またはICDの制限を示す場合、プロセッサ204は、サーバ116が最初の5回のBQE試行および/またはICD試行に利用可能であると判定し、次いで、サーバ116がその後の5回のBQE試行には利用可能ではないと判定し、BQE試行および/またはICD試行は失敗する。
【０１１１】
ある実施形態では、要求割当350は、所与の期間内に成功するであろうBQE試行および/またはICD試行の数に対する制限を示す数値を含む。要求割当350は明示的に期間を特定してよく、または期間は暗黙的であってよい。要求期間は、任意の時間枠(たとえば、1時間、1日、1週間、1ヶ月など)、動的な期間(たとえば、APごと、再起動ごと、ワイヤレスセッションごと)、またはこれらの任意の組合せを含み得る。要求割当350が任意の適切な符号化を使用できることを、当業者は諒解するだろう。様々な実施形態では、デバイス管理情報310は、BQE要求とICD要求の1つもしくは両方に対する別個の要求割当350、または、BQE要求とICD要求の両方に対する組み合わされた要求割当350を含み得る。
【０１１２】
一実施形態では、プロセッサ204は、プロセッサ204がBQEおよび/またはICDに対するサーバの利用可能性を判定するたびに、カウンタをインクリメントすることができる。プロセッサ204は、メモリ206にカウンタを記憶することができる。プロセッサ204は、カウンタを要求割当350と比較して、サーバ116がBQEおよび/またはICDに利用可能かどうかを判定することができる。ある実施形態では、プロセッサ204は、カウンタが要求割当350未満である場合、サーバがBQEおよび/またはICDに利用可能であると判定することができる。別の実施形態では、プロセッサ204は、カウンタが要求割当350以下である場合、サーバがBQEおよび/またはICDに利用可能であると判定することができる。様々な実施形態では、プロセッサ204は、サーバ116が前述の条件の各々においてBQEおよび/またはICDに対して利用可能ではないと判定することができる。
【０１１３】
プロセッサ204は、デバイス管理情報に従ってカウンタをリセットすることができる。たとえば、プロセッサ204は、1時間ごと、1週間に1回、1ヶ月ごと、ワイヤレスデバイス202sが異なるAPに接続するたび、ワイヤレスデバイス202sが再起動するたびなどに、カウンタをリセットすることができる。ある実施形態では、プロセッサ204は、要求割当350とアクセス確率因子の組合せに基づいて、サーバ116がBQEおよび/またはICDに利用可能かどうかを判定することができる。たとえば、要求割当350が超えられていないとプロセッサ204が判定すると、プロセッサは、アクセス確率因子に関係なく、サーバ116がBQEおよび/またはICDに利用可能であると判定することができる。一方、要求割当350が超えられているとプロセッサ204が判定すると、プロセッサは、上で説明されたように、アクセス確率因子に基づいて、サーバ116がBQEおよび/またはICDに利用可能かどうかを判定することができる。
【０１１４】
ある実施形態では、メモリ206は事前設定された要求割当350を記憶することができる。別の実施形態では、プロセッサ204は、たとえば、BQE結果および/またはICD結果の履歴、バッテリレベルなどに基づいて、要求割当350を生成することができる。別の実施形態では、プロセッサ204は、受信機212を介して要求割当350を取り出し、要求割当350をメモリ206に記憶することができる。ある実施形態では、プロセッサ204は、BQE要求および/またはICD要求に応答して、サーバ116から要求割当350を受信することができる。
【０１１５】
アクセス確率因子
ある実施形態では、クエリ応答300は、アクセス確率因子360を含み得る。アクセス確率因子360は、プロセッサ204がBQEおよび/またはICDに対するサーバ116の利用可能性を判定する時、BQE試行および/またはICD試行がどの程度頻繁に成功するであろうかを示す情報を含み得る。具体的には、アクセス確率因子360は、BQE試行および/またはICD試行が成功するであろう確率を示し得る。一実施形態では、たとえば、プロセッサ204は、ワイヤレスデバイス202sが送信機214を介してAP104と接続するたびにBQEおよび/またはICDを試みることができる。アクセス確率因子360が50%の成功率を示す場合、プロセッサ204は、サーバ116が概ね時間の50%の間利用可能ではないと判定し、BQE試行および/またはICD試行は失敗する。
【０１１６】
ある実施形態では、アクセス確率因子360は、0から1までの数値を含み、0は、BQEおよび/またはICDの成功の確率が0%であることを示し、1は、BQEおよび/またはICDの成功の確率が100%であることを示す。別の実施形態では、アクセス確率因子360は、0から100までの数値を含み、0は、BQEおよび/またはICDの成功の確率が0%であることを示し、100は、BQEおよび/またはICDの成功の確率が100%であることを示す。別の実施形態では、アクセス確率因子360は、X回ごとにBQE試行および/またはICD試行が成功するであろうことを示す、数値Xを含む。アクセス確率因子360が任意の適切な符号化を使用できることを、当業者は諒解するだろう。様々な実施形態では、デバイス管理情報310は、BQE要求とICD要求の1つもしくは両方に対する別個のアクセス確率因子360、または、BQE要求とICD要求の両方に対する組み合わされたアクセス確率因子360を含み得る。
【０１１７】
一実施形態では、プロセッサ204は、乱数または擬似乱数を生成することができる。別の実施形態では、DSP204は、乱数または擬似乱数を生成することができる。乱数または擬似乱数は、アクセス確率因子360の可能な値の範囲内で生成され得る。プロセッサ204は、生成された数をアクセス確率因子360と比較して、サーバ116がBQEおよび/またはICDに利用可能かどうかを判定することができる。ある実施形態では、プロセッサ204は、生成された数がアクセス確率因子360未満である場合、サーバ116がBQEおよび/またはICDに利用可能であると判定することができる。ある実施形態では、プロセッサ204は、生成された数がアクセス確率因子360以下である場合、サーバ116がBQEおよび/またはICDに利用可能であると判定することができる。ある実施形態では、プロセッサ204は、生成された数がアクセス確率因子360より大きい場合、サーバ116がBQEおよび/またはICDに利用可能であると判定することができる。ある実施形態では、プロセッサ204は、生成された数がアクセス確率因子360以上である場合、サーバ116がBQEおよび/またはICDに利用可能であると判定することができる。様々な実施形態では、プロセッサ204は、サーバ116が前述の条件の各々においてBQEおよび/またはICDに対して利用可能ではないと判定することができる。
【０１１８】
別の実施形態では、プロセッサ204がBQEおよび/またはICDを試みるたびに、プロセッサ204はカウンタをインクリメントすることができる。プロセッサ204は、メモリ206にカウンタを記憶することができる。プロセッサ204は、カウンタをアクセス確率因子360と比較して、サーバ116がBQEおよび/またはICDに利用可能かどうかを判定することができる。ある実施形態では、プロセッサ204は、カウンタがアクセス確率因子360の偶数倍である場合、サーバがBQEおよび/またはICDに利用可能であると判定することができる。別の実施形態では、プロセッサ204は、カウンタがアクセス確率因子360の逆数の偶数倍である場合、サーバがBQEおよび/またはICDに利用可能であると判定することができる。様々な実施形態では、プロセッサ204は、サーバ116が前述の条件の各々においてBQEおよび/またはICDに対して利用可能ではないと判定することができる。
【０１１９】
ある実施形態では、メモリ206は事前設定されたアクセス確率因子360を記憶することができる。別の実施形態では、プロセッサ204は、たとえば、BQE結果および/またはICD結果の履歴、バッテリレベルなどに基づいて、アクセス確率因子360を生成することができる。別の実施形態では、プロセッサ204は、受信機212を介してアクセス確率因子360を取り出し、アクセス確率因子360をメモリ206に記憶することができる。ある実施形態では、プロセッサ204は、BQE要求および/またはICD要求に応答して、サーバ116からアクセス確率因子360を受信することができる。
【０１２０】
図4は、通信リンク品質の充足性を判定する方法を示すフローチャート400である。明瞭性のために、フローチャート400は、図1に示される通信ネットワーク100および図2に示されるデバイス202sに関して以下で説明される。しかしながら、フローチャート400の方法は任意の適切なデバイスとともに使用され得ることを、当業者は諒解するだろう。一実装形態では、プロセッサ204は、デバイス202sの機能要素を制御して以下で説明される機能を実行するための、コードの1つまたは複数のセットを実行する。様々な実施形態では、本明細書で説明されるステップは、異なる順序で実行されてよく、または省略されてよく、追加のステップが追加されてよい。
【０１２１】
ある実施形態では、STA106は、新しいAP104に接続する時、フローチャート400に従い得る。STA106は、フローチャート400の結果に基づいて、通信リンク112の品質が十分かどうかを判定することができる。通信リンク112の品質が不十分であることをフローチャート400が示す場合、STA106は通信のためにAP104を使用することができず、代わりに別の無線および/またはAPを使用することができる。たとえば、STA106は、WiFi APのBQEが低い品質を示す場合、WiFi無線からセルラー無線に切り替えることができる。一方、通信リンク112の品質が十分であることをフローチャート400が示す場合、STA106は通信のためにAP104を使用することができる。
【０１２２】
まず、ブロック405において、BQEが有効かどうかをプロセッサ204が判定する。プロセッサ204は、メモリ206に記憶された値を確認することによって、BQEが有効かどうかを判定することができる。ある実施形態では、STA106は、サーバ116から、BQEが有効にされるべきであるかどうかについての情報を受信することができる。別の実施形態では、STA106は、サービスプロバイダから、BQEが有効にされるべきであるかどうかについての情報を受信することができる。BQEが無効であるとプロセッサ204が判定すると、プロセッサ204は、ブロック410において、通信リンク112の品質が十分であると判定することができる。一方、BQEが有効であるとプロセッサ204が判定すると、プロセッサ204はブロック415へ続き得る。
【０１２３】
次に、ブロック415において、プロセッサ204は上で説明されたような受動BQEを開始することができる。プロセッサ204は、バックグラウンドで受動BQEを実行することができ、STA106と1つまたは複数のインターネットホストとの間の偶発的な通信を監視する。受動BQEが実行されている間に、プロセッサ204はブロック420へ続き得る。
【０１２４】
次いで、ブロック420において、プロセッサ204は、上で説明されたように、AP104の短期間の履歴を確認することができる。たとえば、プロセッサは、メモリ206からBQE結果のキャッシュを読み取ることができる。ある実施形態では、現在のネットワーク識別子がBQE結果のキャッシュに含まれており、タイムスタンプがBQEキャッシュ期間よりも古い場合、プロセッサ204は、短期間の履歴が新しくかつ良好であると判定することができる。短期間の履歴が新しくかつ良好である場合、プロセッサ204は、ブロック410において、通信リンク112の品質が十分であると判定することができる。一方、短期間の履歴が新しく良好ではないとプロセッサ204が判定すると、プロセッサ204はブロック425へ続き得る。
【０１２５】
その後、ブロック425において、プロセッサ204は、上で説明されたように、AP104の長期間の履歴を確認することができる。たとえば、プロセッサは、メモリ206からBQE結果の履歴を読み取ることができる。ある実施形態では、プロセッサ204は、平均-標準偏差>閾値である場合、長期間の履歴が高信頼度であり良好であるかどうかを判定することができ、平均は、現在のネットワーク識別子に対する過去X回のBQE結果の平均であり、標準偏差は、過去X回の結果にわたる標準偏差であり、閾値は、閾値ビットレートである。長期間の履歴が高信頼度で新しい場合、プロセッサ204は、ブロック410において、通信リンク112の品質が十分であると判定することができる。一方、長期間の履歴が高信頼度で新しくはないとプロセッサ204が判定すると、プロセッサ204はブロック430へ続き得る。
【０１２６】
続いて、ブロック430において、プロセッサ204は、ICD応答とICDタイムアウトのいずれかを待機することができる。図5に関して以下で説明されるように、STA106は、ICD応答とともに、サーバ116から群衆情報を受信することができる。STA106が、ICD要求をサーバ116に送信した後のタイムアウト期間内にICD応答を受信しない場合、ICDはタイムアウトし得る。ICDが成功した後、またはタイムアウトした後、プロセッサ204は、ブロック435に進む。
【０１２７】
次に、ブロック435において、プロセッサ204は、サーバ116から受信された群衆情報を読み取る。通信リンク112の品質が十分であることを群衆情報が示す場合、プロセッサ204は、ブロック410に進み得る。通信リンク112の品質が十分であることを群衆情報が示さない場合、または、STA106がサーバ116から群衆情報を受信するのに成功しなかった場合、プロセッサ204はブロック440へ続く。
【０１２８】
次いで、ブロック440において、プロセッサ204は、ブロック415で開始された受動BQEの結果を確認する。プロセッサ204は、受動BQE結果を、通信リンク112の十分な品質を示す閾値品質値と比較する。受動BQE結果がBQE閾値以上であるとプロセッサ204が判定する場合、プロセッサはブロック410へ続く。一方、受動BQE結果がBQE閾値未満であるとプロセッサ204が判定する場合、または受動BQEが失敗した場合、プロセッサはブロック445へ続く。
【０１２９】
その後、ブロック445において、プロセッサ204は再び、上で説明されたように、AP104の長期間の履歴を確認することができる。たとえば、プロセッサは、メモリ206からBQE結果の履歴を読み取ることができる。ある実施形態では、プロセッサ204は、平均+標準偏差<閾値である場合、長期間の履歴が高信頼度かつ劣悪であると判定することができ、平均は、現在のネットワーク識別子に対する過去X回のBQE結果の平均であり、標準偏差は、過去X回の結果にわたる標準偏差であり、閾値は、閾値ビットレートである。長期間の履歴が高信頼度かつ劣悪である場合、プロセッサ204は、ブロック450において、通信リンク112の品質が不十分であると判定することができる。一方、長期間の履歴が高信頼度かつ劣悪ではないとプロセッサ204が判定すると、プロセッサ204はブロック455へ続き得る。
【０１３０】
続いて、ブロック455において、プロセッサ204は再び、サーバ116から受信された群衆情報を読み取る。通信リンク112の品質が不十分であることを群衆情報が示す場合、プロセッサ204は、ブロック450に進み得る。通信リンク112の品質が不十分であることを群衆情報が示さない場合、または、STA106がサーバ116から群衆情報を受信するのに成功しなかった場合、プロセッサ204はブロック460へ続く。
【０１３１】
次に、ブロック460において、プロセッサ204は、たとえば、アクセス確率因子、品質推定割当などのような負荷管理技法に関して上で説明されたように、サーバ116がBQEに利用可能かどうかを判定する。サーバ116がBQEに利用可能ではないとプロセッサ204が判定すると、プロセッサ204は、ブロック410において、通信リンク112の品質が不十分であると判定することができる。一方、サーバ116がBQEに利用可能であるとプロセッサ204が判定すると、プロセッサ204はブロック465において能動BQEへと続き得る。
【０１３２】
次いで、ブロック465において、プロセッサ204は上で説明されたような能動BQEを実行する。ある実施形態では、プロセッサ204は、能動BQE結果を、通信リンク112の十分な品質を示す閾値品質値と比較する。能動BQE結果がBQE閾値以上であるとプロセッサ204が判定する場合、プロセッサはブロック410へ続く。一方、能動BQE結果がBQE閾値未満であるとプロセッサ204が判定する場合、または能動BQEが失敗した場合、プロセッサはブロック450へ続く。
【０１３３】
インターネット接続検出(ICD)
ある実施形態では、STA106は、STA106がAP104に接続する時、通信リンク112のインターネット接続性を検出することができる。AP104がインターネットに対するアクセスを提供するかどうかを判定するために、STA106は、インターネット接続検出(ICD)を実行することができる。ある実施形態では、STA106は、STA106がAP104に接続するたびに、ICDを実行することができる。ICDは、APが、インターネット要求に対して不正に応答し得るいわゆる「captive portal」であるかどうかを、たとえば、要求されたページの代わりに支払要求ウェブページを提供することによって、STA106が検出することを可能にし得る。STA106は、限られたインターネット接続をAPが提供するかどうかを検出することができる。
【０１３４】
図5は、アクセスポイント104のインターネット接続性を判定する方法を示すフローチャート500である。明瞭性のために、フローチャート500は、図1に示される通信ネットワーク100および図2に示されるデバイス202sに関して以下で説明される。しかしながら、フローチャート500の方法は任意の適切なデバイスとともに使用され得ることを、当業者は諒解するだろう。一実装形態では、プロセッサ204は、デバイス202sの機能要素を制御して以下で説明される機能を実行するための、コードの1つまたは複数のセットを実行する。様々な実施形態では、本明細書で説明されるステップは、異なる順序で実行されてよく、または省略されてよく、追加のステップが追加されてよい。
【０１３５】
まず、ブロック505において、ICDが有効かどうかをプロセッサ204が判定する。プロセッサ204は、メモリ206に記憶された値を確認することによって、ICDが有効かどうかを判定することができる。ある実施形態では、STA106は、サーバ116から、ICDが有効にされるべきであるかどうかについての情報を受信することができる。別の実施形態では、STA106は、サーバプロバイダから、ICDが有効にされるべきであるかどうかについての情報を受信することができる。ICDが無効であるとプロセッサ204が判定すると、プロセッサ204は、ブロック510において、AP104がインターネット接続性を提供すると判定することができる。一方、ICDが有効であるとプロセッサ204が判定すると、プロセッサ204はブロック515へ続き得る。
【０１３６】
次に、ブロック515において、プロセッサ204は、AP104の短期間の履歴を確認することができる。ある実施形態では、ICDの短期間の履歴は、上で説明された、BQEの短期間の履歴の1つまたは複数の態様を含み得る。AP104がインターネット接続性を提供するかどうかを判定するために、プロセッサは、メモリ206からICD結果のキャッシュを読み取ることができる。ICD結果のキャッシュは、ICD結果の短期間の履歴を含み得る。ある実施形態では、ICD結果のキャッシュは、ネットワーク識別子のリスト、対応するICD結果、および/または、各ICD結果が記録された時を示す対応するタイムスタンプを含み得る。ネットワーク識別子は、たとえば、サービスセット識別子(SSID)、基本サービスセット識別子(BSSID)、ルータの媒体アクセス制御(MAC)アドレス、ネットワークドメイン名などを含み得る。
【０１３７】
プロセッサ204は、現在のネットワーク識別子(すなわち、ワイヤレスデバイス202sが接続されているネットワークのネットワーク識別子)を判定することができる。プロセッサ204は、現在のネットワーク識別子を、メモリ206に記憶されているICD結果のキャッシュ中のネットワーク識別子と比較することができる。現在のネットワーク識別子がメモリ206に記憶されているICD結果のキャッシュ中に含まれていない場合、プロセッサ204は、AP104がインターネット接続性を提供すると判定することができない。現在のネットワーク識別子がメモリ206に記憶されているICD結果のキャッシュ中に含まれている場合、プロセッサ204は、記憶されているICD結果に基づいて、AP104がインターネット接続性を提供すると判定することができる。ある実施形態では、現在のネットワーク識別子がICD結果のキャッシュに含まれており、タイムスタンプがICDキャッシュ期間よりも古くない場合、プロセッサ204は、AP104がインターネット接続性を提供すると判定することができる。サーバ116がICDに利用可能であるとプロセッサ204が判定する場合、プロセッサ204は、本明細書で説明されるようにICDを実行することができる。プロセッサ204は、現在のネットワーク識別子および/またはタイムスタンプとともに、ICD結果をICD結果のキャッシュに記憶することができる。
【０１３８】
ある実施形態では、メモリ206は事前設定されたICDキャッシュ期間を記憶することができる。別の実施形態では、プロセッサ204は、たとえば、ICD結果の履歴、バッテリレベルなどに基づいて、ICDキャッシュ期間を生成することができる。別の実施形態では、プロセッサ204は、受信機212を介してICDキャッシュ期間を取り出し、ICDキャッシュ期間をメモリ206に記憶することができる。ある実施形態では、プロセッサ204は、品質推定要求またはICD要求に応答して、サーバ116からICDキャッシュ期間を受信することができる。ICDキャッシュ期間は、品質推定応答またはICD応答に含まれ得る。
【０１３９】
プロセッサ204が、短期間の履歴に基づいて、AP104がインターネット接続性を提供すると判定すると、プロセッサ204はブロック510へ続き得る。一方、AP104がインターネット接続性を提供するとプロセッサ204が判定しない場合、プロセッサ204はブロック520へ続く。たとえば、AP104がインターネット接続性を提供しないことを最近のICD結果が示すとプロセッサ204が判定する場合、プロセッサ204はブロック520へ続き得る。ある実施形態では、プロセッサ204は、短期間の履歴の結果に関係なく、事前設定された確率でブロック520へ続き得る。
【０１４０】
次いで、ブロック520において、プロセッサは、メモリ206からICD結果の履歴を読み取ることができる。ICD結果の履歴は、ICD結果の長期間の履歴を含み得る。ある実施形態では、ICD結果の履歴は、ネットワーク識別子のリスト、対応するICD結果、および/または、各ICD結果が記録された時を示す対応するタイムスタンプを含み得る。ネットワーク識別子は、たとえば、SSID、BSSID、ルータの媒体アクセス制御(MAC)アドレス、ネットワークドメイン名などを含み得る。ある実施形態では、ICD結果の履歴(比較的長期間の結果の履歴を記憶する)およびICD結果のキャッシュ(比較的短期間の結果の履歴を記憶する)は、同じデータセット中に含まれ得る。別の実施形態では、ICD結果の履歴およびICD結果のキャッシュは別々に記憶され得る。
【０１４１】
プロセッサ204は、現在のネットワーク識別子(すなわち、ワイヤレスデバイス202sが接続されているネットワークのネットワーク識別子)を判定することができる。プロセッサ204は、現在のネットワーク識別子を、メモリ206に記憶されているICD結果の履歴中のネットワーク識別子と比較することができる。現在のネットワーク識別子がメモリ206に記憶されているICD結果の履歴中に含まれていない場合、プロセッサ204は、AP104がインターネット接続性を提供すると判定することができない。
【０１４２】
現在のネットワーク識別子がメモリ206に記憶されているICD結果の履歴中に含まれている場合、プロセッサ204は、AP104がインターネット接続性を提供することを最新のICD結果が示す場合、AP104がインターネット接続性を提供すると判定することができる。ある実施形態では、AP104に対するすべての記憶されたICD結果が、AP104がインターネット接続性を提供することを示す場合、プロセッサ204は、AP104がインターネット接続性を提供すると判定することができる。ある実施形態では、プロセッサ204は、AP104がICD結果の履歴の平均に関連する確率でインターネット接続性を提供すると、判定することができる。
【０１４３】
一実施形態では、プロセッサ204は、乱数または擬似乱数を生成することができる。別の実施形態では、DSP204は、乱数または擬似乱数を生成することができる。乱数または擬似乱数は、0から1の範囲内で生成され得る。プロセッサ204は、生成された数を確率と比較して、AP104がインターネット接続性を提供するかどうかを判定することができる。ある実施形態では、プロセッサ204は、生成された数が確率未満である場合、AP104がインターネット接続性を提供すると判定することができる。ある実施形態では、プロセッサ204は、生成された数が確率以下である場合、AP104がインターネット接続性を提供すると判定することができる。
【０１４４】
別の実施形態では、プロセッサ204がICDを試みるたびに、プロセッサ204はカウンタをインクリメントすることができる。プロセッサ204は、メモリ206にカウンタを記憶することができる。プロセッサ204は、カウンタを確率と比較して、AP104がインターネット接続性を提供するかどうかを判定することができる。ある実施形態では、プロセッサ204は、カウンタが確率の偶数倍である場合、AP104がインターネット接続性を提供すると判定することができる。別の実施形態では、プロセッサ204は、カウンタが確率の逆数の偶数倍である場合、AP104がインターネット接続性を提供すると判定することができる。
【０１４５】
一般に、閾値が高いと、プロセッサ204にICDをより頻繁に実行させる傾向がある。同様に、閾値が低いと、プロセッサ204にICDをあまり頻繁に実行させない傾向がある。所与の通信ネットワークに対するICD結果の履歴が比較的高い場合、プロセッサ204はICDをあまり頻繁に実行しない傾向がある。所与の通信ネットワークに対するICD結果の履歴が比較的低い場合、プロセッサ204はICDをより頻繁に実行する傾向がある。したがって、プロセッサ204は、比較的低品質のネットワークに接続されると、ICDをより頻繁に実行する傾向がある。
【０１４６】
ある実施形態では、メモリ206は事前設定されたICD履歴制限を記憶することができる。別の実施形態では、プロセッサ204は、たとえば、ICD結果の履歴、バッテリレベルなどに基づいて、ICD履歴制限を生成することができる。別の実施形態では、プロセッサ204は、受信機212を介してICD履歴制限を取り出し、ICD履歴制限をメモリ206に記憶することができる。ある実施形態では、プロセッサ204は、品質推定要求またはICD要求に応答して、サーバ116からICD履歴制限を受信することができる。ICD履歴制限は、品質推定応答またはICD応答に含まれ得る。
【０１４７】
プロセッサ204が、長期間の履歴に基づいて、AP104がインターネット接続性を提供すると判定すると、プロセッサ204はブロック510へ続き得る。一方、AP104がインターネット接続性を提供するとプロセッサ204が判定しない場合、プロセッサ204はブロック525へ続く。ある実施形態では、プロセッサ204は、長期間の履歴の結果に関係なく、事前設定された確率でブロック520へ続き得る。ある実施形態では、プロセッサ204は、長期間の履歴の結果に関係なく、事前設定された確率でブロック510へ続き得る。
【０１４８】
その後、ブロック525において、プロセッサ204は、たとえば、アクセス確率因子、品質推定割当などのような負荷管理技法に関して上で説明されたように、サーバ116がICDに利用可能かどうかを判定する。様々な負荷管理技法がBQEに関して上で説明されたが、BQE負荷管理技法の1つまたは複数の態様が、ICD負荷管理に適用され得る。たとえば、STA106は、BQE応答またはICD応答を介してサーバ116からICD割当を受信することができる。別の例として、STA106は、BQE応答またはICD応答を介してサーバ116からICDに対するアクセス確率因子を受信することができる。サーバ116がICDに利用可能ではないとプロセッサ204が判定すると、プロセッサ204は、ブロック510において、AP104がインターネット接続性を提供すると判定することができる。一方、サーバ116がICDに利用可能であるとプロセッサ204が判定すると、プロセッサ204はブロック530においてICDへと続き得る。
【０１４９】
続いて、ブロック530において、プロセッサ204がICDを開始する。ある実施形態では、プロセッサ204は、ICD要求を生成することができる。プロセッサ204は、たとえば、HTTPを介してサーバ116にICD要求を送信することができる。ある実施形態では、プロセッサ204は、ICD HTTP送信をWLANインターフェースにバインドする。プロセッサ204は、行われたICD要求の数を記録し、その数をメモリ206に記憶することができる。
【０１５０】
ある実施形態では、プロセッサ204は、ICD要求が送信される先のICD URIを生成することができる。ICD URIは、STA106、AP104、および/または一時的な識別子の識別情報を含み得る。一時的な識別子は、たとえば、AP104のBSSIDのようなキーを含み得る。一時的な識別子は、ランダムデータまたは擬似ランダムデータを含み得る。一時的な識別子は、STA106、AP104、通信システム100、および/またはサーバ116の識別子に基づき得る。ある実施形態では、一時的な識別子は「トークン」と呼ばれ得る。ICD要求は、サーバ116に対するICD URIのためのICD HTTP GETを含み得る。
【０１５１】
プロセッサ204は、サーバ116からの応答を、ある時間待機することができる。その時間は、ICDタイムアウト値であり得る。ICD応答がICDタイムアウトより前に受信された場合、プロセッサ204は応答にタイムスタンプを与えることができる。ICD応答が予測された位置にキーを含む場合、プロセッサ204は、ブロック510において、AP104がインターネット接続性を提供すると判定することができる。
【０１５２】
ICD応答がICDタイムアウト内に受信されない場合、プロセッサは、ブロック535において、AP104がインターネット接続性を提供しないと判定することができる。ICD応答がキーを含まない場合、プロセッサは、APが制限された接続性を提供すると判定することができる。ある実施形態では、プロセッサ204は、サーバ116のIPアドレスを決定するために、DNS要求を生成し送信することができる。DNS要求が失敗した場合、プロセッサ204は、ブロック510において、AP104がインターネットアクセスを提供しないと判定することができる。ICDが成功するか失敗するかに関係なく、プロセッサ204は、ICD結果をメモリ206に記憶することができる。
【０１５３】
図6は、通信リンクの特性を判定する方法のある実施形態を示すフローチャート600である。フローチャート600の方法は、図2に関して上で論じられたワイヤレス通信システム100、および図2に関して上で論じられたワイヤレスデバイス202を参照して本明細書では説明されるが、フローチャート600の方法は、本明細書で説明された別のデバイス、または任意の他の適切なデバイスによって実施され得ることを、当業者は諒解するだろう。ある実施形態では、フローチャート600中のステップは、少なくとも一部、たとえば、プロセッサ204(図2)および/またはDSP220(図2)のようなプロセッサまたはコントローラによって、場合によってはメモリ206(図2)とともに実行され得る。フローチャート600の方法は、特定の順序を参照して本明細書では説明されるが、様々な実施形態では、本明細書のブロックは異なる順序で実行されてよく、または省略されてよく、かつ追加のブロックが追加されてよい。
【０１５４】
まず、ブロック610において、STA106が、通信リンク112を通じて、第1の通信に対する第1の要求をサーバ116に送信する。第1の通信は、通信リンク112の適格性を判定するためのものであり得る。様々な実施形態では、第1の要求は、図2〜図4に関して上で論じられたような、BQE要求およびICD要求の1つまたは複数を含み得る。第1の通信は、図2〜図4に関して上で論じられたような、BQE応答およびICD応答の1つまたは複数を含み得る。
【０１５５】
次に、ブロック620において、STA106は、第1の要求に応答して、サーバ116から第1の通信を受信する。サーバ116は、通信リンク112を通じて第1の通信を送信することができる。STA106は、受信機212を介して第1の通信を受信することができる。
【０１５６】
次いで、ブロック630において、STA106は、第1の通信に基づいて、通信リンク112の適格性を判定する。たとえば、第1の通信がBQE応答を含む実施形態では、STA106は、図4に関して上で論じられたように、フローチャート400の1つまたは複数の態様に従って、通信リンク112の適格性を判定することができる。第1の通信がICD応答を含む実施形態では、STA106は、図5に関して上で論じられたように、フローチャート500の1つまたは複数の態様に従って、通信リンク112の適格性を判定することができる。
【０１５７】
その後、ブロック640において、STA106は、複数のネットワークの判定された適格性を特定する情報を記憶する。たとえば、STA106は、AP104と接続しているネットワークとともに、通信リンク112の判定された適格性を特定する情報を記憶することができる。ある実施形態では、STA106は、図2に関して上で説明された短期間および/または長期間のBQEの履歴に従って、判定された適格性を特定する情報を記憶することができる。別の実施形態では、STA106は、図5に関して上で説明された短期間および/または長期間のICDの履歴に従って、判定された適格性を特定する情報を記憶することができる。
【０１５８】
その後、ブロック650において、STAが、通信リンク112を通じて、第2の通信に対する第2の要求をサーバ116へ選択的に送信する。第2の通信は、通信リンク112の適格性を判定するためのものであり得る。様々な実施形態では、第2の要求は、図2〜図4に関して上で論じられたような、BQE要求およびICD要求の1つまたは複数を含み得る。第2の通信は、図2〜図4に関して上で論じられたような、BQE応答およびICD応答の1つまたは複数を含み得る。
【０１５９】
STA106は、短期間の履歴、長期間の履歴、群衆情報、受動BQE結果、および、たとえば、アクセス確率因子、品質推定割当などのような負荷管理技法のうちの1つまたは複数に基づいて、第2の要求を送信するかどうかを判定することができる。たとえば、第2の通信がBQE応答を含む実施形態では、STA106は、図4に関して上で論じられたように、フローチャート400の1つまたは複数の態様に従って、通信リンク112の適格性を判定することができる。第2の通信がICD応答を含む実施形態では、STA106は、図5に関して上で論じられたように、フローチャート500の1つまたは複数の態様に従って、通信リンク112の適格性を判定することができる。
【０１６０】
図7は、本発明の例示的な実施形態による、通信リンクの特性を判定するためのシステム700の機能ブロック図である。システムは、図7に示される簡略化されたシステム700よりも多くのコンポーネントを有し得ることを、当業者は諒解するだろう。示されるシステム700は、特許請求の範囲内の実装形態のいくつかの顕著な特徴を説明するのに有用なコンポーネントのみを含む。
【０１６１】
通信リンクの特性を判定するためのシステム700は、モバイルデバイスにおいて、通信リンクの適格性を判定するための第1の通信に対する第1の要求をサーバに送信するための手段710と、第1の要求に応答して、通信リンクを通じてサーバから第1の通信を受信するための手段720と、第1の通信に基づいて通信リンクの適格性を判定するための手段730と、複数のネットワークの判定された適格性を特定する情報を記憶するための手段740と、通信リンクを通じて、第2の通信に対する第2の要求を選択的に送信するための手段750とを含む。
【０１６２】
ある実施形態では、モバイルデバイスにおいて、通信リンクの適格性を判定するための第1の通信に対する第1の要求をサーバに送信するための手段710は、ブロック610(図6)に関して上で説明された機能の1つまたは複数を実行するように構成され得る。様々な実施形態では、モバイルデバイスにおいて、通信リンクの適格性を判定するための第1の通信に対する第1の要求をサーバに送信するための手段710は、プロセッサ204(図2)、メモリ206(図2)、DSP220(図2)、および送信機210(図2)の1つまたは複数によって実装され得る。
【０１６３】
ある実施形態では、第1の要求に応答して、通信リンクを通じてサーバから第1の通信を受信するための手段720は、ブロック620(図6)に関して上で説明された機能の1つまたは複数を実行するように構成され得る。様々な実施形態では、第1の要求に応答して、通信リンクを通じてサーバから第1の通信を受信するための手段720は、プロセッサ204(図2)、メモリ206(図2)、DSP220(図2)、および受信機212(図2)の1つまたは複数によって実装され得る。
【０１６４】
ある実施形態では、第1の通信に基づいて通信リンクの適格性を判定するための手段730は、ブロック630(図6)に関して上で説明された機能の1つまたは複数を実行するように構成され得る。様々な実施形態では、第1の通信に基づいて通信リンクの適格性を判定するための手段730は、プロセッサ204(図2)、メモリ206(図2)、およびDSP220(図2)の1つまたは複数によって実装され得る。
【０１６５】
ある実施形態では、複数のネットワークの判定された適格性を特定する情報を記憶するための手段740は、ブロック640(図6)に関して上で説明された機能の1つまたは複数を実行するように構成され得る。様々な実施形態では、複数のネットワークの判定された適格性を特定する情報を記憶するための手段740は、プロセッサ204(図2)、メモリ206(図2)、およびDSP220(図2)の1つまたは複数によって実装され得る。
【０１６６】
ある実施形態では、通信リンクを通じて、第2の通信に対する第2の要求を選択的に送信するための手段750は、ブロック650(図6)に関して上で説明された機能の1つまたは複数を実行するように構成され得る。様々な実施形態では、通信リンクを通じて、第2の通信に対する第2の要求を選択的に送信するための手段750は、プロセッサ204(図2)、メモリ206(図2)、DSP220(図2)、および送信機210(図2)の1つまたは複数によって実装され得る。
【０１６７】
図8は、アクティブな通信リンクの特性を判定する方法のある実施形態を示すフローチャート800である。フローチャート800の方法は、図2に関して上で論じられたワイヤレス通信システム100、および図2に関して上で論じられたワイヤレスデバイス202を参照して本明細書では説明されるが、フローチャート800の方法は、本明細書で説明された別のデバイス、または任意の他の適切なデバイスによって実施され得ることを、当業者は諒解するだろう。ある実施形態では、フローチャート800中のステップは、少なくとも一部、たとえば、プロセッサ204(図2)および/またはDSP220(図2)のようなプロセッサまたはコントローラによって、場合によってはメモリ206(図2)とともに実行され得る。フローチャート800の方法は、特定の順序を参照して本明細書では説明されるが、様々な実施形態では、本明細書のブロックは異なる順序で実行されてよく、または省略されてよく、かつ追加のブロックが追加されてよい。
【０１６８】
まず、ブロック810において、STA106が、アクティブな通信リンクを介してサーバ116にアクセスすることの正当性を判定する。アクティブな通信リンクはたとえば、通信リンク112であり得る。STA106は、第1のアクセス制約に基づいて、サーバ116にアクセスすることの正当性を判定する。ある実施形態では、第1のアクセス制約は、図3に関して上で論じられた、デバイス管理情報310を含み得る。たとえば、第1のアクセス制約は、アクセス確率因子330(図3)、品質推定割当340、BQEキャッシュ期間350、BQE履歴制限360、受動BQE命令370、および/または、ワイヤレスデバイス202sがBQEをどのようにまたはいつ実行すべきかを示す他の情報を含み得る。様々な実施形態において、第1のアクセス制約は、たとえば、ICD割当、ICDキャッシュ期間、ICD履歴制限360、および/または、STA106がICDをどのようにまたはいつ実行すべきかを示す他の情報のような、図5に関して上で論じられたような、類似したICDデバイス管理情報を含み得る。
【０１６９】
プロセッサ204は、図2に関して上で論じられたように、サーバ116がBQEおよび/またはICDに利用可能かどうかを判定することができる。ある実施形態では、STA106は、通信ネットワーク100(図1)のような通信ネットワークに接続する。ある実施形態では、プロセッサ202は、送信機210に、ワイヤレス202sをAP104と接続させる。ある実施形態では、プロセッサ204は、ワイヤレスデバイス202sが通信ネットワークに接続するたびにBQEおよび/またはICDを試みることができる。たとえば、プロセッサ204は、ワイヤレスデバイス202sがAP104のようなAPと接続するたびにBQEおよび/またはICDを試みることができる。
【０１７０】
次いで、ブロック820において、STA106は、サーバへのアクセスが可能である場合、サーバ116からの通信に対する要求を送信する。様々な実施形態では、要求は、図2〜図4に関して上で論じられたような、BQE要求およびICD要求の1つまたは複数を含み得る。送信機210は、アンテナ216を介して、要求をサーバ116に送信することができる。通信は、図2〜図4に関して上で論じられたような、BQE応答およびICD応答の1つまたは複数を含み得る。
【０１７１】
その後、ブロック830において、STA106は、要求に応答して、通信リンクを通じてサーバ116から通信を受信する。ある実施形態では、通信リンクは、バックホール通信リンク112を含み得る。通信は、図2〜図4に関して上で論じられたような、BQE応答およびICD応答の1つまたは複数を含み得る。したがって、サーバ116からの通信は、アクセス確率因子330(図3)、品質推定割当340、BQEキャッシュ期間350、BQE履歴制限360、受動BQE命令370、および/または、ワイヤレスデバイス202sがBQEをどのようにまたはいつ実行すべきかを示す他の情報を含み得る。様々な実施形態において、通信は、たとえば、ICD割当、ICDキャッシュ期間、ICD履歴制限360、および/または、STA106がICDをどのようにまたはいつ実行すべきかを示す他の情報のような、図5に関して上で論じられたような、類似したICDデバイス管理情報を含み得る。受信機212は、アンテナ216を介して、通信をサーバ116から受信することができる。
【０１７２】
その後、ブロック840において、STA106は、サーバ116からの通信に基づいて、通信リンク112の特性を判定する。様々な実施形態では、特性は、BQE結果およびICD結果の1つまたは複数を含み得る。特性は、サーバ116からの応答に基づく品質尺度を含み得る。たとえば、プロセッサ204は、サーバ116から応答をダウンロードするのにかかる時間を測定し、品質推定応答のサイズを転送時間で除算することによって、通信リンクの速度を推定することができる。プロセッサ204は、サーバが品質推定要求に応答するのにかかる時間を測定することによって、通信リンクのレイテンシを推定することができる。プロセッサ204は、応答を受信する時にパケットおよび確認応答の送信を監視することによって、通信リンクのパケット遅延変動を推定することができる。プロセッサ204は、応答を受信する時にサーバ116によって再送信されるパケットの数を測定することによって、通信リンクのパケットロス率を推定することができる。
【０１７３】
ある実施形態では、プロセッサ204は、メモリ206に特性を記憶することができる。プロセッサ204は、サーバからの通信に基づいて、第1のアクセス制約を更新することができる。たとえば、応答がデバイス管理情報310を含む実施形態では、プロセッサ204は、サーバ116が利用できるかどうかを判定する際に後で使用するために、デバイス管理情報310をメモリ206に記憶することができる。
【０１７４】
図9は、本発明の例示的な実施形態による、アクティブな通信リンクの特性を判定するためのシステム900の機能ブロック図である。システムは、図9に示される簡略化されたシステム900よりも多くのコンポーネントを有し得ることを、当業者は諒解するだろう。示されるシステム900は、特許請求の範囲内の実装形態のいくつかの顕著な特徴を説明するのに有用なコンポーネントのみを含む。
【０１７５】
アクティブな通信リンクの特性を判定するためのシステム900は、第1のアクセス制約に基づいて、アクティブな通信リンクを介してサーバにアクセスすることの正当性を判定するための手段910と、アクセスすることが正当である場合にサーバからの通信に対する要求を送信するための手段920と、要求に応答して、通信リンクを通じてサーバから通信を受信するための手段930と、サーバからの通信に基づいて通信リンクの特性を判定するための手段940とを含む。
【０１７６】
ある実施形態では、第1のアクセス制約に基づいて、アクティブな通信リンクを介してサーバにアクセスすることの正当性を判定するための手段910は、ブロック810(図8)に関して上で説明された機能の1つまたは複数を実行するように構成され得る。様々な実施形態では、第1のアクセス制約に基づいて、アクティブな通信リンクを介してサーバにアクセスすることの正当性を判定するための手段910は、プロセッサ204(図2)、メモリ206(図2)、およびDSP220(図2)の1つまたは複数によって実装され得る。
【０１７７】
ある実施形態では、アクセスすることが正当である場合にサーバからの通信に対する要求を送信するための手段920は、ブロック820(図8)に関して上で説明された機能の1つまたは複数を実行するように構成され得る。様々な実施形態では、アクセスすることが正当である場合にサーバからの通信に対する要求を送信するための手段920は、プロセッサ204(図2)、メモリ206(図2)、DSP220(図2)、および送信機210(図2)の1つまたは複数によって実装され得る。
【０１７８】
ある実施形態では、要求に応答して、通信リンクを通じてサーバから通信を受信するための手段930は、ブロック830(図8)に関して上で説明された機能の1つまたは複数を実行するように構成され得る。様々な実施形態では、要求に応答して、通信リンクを通じてサーバから通信を受信するための手段930は、プロセッサ204(図2)、メモリ206(図2)、DSP220(図2)、および受信機212(図2)の1つまたは複数によって実装され得る。
【０１７９】
ある実施形態では、サーバからの通信に基づいて通信リンクの特性を判定するための手段940は、ブロック840(図8)に関して上で説明された機能の1つまたは複数を実行するように構成され得る。様々な実施形態では、サーバからの通信に基づいて通信リンクの特性を判定するための手段940は、プロセッサ204(図2)、メモリ206(図2)、およびDSP220(図2)の1つまたは複数によって実装され得る。
【０１８０】
図10は、アクセスポイントを通じたサーバへの接続性を検出する方法のある実施形態を示すフローチャート1000である。フローチャート1000の方法は、図2に関して上で論じられたワイヤレス通信システム100、および図2に関して上で論じられたワイヤレスデバイス202を参照して本明細書では説明されるが、フローチャート1000の方法は、本明細書で説明された別のデバイス、または任意の他の適切なデバイスによって実施され得ることを、当業者は諒解するだろう。ある実施形態では、フローチャート1000中のステップは、少なくとも一部、たとえば、プロセッサ204(図2)および/またはDSP220(図2)のようなプロセッサまたはコントローラによって、場合によってはメモリ206(図2)とともに実行され得る。フローチャート1000の方法は、特定の順序を参照して本明細書では説明されるが、様々な実施形態では、本明細書のブロックは異なる順序で実行されてよく、または省略されてよく、かつ追加のブロックが追加されてよい。
【０１８１】
まず、ブロック1010において、STA106が、トークンを含む接続検出要求を生成する。ある実施形態では、接続検出要求は、図5に関して上で説明されたICD要求を含み得る。トークンは、図5に関して上で説明された一時的な識別子を含み得る。たとえば、トークンは、たとえば、AP104のBSSIDのようなキーを含み得る。トークンは、たとえば、リダイレクトまたはスプーフィングされた、ログインプロンプト、支払プロンプトなどのような、「captive portal」情報と、有効なICD応答とを、STA106が区別することを可能にし得る。
【０１８２】
ある実施形態では、STA106は、通信ネットワーク100(図1)のような通信ネットワークに接続する。ある実施形態では、プロセッサ202は、送信機210に、ワイヤレス202sをAP104と接続させる。ある実施形態では、プロセッサ204は、ワイヤレスデバイス202sが通信ネットワークに接続するたびにICDを試みることができる。たとえば、プロセッサ204は、ワイヤレスデバイス202sがAP104のようなAPと接続するたびにICDを試みることができる。
【０１８３】
次いで、ブロック1120において、STA106が、たとえばサーバ116のようなサーバに宛てられた接続検出要求を、AP104を介して送信する。STA106は、バックホール通信リンク112を通じて、送信機210を介して接続検出要求を送信することができる。接続検出要求は、サーバ116に対するICD URIのためのICD HTTP GETを含み得る。
【０１８４】
次に、ブロック1130において、STA106は、サーバ116からの接続検出応答を待機する。ある実施形態では、接続検出応答は、図2〜図5に関して上で説明されたICD応答を含み得る。ある実施形態では、プロセッサ204は、サーバ116からの応答を、ある時間待機することができる。その時間は、ICDタイムアウト値であり得る。ICD応答がICDタイムアウト内に受信されない場合、プロセッサは、AP104がインターネット接続性を提供しないと判定することができる。
【０１８５】
その後、ブロック1140において、STA106が、受信された接続検出応答がトークンを含むかどうかを判定する。ある実施形態では、ICD応答が予測された位置にキーを含む場合、プロセッサ204は、AP104がインターネット接続性を提供すると判定することができる。ICD応答が異常である(たとえば、トークンがない)場合、プロセッサは、AP104がインターネット接続性を提供しないと判定することができる。ある実施形態では、プロセッサ204は、サーバ116のIPアドレスを決定するために、DNS要求を生成し送信することができる。DNS要求が失敗した場合、プロセッサ204は、ブロック710において、AP104がインターネットアクセスを提供しないと判定することができる。ICDが成功するか失敗するかに関係なく、プロセッサ204は、ICD結果をメモリ206に記憶することができる。
【０１８６】
図11は、本発明の例示的な実施形態による、アクセスポイントを通じたサーバへの接続性を検出するためのシステム1100の機能ブロック図である。システムは、図11に示される簡略化されたシステム1100よりも多くのコンポーネントを有し得ることを、当業者は諒解するだろう。示されるシステム1100は、特許請求の範囲内の実装形態のいくつかの顕著な特徴を説明するのに有用なコンポーネントのみを含む。
【０１８７】
アクセスポイントを通じたサーバへの接続性を検出するためのシステム1100は、ワイヤレスデバイスにおいて、トークンを含む接続検出要求を生成するための手段1110と、ワイヤレスデバイスにおいて、サーバに宛てられた接続検出要求をアクセスポイントを介して送信するための手段1120と、サーバからの接続検出応答を待機するための手段1130と、受信された接続検出応答がトークンを含むかどうかを判定するための手段1140とを含む。
【０１８８】
ある実施形態では、ワイヤレスデバイスにおいて、トークンを含む接続検出要求を生成するための手段1110は、ブロック1010(図10)に関して上で説明された機能の1つまたは複数を実行するように構成され得る。様々な実施形態では、ワイヤレスデバイスにおいて、トークンを含む接続検出要求を生成するための手段1110は、プロセッサ204(図2)、メモリ206(図2)、およびDSP220(図2)の1つまたは複数によって実装され得る。
【０１８９】
ある実施形態では、ワイヤレスデバイスにおいて、サーバに宛てられた接続検出要求をアクセスポイントを介して送信するための手段1120は、ブロック1020(図10)に関して上で説明された機能の1つまたは複数を実行するように構成され得る。様々な実施形態では、ワイヤレスデバイスにおいて、サーバに宛てられた接続検出要求をアクセスポイントを介して送信するための手段1120は、プロセッサ204(図2)、メモリ206(図2)、DSP220(図2)、および送信機210(図2)の1つまたは複数によって実装され得る。
【０１９０】
ある実施形態では、サーバからの接続検出応答を待機するための手段1130は、ブロック1030(図10)に関して上で説明された機能の1つまたは複数を実行するように構成され得る。様々な実施形態では、サーバからの接続検出応答を待機するための手段1130は、プロセッサ204(図2)、メモリ206(図2)、およびDSP220(図2)の1つまたは複数によって実装され得る。
【０１９１】
ある実施形態では、受信された接続検出応答がトークンを含むかどうかを判定するための手段1140は、ブロック1040(図10)に関して上で説明された機能の1つまたは複数を実行するように構成され得る。様々な実施形態では、受信された接続検出応答がトークンを含むかどうかを判定するための手段1140は、プロセッサ204(図2)、メモリ206(図2)、およびDSP220(図2)の1つまたは複数によって実装され得る。
【０１９２】
図12は、ワイヤレスネットワークにおいて通信する方法のある実施形態を示すフローチャート1200である。フローチャート1200の方法は、図2に関して上で論じられたワイヤレス通信システム120、および図2に関して上で論じられたワイヤレスデバイス202を参照して本明細書では説明されるが、フローチャート1200の方法は、本明細書で説明された別のデバイス、または任意の他の適切なデバイスによって実施され得ることを、当業者は諒解するだろう。ある実施形態では、フローチャート1200中のステップは、少なくとも一部、たとえば、プロセッサ204(図2)および/またはDSP220(図2)のようなプロセッサまたはコントローラによって、場合によってはメモリ206(図2)とともに実行され得る。フローチャート1200の方法は、特定の順序を参照して本明細書では説明されるが、様々な実施形態では、本明細書のブロックは異なる順序で実行されてよく、または省略されてよく、かつ追加のブロックが追加されてよい。
【０１９３】
まず、ブロック1210において、STA106が、少なくとも1つの通信リンクのネットワーク接続性を、許容可能または許容不可能であると判定する。様々な実施形態では、STA106は、バックホール通信リンク112、またはAP104と関連する別のリンクのネットワーク接続性を、それぞれ図4および図5に関して上で説明されたフローチャート400および/または500に従って、許容可能または許容不可能であると判定することができる。STA106は、たとえば、WiFiリンク、セルラーリンク、Bluetooth（登録商標）リンクなどのような、図1には示されない1つまたは複数の利用可能な通信リンクおよび/またはAPの各々のネットワーク接続性を判定することができる。
【０１９４】
たとえば、STA106は、本明細書で説明されるようにICDを実行し、通信リンクのネットワーク接続性を、AP104がインターネット接続性を提供する場合には許容可能であると判定し、AP104がインターネット接続性を提供しない場合には許容不可能であると判定することができる。ある実施形態では、STA106は、本明細書で説明されるようにBQEを実行し、通信リンクのネットワーク接続性を、BQE結果が閾値を超える場合には許容可能であると判定し、BQE結果が閾値を超えない場合には許容不可能であると判定することができる。
【０１９５】
次に、ブロック1220において、STA106は、許容不可能なネットワーク接続性を有する1つまたは複数の通信リンクを通じて、データの第1のサブセットを送信する。ある実施形態では、STA106は、許容不可能なネットワーク接続性を有する各通信リンクを通じて、データの第1のサブセットを送信する。AP104が「captive portal」である状況では、許容不可能な通信リンクを通じたデータの第1のサブセットの送信は、ユーザが、ログインプロンプト、支払プロンプトなどにアクセスすることを可能にし得る。許容不可能な通信リンクを通じたデータの第1のサブセットの送信はさらに、STA106が、ネットワーク接続性の変化を検出することを可能にし得る。プロセッサ204は、送信機210を介してデータの第1のサブセットを送信することができる。
【０１９６】
次いで、ブロック1230において、STA106は、許容可能なネットワーク接続性を有する1つまたは複数の通信リンクを通じて、データの第2のサブセットを送信する。ある実施形態では、STA106は、許容可能なネットワーク接続性を有する各通信リンクを通じて、データの第1のサブセットを送信する。許容可能な通信リンクを通じたデータの第2のサブセットの通信は、ネットワークアクセスの信頼性と品質を向上させ得る。様々な実施形態において、データの第1のサブセットおよび第2のサブセットは、重なることがあり、または重ならないことがある。ある実施形態では、STA106は、たとえば、許容不可能な接続性を有する通信リンクのような1つまたは複数の通信リンクのネットワーク接続性を、連続的に、定期的に、または間欠的に再判定することができる。プロセッサ204は、送信機210を介してデータの第2のサブセットを送信することができる。
【０１９７】
図13は、本発明の例示的な実施形態による、ワイヤレスネットワークにおいて通信するためのシステム1300の機能ブロック図である。システムは、図13に示される簡略化されたシステム1300よりも多くのコンポーネントを有し得ることを、当業者は諒解するだろう。示されるシステム1300は、特許請求の範囲内の実装形態のいくつかの顕著な特徴を説明するのに有用なコンポーネントのみを含む。
【０１９８】
ワイヤレスネットワークにおいて通信するためのシステム1300は、少なくとも1つの通信リンクのネットワーク接続性を許容可能または許容不可能であると判定するための手段1310と、許容不可能なネットワーク接続性を有する通信リンクを通じてデータの第1のサブセットを送信するための手段1320と、許容可能なネットワーク接続性を有する通信リンクを通じてデータの第2のサブセットを送信するための手段1330とを含む。
【０１９９】
ある実施形態では、少なくとも1つの通信リンクのネットワーク接続性を許容可能または許容不可能であると判定するための手段1310は、ブロック1210(図12)に関して上で説明された機能の1つまたは複数を実行するように構成され得る。様々な実施形態では、少なくとも1つの通信リンクのネットワーク接続性を許容可能または許容不可能であると判定するための手段1310は、プロセッサ204(図2)、メモリ206(図2)、DSP220(図2)、送信機210、および受信機212の1つまたは複数によって実装され得る。
【０２００】
ある実施形態では、許容不可能なネットワーク接続性を有する通信リンクを通じてデータの第1のサブセットを送信するための手段1320は、ブロック1220(図12)に関して上で説明された機能の1つまたは複数を実行するように構成され得る。様々な実施形態では、許容不可能なネットワーク接続性を有する通信リンクを通じてデータの第1のサブセットを送信するための手段1320は、プロセッサ204(図2)、メモリ206(図2)、DSP220(図2)、および送信機210の1つまたは複数によって実装され得る。
【０２０１】
ある実施形態では、許容可能なネットワーク接続性を有する通信リンクを通じてデータの第2のサブセットを送信するための手段1330は、ブロック1230(図12)に関して上で説明された機能の1つまたは複数を実行するように構成され得る。様々な実施形態では、許容可能なネットワーク接続性を有する通信リンクを通じてデータの第2のサブセットを送信するための手段1330は、プロセッサ204(図2)、メモリ206(図2)、DSP220(図2)、および送信機210の1つまたは複数によって実装され得る。
【０２０２】
図14は、通信リンクの特性を判定する別の方法のある実施形態を示すフローチャート1400である。フローチャート1400の方法は、図2に関して上で論じられたワイヤレス通信システム100、および図2に関して上で論じられたワイヤレスデバイス202を参照して本明細書では説明されるが、フローチャート1400の方法は、本明細書で説明された別のデバイス、または任意の他の適切なデバイスによって実施され得ることを、当業者は諒解するだろう。ある実施形態では、フローチャート1400中のステップは、少なくとも一部、たとえば、プロセッサ204(図2)および/またはDSP220(図2)のようなプロセッサまたはコントローラによって、場合によってはメモリ206(図2)とともに実行され得る。フローチャート1400の方法は、特定の順序を参照して本明細書では説明されるが、様々な実施形態では、本明細書のブロックは異なる順序で実行されてよく、または省略されてよく、かつ追加のブロックが追加されてよい。
【０２０３】
まず、ブロック1410において、STA106が、通信リンク112を通じて、通信に対する要求をサーバ116に送信する。通信は、通信リンク112の適格性を判定するためのものであり得る。様々な実施形態では、要求は、図2〜図4に関して上で論じられたような、BQE要求およびICD要求の1つまたは複数を含み得る。通信は、図2〜図4に関して上で論じられたような、BQE応答およびICD応答の1つまたは複数を含み得る。
【０２０４】
次に、ブロック1420において、STA106は、要求に応答して、サーバ116から通信を受信する。サーバ116は、通信リンク112を通じて通信を送信することができる。STA106は、受信機212を介して第1の通信を受信することができる。
【０２０５】
次いで、ブロック1430において、STA106は、トラフィックと通信を受信するための時間との少なくとも1つの目標量を計算する。ある実施形態では、STAは、図2に関して上で論じられたように、BQEを実行する間にダウンロードすべきデータの目標量を計算することができる。ある実施形態では、STAは、図2に関して上で論じられたように、BQE応答がダウンロードされるべき最長の時間を示すBQEタイムアウトを計算することができる。STA106は、要求されるファイルサイズを計算することができ、ダウンロードされるべきデータの目標量は、要求されるファイルサイズより小さくてよい。
【０２０６】
ある実施形態では、STA106は、サーバへの往復時間を推定することができる。STA106は、サーバからファイルを要求し、応答時間を測定することができる。STA106は、転送プロトコルによって使用されるセグメントサイズを推定することができる。STA106は、最大推定速度を決定することができる。STA106は、使用する転送フローの数を決定することができる。STA106は、転送プロトコルがスロースタートモードで費やす時間に対する、転送プロトコルが混雑回避モードで費やす時間の第1の比、転送フローの数、推定される往復時間、推定されるセグメントサイズ、および最大推定速度のうちの1つまたは複数に基づいて、目標を計算することができる。
【０２０７】
その後、ブロック1440において、STA106は、計算された時間または受信されたトラフィックの量に基づいて、通信を終了する。たとえば、STA106は、BQEの間に受信されるトラフィックの量を監視し、受信されたトラフィックの量がトラフィックの計算された目標量を超える場合、BQE応答の受信を終了することができる。別の例では、STA106は、BQE応答を転送するのにかかる時間を測定することができ、測定された時間が計算された目標の時間を超える場合、BQE応答の受信を終了することができる。したがって、STA106は、BQE応答が完全にダウンロードされる前に、BQE応答の転送を終了することができる。
【０２０８】
その後、ブロック1450において、STA106は、サーバ116からの通信に基づいて、通信リンク112の特性を判定する。様々な実施形態では、特性は、BQE結果およびICD結果の1つまたは複数を含み得る。特性は、サーバ116からの応答に基づく品質尺度を含み得る。たとえば、プロセッサ204は、サーバ116から応答をダウンロードするのにかかる時間を測定し、品質推定応答のサイズを転送時間で除算することによって、通信リンクの速度を推定することができる。プロセッサ204は、サーバが品質推定要求に応答するのにかかる時間を測定することによって、通信リンクのレイテンシを推定することができる。プロセッサ204は、応答を受信する時にパケットおよび確認応答の送信を監視することによって、通信リンクのパケット遅延変動を推定することができる。プロセッサ204は、応答を受信する時にサーバ116によって再送信されるパケットの数を測定することによって、通信リンクのパケットロス率を推定することができる。
【０２０９】
ある実施形態では、プロセッサ204は、メモリ206に特性を記憶することができる。プロセッサ204は、サーバからの通信に基づいて、第1のアクセス制約を更新することができる。たとえば、応答がデバイス管理情報310を含む実施形態では、プロセッサ204は、サーバ116が利用できるかどうかを判定する際に後で使用するために、デバイス管理情報310をメモリ206に記憶することができる。
【０２１０】
図15は、本発明の例示的な実施形態による、通信リンクの特性を判定するための別のシステム1500の機能ブロック図である。システムは、図15に示される簡略化されたシステム1500よりも多くのコンポーネントを有し得ることを、当業者は諒解するだろう。示されるシステム1500は、特許請求の範囲内の実装形態のいくつかの顕著な特徴を説明するのに有用なコンポーネントのみを含む。
【０２１１】
通信リンクの特性を判定するためのシステム1500は、モバイルデバイスにおいて、サーバからの通信に対する要求を送信するための手段1510と、要求に応答して、通信リンクを通じてサーバから通信を受信するための手段1520と、トラフィックと通信を受信するための時間との少なくとも1つの目標量を計算するための手段1530と、計算された時間または受信されたトラフィックの量に基づいて通信を終了するための手段1540と、サーバからの通信に基づいて通信リンクの特性を判定するための手段1550とを含む。
【０２１２】
ある実施形態では、モバイルデバイスにおいて、サーバからの通信に対する要求を送信するための手段1510は、ブロック1410(図14)に関して上で説明された機能の1つまたは複数を実行するように構成され得る。様々な実施形態では、モバイルデバイスにおいて、サーバからの通信に対する要求を送信するための手段1510は、プロセッサ204(図2)、メモリ206(図2)、DSP220(図2)、および送信機210(図2)の1つまたは複数によって実装され得る。
【０２１３】
ある実施形態では、要求に応答して、通信リンクを通じてサーバから通信を受信するための手段1520は、ブロック1420(図14)に関して上で説明された機能の1つまたは複数を実行するように構成され得る。様々な実施形態では、要求に応答して、通信リンクを通じてサーバから通信を受信するための手段1520は、プロセッサ204(図2)、メモリ206(図2)、DSP220(図2)、および受信機212(図2)の1つまたは複数によって実装され得る。
【０２１４】
ある実施形態では、トラフィックと通信を受信するための時間との少なくとも1つの目標量を計算するための手段1530は、ブロック1430(図14)に関して上で説明された機能の1つまたは複数を実行するように構成され得る。様々な実施形態では、トラフィックと通信を受信するための時間との少なくとも1つの目標量を計算するための手段1530は、プロセッサ204(図2)、メモリ206(図2)、およびDSP220(図2)の1つまたは複数によって実装され得る。
【０２１５】
ある実施形態では、計算された時間または受信されたトラフィックの量に基づいて通信を終了するための手段1540は、ブロック1440(図14)に関して上で説明された機能の1つまたは複数を実行するように構成され得る。様々な実施形態では、計算された時間または受信されたトラフィックの量に基づいて通信を終了するための手段1540は、プロセッサ204(図2)、メモリ206(図2)、DSP220(図2)、および送信機210(図2)の1つまたは複数によって実装され得る。
【０２１６】
ある実施形態では、サーバからの通信に基づいて通信リンクの特性を判定するための手段1550は、ブロック1550(図14)に関して上で説明された機能の1つまたは複数を実行するように構成され得る。様々な実施形態では、サーバからの通信に基づいて通信リンクの特性を判定するための手段1550は、プロセッサ204(図2)、メモリ206(図2)、およびDSP220(図2)の1つまたは複数によって実装され得る。
【０２１７】
図16は、通信リンクの品質を推定するある実施形態を示すフローチャート1600である。フローチャート1600の方法は、図2に関して上で論じられたワイヤレス通信システム100、および図2に関して上で論じられたワイヤレスデバイス202を参照して本明細書では説明されるが、フローチャート1600の方法は、本明細書で説明された別のデバイス、または任意の他の適切なデバイスによって実施され得ることを、当業者は諒解するだろう。ある実施形態では、フローチャート1600中のステップは、少なくとも一部、たとえば、プロセッサ204(図2)および/またはDSP220(図2)のようなプロセッサまたはコントローラによって、場合によってはメモリ206(図2)とともに実行され得る。フローチャート1600の方法は、特定の順序を参照して本明細書では説明されるが、様々な実施形態では、本明細書のブロックは異なる順序で実行されてよく、または省略されてよく、かつ追加のブロックが追加されてよい。
【０２１８】
まず、ブロック1610において、STA106が、ネットワークインターフェースを介して複数のデータユニットを受信する。たとえば、STA106は、受信機212を介してデータユニットを受信することができる。ある実施形態では、STA106は、ローカルエリアネットワークから、たとえば、AP104に接続される別のSTA106などから、データユニットの一部分を受信することができる。したがって、ローカルエリアネットワークから受信されるデータユニットは、バックホール通信リンク112の品質または接続性を示さないことがある。STA106は、たとえば、ネットワーク114のような非ローカルネットワークから、データユニットの別の部分を受信することができる。非ローカルネットワークから受信されるデータユニットは、バックホール通信リンク112の品質または接続性を示すことがある。
【０２１９】
次に、ブロック1620において、STA106が、ネットワークインターフェースにおいて、受信されたデータユニットを監視する。ある実施形態では、STA106は、受信機212において受信されたバイトをカウントすることができ、ソースアドレス、ソースサブネット、または、受信されたデータユニットに関連する他のネットワーク情報を決定することができる。ある実施形態では、サーバ116は、通信リンク112を介して、1つまたは複数のデータユニットをSTA106に送信することができる。同時に、AP104に接続される別のSTAは、1つまたは複数のデータユニットをSTA106に送信することができる。
【０２２０】
次いで、ブロック1630において、STA106は、ネットワークインターフェースを介して受信された各データユニットに対して、データユニットがローカルエリアネットワークから生じたか非ローカルネットワークから生じたかを判定する。たとえば、プロセッサ204は、受信機212のサブネットおよび受信されたパケットのサブネットを決定することができる。プロセッサ204は、パケットのサブネットが受信機212のサブネットと一致する場合、受信されたパケットがローカルエリアネットワークから生じたと判定することができる。プロセッサ204は、パケットのサブネットが受信機212のサブネットと一致しない場合、受信されたパケットが非ローカルエリアネットワークから生じたと判定することができる。
【０２２１】
様々な実施形態では、プロセッサ204は、限定はされないが、ヘッダ情報(たとえば、ソースIP、ソースサブネット、有効期間(TTL)、マルチキャストまたはブロードキャスト属性など)およびペイロード情報(たとえば、サーバ116によりペイロードに含められる識別情報など)を含む、非ローカルトラフィックからローカルトラフィックを区別するために、パケット中の他の識別情報を使用することができる。ローカルトラフィックはまた、ホップの数によって定義されてよく、または、ソースへの経路をたどることによって決定されてよい。
【０２２２】
その後、ブロック1650において、STA106は、非ローカルネットワークから生じたデータユニットに基づいて、通信リンク112の特性を判定する。STA106は、特性を判定する時、非ローカルデータユニットのみを考慮することができる。STA106は、別の通信リンクの特性を判定する時、ローカルデータユニットを別に考慮することができる。
【０２２３】
様々な実施形態では、特性は、BQE結果およびICD結果の1つまたは複数を含み得る。特性は、サーバ116からの応答に基づく品質尺度を含み得る。たとえば、プロセッサ204は、サーバ116から応答をダウンロードするのにかかる時間を測定し、品質推定応答のサイズを転送時間で除算することによって、通信リンクの速度を推定することができる。プロセッサ204は、サーバが品質推定要求に応答するのにかかる時間を測定することによって、通信リンクのレイテンシを推定することができる。プロセッサ204は、応答を受信する時にパケットおよび確認応答の送信を監視することによって、通信リンクのパケット遅延変動を推定することができる。プロセッサ204は、応答を受信する時にサーバ116によって再送信されるパケットの数を測定することによって、通信リンクのパケットロス率を推定することができる。
【０２２４】
ある実施形態では、プロセッサ204は、メモリ206に特性を記憶することができる。プロセッサ204は、サーバからの通信に基づいて、第1のアクセス制約を更新することができる。たとえば、応答がデバイス管理情報310を含む実施形態では、プロセッサ204は、サーバ116が利用できるかどうかを判定する際に後で使用するために、デバイス管理情報310をメモリ206に記憶することができる。
【０２２５】
ある実施形態では、STA106は、ネットワークインターフェースが利用可能になると、転送速度の測定を開始することができる。たとえば、STA106は、AP104に接続した後、受動BQEを実行することができる。STA106は、ネットワークインターフェースが利用可能になると、タイマを始動することができ、タイマが閾値に達した後、測定を停止することができる。測定の間、STA106は、ネットワークインターフェースを介して受信されたバイトをカウントし、ローカルネットワークから生じたバイトを廃棄し、またはそれを他の方法でカウントから除外することができる。STA106は、図2に関して上で説明されたように、1つまたは複数のバーストレートのサンプルを計算することができる。STA106は、多数の最高のバーストレートのサンプルのレートを平均することができる。
【０２２６】
図17は、本発明の例示的な実施形態による、通信リンクの品質を推定するためのシステム1700の機能ブロック図である。システムは、図17に示される簡略化されたシステム1700よりも多くのコンポーネントを有し得ることを、当業者は諒解するだろう。示されるシステム1700は、特許請求の範囲内の実装形態のいくつかの顕著な特徴を説明するのに有用なコンポーネントのみを含む。
【０２２７】
通信リンクの品質を推定するためのシステム1700は、ネットワークインターフェースを介してデータユニットを受信するための手段1710と、ネットワークインターフェースにおいて受信されたデータユニットを監視するための手段1720と、ネットワークインターフェースを介して受信された各データユニットに対して、データユニットがローカルエリアネットワークから生じたか非ローカルネットワークから生じたかを判定するための手段1730と、非ローカルネットワークから生じたデータユニットに基づいて通信リンクの特性を計算するための手段1740とを含む。
【０２２８】
ある実施形態では、ネットワークインターフェースを介してデータユニットを受信するための手段1710は、ブロック1610(図16)に関して上で説明された機能の1つまたは複数を実行するように構成され得る。様々な実施形態では、ネットワークインターフェースを介してデータユニットを受信するための手段1710は、プロセッサ204(図2)、メモリ206(図2)、DSP220(図2)、および受信機212(図2)の1つまたは複数によって実装され得る。
【０２２９】
ある実施形態では、ネットワークインターフェースにおいて受信されたデータユニットを監視するための手段1720は、ブロック1620(図16)に関して上で説明された機能の1つまたは複数を実行するように構成され得る。様々な実施形態では、ネットワークインターフェースにおいて受信されたデータユニットを監視するための手段1720は、プロセッサ204(図2)、メモリ206(図2)、およびDSP220(図2)の1つまたは複数によって実装され得る。
【０２３０】
ある実施形態では、ネットワークインターフェースを介して受信された各データユニットに対して、データユニットがローカルエリアネットワークから生じたか非ローカルネットワークから生じたかを判定するための手段1730は、ブロック1630(図16)に関して上で説明された機能の1つまたは複数を実行するように構成され得る。様々な実施形態では、ネットワークインターフェースを介して受信された各データユニットに対して、データユニットがローカルエリアネットワークから生じたか非ローカルネットワークから生じたかを判定するための手段1730は、プロセッサ204(図2)、メモリ206(図2)、およびDSP220(図2)の1つまたは複数によって実装され得る。
【０２３１】
ある実施形態では、非ローカルネットワークから生じたデータユニットに基づいて通信リンクの特性を計算するための手段1740は、ブロック1640(図16)に関して上で説明された機能の1つまたは複数を実行するように構成され得る。様々な実施形態では、非ローカルネットワークから生じたデータユニットに基づいて通信リンクの特性を計算するための手段1740は、プロセッサ204(図2)、メモリ206(図2)、およびDSP220(図2)の1つまたは複数によって実装され得る。
【０２３２】
本明細書で使用される「決定すること」という用語は、多種多様な動作を包含する。たとえば、「決定すること」は、算出すること、計算すること、処理すること、導出すること、調査すること、検索すること(たとえば、テーブル、データベース、または別のデータ構造を検索すること)、確認することなどを含み得る。また、「決定すること」は、受信すること(たとえば、情報を受信すること)、アクセスすること(たとえば、メモリ内のデータにアクセスすること)などを含み得る。また、「決定すること」は、解決すること、選択すること、選出すること、確立することなどを含み得る。さらに、本明細書で使用される「チャネル幅」は、いくつかの態様では帯域幅を包含してよく、または帯域幅と呼ばれることがある。
【０２３３】
本明細書で使用される、項目のリスト「のうちの少なくとも1つ」に言及する句は、個々のメンバーを含む、それらの項目の任意の組合せを指す。ある例として、「a、b、またはcのうちの少なくとも1つ」は、a、b、c、a-b、a-c、b-c、およびa-b-cを包含することが意図される。
【０２３４】
上で説明された方法の様々な動作は、様々なハードウェアおよび/またはソフトウェアコンポーネント、回路および/またはモジュールのような、動作を実行することができる任意の適切な手段によって実行され得る。一般に、図に示される任意の動作は、動作を実行することが可能な対応する機能手段によって実行され得る。
【０２３５】
本開示に関して説明された様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブルロジックデバイス(PLD)、個別ゲートまたはトランジスタ論理、個別ハードウェアコンポーネント、あるいは、本明細書で説明される機能を実施するように設計されたそれらの任意の組合せで実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の市販のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。
【０２３６】
1つまたは複数の態様では、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読記憶媒体上に記憶され、またはコンピュータ可読記憶媒体を介して送信され得る。コンピュータ可読記憶媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを搬送もしくは記憶するために使用されコンピュータによってアクセスされ得る任意の他の媒体を含み得る。また、任意の接続が、コンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用される場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク（登録商標）、光ディスク、デジタル多用途ディスク(DVD)、フロッピー（登録商標）ディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザーで光学的にデータを再生する。したがって、一部の態様において、コンピュータ可読記憶媒体は、非一時的コンピュータ可読記憶媒体(たとえば、有形媒体)を含み得る。さらに、一部の態様において、コンピュータ可読記憶媒体は、一時的コンピュータ可読記憶媒体(たとえば、信号)を含み得る。上記の組合せもコンピュータ可読記憶媒体の範囲内に含めるべきである。
【０２３７】
本明細書で開示された方法は、説明された方法を達成するための1つまたは複数のステップまたは動作を含む。方法のステップおよび/または動作は、特許請求の範囲から逸脱することなく、互いに交換され得る。言い換えると、ステップまたは動作の特定の順序が指定されていない限り、特定のステップおよび/または動作の順序および/または使用は、特許請求の範囲から逸脱することなく修正され得る。
【０２３８】
説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、コンピュータ可読記憶媒体上の1つまたは複数の命令として記憶され得る。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを搬送もしくは記憶するために使用されコンピュータによってアクセスされ得る任意の他の媒体を含み得る。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク（登録商標）(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー（登録商標）ディスク(disk)、およびBlu-ray(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。
【０２３９】
したがって、いくつかの態様は、本明細書で提示する動作を実行するためのコンピュータプログラム製品を含み得る。たとえば、そのようなコンピュータプログラム製品は、本明細書で説明される動作を実施するために1つまたは複数のプロセッサによって実行可能な命令を記憶(および/または符号化)するコンピュータ可読記憶媒体を含み得る。いくつかの態様では、コンピュータプログラム製品はパッケージング材料を含み得る。
【０２４０】
ソフトウェアまたは命令はまた、伝送媒体を通じて送信され得る。たとえば、ソフトウェアが同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は伝送媒体の定義内に含まれる。
【０２４１】
さらに、本明細書で説明された方法および技法を実行するためのモジュールおよび/または他の適切な手段は、適用可能な場合、ユーザ端末および/または基地局によってダウンロードされ、かつ/またはその他の方法で取得され得ることを諒解されたい。たとえば、そのようなデバイスは、本明細書で説明された方法を実行するための手段の転送を容易にするために、サーバに結合され得る。代わりに、本明細書で説明された様々な方法は、ユーザ端末および/または基地局が、記憶手段をデバイスに結合したすぐ後、または提供したすぐ後に、様々な方法を取得することができるように、記憶手段(たとえば、RAM、ROM、コンパクトディスク(CD)またはフロッピー（登録商標）ディスクなどの物理的記憶媒体など)を介して提供され得る。その上、本明細書で説明された方法および技法をデバイスに与えるための任意の他の適切な技法が利用され得る。
【０２４２】
特許請求の範囲は、上で示された厳密な構成およびコンポーネントに限定されないことを理解されたい。特許請求の範囲から逸脱することなく、上で説明された方法および装置の構成、動作および詳細に対して、様々な改変、変更および変形を行うことができる。
【０２４３】
上記は本開示の態様を対象とするが、本開示の他のさらなる態様が、それらの基本的な範囲から逸脱することなく考案されてよく、それらの範囲は、以下の特許請求の範囲によって決定される。
【符号の説明】
【０２４４】
202  ワイヤレスデバイス
204  プロセッサ
206  メモリ
208  筐体
210  送信機
212  受信機
214  送受信機
216  アンテナ
218  測位モジュール
220  デジタルシグナルプロセッサ
222  ユーザインターフェース
310  デバイス管理情報
320  BQEおよび/またはICDデータ
330  履歴制限
340  キャッシュ期間
350  要求割当
360  アクセス確率因子
370  受動BQE命令
【図１】
0005951779.tif 000003
【図２】
0005951779.tif 000004
【図３】
0005951779.tif 000005
【図４】
0005951779.tif 000006
【図５】
0005951779.tif 000007
【図６】
0005951779.tif 000008
【図７】
0005951779.tif 000009
【図８】
0005951779.tif 000010
【図９】
0005951779.tif 000011
【図１０】
0005951779.tif 000012
【図１１】
0005951779.tif 000013
【図１２】
0005951779.tif 000014
【図１３】
0005951779.tif 000015
【図１４】
0005951779.tif 000016
【図１５】
0005951779.tif 000017
【図１６】
0005951779.tif 000018
【図１７】
0005951779.tif 000019