(58)【調査した分野】(Int.Cl.,DB名)
前記予測モジュールが、前記ログに記録された前記複数の無線接続のうちの異なる最近の無線接続に、各受信されたパラメータに関して計算された前記確率を更に割り当てる、請求項1に記載のローカルコンピューティング装置。
前記1つ又は複数の無線アクセスポイントを含む前記順序付きリストが、前記ログに記録された各異なる最近の無線接続に割り当てられた対応する前記確率に従って降順に配置される、請求項4に記載のローカルコンピューティング装置。
前記ログに記録された各最近の無線接続に対応する無線アクセスポイントを識別することが、前記ログに記録された各無線アクセスポイントと関連付けられたサービスセット識別子、無線チャネル及びメディアアクセス制御アドレスのうちの1つ又は複数に応じて、前記ログに記録された各最近の無線接続に対応する無線アクセスポイントを識別することを含む、請求項4に記載のローカルコンピューティング装置。
前記無線通信モジュールが前記選択された第1の無線アクセスポイントから前記プローブフレームに対する応答を受信することに対応して、前記無線接続管理モジュールが、前記選択された第1の無線アクセスポイントとの接続を更に確立する、請求項1に記載のローカルコンピューティング装置。
前記無線通信モジュールが前記第1の無線アクセスポイントから前記プローブフレームに対する応答を受信しないことに対応して、前記無線接続管理モジュールが、前記順序付きリストの中から接続を試みるべき第2の無線アクセスポイントを更に選択する、請求項1に記載のローカルコンピューティング装置。
前記無線通信モジュールが前記第1の無線アクセスポイントにプローブフレームを送信することが、前記第1の無線アクセスポイントに第1のプローブフレームを送信することを含み、
前記第1の無線アクセスポイントから前記第1のプローブフレームに対する応答を受信しないことに対応して、前記無線接続管理モジュールが、前記選択された第2の無線アクセスポイントに第2のプローブフレームを更に送信する、請求項8に記載のローカルコンピューティング装置。
前記無線通信モジュールが前記順序付きリストの前記無線アクセスポイントのうちのいずれからも前記プローブフレームに対する応答を受信しないことに対応して、前記無線接続管理モジュールが、1つ又は複数の他の無線アクセスポイントの位置を確認するためのスキャンを更に開始する、請求項1に記載のローカルコンピューティング装置。
前記選択された第1の無線アクセスポイントにプローブフレームを送信することが、前記選択された第1の無線アクセスポイントに第1のプローブフレームを送信することを含み、
前記無線接続管理モジュールが、前記順序付きリストの中から接続を試みるべき第2の無線アクセスポイント及び第3の無線アクセスポイントを更に選択し、
前記無線通信モジュールが、前記選択された第1の無線アクセスポイントに前記第1のプローブフレームを送信することと同時に、前記選択された第2の無線アクセスポイントに第2のプローブフレームを更に送信するとともに、前記選択された第3の無線アクセスポイントに第3のプローブフレームを更に送信し、そして、
前記無線接続管理モジュールが、前記選択された第1、第2又は第3の無線アクセスポイントのうちの1つとの接続を、前記無線通信モジュールが対応する前記選択された第1、第2又は第3の無線アクセスポイントのうちの1つから前記プローブフレームに対する応答を受信することに対応して更に確立する、請求項1に記載のローカルコンピューティング装置。
前記無線接続管理モジュールが、(i)前記無線通信モジュールと前記無線アクセスポイントのうちの1つ又は複数との間の信号強度を更に監視するとともに、(ii)前記信号強度が基準信号強度しきい値に等しいか又は基準信号強度しきい値より低いかどうかを更に判定し、
前記リモート分析サーバからの新しい又は更新されたパラメータを要求することが、前記信号強度が前記基準信号強度しきい値に等しいか又は前記基準信号強度しきい値より低いと判定することに対応して、前記リモート分析サーバからの新しい又は更新されたパラメータを要求することを含む、請求項12に記載のローカルコンピューティング装置。
前記ローカルコンピューティング装置によって、前記ログに記録された前記複数の無線接続のうちの異なる最近の無線接続に、各受信されたパラメータに関して計算された前記確率を割り当てる段階を更に含む、請求項15に記載の方法。
前記1つ又は複数の無線アクセスポイントを含む前記順序付きリストが、前記ログに記録された各異なる最近の無線接続に割り当てられた対応する前記確率に従って降順に配置される、請求項18に記載の方法。
前記ログに記録された各最近の無線接続に対応する無線アクセスポイントを識別することが、前記ログに記録された各無線アクセスポイントと関連付けられたサービスセット識別子、無線チャネル及びメディアアクセス制御アドレスのうちの1つ又は複数に応じて、前記ログに記録された各最近の無線接続に対応する無線アクセスポイントを識別することを含む、請求項18に記載の方法。
前記ローカルコンピューティング装置によって、前記選択された第1の無線アクセスポイントから前記プローブフレームに対する応答を受信することに対応して、前記選択された第1の無線アクセスポイントとの接続を確立する段階を更に含む、請求項15に記載の方法。
前記ローカルコンピューティング装置によって、前記第1の無線アクセスポイントから前記プローブフレームに対する応答を受信しないことに対応して、前記順序付きリストの中から接続を試みるべき第2の無線アクセスポイントを選択する段階を更に含む、請求項15に記載の方法。
前記ローカルコンピューティング装置によって、前記順序付きリストの前記無線アクセスポイントのうちのいずれからも前記プローブフレームに対する応答を受信しないことに対応して、1つ又は複数の他の無線アクセスポイントの位置を確認するためのスキャンを開始する段階を更に含む、請求項15に記載の方法。
前記選択された第1の無線アクセスポイントにプローブフレームを送信することが、前記選択された第1の無線アクセスポイントに第1のプローブフレームを送信することを含み、
当該方法が、
前記ローカルコンピューティング装置によって、前記順序付きリストの中から接続を試みるべき第2の無線アクセスポイント及び第3の無線アクセスポイントを選択する段階と、
前記ローカルコンピューティング装置によって、前記選択された第1の無線アクセスポイントに前記第1のプローブフレームを送信することと同時に、前記選択された第2の無線アクセスポイントに第2のプローブフレームを送信するとともに、前記選択された第3の無線アクセスポイントに第3のプローブフレームを送信する段階と、
前記ローカルコンピューティング装置によって、前記選択された第1、第2又は第3の無線アクセスポイントのうちの1つとの接続を、対応する前記選択された第1、第2又は第3の無線アクセスポイントのうちの1つから前記プローブフレームに対する応答を受信することに対応して確立する段階とを更に含む、請求項15に記載の方法。
前記ローカルコンピューティング装置によって、前記ローカルコンピューティング装置と前記無線アクセスポイントのうちの1つ又は複数との間の信号強度を監視する段階と、
前記ローカルコンピューティング装置によって、前記信号強度が基準信号強度しきい値に等しいか又は基準信号強度しきい値より低いかどうかを判定する段階とを更に含み、
前記リモート分析サーバからの新しい又は更新されたパラメータを要求することが、前記信号強度が前記基準信号強度しきい値に等しいか又は前記基準信号強度しきい値より低いと判定することに対応して、前記リモート分析サーバからの新しい又は更新されたパラメータを要求することを含む、請求項26に記載の方法。
前記ローカルコンピューティング装置によって、前記ローカルコンピューティング装置の1つ又は複数のコンポーネントが動作停止状態にあるかどうかを判定する段階を更に含み、
前記リモート分析サーバからの新しい又は更新されたパラメータを要求することが、前記ローカルコンピューティング装置の1つ又は複数のコンポーネントが動作停止状態にあると判定することに対応して、前記リモート分析サーバからの新しい又は更新されたパラメータを要求することを含む、請求項26に記載の方法。
前記受信された履歴的な無線接続情報に応じて1つ又は複数のパラメータを計算することが、遺伝的プログラミング操作を用いて各パラメータに関して予測プログラムを生成することを含む、請求項31に記載のリモート分析サーバ。
前記リモート分析サーバによって、前記受信された履歴的な無線接続情報に応じて計算された前記1つ又は複数のパラメータをリモートパラメータデータベースに保存する段階を更に含む、請求項35に記載の方法。
前記受信された履歴的な無線接続情報に応じて1つ又は複数のパラメータを計算することが、遺伝的プログラミング操作を用いて各パラメータに関して予測プログラムを生成することを含む、請求項35に記載の方法。
【発明を実施するための形態】
【0006】
本開示において説明された概念は、添付の図面において、限定の目的ではなく、一例として例示される。例示の単純化及び明瞭化のために、図面において例示された要素は、一定の比率で必ずしも描画されるとは限らない。例えば、いくつかの要素の寸法は、明瞭にするために、他の要素と比較して誇張されているかもしれない。さらに、適切であると考えられる場合には、対応する要素又は類似している要素を示すために、図面の間で参照符号が繰り返された。
【0007】
本開示の概念は、様々な修正及び代替形態を許すことができる一方、その特定の実施例は、図面において一例として示されたとともに、ここから詳細に説明されることになる。しかしながら、開示された特定の形態に本開示の概念を限定しようという意図がなく、それどころか、その意図が、本開示及び添付された特許請求の範囲と一致する全ての修正物、等価物及び代替物をカバーすることになる、ということが理解されるべきである。
【0008】
下記の説明では、本開示のより詳細な理解を提供するために、論理実装、命令コード、オペランドを指定するための手段、リソースの分割実装/共有実装/重複実装、システムコンポーネントの種類と相互関係、及び論理の分割/統合の選択のような数々の特定の詳細が説明される。しかしながら、当該開示の実施例は、そのような特定の詳細なしで実施され得るということが当業者によって認識されることになる。他の例では、ここで説明された概念の説明を不明瞭にしないために、制御構造、ゲートレベル回路及び完全なソフトウェア命令シーケンスは、詳細に示されなかった。当業者は、含まれた説明によって、必要以上の実験なしで、適切な機能性を実施することができるであろう。
【0009】
「一実施例(one embodiment)」、「実施例(an embodiment)」、「実例実施例(an example embodiment)」などに対する本明細書における言及は、説明された実施例が、特定の特徴、構造又は特性を含むかもしれないが、しかし、全ての実施例が特定の特徴、構造又は特性を必ずしも含むとは限らないかもしれない、ということを示す。さらに、そのような語句は、同じ実施例を必ずしも参照しているとは限らない。さらにまた、特定の特徴、構造又は特性が実施例に関連して説明される場合に、他の実施例に関連してそのような特徴、構造又は特性を達成することは、明確に説明されるか否かにかかわらず、当業者の知識の範囲内にある、ということが主張される。
【0010】
ここで説明された概念の実施例は、ハードウェア、ファームウェア、ソフトウェア又はそのあらゆる組み合わせにおいて実施され得る。コンピュータシステムにおいて実施された実施例は、コンポーネント間の1つ又は複数のポイントツーポイントの相互接続若しくはバスに基づく相互接続を含み得る。ここで説明された概念の実施例は、1つ又は複数の機械読み取り可能な記憶媒体若しくはコンピュータ読み取り可能な記憶媒体によって運ばれるか、あるいは1つ又は複数の機械読み取り可能な記憶媒体若しくはコンピュータ読み取り可能な記憶媒体上に保存されるとともに、1つ又は複数のプロセッサによって読み取られて実行され得る命令として更に実施され得る。機械読み取り可能な記憶媒体又はコンピュータ読み取り可能な記憶媒体は、機械(例えば、コンピューティング装置)によって読み取り可能な形式で情報を保存又は送信するためのあらゆる装置、機構又は物理構造として具体化され得る。例えば、機械読み取り可能な記憶媒体又はコンピュータ読み取り可能な記憶媒体は、(複数の)読み取り専用メモリ(ROM)装置、(複数の)ランダムアクセスメモリ(RAM)装置、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置、ミニSDカード又はマイクロSDカード、メモリスティック及び他のものとして具体化され得る。
【0011】
図面において、装置、モジュール、命令ブロック及びデータ要素を表す要素のような図解の要素の具体的な配置又は順序が、説明の簡略化のために示されるかもしれない。しかしながら、図面における図解の要素の具体的な順序付け又は配置は、処理の特定の順序若しくはシーケンス、又は工程の分離が必要とされると示唆することを意味しない、ということが当業者によって理解されるべきである。さらに、図面における図解の要素の内包物は、そのような要素が全ての実施例において必要とされると示唆すること、又はそのような要素によって表された特徴が、いくつかの実施例における他の要素に含まれないかもしれない、若しくは他の要素と結合されないかもしれないと示唆することを意味しない。
【0012】
概して、命令ブロックを表すために使用される図解の要素は、ソフトウェア又はファームウェアアプリケーション、プログラム、諸関数(functions)、モジュール、ルーチン、プロセス、プロシージャ(procedure)、プラグイン、アプレット、ウィジェット、コードフラグメント(code fragment)及び/又は他のもののような、あらゆる適当な形式の機械読み取り可能命令を用いて実施され得るとともに、各そのような命令は、あらゆる適当なプログラミング言語、ライブラリ、アプリケーションプログラミングインタフェース(API)及び/又は他のソフトウェア開発支援ツールを用いて実装され得る。例えば、いくつかの実施例は、Java(登録商標)、C++及び/又は他のプログラミング言語を用いて実装され得る。同様に、データ又は情報を表すために使用される図解の要素は、レジスタ、データストア、テーブル、レコード、アレイ、インデックス、ハッシュ、マップ、ツリー、リスト、グラフ、(あらゆるファイルタイプの)ファイル、フォルダ、ディレクトリ、データベース及び/又は他のもののようなあらゆる適当な電子的な配置又は構造を用いて実施され得る。
【0013】
さらに、実線若しくは点線、又は矢印のような結合要素が2つ又はそれ以上の他の図解の要素の間又は中の結合、関係又は関連性を例示するために使用される図面において、あらゆるそのような結合要素の欠如は、結合、関係又は関連性が存在し得ないと示唆することを意味しない。言い換えれば、要素の間のいくつかの結合、関係又は関連性は、開示を不明瞭にしないために、図面において示されないかもしれない。さらに、例示の簡略化のために、単一の結合要素が、要素間の複数の結合、関係又は関連性を表すために使用され得る。例えば、結合要素が信号、データ又は命令の通信を表す場合には、そのような要素は、通信をもたらすために、必要とされ得るような1つ又は複数の信号経路(例えば、バス)を表すかもしれない、ということが当業者によって理解されるべきである。
【0014】
ここで
図1を参照すると、無線接続を再確立するのに必要とされる時間量を削減するためのシステム100は、ローカルコンピューティング装置102と、1つ又は複数の無線アクセスポイント110とを含む。ローカルコンピューティング装置102は、履歴的な接続情報、及びローカルコンピューティング装置102の現在の状況に応じて、無線アクセスポイント110のうちの1つ又は複数との無線接続を再確立しようと試み得る。さらに、又はその代りに、ローカルコンピューティング装置102は、所定の時刻にローカルコンピューティング装置102の範囲内にあることが最もあり得る(例えば、最も可能性が高い)無線アクセスポイント110のグループ160、170を予測し得る。
【0015】
いくつかの実施例において、それらの予測は、ローカルコンピューティング装置102の現在の状況、及び1つ又は複数の人工知能に基づく技術(例えば、遺伝的アルゴリズム、遺伝的プログラミングなど)を用いて分析された履歴的な接続情報に応じて判定され得る。そのような実施例において、1つ又は複数の人工知能に基づく技術を用いて履歴的な接続情報を分析することは、コンピュータ処理的及び/又はローカルコンピューティング装置102上に資源集約的であり得る。これは、ローカルコンピューティング装置102が携帯型コンピューティングデバイス(例えば、スマートフォン、タブレットコンピュータ、電子リーダ、ラップトップコンピュータ、携帯情報端末など)、又は制限された若しくは縮小された電源(例えば、バッテリ、手動クランク(hand-power crank)、光電池など)を用いて完全に若しくは部分的に動作することが可能であるあらゆる他の種類のコンピューティング装置を含む実施例においてとりわけ当てはまっている。その結果、ローカルコンピューティング装置102は、履歴的な接続情報の分析の全て又は一部分を、1つ又は複数のリモートコンピューティング装置に押しつけ得る。そうするために、ローカルコンピューティング装置102は、履歴的な接続情報を1つ又は複数のリモートコンピューティング装置に送信し得るとともに、リモートコンピューティング装置は、その場合に、1つ又は複数の人工知能に基づく技術を用いて、受信される履歴的な接続情報を分析し得る。その分析に応じて、1つ又は複数のリモートコンピューティング装置は、1つ又は複数のパラメータを計算し得るとともに、パラメータは、下記で更に詳細に論じられるように、1つ若しくは複数の無線アクセスポイント110、又は1つ若しくは複数の無線アクセスポイント110のグループ160、170のうちのどれが、所定の時刻にローカルコンピューティング装置102の範囲内にあることが最もあり得る(例えば、最も可能性が高い)かを予測することを容易にするために、あとで使用され得る。
【0016】
いくつかの実施例における基準間隔に対応するかもしれない特定の間隔で、ローカルコンピューティング装置102は、新しい及び/又は更新されたパラメータが1つ又は複数のリモートコンピューティング装置から送信されることを要求し得る。いくつかの実施例において、ローカルコンピューティング装置102は、1つ若しくは複数の事象又は誘因となる条件の発生に対応して、新しい及び/又は更新されたパラメータを要求し得る。例えば、ローカルコンピューティング装置102は、ネットワークの接続性の損失、又は動作停止(shutdown)が差し迫っていると判定することに対応して、1つ又は複数のリモートコンピューティング装置からの新しい及び/又は更新されたパラメータを要求し得る。局所的に保存されたパラメータを積極的にリフレッシュする(refresh:新しくする)ことによって、ローカルコンピューティング装置102は、1つ若しくは複数の無線アクセスポイント110、又は1つ若しくは複数の無線アクセスポイント110のグループ160、170のうちのどれが、所定の時刻にローカルコンピューティング装置102の範囲内にあることが最もあり得る(例えば、最も可能性が高い)かを予測することを容易にするために、より最近のパラメータが使用されることを保証し得る。
【0017】
ローカルコンピューティング装置102は、ローカルコンピューティング装置102の現在の状況、及び1つ又は複数のリモートコンピューティング装置から受信される前もって計算されたパラメータに応じて、所定の時刻に無線アクセスポイント110のそれぞれが再接続に利用可能であろう(例えば、ローカルコンピューティング装置102の範囲内でアクセス可能であろう)尤度(likelihood)(例えば、確率(probability))を続いて判定し得る。その判定に応じて、ローカルコンピューティング装置102は、再接続に利用可能であることの最も高い確率を有する無線アクセスポイント110(例えば、上位4つの無線アクセスポイント110)の参照番号(reference number)を含む順序付きリストを生成し得る。すなわち、ローカルコンピューティング装置102は、各々に関して判定された確率に従って降順に配置される無線アクセスポイント110の順序付きリストを生成し得る。
【0018】
いくつかの実施例において、ローカルコンピューティング装置102は、異なるグループ160、170を予測し得るとともに、ローカルコンピューティング装置102の状況、及び1つ又は複数のリモートコンピューティング装置から受信される前もって計算されたパラメータに応じて、無線アクセスポイント110の対応する順序付きリストを生成し得る。例えば、ローカルコンピューティング装置102は、特定の曜日又は特定の時刻に基づいて、あらゆる数の異なる場所120、140において利用され得る。すなわち、ローカルコンピューティング装置102は、その週の期間はある場所120において(例えば、オフィスビルにおいて)、そして週末は別の場所140において(例えば、自宅において)操作され得る。各々の場所120、140において、ローカルコンピューティング装置102は、あらゆる数の異なる無線アクセスポイント110に対して無線接続を確立し得るか、又はあらゆる数の異なる無線アクセスポイント110と接触し得る。例えば、その週の期間にオフィスビル(例えば、場所120)に位置する間に、ローカルコンピューティング装置102は、あらゆる数の無線アクセスポイント110(例えば、AP122、AP124、AP126、AP128、AP130及びAP132)と1つ若しくは複数の無線接続を確立し得るか、及び/又は接触し得る。それに対して、週末に自宅(例えば、場所140)に位置する間に、ローカルコンピューティング装置102は、あらゆる数の無線アクセスポイント110(例えば、AP142、AP144、AP146、AP148、AP150及びAP152)と1つ若しくは複数の無線接続を確立し得るか、及び/又は接触し得る。そのような実施例において、ローカルコンピューティング装置102は、特定の時刻に無線アクセスポイント110のグループ160、170が無線接続の再確立のためにより利用可能であり得るということを予測し得る。例えば、ローカルコンピューティング装置102は、予測されている時刻又は曜日に応じて、他の無線アクセスポイント110(例えば、AP130及びAP132)より、無線アクセスポイント110のグループ160が無線接続を再確立するためにより利用可能であり得ると判定し得る。
【0019】
場所120、140のいずれにも、あらゆる数の追加の無線アクセスポイント110が存在し得るということが理解されるべきである。さらに、2つの異なる場所120、140、及び場所の種類(例えば、オフィスビル及び自宅)だけが例示された実施例において説明されたが、ローカルコンピューティング装置102は、あらゆる数の場所120、140及び/又はあらゆる他の種類の場所における、あらゆる数の異なる無線アクセスポイント110に対して無線接続を確立し得るか、及び/又はあらゆる数の異なる無線アクセスポイント110と接触し得る、ということが更に理解されるべきである。例えば、いくつかの実施例において、ローカルコンピューティング装置102は、1つ又は複数の無線アクセスポイント110を含む空港、小売店、レストラン、ホテル及び/又はあらゆる他の種類の場所における1つ又は複数の無線アクセスポイント110と無線接続を確立し得る。
【0020】
無線接続を再確立するために必要とされる時間量を削減するために、ローカルコンピューティング装置102は、順序付きリストに応じて、無線アクセスポイント110のうちの1つ又は複数に対してプローブフレーム(probe frame)又は有向(directed)接続要求を送信し得る。探索された時に無線アクセスポイント110のうちの1つ又は複数がローカルコンピューティング装置102の範囲内に存在する場合、1つ又は複数の範囲内の無線アクセスポイント110は、プローブフレームに対する応答を生成することができるとともに、そのあとでプローブフレームに対する応答を送信することができる。プローブ応答(probe response)を受け取り次第、ローカルコンピューティング装置102は、対応する無線アクセスポイント110と無線接続を再確立し得る。所定の時刻に無線接続を再確立するために最も利用可能であり得る無線アクセスポイント110を予測するとともに直接探索することによって、ローカルコンピューティング装置102は、完了するために顕著な時間量を概して要する無線アクセスポイントのスキャンを開始する必要がない。そのように、無線接続を再確立するのに必要とされる所要時間が削減され得る。
【0021】
ローカルコンピューティング装置102は、データを処理するとともに、リモートコンピューティング装置と通信するためのあらゆる種類のコンピューティング装置として具体化され得る。
図2の例示した実施例において、ローカルコンピューティング装置102は、プロセッサ204、I/Oサブシステム210、メモリ208、データ記憶装置212、通信回路218、及び1つ又は複数の周辺装置220を備える。いくつかの実施例において、前述のコンポーネントのうちのいくつかは、ローカルコンピューティング装置102のマザーボード上に組み込まれることができ、一方他のコンポーネントは、例えばペリフェラルポートを介してマザーボードと通信可能に結合され得る。さらに、ローカルコンピューティング装置102は、説明を明瞭にするために
図2では例示されない、コンピューティング装置において一般に見いだされる他のコンポーネント、サブコンポーネント及び装置を備え得る、ということが認識されるべきである。
【0022】
ローカルコンピューティング装置102のプロセッサ204は、マイクロプロセッサ、デジタルシグナルプロセッサ、マイクロコントローラなどのような、ソフトウェア/ファームウェアを実行することが可能であるあらゆる種類のプロセッサとして具体化され得る。プロセッサ204は、実例として、プロセッサコア206を有するシングルコアプロセッサとして具体化される。しかしながら、他の実施例において、プロセッサ204は、複数のプロセッサコア206を有するマルチコアプロセッサとして具体化され得る。さらに、ローカルコンピューティング装置102は、1つ又は複数のプロセッサコア206を有する追加のプロセッサ204を備え得る。
【0023】
ローカルコンピューティング装置102のI/Oサブシステム210は、プロセッサ204及び/又はローカルコンピューティング装置102の他のコンポーネントによる入出力操作を容易にするための、回路構成及び/またはコンポーネントとして具体化され得る。いくつかの実施例において、I/Oサブシステム210は、メモリコントローラハブ(MCH、又は「ノースブリッジ」)、入出力コントローラハブ(ICH、又は「サウスブリッジ」)及びファームウェア装置として具体化され得る。そのような実施例において、I/Oサブシステム210のファームウェア装置は、ベーシックインプット/アウトプットシステム(BIOS)のデータ及び/又は命令及び/又は他の情報を保存するメモリ装置として具体化され得る(例えば、BIOSドライバは、ローカルコンピューティング装置102の起動の間に使用される)。しかしながら、他の実施例において、他の構成を有するI/Oサブシステムが使用され得る。例えば、いくつかの実施例において、I/Oサブシステム210は、プラットフォームコントローラハブ(PCH)として具体化され得る。そのような実施例において、メモリコントローラハブ(MCH)は、プロセッサ204に組み込まれるかもしれないし、又はそうでなければプロセッサ204と結合されるかもしれないとともに、プロセッサ204は、(
図2において点線で示されたように)メモリ208と直接通信するかもしれない。さらに、他の実施例において、I/Oサブシステム210は、システムオンチップ(SOC)の一部分を形成し得るとともに、プロセッサ204及びローカルコンピューティング装置102の他のコンポーネントと一緒に、単一の集積回路チップに組み込まれ得る。
【0024】
プロセッサ204は、複数の信号経路を介して、I/Oサブシステムと通信可能に結合される。これらの信号経路(及び、
図2において例示された他の信号経路)は、ローカルコンピューティング装置102のコンポーネント間の通信を容易にすることが可能である、あらゆる種類の信号経路として具体化され得る。例えば、信号経路は、あらゆる数の配線、ケーブル、光導波路、プリントされた回路基板トレース、ビア、バス、介在装置(intervening device)、ポイントツーポイント相互接続、及び/又はそのようなものとして具体化され得る。
【0025】
ローカルコンピューティング装置102のメモリ208は、例えば、ダイナミックランダムアクセスメモリ装置(DRAM)、同期式ダイナミックランダムアクセスメモリ装置(SDRAM)、二重データレート同期式ダイナミックランダムアクセスメモリ装置(DDR SDRAM)、マスク読み出し専用メモリ(ROM)装置、消去可能なプログラマブルロム(EPROM)、電気的に消去可能なプログラマブルロム(EEPROM)装置、フラッシュメモリ装置、及び/又は、他の揮発性メモリ装置及び/若しくは不揮発性メモリ装置を含む、1つ又は複数のメモリ装置若しくはデータ記憶場所として具体化され得るか、又はそうでなければ、1つ又は複数のメモリ装置若しくはデータ記憶場所を備え得る。メモリ208は、複数の信号経路を介して、I/Oサブシステム210に通信可能に結合される。単一のメモリ装置208のみが
図2において例示されるが、ローカルコンピューティング装置102は、他の実施例において、追加のメモリ装置を備え得る。様々なデータ及びソフトウェアが、メモリ装置208に保存され得る。例えば、プロセッサ204によって実行されるソフトウェアスタックを作り上げる、1つ又は複数のオペレーティングシステム(OS)、アプリケーション、プログラム、ライブラリ、及びドライバが、実行中にメモリ208内に存在し得る。
【0026】
データ記憶装置212は、例えば、メモリ装置及び回路、メモリカード、ハードディスクドライブ、ソリッドステートドライブ又は他のデータ記憶装置のような、データの短期間保存又は長期間保存用に構成されたあらゆる種類の装置又は複数の装置として具体化され得る。いくつかの実施例において、データ記憶装置212は、例えばAP122のような1つ又は複数の無線アクセスポイントとの過去の接続及び現在の接続と関連付けられたデータを保存するために使用され得る。さらに、又はその代りに、データ記憶装置212は、1つ又は複数の無線アクセスポイント110のうちのどれに接続するべきかを予測することを容易にするために使用されるパラメータを保存するために更に使用され得る。そうするために、データ記憶装置212は、例えば無線接続データベース214及びローカルパラメータデータベース216のような、1つ又は複数のデータベースを含み得る。そのような実施例において、無線接続データベース214は、1つ又は複数の無線接続と関連付けられたデータ(例えば、接続開始日時、接続終了日時、接続持続時間など)を含み得るか、又はローカルコンピューティング装置102が接続する無線アクセスポイント110のうちの1つ又は複数に対応する情報(例えば、サービスセット識別子、無線チャネル、メディアアクセス制御アドレスなど)を含み得る。ローカルパラメータデータベース216は、いくつかの実施例において、1つ又は複数のアルゴリズムを用いて計算された1つ又は複数の予測パラメータを含み得る。
【0027】
ローカルコンピューティング装置102の通信回路218は、ネットワーク230を介した、ローカルコンピューティング装置102と1つ又は複数のリモートコンピューティング装置(例えば、リモート分析サーバ240、リモートコンピューティング装置250など)との間の通信を可能にするためのあらゆる数の装置及び回路として具体化され得る。例えば、通信回路218は、いくつかの実施例において、ネットワークインタフェースコントローラ(NIC)として具体化され得る。通信回路218は、例えば、セルラー方式通信プロトコル(例えば、広帯域符号分割多重アクセス(W−CDMA)、無線ネットワーク通信プロトコル(例えば、Wi−Fi(登録商標)、WiMAX)、有線ネットワーク通信プロトコル(例えば、イーサネット(登録商標)及び/又は他の通信プロトコルのような、ネットワーク230と通信するためのあらゆる1つ若しくは複数の通信プロトコル、又は通信プロトコルの組み合わせを使用するように更に構成され得る。
【0028】
ネットワーク230は、あらゆる数の様々な有線通信ネットワーク及び/又は無線通信ネットワークとして具体化され得る。例えば、ネットワーク230は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、移動通信ネットワーク、若しくはインターネットのような公共的にアクセス可能なグローバルネットワークとして具体化され得るか、又はそうでなければ、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、移動通信ネットワーク、若しくはインターネットのような公共的にアクセス可能なグローバルネットワークを含み得る。さらに、ネットワーク230は、ローカルコンピューティング装置102とリモートコンピューティング装置240、250との間の通信を容易にするためのあらゆる数の追加の装置を含み得る。例えば、通信回路218は、ネットワーク230に通信可能に結合され得る1つ又は複数の無線アクセスポイント110(例えば、AP122)に対して、無線で接続し得る。そのような実施例において、通信回路218は、AP122を使用しネットワーク230を介して、リモートコンピューティング装置240、250と通信し得る。
【0029】
ローカルコンピューティング装置102の周辺装置220は、あらゆる数の追加の入出力装置、インタフェース装置及び/又は他の周辺装置を含み得る。例えば、周辺装置220は、コンテンツをユーザに表示するためのディスプレイ、キーボード、マウス又は他の入出力周辺装置を含み得る。周辺装置220は、複数の信号経路を介して、I/Oサブシステム210に通信可能に結合され得るとともに、それにより、I/Oサブシステム210及び/又はプロセッサ204が、周辺装置220から入力を受信するとともに、周辺装置220に対して出力を送信することを可能にする。
【0030】
無線アクセスポイント110(例えば、AP122)は、ここで説明された機能を実行することが可能である、あらゆる種類のコンピューティング装置及び/又は通信装置として具体化され得る。それ故に、無線アクセスポイント110は、ネットワーク230を介して、データを通信し、保存し、転送し、保持し、受信し、及び移動するために、コンピューティング装置において一般に見いだされる様々なハードウェアコンポーネント及びソフトウェアコンポーネント(例えば、プロセッサ、メモリ及び通信回路)を備え得る。
【0031】
リモート分析サーバ240は、ここで説明された機能を実行することが可能である、あらゆる種類のサーバ又は同様のコンピューティング装置として具体化され得る。それ故に、リモート分析サーバ240は、説明の明瞭化のために
図2では示されない、プロセッサ、メモリ装置、通信回路及びデータ記憶装置のような、サーバにおいて一般に見いだされる装置及び構造を備え得る。下記で更に詳細に論じられるように、リモート分析サーバ240は、ローカルコンピューティング装置102から受信される情報を分析するとともに、それにより1つ又は複数のパラメータを計算するように構成される。1つ又は複数のパラメータは、無線アクセスポイント110、又は無線アクセスポイント110のグループ160、170のうちのどれが、特定の時刻にローカルコンピューティング装置102の範囲内にあることが最もあり得るかを予測することを容易にするために、ローカルコンピューティング装置102によってあとで使用され得る。いくつかの実施例において、リモート分析サーバ240は、例えば、リモートコンピューティング装置250のような、1つ又は複数の他のコンピューティング装置と協力して、1つ又は複数のパラメータを計算するように構成される。リモート分析サーバ240は、リモートパラメータデータベース242を更に含み得る。リモートパラメータデータベース242は、いくつかの実施例において、1つ又は複数のアルゴリズムを用いてリモート分析サーバ240によって計算される1つ又は複数の予測パラメータを含み得る。
【0032】
リモートコンピューティング装置250は、ここで説明された機能を実行することが可能である、あらゆる種類のコンピューティング装置として具体化され得る。それ故に、リモートコンピューティング装置250は、説明の明瞭化のために
図2では示されない、プロセッサ、メモリ装置、通信回路及びデータ記憶装置のような、コンピューティング装置において一般に見いだされる装置及び構造を備え得る。下記で更に詳細に論じられるように、リモート分析サーバ240と同様に、リモートコンピューティング装置250は、1つ又は複数のパラメータを計算するように構成されるとともに、1つ又は複数のパラメータは、無線アクセスポイント110、又は無線アクセスポイント110のグループ160、170のうちのどれが、特定の時刻にローカルコンピューティング装置102の範囲内にあることが最もあり得るかを予測することを容易にするために、ローカルコンピューティング装置102によってあとで使用され得る。そうするために、リモートコンピューティング装置250は、パラメータそのものを計算し得るか、又は、上記で論じられたように、リモート分析サーバ240と協力してパラメータを計算し得る。いくつかの実施例において、リモートコンピューティング装置250は、リモート分析サーバ240のリモートパラメータデータベース242と同様なリモートパラメータデータベース252を含み得る。それ故に、リモートコンピューティング装置250のリモートパラメータデータベース252は、1つ又は複数のアルゴリズムを用いてリモートコンピューティング装置250によって計算される1つ又は複数の予測パラメータを含み得る。
【0033】
ここで
図3を参照すると、ローカルコンピューティング装置102の環境300の一実施例は、無線接続記録モジュール302、無線接続管理モジュール304、予測モジュール306、無線通信モジュール308、無線接続データベース214及びローカルパラメータデータベース216を含む。環境300、及び/又はその中に含まれるモジュールのうちのいずれかは、ハードウェア、ファームウェア、ソフトウェア又はそのあらゆる組み合わせにおいて実施され得る、ということが理解されるべきである。
【0034】
上記で論じられたように、いくつかの実施例において、ローカルコンピューティング装置102は、無線アクセスポイント110のうちの1つ又は複数と無線接続を確立し得る。そうするために、無線通信モジュール308は、ローカルコンピューティング装置102の近傍に位置する1つ又は複数の無線アクセスポイント110を識別するためのスキャンを実行し得る。ローカルコンピューティング装置102の近傍に位置する1つ又は複数の無線アクセスポイント110を識別することに対応して、無線通信モジュール308は、無線アクセスポイント110のうちの1つに接続し得る。さらに、いくつかの実施例において、無線通信モジュール308は、無線アクセスポイント110のうちの1つ又は複数と無線接続を再確立し得る。
【0035】
無線通信モジュール308は、無線接続管理モジュール304と通信可能に結合され得る。無線接続管理モジュール304は、無線通信モジュール308を使用して、無線アクセスポイント110のうちの1つ又は複数との接続を確立すること及び/又は再確立することを容易にし得る。使用中、無線接続管理モジュール304は、ローカルコンピューティング装置102の近傍に位置する無線アクセスポイント110を識別するためのスキャンを開始するように、無線通信モジュール308に指示し得る。さらに、又はその代りに、無線接続管理モジュール304は、スキャンを開始する代りに、無線アクセスポイント110のうちの1つ又は複数を直接探索するように、無線通信モジュール308に指示し得る。例えば、いくつかの実施例において、無線接続管理モジュール304は、ローカルコンピューティング装置102が再接続の最も高い確率を有している無線アクセスポイント110に対応する無線アクセスポイント110の参照番号に対してプローブ(probe)を送信するように、無線通信モジュール308に指示し得る。いくつかの実施例において、無線接続管理モジュール304は、ローカルコンピューティング装置102のユーザによって提供された手動の無線接続構成に応じて、無線アクセスポイント110のうちの1つ又は複数を直接探索するように、無線通信モジュール308に更に指示し得る。
【0036】
無線接続記録モジュール302は、無線通信モジュール308と1つ又は複数の無線アクセスポイント110との間で確立された、1つ又は複数の過去若しくは現在の無線接続に対応する接続情報を記録し得る。接続情報は、無線接続それ自身を説明する情報(例えば、接続開始日時、接続終了日時、接続持続時間など)、又はローカルコンピューティング装置102が接続する1つ又は複数の無線アクセスポイント110と関連付けられた特性若しくはデータを説明する情報(例えば、サービスセット識別子、無線チャネル、メディアアクセス制御アドレスなど)を含み得る。
【0037】
いくつかの実施例において、無線接続記録モジュール302は、1つ又は複数のデータベースとして具体化され得るログに接続情報を保存するように構成され得る。例えば、無線接続記録モジュール302は、接続情報を無線接続データベース214に保存し得る。例示した実施例では、ログがデータベースとして具体化されると説明されるが、ログは、他の実施例において、異なるフォーマットを有するデータ構造(例えば、ドキュメント、ファイルなど)に保存されるデータとして具体化され得る、ということが理解されるべきである。例えば、ログは、ローカルコンピューティング装置102と1つ又は複数の無線アクセスポイント110との間の1つ又は複数の過去若しくは現在の無線接続と関連付けられた情報を保存するのに適当な、カンマ区切り(comma-separated value:CSV)ファイル、テキストファイル、暗号化されたデータファイル、1つ又は複数のXML要素を有する拡張可能マークアップ言語(XML)ドキュメント、又はあらゆる他のフォーマットとして具体化され得る。さらに、無線接続記録モジュール302は、ローカルコンピューティング装置102のあらゆる適当なデータ記憶装置及び/又はメモリ装置(例えば、揮発性のメモリ装置及び/又は不揮発性のメモリ装置)に接続情報を保存するように更に構成され得る、ということが理解されるべきである。
【0038】
いくつかの実施例における所定の基準間隔に対応するかもしれない特定の間隔で、無線接続管理モジュール304は、無線接続データベース214に保存された履歴的な接続情報を読み出し得る。履歴的な接続情報は、無線接続データベース214に前もって記録された1つ又は複数の無線接続に対応する接続情報を含み得る。無線接続管理モジュール304は、さらに、又はその代りに、無線通信モジュール308が無線アクセスポイント110のうちの1つ又は複数を介してネットワーク230に接続されているという判定に対応して、無線接続データベース214に保存された履歴的な接続情報を読み出し得る。無線接続データベース214から履歴的な接続情報を読み出した後で、無線接続管理モジュール304は、読み出された接続情報を、無線通信モジュール308を使用しネットワーク230を介して、リモート分析サーバ240に送信し得る。下記で更に詳細に論じられるように、リモート分析サーバ240は、ローカルコンピューティング装置102から受信される履歴的な接続情報を分析し得るとともに、1つ若しくは複数の無線アクセスポイント110、又は1つ若しくは複数の無線アクセスポイント110のグループ160、170のうちのどれが、所定の時刻にローカルコンピューティング装置102の範囲内にあることが最もあり得る(例えば、最も可能性が高い)かを予測することを容易にするために、あとで使用され得る1つ又は複数のパラメータを計算し得る。いくつかの実施例において、リモート分析サーバ240によって計算される1つ又は複数のパラメータは、1つ又は複数の予測プログラム(例えば、命令、プログラムシーケンスなど)として具体化され得るとともに、1つ又は複数の予測プログラムは、無線アクセスポイント110、又は無線アクセスポイント110のグループ160、170のうちのどれが、所定の時刻にローカルコンピューティング装置102の範囲内にあることが最もあり得る(例えば、最も可能性が高い)かを予測することを容易にするために、予測モジュール306によってあとで実行され得る。
【0039】
いくつかの実施例において、無線接続管理モジュール304は、新しい及び/又は更新されたパラメータがリモート分析サーバ240から送信されることを要求し得る。無線接続管理モジュール304は、発生している1つ若しくは複数の事象又は満たされた誘因となる条件に対応してそうすることができる。例えば、いくつかの実施例において、無線接続管理モジュール304は、無線通信モジュール308と無線アクセスポイント110のうちの1つ、例えばAP122との間の信号強度を監視するように構成され得る。そのような実施例において、無線接続管理モジュール304は、信号強度が基準信号強度しきい値に等しいか又は基準信号強度しきい値より低いと判定することに対応して、リモート分析サーバが新しい及び/又は更新されたパラメータを送信することを要求し得る。無線接続管理モジュール304は、ローカルコンピューティング装置102の1つ又は複数のコンポーネントが動作停止状態にあると判定することに対応して、リモート分析サーバ240が新しい及び/又は更新されたパラメータを送信することをその代わりに要求し得る。さらに、又はその代わりに、無線接続管理モジュール304は、リモート分析サーバ240が所定の基準間隔に対応するかもしれない特定の間隔で新しい及び/又は更新されたパラメータを送信することを要求し得る。無線接続管理モジュール304は、あらゆる他の適当な事象又は誘因となる条件の発生に対応して(例えば、ローカルコンピューティング装置102のバッテリレベル、今にも起こりそうなネットワーク230に対する接続性の損失、特定の曜日に、特定の時刻に、ローカルコンピューティング装置102のユーザによる手動の要求に対応して、など)、新しい及び/又は更新されたパラメータがリモート分析サーバ240から送信されることを要求し得る、ということが理解されるべきである。
【0040】
無線接続管理モジュール304は、リモート分析サーバ240からの新しい及び/又は更新されたパラメータを受信することに対応して、新しい及び/又は更新されたパラメータを1つ又は複数のデータベースに局所的に保存するように構成され得る。例えば、無線接続管理モジュール304は、新しい及び/又は更新されたパラメータをローカルパラメータデータベース216に保存し得る。当然ながら、無線接続管理モジュール304は、ローカルコンピューティング装置102のあらゆる適当なデータ記憶装置及び/又はメモリ装置(例えば、揮発性のメモリ装置及び/又は不揮発性のメモリ装置)にパラメータを保存するように同様に構成され得る、ということが理解されるべきである。さらに、リモート分析サーバ240によって計算されるパラメータが予測プログラムとして具体化される実施例において、無線接続管理モジュール304は、リモート分析サーバ240からの新しい及び/又は更新された予測プログラムを要求するとともに、そのあとで新しい及び/又は更新された予測プログラムをローカルパラメータデータベース216に保存するように構成され得る、ということが理解されるべきである。
【0041】
1つ若しくは複数の無線アクセスポイント110、又は1つ若しくは複数の無線アクセスポイント110のグループ160、170のうちのどれが、所定の時刻にローカルコンピューティング装置102の範囲内にあることが最もあり得る(例えば、最も可能性が高い)かを予測することを容易にするために、予測モジュール306は、無線接続管理モジュール304、無線接続データベース214及びローカルパラメータデータベース216に通信可能に結合され得る。使用中、予測モジュール306は、無線接続の再確立が要求されたという、無線接続管理モジュール304からの通知及び/又は指示を受信し得る。
【0042】
呼応して、予測モジュール306は、ローカルパラメータデータベース216から1つ若しくは複数のパラメータ及び/又は1つ若しくは複数の予測プログラムを読み出し得る。さらに、予測モジュール306は、無線接続データベース214から直近の接続情報を読み出し得る。いくつかの実施例において、無線接続データベース214から読み出される直近の接続情報は、リモート分析サーバ240がパラメータ又は予測プログラムの中にまだ算定していなかった、1つ又は複数の最近の無線接続に対応する情報を含み得る。
【0043】
使用中、予測モジュール306は、予測の希望の曜日及び/又は時刻に、ローカルコンピューティング装置102の範囲内にあることが最もあり得るか、又はそうでなければ、ローカルコンピューティング装置102に最も利用可能であり得る無線アクセスポイント110の異なるグループ160、170を予測し得る。いくつかの実施例において、リモート分析サーバ240から受信される前もって計算されたパラメータは、履歴的な接続情報から導かれる接続確率を表している数値定数として具体化される。そのような実施例において、予測モジュール306は、順序付きリストを生成するために、一般的な(例えば、標準の、所定の、初期設定の、共通の、など)アルゴリズム又は公式に対する入力として、受信されたパラメータ、無線接続データベース214から読み出された直近の接続情報、及び予測の希望時刻を使用し得る。そのあとで、予測モジュール306は、ローカルパラメータデータベース216から、予測の希望の曜日及び/又は時刻に対応するが、しかし過去に発生したパラメータ(例えば、履歴的な接続情報から生成されたパラメータ)を読み出し得る。例えば、予測の希望の曜日及び/又は時刻が現在の曜日及び時刻(例えば、火曜日の午後5時)に対応すると予測モジュール306が判定する場合、その場合に、予測モジュール306は、履歴的な接続情報を使用して、同じ曜日及び時刻(例えば、直前の4回の火曜日の午後5時、直前の3回の火曜日の午後5時など)に関する前もって計算されたパラメータのセットを読み出し得る。
【0044】
予測モジュール306は、その結果、直近の無線接続のうちのどれが予測の希望時刻(例えば、火曜日の午後5時)における再接続のために最も利用可能であり得るかを判定し得る。そうするために、予測モジュール306は、前もって計算されたパラメータのそれぞれと関連付けられた接続確率(例えば、0.4、0.35、0.25)を直近の接続情報に割り当て得る。例えば、予測モジュール306は、0.4の確率を確立された直前(例えば、前回)(例えば、火曜日の午後3時、月曜日の午後10時など)の無線接続に割り当て、0.35の確率を予測の希望時刻(例えば、火曜日の午後5時)の24時間前(例えば月曜日の午後5時)に確立された無線接続に割り当て、0.25の確率を予測の希望時刻(例えば、火曜日の午後5時)の一週間前(例えば、“直前の”火曜日の午後5時)に確立された無線接続に割り当て得る。
【0045】
直近の無線接続のうちのどれが希望時刻(例えば、火曜日の午後5時)における再接続のために最も利用可能であり得るかを判定することに対応して、予測モジュール306は、無線アクセスポイント110(例えば、AP122、AP124、AP126など)のうちのどれがそれらの無線接続に対応するかを識別し得るとともに、そこから順序付きリストを生成し得る。そうするために、予測モジュール306は、識別を容易にするために、対応する無線アクセスポイント110と関連付けられた特性又はデータを説明するあらゆる情報(例えば、サービスセット識別子、無線チャネル、メディアアクセス制御アドレスなど)を使用し得る。その結果生じる順序付きリストは、したがって、再接続に利用可能であることの最も高い確率を有する無線アクセスポイント110(例えば、上位3つの無線アクセスポイント110)の参照番号を含み得る。いくつかの実施例において、無線アクセスポイント110の順序付きリストは、各々に関して判定された確率に従って降順に配置され得る。
【0046】
リモート分析サーバから受信される前もって計算されたパラメータがその代わりに1つ又は複数の予測プログラム(例えば、命令、プログラムシーケンスなど)として具体化される実施例において、予測モジュール306は、無線アクセスポイント110の順序付きリストを生成するために、入力として無線接続データベース214から読み出された直近の接続情報及び予測の希望時刻を使用して、前もって生成された予測プログラムを実行し得る。そのような実施例において、その結果生じる順序付きリストは、再接続に利用可能であることの最も高い確率を有する無線アクセスポイント110(例えば、上位3つの無線アクセスポイント110)の参照番号を同様に含み得る。さらに、又はその代わりに、無線アクセスポイント110の順序付きリストは、各々に関して判定された確率に従って降順に配置され得る。
【0047】
無線接続を再確立するために必要とされる時間量を削減するために、無線接続管理モジュール304は、プローブ又は有向接続要求を、順序付きリストに応じて無線アクセスポイント110のうちの1つ又は複数に送信するように、無線通信モジュール308に指示し得る。探索された時に無線アクセスポイント110のうちの1つ又は複数がローカルコンピューティング装置102の範囲内にあるか、又はそうでなければ、ローカルコンピューティング装置102に利用可能である場合、1つ又は複数の範囲内の無線アクセスポイント110は、プローブに対する応答を生成するとともに、そのあとでプローブに対する応答を送信することができる、プローブ応答を受け取り次第、無線接続管理モジュール304は、応答を生成した無線アクセスポイント110と無線接続を再確立するように、無線通信モジュール308に指示し得る。所定の時刻に無線接続を再確立するために最も利用可能であり得る無線アクセスポイント110を予測するとともに直接探索することによって、ローカルコンピューティング装置102は、完了するために顕著な時間量を概して要する利用可能な無線アクセスポイントに関するスキャンを行う必要がない。そのように、無線接続を再確立するのに必要とされる所要時間が削減され得る。しかしながら、探索された時に無線アクセスポイント110のうちのいずれもがローカルコンピューティング装置102の範囲内にないか、又はそうでなければ、ローカルコンピューティング装置102に利用可能でない場合、無線接続管理モジュール304は、ローカルコンピューティング装置102の近傍に位置する他の無線アクセスポイント110を識別するためのスキャンを開始するように、無線通信モジュール308にその代りに指示し得る。さらに、ローカルコンピューティング装置102が履歴的な接続情報の分析及びパラメータの生成をリモート分析サーバ240に押しつけるので、ローカルコンピューティング装置102の資源及び処理容量は維持され得る。
【0048】
ここで
図4を参照すると、リモート分析サーバ240の環境400の一実施例は、リモート分析モジュール402、通信モジュール404及びリモートパラメータデータベース242を備える。環境400、及び/又はその中に含まれるモジュールのうちのいずれかは、ハードウェア、ファームウェア、ソフトウェア又はそのあらゆる組み合わせにおいて実施され得る、ということが理解されるべきである。
【0049】
通信モジュール404は、ネットワーク230を介したリモート分析サーバ240とローカルコンピューティング装置102との間の通信を容易にし得る。例えば、いくつかの実施例において、通信モジュール404は、分析のためにローカルコンピューティング装置102によって送信される履歴的な接続情報を受信し得る。通信モジュール404は、ローカルコンピューティング装置102に、履歴的な接続情報から計算された1つ又は複数のパラメータを同様に送信し得る。
【0050】
論じられたように、リモート分析サーバ240は、1つ又は複数のパラメータを計算するように構成され得るとともに、1つ又は複数のパラメータは、1つ若しくは複数の無線アクセスポイント110、又は1つ若しくは複数の無線アクセスポイント110のグループ160、170のうちのどれが、特定の時刻にローカルコンピューティング装置102の範囲内にあることが最もあり得るかを予測することを容易にするために、ローカルコンピューティング装置102によってあとで使用され得る。そうするために、リモート分析サーバ240のリモート分析モジュール402は、ローカルコンピューティング装置102から受信される履歴的な接続情報に応じてパラメータを計算するか、又はそうでなければ生成するために、1つ又は複数の人工知能に基づく技術を利用し得る。例えば、リモート分析モジュール402は、いくつかの実施例において、パラメータのセットを計算するために、1つ又は複数の遺伝的アルゴリズムを利用し得る。そのような実施例において、パラメータのセットにおける各パラメータは、ローカルコンピューティング装置102から受信される履歴的な接続情報から計算され得る。それ故に、各パラメータは、発生した以前の無線接続の確率を表す数値定数として具体化され得る。例えば、リモート分析モジュール402によって計算されるパラメータのセットは、特定の基準時刻に確立された無線接続が、確立された直前の無線接続(例えば前回の無線接続)と同じであった確率を表しているパラメータと、特定の基準時刻に確立された無線接続が、特定の基準時刻の24時間前に確立された無線接続と同じであった確率を表しているパラメータと、特定の基準時刻に確立された無線接続が、特定の基準時刻の一週間前に確立された無線接続と同じであった確率を表しているパラメータとを含み得る。そのように、リモート分析モジュール402は、パラメータのセットとして[0.4、0.35、0.25]を計算し得るとともに、ここで、0.4は、特定の基準時刻(例えば、火曜日の午後5時)に確立された無線接続が、確立された直前(例えば火曜日の午後3時、月曜日の午後10時など)の無線接続と同じであった確率を表すことができ、0.35は、特定の基準時刻(例えば、火曜日の午後5時)に確立された無線接続が、特定の基準時刻の24時間前(例えば、月曜日の午後5時)に確立された無線接続と同じであった確率を表すことができ、0.25は、特定の基準時刻(例えば、火曜日の午後5時)に確立された無線接続が、特定の基準時刻の一週間前(例えば、“直前の”火曜日の午後5時)に確立された無線接続と同じであった確率を表すことができる。
【0051】
例示した実施例では、3つのパラメータだけがリモート分析モジュール402によって計算されるが、異なる確率を有するあらゆる数の異なるパラメータが他の実施例において計算され得る、ということが理解されるべきである。例えば、いくつかの実施例のリモート分析モジュール402は、特定の基準時刻に確立された無線接続が、特定の基準時刻の1時間前に確立された無線接続と同じであった確率を表しているパラメータ、特定の基準時刻に確立された無線接続が、特定の基準時刻の一ヶ月前に確立された無線接続と同じであった確率を表しているパラメータ、又は特定の基準時刻に確立された無線接続が、過去に確立された別の無線接続と同じであった確率を示すことに適当な追加のパラメータを計算し得る。
【0052】
いくつかの実施例において、リモート分析モジュール402は、パラメータのセットを計算するために、1つ又は複数の遺伝的プログラミング技術を利用し得る。そのような実施例において、パラメータのセットにおける各パラメータは、1つ又は複数の予測プログラム(例えば、命令、プログラムシーケンスなど)としてその代わりに具体化され得るとともに、1つ又は複数の予測プログラムは、無線アクセスポイント110、又は無線アクセスポイント110のグループ160、170のうちのどれが、所定の時刻にローカルコンピューティング装置102の範囲内にあることが最もあり得る(例えば、最も可能性が高い)かを予測することを容易にするために、ローカルコンピューティング装置102によってあとで実行され得る。
【0053】
例示した実施例では、パラメータを計算するために及び/又は予測プログラムを生成するために、遺伝的アルゴリズム及び遺伝的プログラミング技術だけが利用されることが可能であると説明されるが、リモート分析モジュール402は、1つ若しくは複数の無線アクセスポイント110、又は1つ若しくは複数の無線アクセスポイント110のグループ160、170のうちのどれが、所定の時刻にローカルコンピューティング装置102の範囲内にあることが最もあり得る(例えば、最も可能性が高い)かをローカルコンピューティング装置102が予測することをあとで容易にするパラメータを計算すること又は予測プログラムを生成することに適当なあらゆる他の技術を利用し得る、ということが理解されるべきである。例えば、リモート分析モジュール402は、1つ若しくは複数の無線アクセスポイント110、又は1つ若しくは複数の無線アクセスポイント110のグループ160、170のうちのどれが、所定の時刻にローカルコンピューティング装置102の範囲内にあることが最もあり得る(例えば、最も可能性が高い)かを予測することにおいてローカルコンピューティング装置102による後の使用に最もよく適している(例えば、一番最適な)1つ又は複数のアルゴリズムを、計算、生成及び/又は判定し得る。
【0054】
いくつかの実施例において、リモート分析モジュール402は、計算されるパラメータ及び/又は生成される予測プログラムを1つ又は複数のデータベースに保存するように構成され得る。例えば、リモート分析モジュール402は、計算されるパラメータ及び/又は生成される予測プログラムをリモートパラメータデータベース242に保存し得る。当然ながら、リモート分析モジュール402は、計算されるパラメータ及び/又は生成される予測プログラムをリモート分析サーバ240のあらゆる適当なデータ記憶装置及び/又はメモリ装置(例えば、揮発性のメモリ装置及び/又は不揮発性のメモリ装置)に保存するように同様に構成され得る、ということが理解されるべきである。
【0055】
ここで
図5を参照すると、ローカルコンピューティング装置102によって無線接続情報を記録するとともに、分析のためにリモート分析サーバ240に無線接続情報を送信するための方法500の少なくとも1つの実施例は、ブロック502で始まる。ブロック502において、ローカルコンピューティング装置102は、ローカルコンピューティング装置102と1つ又は複数の無線アクセスポイント110との間で確立された、1つ又は複数の過去若しくは現在の無線接続に対応する接続情報を記録し得る。接続情報は、無線接続それ自身を説明する情報(例えば、接続開始日時、接続終了日時、接続持続時間など)、又はローカルコンピューティング装置102が接続する1つ又は複数の無線アクセスポイント110と関連付けられた特性若しくはデータを説明する情報(例えば、サービスセット識別子、無線チャネル、メディアアクセス制御アドレスなど)を含み得る。ローカルコンピューティング装置102は、記録された接続情報をデータベース(例えば、無線接続データベース214)に保存し得る。いくつかの実施例において、接続情報は、ローカルコンピューティング装置102と1つ又は複数の無線アクセスポイント110との間の1つ又は複数の過去若しくは現在の無線接続と関連付けられた情報を保存するのに適当なログファイル又はあらゆる他のフォーマットに同様に保存され得る。
【0056】
ブロック504において、ローカルコンピューティング装置102は、無線アクセスポイント110のうちの1つ又は複数を介したネットワーク230に対する接続状態が存在するかどうかを判定し得る。そうするために、ローカルコンピューティング装置102は、無線アクセスポイント110のうちの1つ又は複数との無線接続の確立について監視し得る。いくつかの実施例において、ローカルコンピューティング装置102は、ネットワーク230に対する接続状態が存在するかどうかの判定を容易にするために、無線接続データベース214に保存された情報を利用するように構成され得る。ネットワーク230に対する接続状態が存在するとローカルコンピューティング装置102が判定する場合、方法500は、ブロック506に進む。しかしながら、ネットワーク230に対する接続状態が存在しないとローカルコンピューティング装置102が判定する場合、方法500は、ブロック502に折り返して、接続情報を記録することを継続する。
【0057】
ブロック506において、ローカルコンピューティング装置102は、無線接続データベース214に保存された履歴的な接続情報を読み出す。履歴的な接続情報は、ローカルコンピューティング装置102によって無線接続データベース214に前もって記録された1つ又は複数の無線接続に対応する接続情報を含み得る。無線接続データベース214から履歴的な接続情報を読み出した後で、ローカルコンピューティング装置102は、ネットワーク230を介して、読み出された接続情報をリモート分析サーバ240に送信する。
【0058】
ここで
図6を参照すると、パラメータを計算するとともに、そのあとで計算されたパラメータをローカルコンピューティング装置102に送信するために、リモート分析サーバ240によって履歴的な接続情報を分析するための方法600の少なくとも1つの実施例は、ブロック602で始まる。ブロック602において、リモート分析サーバ240は、ローカルコンピューティング装置102によってネットワーク230を介して送信される履歴的な接続情報を受信する。それから、方法600は、ブロック604に進む。
【0059】
ブロック604において、リモート分析サーバ240は、1つ若しくは複数のパラメータ及び/又は1つ若しくは複数の予測プログラムを計算するとともに、1つ若しくは複数のパラメータ及び/又は1つ若しくは複数の予測プログラムは、1つ若しくは複数の無線アクセスポイント110、又は1つ若しくは複数の無線アクセスポイント110のグループ160、170のうちのどれが、特定の時刻(例えば、予測の希望時刻)にローカルコンピューティング装置102の範囲内にあることが最もあり得るかを予測することを容易にするために、ローカルコンピューティング装置102によってあとで使用され得る。そうするために、リモート分析サーバ240は、ローカルコンピューティング装置102から受信される履歴的な接続情報に応じてパラメータ及び/又は予測プログラムを計算するか、又はそうでなければ生成するために、1つ又は複数の人工知能に基づく技術を利用し得る。いくつかの実施例において、リモート分析サーバ240は、パラメータ及び/又は予測プログラムを生成するために、1つ若しくは複数の遺伝的アルゴリズム及び/又は1つ若しくは複数の遺伝的プログラミング技術を利用する。各パラメータ及び/又は各予測プログラムは、受信される履歴的な接続情報から計算された異なる接続確率を表し得るか、又はそうでなければ異なる接続確率に対応し得る。計算の完了時、又は計算中のあらゆる適切な時期に、方法600は、リモート分析サーバ240が1つ又は複数のデータベース(例えば、リモートパラメータデータベース242)に計算されたパラメータ及び/又は計算された予測プログラムを保存するブロック606に進む。計算されたパラメータ及び/又は計算された予測プログラムを1つ又は複数のデータベースに保存すると、方法600は、ブロック608に進む。
【0060】
ブロック608において、リモート分析サーバ240は、パラメータをリフレッシュする(refresh:新しくする)ための要求がローカルコンピューティング装置102から受信されたかどうかを判定する。ローカルコンピューティング装置102から受信されるパラメータをリフレッシュするための要求は、新しい及び/又は更新されたパラメータを送信されるべきローカルコンピューティング装置102からの要求として具体化され得る。新しい及び/又は更新されたパラメータの要求がローカルコンピューティング装置102から受信されたとリモート分析サーバ240が判定する場合、方法600は、ブロック610に進む。しかしながら、新しい及び/又は更新されたパラメータの要求がローカルコンピューティング装置102から受信されなかったとリモート分析サーバ240が判定する場合、方法600は、ブロック602に折り返す。
【0061】
ブロック610において、リモート分析サーバ240は、リモートパラメータデータベース242からあらゆる新しい及び/又は更新されたパラメータを読み出す。リモートパラメータデータベース242から新しい及び/又は更新されたパラメータを読み出すと、リモート分析サーバ240は、新しい及び/又は更新されたパラメータをローカルコンピューティング装置102に送信するとともに、新しい及び/又は更新されたパラメータは、1つ若しくは複数の無線アクセスポイント110、又は1つ若しくは複数の無線アクセスポイント110のグループ160、170のうちのどれが、所定の時刻にローカルコンピューティング装置102の範囲内にあることが最もあり得る(例えば、最も可能性が高い)かを予測することを容易にするために、あとで使用され得る。
【0062】
図6の例示した実施例では、リモート分析サーバ240が方法600を実行するが、他の実施例では、他の装置が、方法600の全て又は一部分をその代りに実行し得る、ということが理解されるべきである。例えば、いくつかの実施例において、リモート分析サーバ240は、リモートコンピューティング装置250と協力して方法600を実行し得る。そのように、リモート分析サーバ240及びリモートコンピューティング装置250は、ローカルコンピューティング装置102によって送信される履歴的な接続情報の一部分をそれぞれ分析し得るとともに、それによってパラメータを計算し得る。そうするために、ローカルコンピューティング装置102は、リモート分析サーバ240に履歴的な接続情報を送信し得るとともに、リモート分析サーバ240は、受信される履歴的な接続情報の一部分をリモートコンピューティング装置250に同様に送信し得る。リモートコンピューティング装置250は、リモート分析サーバ240から受信される履歴的な接続情報の一部分を分析し得るとともに、そのあとで更なる処理(例えば、集計、更なる分析、パラメータの計算など)のために、リモート分析サーバ240に結果を返し得る。いくつかの実施例において、リモートコンピューティング装置250が、
図6の例示した実施例における方法600をその代わりに実施し得る。そのような実施例において、ローカルコンピューティング装置102は、履歴的な接続情報を、リモート分析サーバ240よりむしろリモートコンピューティング装置250に送信し得る。呼応して、リモートコンピューティング装置250は、パラメータを計算するために、ローカルコンピューティング装置102によって送信される履歴的な接続情報を分析し得るとともに、パラメータは、ローカルコンピューティング装置102に続いて送信される。
【0063】
ここで
図7を参照すると、ローカルコンピューティング装置102を使用してリモート分析サーバ240からの新しいパラメータを要求するための方法700の少なくとも1つの実施例は、ブロック702で始まる。ブロック702において、ローカルコンピューティング装置102は、局所的に保存された1つ又は複数のパラメータがリフレッシュされるべきであるかどうかを判定する。ローカルコンピューティング装置102は、1つ又は複数の事象が発生したか、又は誘因となる条件が満たされたと判定することに対応してそうすることができる。例えば、いくつかの実施例において、ローカルコンピューティング装置102は、ローカルコンピューティング装置102と無線アクセスポイント110のうちの1つ、例えばAP122との間で確立された無線通信チャネルの信号強度を監視するように構成され得る。そのような実施例において、ローカルコンピューティング装置102は、信号強度が基準信号強度しきい値に等しいか又は基準信号強度しきい値より低いと検知することに対応して、局所的に保存された1つ又は複数のパラメータがリフレッシュされるべきであると判定し得る。ローカルコンピューティング装置102は、あらゆる他の適当な事象又は誘因となる条件の発生に対応して(例えば、ローカルコンピューティング装置102のバッテリレベル、今にも起こりそうなネットワーク230に対する接続性の損失、特定の曜日に、特定の時刻に、ローカルコンピューティング装置102のユーザによる手動の要求に対応して、など)、局所的に保存された1つ又は複数のパラメータがリフレッシュされるべきであると判定し得る、ということが理解されるべきである。局所的に保存された1つ又は複数のパラメータがリフレッシュされるべきであるとローカルコンピューティング装置102が判定する場合、方法700は、ブロック704に進む。しかしながら、局所的に保存された1つ又は複数のパラメータのうちのいずれもリフレッシュされるべきでないとローカルコンピューティング装置が判定する場合、方法700は、ローカルコンピューティング装置が局所的に保存された1つ又は複数のパラメータがリフレッシュされるべきであるかどうかの判定を継続するブロック702に折り返す。ブロック704において、ローカルコンピューティング装置102は、新しい及び/又は更新されたパラメータがリモート分析サーバ240によって送信されることを要求する。そうするために、ローカルコンピューティング装置102は、ネットワーク230を介して、要求をリモート分析サーバ240に送信し得る。それから、方法700は、ブロック706に進む。
【0064】
ブロック706において、ローカルコンピューティング装置102は、ネットワーク230を介して、要求した新しい及び/又は更新されたパラメータをリモート分析サーバ240から受信する。いくつかの実施例において、1つ若しくは複数の無線アクセスポイント110、又は1つ若しくは複数の無線アクセスポイント110のグループ160、170のうちのどれが、所定の時刻にローカルコンピューティング装置102の範囲内にあることが最もあり得る(例えば、最も可能性が高い)かを予測することをあとで容易にするために、リモート分析サーバ240から受信される新しい及び/又は更新されたパラメータを、ローカルコンピューティング装置102は、ローカルパラメータデータベース216に局所的に保存する。他の装置(例えば、リモートコンピューティング装置250)が履歴的な接続情報からの分析及びパラメータの計算の全部又は一部分を実行する実施例において、ローカルコンピューティング装置102は、新しいパラメータに関する要求を、それらの他の装置(例えば、リモートコンピューティング装置250)にその代りに送信し得るとともに、それらの他の装置は、新しいパラメータをローカルコンピューティング装置102に続いて提供する。
【0065】
ここで
図8を参照すると、ローカルコンピューティング装置102との再接続のための利用可能無線アクセスポイントを予測するために、リモート分析サーバ240から受信されるパラメータを使用するための方法800の少なくとも1つの実施例は、ブロック802で始まる。ブロック802において、ローカルコンピューティング装置102は、無線接続の再確立が要求されたかどうかを判定する。そうするために、いくつかの実施例において、ローカルコンピューティング装置102は、ローカルコンピューティング装置102の周辺装置220(すなわち、キーパッド、タッチスクリーン、音声認識コンポーネントなど)のうちの1つ又は複数を介してユーザから受け取られる入力について監視し得る。その入力は、無線アクセスポイント110のうちの1つとの無線接続を再確立するためのユーザによる要求を表し得る。さらに、又はその代わりに、ローカルコンピューティング装置102は、ローカルコンピューティング装置102の1つ若しくは複数のコンポーネント又は1つ若しくは複数の動作によって生成される通知及び/又は指示について監視し得る。例えば、ローカルコンピューティング装置102は、ローカルコンピューティング装置102が初期化している(例えば、電源をオンしている、ターンオンしている、起動している、スリープ又はサスペンド状態から復帰している、など)1つ又は複数のコンポーネントからの指示について監視し得る。無線接続の再確立が要求されたとローカルコンピューティング装置102が判定する場合、方法800は、ブロック804に進む。無線接続の再確立が要求されなかったとローカルコンピューティング装置102がその代わりに判定する場合、方法800は、ブロック802に戻る。
【0066】
ブロック804において、ローカルコンピューティング装置102は、無線アクセスポイントのうちの1つ又は複数が接続を再確立するために利用可能であり得るかを予測することを容易にするために、前もって計算されたパラメータ及び履歴的な接続情報を読み出す。そうするために、ローカルコンピューティング装置102は、ブロック806において、ローカルパラメータデータベース216から1つ若しくは複数のパラメータ及び/又は1つ若しくは複数の予測プログラムを読み出す。上記で論じられたように、ローカルパラメータデータベース216に保存される1つ若しくは複数のパラメータ及び/又は1つ若しくは複数の予測プログラムは、リモート分析サーバ240及び/又はリモートコンピューティング装置250によって前もって計算されたか、又はリモート分析サーバ240及び/又はリモートコンピューティング装置250から受信された、1つ若しくは複数のパラメータ及び/又は1つ若しくは複数の予測プログラムに対応する。さらに、ローカルコンピューティング装置102は、ブロック808において、無線接続データベース214から直近の接続情報を読み出す。いくつかの実施例において、無線接続データベース214から読み出された直近の接続情報は、リモート分析サーバ240及び/又はリモートコンピューティング装置250がパラメータ又は予測プログラムの中にまだ算定していなかった、1つ又は複数の直近の無線接続を説明する情報を含み得る。パラメータ及び直近の接続情報を読み出したあとで、方法800は、ブロック810に進む。
【0067】
ブロック810において、ローカルコンピューティング装置102は、再接続に利用可能であることの最も高い確率を有する無線アクセスポイント110の参照番号を含む順序付きリストを生成する。例えば、ローカルコンピューティング装置102は、無線接続を再確立するために利用可能であることの最も高い判定された確率を有する3つの無線接続に対応し得る上位3つの無線アクセスポイント110の参照番号を含む順序付きリストを生成し得る。いくつかの実施例において、無線アクセスポイント110の順序付きリストは、各々に関して判定された確率に従って降順に配置され得る。順序付きリストを生成すると、方法800は、ブロック812に進む。
【0068】
ブロック812において、ローカルコンピューティング装置102は、プローブ又は有向接続要求を、順序付きリストの無線アクセスポイント110のうちの1つ又は複数に送信する。いくつかの実施例において、ローカルコンピューティング装置102は、順序付きリストの無線アクセスポイント110の各々に関して判定された確率に従って降順にプローブを送信し得る。それ故に、ローカルコンピューティング装置102は、順序付きリストの別の無線アクセスポイント110にプローブを送信する前に、無線接続を再確立するために利用可能であることの最も高い判定された確率を有する無線アクセスポイント110に対してプローブを最初に送信し得る。例えば、ローカルコンピューティング装置102によって生成された順序付きリストが4つの無線アクセスポイント110(例えば、AP122、AP124、AP126及びAP128)を含む場合、ローカルコンピューティング装置102は、AP124、AP126又はAP128にプローブを送信する前に、AP122に対してプローブを最初に送信する。それから、方法800は、ブロック814に進む。
【0069】
ブロック814において、ローカルコンピューティング装置102は、プローブが向けられた無線アクセスポイント110からプローブに対する応答をローカルコンピューティング装置102が受信したかどうかを判定する。すなわち、プローブが向けられた無線アクセスポイント110(例えば、AP122)が、ローカルコンピューティング装置102の範囲内にあるとともに、ローカルコンピューティング装置102との無線接続を再確立するのに利用可能である場合、プローブが向けられた無線アクセスポイント110(例えば、AP122)はプローブに対する応答を送信し得るとともに、プローブに対する応答はローカルコンピューティング装置102によって受信され得る。プローブが向けられた無線アクセスポイント110からローカルコンピューティング装置102が応答を受信する場合、方法800は、ブロック816に進む。しかしながら、プローブが向けられた無線アクセスポイント110からローカルコンピューティング装置102が応答を受信しない場合、方法800は、その代りにブロック818に進む。
【0070】
ブロック818において、ローカルコンピューティング装置102は、プローブが向けられた無線アクセスポイント110が順序付きリストの最後の無線アクセスポイント110であるかどうかを判定する。プローブが向けられた無線アクセスポイント110が順序付きリストの最後の無線アクセスポイント110ではないとローカルコンピューティング装置102が判定する場合、方法800は、順序付きリストの次の無線アクセスポイント110(例えば、次の最も高い確率を有する無線アクセスポイント110)を探索するために、ブロック812に戻る。しかしながら、プローブが向けられた無線アクセスポイント110が順序付きリストの最後の無線アクセスポイント110であるとローカルコンピューティング装置102が判定する場合、方法800は、ブロック820に進む。ブロック820において、ローカルコンピューティング装置102は、ローカルコンピューティング装置102の近傍に位置する他の無線アクセスポイント110を識別するためのスキャンを開始する。
【0071】
ブロック816において、ローカルコンピューティング装置102は、プローブが向けられたとともに、応答がそこから受信された無線アクセスポイント110と、無線接続を再確立し得る。所定の時刻に無線接続を再確立するために最も利用可能であり得る無線アクセスポイント110を予測するとともに直接探索することによって、ローカルコンピューティング装置102は、完了するために顕著な時間量を概して要する利用可能な無線アクセスポイント110に関するスキャンを行う必要がない。そのように、無線接続を再確立するのに必要とされる所要時間が削減され得る。さらに、ローカルコンピューティング装置102が履歴的な接続情報の分析及びパラメータの生成をリモート分析サーバ240に押しつけるので、ローカルコンピューティング装置102の資源及び処理容量は維持され得る。
【0072】
例示した実施例のローカルコンピューティング装置102は、順序付きリストの無線アクセスポイント110の各々に関して判定された確率に従って降順にプローブを送信するが、いくつかの実施例において、ローカルコンピューティング装置102は、同様に、順序付きリストの各無線アクセスポイント110に対してプローブを同時に(例えば、一斉に)送信し得る、ということが理解されるべきである。そのような実施例において、ローカルコンピューティング装置102は、ブロック814において、プローブが向けられた無線アクセスポイント110のうちのいずれかからプローブに対する応答をローカルコンピューティング装置102が受信したかどうかをその代りに判定し得る。プローブが向けられた無線アクセスポイント110のうちのいずれかからローカルコンピューティング装置102が応答を受信する場合、ローカルコンピューティング装置102は、応答を送信した無線アクセスポイント110のうちの1つ又は複数と無線接続を再確立し得る。いくつかの実施例において、ローカルコンピューティング装置102は、プローブに最初に応答する無線アクセスポイント110と無線接続を再確立し得る。しかしながら、ローカルコンピューティング装置102は、方針(例えば、最も強い信号強度、装置セキュリティ方針、ユーザ選択など)に従って、又は回答のあった無線アクセスポイント110のうちの1つをそれとの無線接続を再確立するために選択するためのあらゆる他の適当なメカニズムに従って、1つ又は複数の無線アクセスポイント110のうちのいずれかと無線接続を再確立することをその代わりに決定し得る、ということが理解されるべきである。
【0073】
「実例」
ここで開示された装置、システム及び方法の例示的実例が下記で提供される。装置、システム及び方法の実施例は、下記で説明されたあらゆる1つ若しくは複数の実例、又は下記で説明された実例のあらゆる組み合わせを含み得る。
【0074】
実例1は、無線アクセスポイントに対する接続所要時間を削減するためのローカルコンピューティング装置を含む。当該ローカルコンピューティング装置は、1つ又は複数の無線アクセスポイントとの複数の無線接続に関する無線接続情報を、当該ローカルコンピューティング装置に保存されるログに記録するための無線接続記録モジュールであって、上記ログが履歴的な無線接続情報及び最近の無線接続情報を含む、上記無線接続記録モジュールと、(i)当該ローカルコンピューティング装置に保存された上記履歴的な無線接続情報を読み出し、(ii)ネットワークを介して上記読み出された履歴的な無線接続情報をリモート分析サーバに送信し、そして(iii)上記履歴的な無線接続情報に応じて計算されたパラメータを上記リモート分析サーバから受信するための無線接続管理モジュールと、上記受信されたパラメータ及び上記最近の無線接続情報に応じて、希望時刻に接続するべき上記1つ又は複数の無線アクセスポイントから順序付きリストを生成するための予測モジュールであって、上記最近の無線接続情報が上記パラメータの計算においてまだ使用されていない無線接続情報を含み、上記無線接続管理モジュールが上記順序付きリストの中から接続を試みるべき第1の無線アクセスポイントを更に選択する、上記予測モジュールと、上記選択された第1の無線アクセスポイントにプローブフレームを送信するための無線通信モジュールとを備える。
【0075】
実例2は、実例1の主題を含んでおり、各受信されたパラメータは遺伝的プログラミング操作を用いて生成された予測プログラムを含み、希望時刻に接続するべき上記1つ又は複数の無線アクセスポイントから順序付きリストを生成することは、上記1つ又は複数の無線アクセスポイントから上記順序付きリストを生成するために各受信されたパラメータに関する上記予測プログラムを実行することを含む。
【0076】
実例3は、実例1及び実例2のいずれかの主題を含んでおり、各受信されたパラメータは、上記履歴的な無線接続情報に応じて計算された確率を含む。
【0077】
実例4は、実例1から実例3のいずれかの主題を含んでおり、上記予測モジュールは、上記ログに記録された上記複数の無線接続のうちの異なる最近の無線接続に、各受信されたパラメータに関して計算された上記確率を更に割り当てる。
【0078】
実例5は、実例1から実例4のいずれかの主題を含んでおり、上記予測モジュールは、上記ログに記録された各最近の無線接続に対応する無線アクセスポイントを更に識別する。
【0079】
実例6は、実例1から実例5のいずれかの主題を含んでおり、上記1つ又は複数の無線アクセスポイントを含む上記順序付きリストは、上記ログに記録された各異なる最近の無線接続に割り当てられた対応する上記確率に従って降順に配置される。
【0080】
実例7は、実例1から実例6のいずれかの主題を含んでおり、上記ログに記録された各最近の無線接続に対応する無線アクセスポイントを識別することは、上記ログに記録された各無線アクセスポイントと関連付けられたサービスセット識別子、無線チャネル及びメディアアクセス制御アドレスのうちの1つ又は複数に応じて、上記ログに記録された各最近の無線接続に対応する無線アクセスポイントを識別することを含む。
【0081】
実例8は、実例1から実例7のいずれかの主題を含んでおり、上記無線通信モジュールが上記選択された第1の無線アクセスポイントから上記プローブフレームに対する応答を受信することに対応して、上記無線接続管理モジュールは、上記選択された第1の無線アクセスポイントとの接続を更に確立する。
【0082】
実例9は、実例1から実例8のいずれかの主題を含んでおり、上記無線通信モジュールが上記第1の無線アクセスポイントから上記プローブフレームに対する応答を受信しないことに対応して、上記無線接続管理モジュールは、上記順序付きリストの中から接続を試みるべき第2の無線アクセスポイントを更に選択する。
【0083】
実例10は、実例1から実例9のいずれかの主題を含んでおり、上記無線通信モジュールが上記第1の無線アクセスポイントにプローブフレームを送信することは、上記第1の無線アクセスポイントに第1のプローブフレームを送信することを含み、上記第1の無線アクセスポイントから上記第1のプローブフレームに対する応答を受信しないことに対応して、上記無線接続管理モジュールは、上記選択された第2の無線アクセスポイントに第2のプローブフレームを更に送信する。
【0084】
実例11は、実例1から実例10のいずれかの主題を含んでおり、上記無線通信モジュールが上記順序付きリストの上記無線アクセスポイントのうちのいずれからも上記プローブフレームに対する応答を受信しないことに対応して、上記無線接続管理モジュールは、1つ又は複数の他の無線アクセスポイントの位置を確認するためのスキャンを更に開始する。
【0085】
実例12は、実例1から実例11のいずれかの主題を含んでおり、上記選択された第1の無線アクセスポイントにプローブフレームを送信することは、上記選択された第1の無線アクセスポイントに第1のプローブフレームを送信することを含み、上記無線接続管理モジュールは、上記順序付きリストの中から接続を試みるべき第2の無線アクセスポイント及び第3の無線アクセスポイントを更に選択し、上記無線通信モジュールは、上記選択された第1の無線アクセスポイントに上記第1のプローブフレームを送信することと同時に、上記選択された第2の無線アクセスポイントに第2のプローブフレームを更に送信するとともに、上記選択された第3の無線アクセスポイントに第3のプローブフレームを更に送信し、そして、上記無線接続管理モジュールは、上記選択された第1、第2又は第3の無線アクセスポイントのうちの1つとの接続を、上記無線通信モジュールが対応する上記選択された第1、第2又は第3の無線アクセスポイントのうちの1つから上記プローブフレームに対する応答を受信することに対応して更に確立する。
【0086】
実例13は、実例1から実例12のいずれかの主題を含んでおり、上記無線接続管理モジュールは、上記リモート分析サーバからの新しい又は更新されたパラメータを更に要求する。
【0087】
実例14は、実例1から実例13のいずれかの主題を含んでおり、上記無線接続管理モジュールは、(i)上記無線通信モジュールと上記無線アクセスポイントのうちの1つ又は複数との間の信号強度を更に監視するとともに、(ii)上記信号強度が基準信号強度しきい値に等しいか又は基準信号強度しきい値より低いかどうかを更に判定し、上記リモート分析サーバからの新しい又は更新されたパラメータを要求することは、上記信号強度が上記基準信号強度しきい値に等しいか又は上記基準信号強度しきい値より低いと判定することに対応して、上記リモート分析サーバからの新しい又は更新されたパラメータを要求することを含む。
【0088】
実例15は、実例1から実例14のいずれかの主題を含んでおり、上記無線接続管理モジュールは、上記ローカルコンピューティング装置の1つ又は複数のコンポーネントが動作停止状態にあるかどうかを更に判定し、上記リモート分析サーバからの新しい又は更新されたパラメータを要求することは、上記ローカルコンピューティング装置の1つ又は複数のコンポーネントが動作停止状態にあると判定することに対応して、上記リモート分析サーバからの新しい又は更新されたパラメータを要求することを含む。
【0089】
実例16は、無線アクセスポイントに対する接続所要時間を削減するための方法を含む。当該方法は、ローカルコンピューティング装置によって、1つ又は複数の無線アクセスポイントとの複数の無線接続に関する無線接続情報を、上記ローカルコンピューティング装置に保存されるログに記録する段階であって、上記ログが履歴的な無線接続情報及び最近の無線接続情報を含む段階と、上記ローカルコンピューティング装置によって、上記ローカルコンピューティング装置に保存された上記履歴的な無線接続情報を読み出す段階と、上記ローカルコンピューティング装置によって、ネットワークを介して上記読み出された履歴的な無線接続情報をリモート分析サーバに送信する段階と、上記ローカルコンピューティング装置によって、上記履歴的な無線接続情報に応じて計算されたパラメータを上記リモート分析サーバから受信する段階と、上記ローカルコンピューティング装置によって、上記受信されたパラメータ及び上記最近の無線接続情報に応じて、希望時刻に接続するべき上記1つ又は複数の無線アクセスポイントから順序付きリストを生成する段階であって、上記最近の無線接続情報が上記受信されたパラメータの計算においてまだ使用されていない無線接続情報を含む段階と、上記ローカルコンピューティング装置によって、上記順序付きリストの中から接続を試みるべき第1の無線アクセスポイントを選択する段階と、上記ローカルコンピューティング装置によって、上記選択された第1の無線アクセスポイントにプローブフレームを送信する段階とを含む。
【0090】
実例17は、実例16の主題を含んでおり、各受信されたパラメータは遺伝的プログラミング操作を用いて生成された予測プログラムを含み、希望時刻に接続するべき上記1つ又は複数の無線アクセスポイントから順序付きリストを生成することは、上記1つ又は複数の無線アクセスポイントから上記順序付きリストを生成するために各受信されたパラメータからの上記予測プログラムを実行することを含む。
【0091】
実例18は、実例16及び実例17のいずれかの主題を含んでおり、各受信されたパラメータは、上記履歴的な無線接続情報に応じて計算された確率を含む。
【0092】
実例19は、実例16から実例18のいずれかの主題を含んでおり、上記ローカルコンピューティング装置によって、上記ログに記録された上記複数の無線接続のうちの異なる最近の無線接続に、各受信されたパラメータに関して計算された上記確率を割り当てる段階を更に含む。
【0093】
実例20は、実例16から実例19のいずれかの主題を含んでおり、上記ローカルコンピューティング装置によって、上記ログに記録された各最近の無線接続に対応する無線アクセスポイントを識別する段階を更に含む。
【0094】
実例21は、実例16から実例20のいずれかの主題を含んでおり、上記1つ又は複数の無線アクセスポイントを含む上記順序付きリストは、上記ログに記録された各異なる最近の無線接続に割り当てられた対応する上記確率に従って降順に配置される。
【0095】
実例22は、実例16から実例21のいずれかの主題を含んでおり、上記ログに記録された各最近の無線接続に対応する無線アクセスポイントを識別することは、上記ログに記録された各無線アクセスポイントと関連付けられたサービスセット識別子、無線チャネル及びメディアアクセス制御アドレスのうちの1つ又は複数に応じて、上記ログに記録された各最近の無線接続に対応する無線アクセスポイントを識別することを含む。
【0096】
実例23は、実例16から実例22のいずれかの主題を含んでおり、上記ローカルコンピューティング装置によって、上記選択された第1の無線アクセスポイントから上記プローブフレームに対する応答を受信することに対応して、上記選択された第1の無線アクセスポイントとの接続を確立する段階を更に含む。
【0097】
実例24は、実例16から実例23のいずれかの主題を含んでおり、上記ローカルコンピューティング装置によって、上記第1の無線アクセスポイントから上記プローブフレームに対する応答を受信しないことに対応して、上記順序付きリストの中から接続を試みるべき第2の無線アクセスポイントを選択する段階を更に含む。
【0098】
実例25は、実例16から実例24のいずれかの主題を含んでおり、上記第1の無線アクセスポイントにプローブフレームを送信することは、上記第1の無線アクセスポイントに第1のプローブフレームを送信することを含み、当該方法は、上記ローカルコンピューティング装置によって、上記第1の無線アクセスポイントから上記第1のプローブフレームに対する応答を受信しないことに対応して、上記選択された第2の無線アクセスポイントに第2のプローブフレームを送信する段階を更に含む。
【0099】
実例26は、実例16から実例25のいずれかの主題を含んでおり、上記ローカルコンピューティング装置によって、上記順序付きリストの上記無線アクセスポイントのうちのいずれからも上記プローブフレームに対する応答を受信しないことに対応して、1つ又は複数の他の無線アクセスポイントの位置を確認するためのスキャンを開始する段階を更に含む。
【0100】
実例27は、実例16から実例26のいずれかの主題を含んでおり、上記選択された第1の無線アクセスポイントにプローブフレームを送信することは、上記選択された第1の無線アクセスポイントに第1のプローブフレームを送信することを含み、当該方法は、(i)上記ローカルコンピューティング装置によって、上記順序付きリストの中から接続を試みるべき第2の無線アクセスポイント及び第3の無線アクセスポイントを選択する段階と、(ii)上記ローカルコンピューティング装置によって、上記選択された第1の無線アクセスポイントに上記第1のプローブフレームを送信することと同時に、上記選択された第2の無線アクセスポイントに第2のプローブフレームを送信するとともに、上記選択された第3の無線アクセスポイントに第3のプローブフレームを送信する段階と、(iii)上記ローカルコンピューティング装置によって、上記選択された第1、第2又は第3の無線アクセスポイントのうちの1つとの接続を、対応する上記選択された第1、第2又は第3の無線アクセスポイントのうちの1つから上記プローブフレームに対する応答を受信することに対応して確立する段階とを更に含む。
【0101】
実例28は、実例16から実例27のいずれかの主題を含んでおり、上記ローカルコンピューティング装置によって、上記リモート分析サーバからの新しい又は更新されたパラメータを要求する段階を更に含む。
【0102】
実例29は、実例16から実例28のいずれかの主題を含んでおり、上記ローカルコンピューティング装置によって、上記ローカルコンピューティング装置と上記無線アクセスポイントのうちの1つ又は複数との間の信号強度を監視する段階と、上記ローカルコンピューティング装置によって、上記信号強度が基準信号強度しきい値に等しいか又は基準信号強度しきい値より低いかどうかを判定する段階とを更に含み、上記リモート分析サーバからの新しい又は更新されたパラメータを要求することは、上記信号強度が上記基準信号強度しきい値に等しいか又は上記基準信号強度しきい値より低いと判定することに対応して、上記リモート分析サーバからの新しい又は更新されたパラメータを要求することを含む。
【0103】
実例30は、実例16から実例29のいずれかの主題を含んでおり、上記ローカルコンピューティング装置によって、上記ローカルコンピューティング装置の1つ又は複数のコンポーネントが動作停止状態にあるかどうかを判定する段階を更に含み、上記リモート分析サーバからの新しい又は更新されたパラメータを要求することは、上記ローカルコンピューティング装置の1つ又は複数のコンポーネントが動作停止状態にあると判定することに対応して、上記リモート分析サーバからの新しい又は更新されたパラメータを要求することを含む。
【0104】
実例31は、無線アクセスポイントに対する接続所要時間を削減するためのローカルコンピューティング装置を含む。当該ローカルコンピューティング装置は、プロセッサと、上記プロセッサによって実行された時に、当該ローカルコンピューティング装置に実例16から実例30のいずれかの方法を実行させる複数の命令を格納したメモリとを備える。
【0105】
実例32は、実行されることに対応してローカルコンピューティング装置が実例16から実例30のいずれかの方法を実行することになる複数の命令を格納した、1つ又は複数の機械読み取り可能な媒体を含む。
【0106】
実例33は、無線アクセスポイントに対する接続所要時間を削減するためのリモート分析サーバを含む。当該リモート分析サーバは、ネットワークを介してローカルコンピューティング装置から履歴的な無線接続情報を受信するための通信モジュールと、上記受信された履歴的な無線接続情報に応じて1つ又は複数のパラメータを計算するためのリモート分析モジュールとを備え、上記通信モジュールは、希望時刻に接続するべき1つ又は複数の無線アクセスポイントから順序付きリストを生成するために、上記ローカルコンピューティング装置に上記計算された1つ又は複数のパラメータを送信する。
【0107】
実例34は、実例33の主題を含んでおり、上記受信された履歴的な無線接続情報に応じて計算された上記1つ又は複数のパラメータを保存するためのリモートパラメータデータベースを更に備える。
【0108】
実例35は、実例33及び実例34のいずれかの主題を含んでおり、上記受信された履歴的な無線接続情報に応じて1つ又は複数のパラメータを計算することは、遺伝的プログラミング操作を用いて各パラメータに関して予測プログラムを生成することを含む。
【0109】
実例36は、実例33から実例35のいずれかの主題を含んでおり、各計算されたパラメータは、上記受信された履歴的な無線接続情報に応じて計算された確率を含む。
【0110】
実例37は、実例33から実例36のいずれかの主題を含んでおり、上記通信モジュールは、上記ローカルコンピューティング装置から新しい又は更新されたパラメータに関する要求を更に受信する。
【0111】
実例38は、無線アクセスポイントに対する接続所要時間を削減するための方法を含む。当該方法は、リモート分析サーバによって、ネットワークを介してローカルコンピューティング装置から履歴的な無線接続情報を受信する段階と、上記リモート分析サーバによって、上記受信された履歴的な無線接続情報に応じて1つ又は複数のパラメータを計算する段階と、上記リモート分析サーバによって、希望時刻に接続するべき1つ又は複数の無線アクセスポイントから順序付きリストを生成するために、上記ローカルコンピューティング装置に上記計算された1つ又は複数のパラメータを送信する段階とを含む。
【0112】
実例39は、実例38の主題を含んでおり、上記リモート分析サーバによって、上記受信された履歴的な無線接続情報に応じて計算された上記1つ又は複数のパラメータをリモートパラメータデータベースに保存する段階を更に含む。
【0113】
実例40は、実例38及び実例39のいずれかの主題を含んでおり、上記受信された履歴的な無線接続情報に応じて1つ又は複数のパラメータを計算することは、遺伝的プログラミング操作を用いて各パラメータに関して予測プログラムを生成することを含む。
【0114】
実例41は、実例38から実例40のいずれかの主題を含んでおり、各計算されたパラメータは、上記受信された履歴的な無線接続情報に応じて計算された確率を含む。
【0115】
実例42は、実例38から実例41のいずれかの主題を含んでおり、上記ローカルコンピューティング装置から新しい又は更新されたパラメータに関する要求を受信する段階を更に含む。
【0116】
実例43は、無線アクセスポイントに対する接続所要時間を削減するためのリモート分析サーバを含む。当該リモート分析サーバは、プロセッサと、上記プロセッサによって実行された時に、当該リモート分析サーバに実例38から実例42のいずれかの方法を実行させる複数の命令を格納したメモリとを備える。
【0117】
実例44は、実行されることに対応してリモート分析サーバが実例38から実例42のいずれかの方法を実行することになる複数の命令を格納した、1つ又は複数の機械読み取り可能な媒体を含む。