(57)【特許請求の範囲】
【請求項１】
無線アクセスポイントへの接続時間を削減するためのコンピューティングデバイスであって、
前記コンピューティングデバイスに記憶されたログに、１または複数の無線アクセスポイントとの複数の無線接続についての無線接続情報を記録する無線接続ロギングモジュールであって、前記ログは、無線接続履歴情報を備える、無線接続ロギングモジュールと、
前記無線接続履歴情報の少なくとも一部に基づいて、複数のパラメータを算出する解析モジュールであって、各パラメータは、前記無線接続履歴情報の少なくとも一部に基づいて算出される確率を備える、解析モジュールと、
各パラメータに対して算出される前記確率を、前記ログに記録された前記複数の無線接続のうち直近の複数の無線接続に対して割り当て、前記直近の複数の無線接続に対して割り当てられた前記確率に基づいて、所望の時刻に接続する前記１または複数の無線アクセスポイントの順番リストを生成する予測モジュールと、
接続を試行するための前記順番リストから第１の無線アクセスポイントを選択する無線接続管理モジュールと、
前記選択された第１の無線アクセスポイントにプローブフレームを送信する無線通信モジュールとを備える、コンピューティングデバイス。
【請求項２】
前記ログは、前記解析モジュールによる前記複数のパラメータの計算でまだ用いられていない、前記直近の複数の無線接続に対応する無線情報を含む追加の無線接続情報をさらに備え、
前記複数のパラメータの少なくとも一部に基づいて、所望の時刻に接続する前記１または複数の無線アクセスポイントの順番リストを生成することは、前記複数のパラメータ及び前記追加の無線接続情報の少なくとも一部に基づいて、所望の時刻に接続する前記１または複数の無線アクセスポイントの順番リストを生成することを備える、請求項１に記載のコンピューティングデバイス。
【請求項３】
各パラメータは、遺伝的プログラミングオペレーションを用いて生成される予測プログラムを備え、
所望の時刻に接続する前記１または複数の無線アクセスポイントの順番リストを生成することは、前記１または複数の無線アクセスポイントの前記順番リストを生成するために、各パラメータに対して前記予測プログラムを実行することを備える、請求項２に記載のコンピューティングデバイス。
【請求項４】
前記予測モジュールは、前記ログに記録された前記直近の複数の無線接続のそれぞれに対応する無線アクセスポイントをさらに特定する、請求項１から３のいずれか一項に記載のコンピューティングデバイス。
【請求項５】
前記順番リストは、前記ログに記録された前記直近の複数の無線接続のそれぞれに割り当てられた、対応する確率に従って降順で構成される前記１または複数の無線アクセスポイントを備える請求項４に記載のコンピューティングデバイス。
【請求項６】
前記ログに記録された前記直近の複数の無線接続のそれぞれに対応する無線アクセスポイントを特定することは、サービスセット識別子、無線チャネル及び前記ログに記録された各無線アクセスポイントと関連付けられる媒体アクセス制御アドレスのうちの１または複数の少なくとも一部に基づいて、前記ログに記録された前記直近の複数の無線接続のそれぞれに対応する無線アクセスポイントを特定することを備える、請求項４または５に記載のコンピューティングデバイス。
【請求項７】
前記無線通信モジュールが前記選択された第１の無線アクセスポイントから前記プローブフレームへの応答を受信したことに応じて、前記無線接続管理モジュールは、前記選択された第１の無線アクセスポイントとの接続をさらに確立する、請求項１から６のいずれか一項に記載のコンピューティングデバイス。
【請求項８】
前記無線通信モジュールが前記第１の無線アクセスポイントから前記プローブフレームへの応答を受信しなかったことに応じて、前記無線接続管理モジュールは、接続を試行するための前記順番リストから、第２の無線アクセスポイントをさらに選択する、請求項１から７のいずれか一項に記載のコンピューティングデバイス。
【請求項９】
前記第１の無線アクセスポイントにプローブフレームを送信する前記無線通信モジュールは、前記第１の無線アクセスポイントに第１のプローブフレームを送信することを備え、
前記無線接続管理モジュールは、前記第１の無線アクセスポイントから、前記第１のプローブフレームへの応答を受信しなかったことに応じて、前記選択された第２の無線アクセスポイントに、第２のプローブフレームをさらに送信する、請求項８に記載のコンピューティングデバイス。
【請求項１０】
前記無線通信モジュールが、前記順番リストの複数の無線アクセスポイントのいずれからも、前記プローブフレームへの応答を受信しなかったことに応じて、前記無線接続管理モジュールは、１または複数の他の無線アクセスポイントの位置を探すために、スキャンをさらに開始する、請求項１から９のいずれか一項に記載のコンピューティングデバイス。
【請求項１１】
前記選択された第１の無線アクセスポイントにプローブフレームを送信することは、前記選択された第１の無線アクセスポイントに第１のプローブフレームを送信することを備え、
前記無線接続管理モジュールは、接続を試行するための前記順番リストから、第２の無線アクセスポイント及び第３の無線アクセスポイントをさらに選択し、
前記無線通信モジュールは、前記選択された第１の無線アクセスポイントへの前記第１のプローブフレームの送信と同時期に、第２のプローブフレームを前記選択された第２の無線アクセスポイントに、第３のプローブフレームを前記選択された第３の無線アクセスポイントに、さらに送信し、
前記無線接続管理モジュールは、前記無線通信モジュールが、選択された第１、第２または第３の無線アクセスポイントの１つから前記プローブフレームへの応答を受信したことに応じて、対応する前記選択された第１、第２または第３の無線アクセスポイントの１つとの接続をさらに確立する、請求項１から１０のいずれか一項に記載のコンピューティングデバイス。
【請求項１２】
前記コンピューティングデバイスが、前記コンピューティングデバイスのユーザにより使用されていない場合に、前記解析モジュールは、前記複数のパラメータを算出する、請求項１から１１のいずれか１項に記載のコンピューティングデバイス。
【請求項１３】
前記コンピューティングデバイスが電力アダプタと結合されている場合にのみ、前記解析モジュールは、前記複数のパラメータを算出する、請求項１から１１のいずれか１項に記載のコンピューティングデバイス。
【請求項１４】
前記解析モジュールは、基準間隔の少なくとも一部に基づいて、前記複数のパラメータを算出する、請求項１から１１のいずれか１項に記載のコンピューティングデバイス。
【請求項１５】
無線アクセスポイントへの接続時間を削減するための方法であって、
コンピューティングデバイス上で、前記コンピューティングデバイスに記憶されるログに、１または複数の無線アクセスポイントとの複数の無線接続についての無線接続情報を記録する段階であって、前記ログは、無線接続履歴情報を備える段階と、
前記コンピューティングデバイス上で、前記無線接続履歴情報の少なくとも一部に基づいて、複数のパラメータを算出する段階であって、各パラメータは、前記無線接続履歴情報の少なくとも一部に基づいて算出される確率を備える、段階と、
前記コンピューティングデバイス上で、各パラメータに対して算出される前記確率を、前記ログに記録された前記複数の無線接続のうち直近の複数の無線接続に対して割り当てる段階と、
前記コンピューティングデバイス上で、前記直近の複数の無線接続に対して割り当てられた前記確率に基づいて、所望の時刻に接続する前記１または複数の無線アクセスポイントの順番リストを生成する段階と、
前記コンピューティングデバイス上で、接続を試行するための前記順番リストから、第１の無線アクセスポイントを選択する段階と、
前記コンピューティングデバイス上で、前記選択された第１の無線アクセスポイントにプローブフレームを送信する段階とを備える、方法。
【請求項１６】
前記ログは、前記複数のパラメータの計算でまだ用いられていない、前記直近の複数の無線接続に対応する無線情報を含む追加の無線接続情報をさらに備え、
前記複数のパラメータの少なくとも一部に基づいて、所望の時刻に接続する前記１または複数の無線アクセスポイントの順番リストを生成する段階は、前記複数のパラメータ及び前記追加の無線接続情報の少なくとも一部に基づいて、所望の時刻に接続する前記１または複数の無線アクセスポイントの順番リストを生成する段階を備える、請求項１５に記載の方法。
【請求項１７】
前記コンピューティングデバイス上で、遺伝的プログラミングオペレーションを用いて各パラメータに対する予測プログラムを生成する段階をさらに備え、所望の時刻に接続する前記１または複数の無線アクセスポイントの順番リストを生成する段階は、前記１または複数の無線アクセスポイントの前記順番リストを生成するために、各パラメータから前記予測プログラムを実行する段階を備える、請求項１６に記載の方法。
【請求項１８】
前記コンピューティングデバイス上で、前記ログに記録された前記直近の複数の無線接続のそれぞれに対応する無線アクセスポイントを特定する段階をさらに備える、請求項１５から１７のいずれか一項に記載の方法。
【請求項１９】
前記順番リストは、前記ログに記録された前記直近の複数の無線接続のそれぞれに割り当てられた前記対応する確率に従って降順で構成される前記１または複数の無線アクセスポイントを備える、請求項１８に記載の方法。
【請求項２０】
前記ログに記録された前記直近の複数の無線接続のそれぞれに対応する無線アクセスポイントを特定する段階は、サービスセット識別子、無線チャネル及び前記ログに記録されたそれぞれの無線アクセスポイントと関連付けられる媒体アクセス制御アドレスのうちの１または複数の少なくとも一部に基づいて、前記ログに記録された前記直近の複数の無線接続のそれぞれに対応する無線アクセスポイントを特定する段階を備える請求項１８または１９に記載の方法。
【請求項２１】
前記選択された第１の無線アクセスポイントから、前記プローブフレームへの応答を受信したことに応じて、前記コンピューティングデバイス上で、前記選択された第１の無線アクセスポイントとの接続を確立する段階をさらに備える、請求項１５から２０のいずれか一項に記載の方法。
【請求項２２】
前記第１の無線アクセスポイントから前記プローブフレームへの応答を受信しなかったことに応じて、前記コンピューティングデバイス上で、接続を試行するための前記順番リストから、第２の無線アクセスポイントを選択する段階をさらに備える、請求項１５から２１のいずれか一項に記載の方法。
【請求項２３】
前記第１の無線アクセスポイントにプローブフレームを送信する段階は、前記第１の無線アクセスポイントに第１のプローブフレームを送信する段階を備え、前記方法は、前記第１の無線アクセスポイントから、前記第１のプローブフレームへの応答を受信しなかったことに応じて、前記コンピューティングデバイス上で、前記選択された第２の無線アクセスポイントに第２のプローブフレームを送信する段階をさらに備える、請求項２２に記載の方法。
【請求項２４】
前記順番リストの複数の無線アクセスポイントのいずれからも、前記プローブフレームへの応答を受信しなかったことに応じて、前記コンピューティングデバイス上で、１または複数の他の無線アクセスポイントの位置を探すスキャンを開始する段階をさらに備える、請求項１５から２３のいずれか一項に記載の方法。
【請求項２５】
前記選択された第１の無線アクセスポイントにプローブフレームを送信する段階は、前記選択された第１の無線アクセスポイントに第１のプローブフレームを送信する段階を備え、
前記方法は、
前記コンピューティングデバイス上で、接続を試行するための前記順番リストから、第２の無線アクセスポイント及び第３の無線アクセスポイントを選択する段階と、
前記選択された第１の無線アクセスポイントへの前記第１のプローブフレームの送信と同時期に、前記コンピューティングデバイス上で、第２のプローブフレームを前記選択された第２の無線アクセスポイントに、第３のプローブフレームを前記選択された第３の無線アクセスポイントに送信する段階と、
選択された第１、第２または第３の無線アクセスポイントの１つからの、前記プローブフレームへの応答を受信したことに応じて、前記コンピューティングデバイス上で、対応する前記選択された第１、第２または第３の無線アクセスポイントの１つとの接続を確立する段階とをさらに備える、請求項１５から２０のいずれか一項に記載の方法。
【請求項２６】
前記無線接続履歴情報の少なくとも一部に基づいて、複数のパラメータを算出する段階は、前記コンピューティングデバイスが、前記コンピューティングデバイスのユーザにより使用されていない場合に、複数のパラメータを算出する段階を備える、請求項１５から２５のいずれか一項に記載の方法。
【請求項２７】
前記無線接続履歴情報の少なくとも一部に基づいて、複数のパラメータを算出する段階は、前記コンピューティングデバイスが電力アダプタに結合されている場合にのみ、複数のパラメータを算出する段階を備える、請求項１５から２５のいずれか一項に記載の方法。
【請求項２８】
前記無線接続履歴情報の少なくとも一部に基づいて、複数のパラメータを算出する段階は、基準間隔の少なくとも一部に基づいて、複数のパラメータを算出する段階を備える、請求項１５から２５のいずれか一項に記載の方法。
【請求項２９】
無線アクセスポイントへの接続時間を削減するためのコンピューティングデバイスであって、
プロセッサと、
複数の命令が記憶されているメモリとを備え、
前記複数の命令は、前記プロセッサによって実行された場合に、前記コンピューティングデバイスに、請求項１５から２８のいずれか１項に記載の方法を実行させる、コンピューティングデバイス。
【請求項３０】
コンピューティングデバイスに、請求項１５から２８のいずれか１項に記載の方法を実行させるためのプログラム。
【請求項３１】
請求項３０に記載のプログラムを格納するコンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
複数のラップトップ、複数のスマートフォン、複数のモバイルインターネットデバイス（ＭＩＤ）及び複数のタブレットのような近年の複数のコンピューティングデバイスは、しばしば１または複数のネットワークに無線接続するための機能性を含む。このような機能性は、任意の数の異なる位置の間でしばしば移動するものの、リモートコンピューティングデバイスまたはサーバによって提供されるネットワークベースのコンテンツ及び複数のサービスへのアクセスをさらに求める複数のコンピューティングデバイスの複数のユーザにとっては、ますます重要となっている。このようなアクセスの提供においては、コンピューティングデバイスは、その各々がインターネットなどのネットワークに接続する１または複数の異なる無線アクセスポイントに無線接続してもよい。
【０００２】
特定の無線アクセスポイントに再接続するために必要な時間長を減少させるために、コンピューティングデバイスは、コンピューティングデバイスが接続するために、各無線アクセスポイントに関連付けられたパスワード及び識別子を保存してもよい。このように、接続するために複数の利用可能な無線アクセスポイントのスキャンする場合、コンピューティングデバイスは、保存された複数の識別子の１つに合致する識別子を受信してもよい。応答において、コンピューティングデバイスは、対応するパスワードを用いて受信された識別子に関連付けられた無線アクセスポイントに再接続してもよく、そのことによって、接続するために必要な時間長を減少させる。しかしながら、コンピューティングデバイスが接続するための、各無線アクセスポイントに対する識別子及びパスワードの保存は、接続する複数の利用可能な無線アクセスポイントのスキャンするために必要な時間長を典型的に減少させるわけではない。
【図面の簡単な説明】
【０００３】
本開示で説明される複数の概念は、複数の添付図面において例として示されるものであり、限定のためではない。説明を簡潔かつ明確にするために、複数の図に示される複数の要素は、必ずしも縮尺通りに描かれていない。例えば、いくつかの要素の複数の寸法は、明確さのために、他の複数の要素に対して誇張されてもよい。さらに、適切であると判断する場合、複数の参照符号は、複数の対応するまたは類似する要素を示すために、複数の図の中で繰り返されている。
【０００４】
【図１】コンピューティングデバイスの無線再接続時間を削減するために、利用可能な無線アクセスポイントを予測するためのシステムの少なくとも１つの実施形態の簡略化されたブロック図である。
【０００５】
【図２】図１のコンピューティングデバイスを無線アクセスポイントに無線接続させるためのシステムの、少なくとも１つの実施形態の簡略化されたブロック図である。
【０００６】
【図３】図１及び２のコンピューティングデバイスの環境の少なくとも１つの実施形態の簡略化されたブロック図である。
【０００７】
【図４】図１及び２の無線アクセスポイントとコンピューティングデバイスとの間の無線再接続時間を削減するために、利用可能な無線アクセスポイントを予測するための方法の少なくとも１つの実施形態の簡略化されたフロー図である。
【図５】図１及び２の無線アクセスポイントとコンピューティングデバイスとの間の無線再接続時間を削減するために、利用可能な無線アクセスポイントを予測するための方法の少なくとも１つの実施形態の簡略化されたフロー図である。
【０００８】
【図６】利用可能な無線アクセスポイントを予測するために、図１及び２のコンピューティングデバイスによりパラメータを算出するための方法の少なくとも１つの実施形態の簡略化されたフロー図である。
【発明を実施するための形態】
【０００９】
本開示の複数の概念は、様々な複数の修正及び複数の代替形を許容するが、その具体的な複数の実施形態は、複数の図面において例として示されており、本明細書で詳述される。しかしながら、当然のことながら、本開示の複数の概念を、開示される特定の複数の形式に限定する意図はなく、反対に、本開示及び添付の特許請求の範囲と整合する全ての修正、均等物及び代替物を包含することを意図するものである。
【００１０】
以下の説明では、ロジックの複数の実装、複数のオペコード、複数のオペランドを指定する手段、リソースの区画化／共有／複製の複数の実装、複数のシステムコンポーネントの複数のタイプ及び複数の相互関係、ならびにロジックの区画化／統合の複数の選択のような数々の具体的な詳細が、本開示のより深い理解を提供することを目的として示される。しかしながら、当業者であれば、本開示の複数の実施形態が、このような具体的な詳細がなくとも実施可能たり得ることが理解されよう。複数の他の例において、複数の制御構造、複数のゲートレベル回路及び全てのソフトウェア命令シーケンスは、本明細書で説明される複数の概念の説明を不明瞭にしないようにするために、詳細には示されていない。当業者であれば、包含される複数の説明により、必要以上の実験をすることなく、適切な機能性を実装することが可能である。
【００１１】
明細書における「一実施形態」、「実施形態」、「例示的な実施形態」等の複数の参照は、説明される実施形態が、特定の機能、構造または特性を含んでもよいが、あらゆる実施形態が、その特定の機能、構造または特性を必ずしも含むとは限らないことを示す。さらに、このような複数の用語は、必ずしも同じ実施形態を指すではない。さらに、特定の機能、構造または特性が実施形態に関連して説明される場合、このような特徴、構造または特性を生じさせることは、明示的に説明されるか否かに関わらず、他の複数の実施形態に関連して、当業者の知識の範囲内であるとされる。
【００１２】
本明細書で説明される複数の概念の複数の実施形態は、ハードウェア、ファームウェア、ソフトウェアまたはこれらの任意の組み合わせのかたちで実装されてもよい。コンピュータシステムのかたちで実装される複数の実施形態は、複数のコンポーネント間における１または複数のポイントツーポイントまたはバスベースの相互接続を含んでもよい。本明細書で説明される複数の概念の複数の実施形態は、１または複数の機械可読またはコンピュータ可読記憶媒体により伝送され、またはそこに記憶され、１または複数のプロセッサにより読み出し及び実行され得る複数の命令としてさらに実装されてもよい。機械可読またはコンピュータ可読記憶媒体は、機械（例えば、コンピューティングデバイス）により読み出し可能な形で情報を記憶または送信するための、任意のデバイス、メカニズムまたは物理的構造として具現されてもよい。例えば、機械可読またはコンピュータ可読記憶媒体は、読み出し専用メモリ（ＲＯＭ）デバイス、ランダムアクセスメモリ（ＲＡＭ）デバイス、磁気ディスク記憶媒体、光学記憶媒体、複数のフラッシュメモリデバイス、複数のミニまたはマイクロＳＤカード、複数のメモリスティックその他として具現されてもよい。
【００１３】
複数の図面において、複数のデバイス、複数のモジュール、複数の命令ブロック及び複数のデータ要素を表すような複数の図的要素の複数の具体的な構成または複数の順序が、説明を簡略化するために示されてもよい。しかしながら、当然のことながら、当業者によれば、複数の図面における複数の図的要素の具体的な順序または構成は、処理の特定の順序またはシーケンス、もしくは複数のプロセスの分離が必要であることを意味するものではない。さらに、図面にある図的要素が含まれることは、このような要素が全ての実施形態に必要であること、またはいくつかの実施形態では、このような要素によって表される複数の特徴が、他の複数の要素に含まれ得ず、またはこれらと組み合わせ得ないことを意味するものではない。
【００１４】
概して、複数の命令ブロックを表すために用いられる複数の図的要素は、ソフトウェアまたはファームウェアの複数のアプリケーション、複数のプログラム、複数の機能、複数のモジュール、複数のルーチン、複数のプロセス、複数のプロシージャ、複数のプラグイン、複数のアプレット、複数のウィジェット、複数のコードフラグメント及び／またはその他などの任意の適した形の機械可読命令を用いて実装されてもよく、このような命令はそれぞれ、任意の適したプログラミング言語、ライブラリ、アプリケーションプログラミングインタフェース（ＡＰＩ）及び／または複数の他のソフトウェア開発ツールを用いて実装されてもよい。例えば、いくつかの複数の実施形態は、Ｊａｖａ（登録商標）、Ｃ＋＋及び／または他の複数のプログラミング言語を用いて実装されてもよい。同様に、データまたは情報を表すために用いられる複数の図的要素は、レジスタ、データ記憶装置、テーブル、レコード、アレイ、インデックス、ハッシュ、マップ、ツリー、リスト、グラフ、（任意のファイルタイプの）ファイル、フォルダ、ディレクトリ、データベース及び／またはその他などの、任意の適した電子的構成または構造を用いて実装されてもよい。
【００１５】
さらに、複数の図面において、複数の実線または破線もしくは複数の矢印などの複数の接続要素が、２つまたはそれより多くの他の図的要素間の、またはその中における接続、関係または関連を示すために用いられる場合、このような複数の接続要素がいずれも存在しないことは、接続、関係または関連が存在できないことを意味するものではない。言い換えると、複数の要素間におけるいくつかの接続、関係または関連は、開示を不明瞭にしないよう、複数の図面において示されなくてもよい。さらに、図を簡略化するために、単一の接続要素は、複数の要素間における複数の接続、関係または関連を表すために用いられてもよい。例えば、接続要素が、複数の信号、データまたは複数の命令の通信を表す場合、当然のことながら、当業者によれば、このような要素は、通信を生じさせるために、必要に応じて１または複数の信号経路（例えば、バス）を表してもよい。
【００１６】
ここで図１を参照すると、無線接続を再確立するために必要な時間長を削減するためのシステム１００は、コンピューティングデバイス１０２と、１または複数の無線アクセスポイント１１０とを備える。コンピューティングデバイス１０２は、接続履歴情報及びコンピューティングデバイス１０２の現在の状況の少なくとも一部に基づいて、さもなければこれらに応じて、複数の無線アクセスポイント１１０のうちの１または複数により、無線接続を再確立するための試行を行ってもよい。さらに、または代替的に、コンピューティングデバイス１０２は、複数の無線アクセスポイント１１０の中で、所定の時刻にコンピューティングデバイス１０２の圏内にある可能性が最も高い（例えば、最も確率が高い）グループ１６０、１７０を予測してもよい。そうするために、コンピューティングデバイス１０２は、接続履歴情報及びコンピューティングデバイス１０２の現在の状況の両方を分析することにより、複数の無線アクセスポイント１１０のそれぞれが所定の時刻に再接続可能（例えば、アクセス可能である、コンピューティングデバイス１０２の圏内にある等）である可能性（例えば、確率）を判断してもよい。当該分析の少なくとも一部に基づいて、さもなければこれらに応じて、コンピューティングデバイス１０２は、再接続可能である確率が最も高い複数の無線アクセスポイント１１０（例えば、上位４つの無線アクセスポイント１１０）の参照番号を備える順番リストを生成してもよい。すなわち、コンピューティングデバイス１０２は、それぞれについて判断された確率に従って降順で構成される、複数の無線アクセスポイント１１０の順番リストを生成してもよい。
【００１７】
いくつかの実施形態では、コンピューティングデバイス１０２は、接続履歴情報及び／またはコンピューティングデバイス１０２の状況の少なくとも一部に基づいて、さもなければこれらに応じて、異なるグループ１６０、１７０を予測し、複数の無線アクセスポイント１１０の対応する複数の順番リストを生成してもよい。例えば、コンピューティングデバイス１０２は、任意の数の異なる位置１２０、１４０で、特定の曜日または特定の時刻に基づいて、用いられてもよい。すなわち、コンピューティングデバイス１０２は、平日には１つの位置１２０で（例えば、オフィスビルで）、週末には他の位置１４０で（例えば、家で）操作されてもよい。位置１２０、１４０のそれぞれにおいて、コンピューティングデバイス１０２は、任意の数の異なる無線アクセスポイント１１０との無線接続を確立してもよく、さもなければこれらと接続してもよい。例えば、平日にオフィスビルに位置するとき（例えば、位置１２０）、コンピューティングデバイス１０２は、１または複数の無線接続を確立してもよく、及び／または任意の数の無線アクセスポイント１１０（例えば、ＡＰ１２２、ＡＰ１２４、ＡＰ１２６、ＡＰ１２８、ＡＰ１３０及びＡＰ１３２）に接続してもよい。対照的に、週末に家に位置するとき（例えば、位置１４０）、コンピューティングデバイス１０２は、１または複数の無線接続を確立してもよく、及び／または任意の数の異なる無線アクセスポイント１１０（例えば、ＡＰ１４２、ＡＰ１４４、ＡＰ１４６、ＡＰ１４８、ＡＰ１５０及びＡＰ１５２）に接続してもよい。このような複数の実施形態では、コンピューティングデバイス１０２は、複数の無線アクセスポイント１１０のグループ１６０、１７０が、特定の時刻に無線接続の再確立可能である可能性がより高いことを予測してもよい。例えば、コンピューティングデバイス１０２は、予測された時刻または曜日の少なくとも一部に基づいて、さもなければこれらに応じて、複数の無線アクセスポイント１１０のグループ１６０（例えば、ＡＰ１２２、ＡＰ１２４、ＡＰ１２６及びＡＰ１２８）が、他の複数の無線アクセスポイント１１０（例えば、ＡＰ１３０及びＡＰ１３２）より無線接続を再確立できる可能性が高いと判断してもよい。
【００１８】
当然のことながら、任意の数の追加的な無線アクセスポイント１１０が、位置１２０、１４０のいずれかにあってもよい。さらに、２つの異なる位置１２０、１４０及び位置のタイプ（例えば、オフィスビル及び家）のみが例示的な実施形態において説明されるが、コンピューティングデバイス１０２は、任意の数の位置１２０、１４０及び／または任意の他のタイプの位置で、任意の数の異なる無線アクセスポイント１１０への無線接続を確立してもよく、及び／またはこれらと接続してもよいことが、さらに理解されるべきである。例えば、いくつかの実施形態では、コンピューティングデバイス１０２は、空港、店舗、レストラン、ホテル及び／または複数の無線アクセスポイント１１０のうちの１または複数を備える任意の他のタイプの位置で、複数の無線アクセスポイント１１０のうちの１または複数との無線接続を確立してもよい。
【００１９】
無線接続を再確立するために必要な時間長を削減するために、コンピューティングデバイス１０２は、順番リストの少なくとも一部に基づいて、さもなければそれに応じて、複数の無線アクセスポイント１１０のうちの１または複数に、プローブフレームまたは特定接続要求を送信してもよい。プローブされたときに、複数の無線アクセスポイント１１０のうちの１または複数がコンピューティングデバイス１０２の圏内にある場合、１または複数の圏内の無線アクセスポイント１１０は、プローブフレームへの応答を生成し、その後送信することができる。プローブ応答を受信すると、コンピューティングデバイス１０２は、対応する無線アクセスポイント１１０との無線接続を再確立してもよい。所定の時刻に無線接続を再確立できる可能性が最も高い複数の無線アクセスポイント１１０を予測及び直接プローブすることにより、コンピューティングデバイス１０２は、典型的には、完了のために著しい量の時間を費やす無線アクセスポイントのスキャンを開始する必要がない。このようにして、無線接続を再確立するための所要時間は、削減されることができる。
【００２０】
コンピューティングデバイス１０２は、データ処理及び複数のリモートデバイスとの通信を行うための、任意のタイプのコンピューティングデバイスとして具現されてもよい。図２の例示的な実施形態では、コンピューティングデバイス１０２は、プロセッサ２０４、Ｉ／Ｏサブシステム２１０、メモリ２０８、データストレージ２１２、通信回路２１８及び１または複数の周辺機器２２０を含む。いくつかの実施形態では、上述した複数のコンポーネントのいくつかは、コンピューティングデバイス１０２のマザーボードに組み込まれてもよいが、他の複数のコンポーネントは、例えば、周辺機器ポートを介してマザーボードと通信可能に結合されてもよい。さらに、コンピューティングデバイス１０２は、他の複数のコンポーネント、複数のサブコンポーネント及び一般にコンピューティングデバイス内にある複数のデバイスを含んでもよく、これらは、説明の明確さのために、図２に示されていないことを理解されたい。
【００２１】
コンピューティングデバイス１０２のプロセッサ２０４は、マイクロプロセッサ、デジタルシグナルプロセッサ、マイクロコントローラなどのような、ソフトウェア／ファームウェアを実行可能な任意のタイプのプロセッサとして具現されてもよい。プロセッサ２０４は、プロセッサコア２０６を有するシングルコアプロセッサとして例示的に具現される。しかしながら、他の実施形態では、プロセッサ２０４は、複数のプロセッサコア２０６を有するマルチコアプロセッサとして具現されてもよい。さらに、コンピューティングデバイス１０２は、１または複数のプロセッサコア２０６を有する複数の追加のプロセッサ２０４を含んでもよい。
【００２２】
コンピューティングデバイス１０２のＩ／Ｏサブシステム２１０は、コンピューティングデバイス１０２のプロセッサ２０４及び／または他の複数のコンポーネントによる複数の入出力動作を容易化するための、回路及び／または複数のコンポーネントとして具現されてもよい。いくつかの実施形態では、Ｉ／Ｏサブシステム２１０は、メモリコントローラハブ（ＭＣＨまたは「ノースブリッジ」）、入出力コントローラハブ（ＩＣＨまたは「サウスブリッジ」）及びファームウェアデバイスとして具現されてもよい。このような複数の実施形態では、Ｉ／Ｏサブシステム２１０のファームウェアデバイスは、基本入出力システム（ＢＩＯＳ）データ及び／または複数の命令及び／または他の情報（例えば、コンピューティングデバイス１０２を起動している間に用いられるＢＩＯＳドライバ）を記憶するためのメモリデバイスとして具現されてもよい。しかしながら、他の実施形態では、他の複数の構成を有する複数のＩ／Ｏサブシステムが用いられてもよい。例えば、いくつかの実施形態では、Ｉ／Ｏサブシステム２１０は、プラットフォームコントローラハブ（ＰＣＨ）として具現されてもよい。このような複数の実施形態では、メモリコントローラハブ（ＭＣＨ）は、プロセッサ２０４に組み込まれ、さもなければこれに関連付けられてもよく、プロセッサ２０４は、メモリ２０８と（図２で破線によって示されるように）直接通信を行ってもよい。さらに、他の実施形態では、Ｉ／Ｏサブシステム２１０は、システムオンチップ（ＳｏＣ）の一部を形成してもよく、コンピューティングデバイス１０２のプロセッサ２０４及び他の複数のコンポーネントと共に、単一の集積回路チップに組み込まれてもよい。
【００２３】
プロセッサ２０４は、多数の信号経路を介して、Ｉ／Ｏサブシステム２１０と通信可能に結合される。これらの複数の信号経路（及び図２に示される他の複数の信号経路）は、コンピューティングデバイス１０２の複数のコンポーネント間における通信を促進可能な、任意のタイプの複数の信号経路として具現されてもよい。例えば、複数の信号経路は、任意の数のワイヤ、ケーブル、ライトガイド、プリント回路基板トレース、ビア、バス、介在デバイス、ポイントツーポイント相互接続などとして具現されてもよい。
【００２４】
コンピューティングデバイス１０２のメモリ２０８は、例えば、ダイナミックランダムアクセスメモリデバイス（ＤＲＡＭ）、シンクロナスダイナミックランダムアクセスメモリデバイス（ＳＤＲＡＭ）、ダブルデータレートシンクロナスダイナミックランダムアクセスメモリデバイス（ＤＤＲ  ＳＤＲＡＭ）、マスク読み出し専用メモリ（ＲＯＭ）デバイス、消去可能プログラム可能ＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラム可能ＲＯＭ（ＥＥＰＲＯＭ）デバイス、フラッシュメモリデバイス、及び／または、他の揮発性及び／または不揮発性メモリデバイスを含む、１または複数のメモリデバイスまたはデータストレージ位置として具現されてもよく、さもなければこれを含んでもよい。メモリ２０８は、多数の信号経路を介してＩ／Ｏサブシステム２１０と通信可能に結合される。単一のメモリデバイス２０８のみが図２に示されるが、コンピューティングデバイス１０２は、他の実施形態では、追加的な複数のメモリデバイスを含んでもよい。様々なデータ及びソフトウェアが、メモリデバイス２０８に記憶されてもよい。例えば、プロセッサ２０４によって実行されるソフトウェアスタックを形成する１または複数のオペレーティングシステム（ＯＳ）、アプリケーション、プログラム、ライブラリ及びドライバは、実行中はメモリ２０８に存在してもよい。
【００２５】
データストレージ２１２は、任意のタイプのデバイス、または、例えば、複数のメモリデバイス及び複数の回路、複数のメモリカード、複数のハードディスクドライブ、複数のソリッドステートドライブまたは他の複数のデータ記憶デバイスのような、データの短期または長期記憶のために構成される複数のデバイスとして具現されてもよい。いくつかの実施形態では、データストレージ２１２は、例えば、ＡＰ１２２などの１または複数の無線アクセスポイントとの過去及び現在の接続に関連付けられたデータを記憶するために用いられてもよい。さらに、または代替的に、データストレージ２１２は、接続する１または複数の無線アクセスポイント１１０の予測を容易化するために用いられる複数のパラメータを記憶するために、さらに用いられてもよい。そうするために、データストレージ２１２は、例えば、無線接続データベース２１４及びパラメータデータベース２１６のような１または複数のデータベースを含んでもよい。このような複数の実施形態では、無線接続データベース２１４は、１または複数の無線接続に関連付けられたデータ（例えば、接続開始時刻及び日付、接続終了時刻及び日付、接続時間等）または複数の無線アクセスポイント１１０のうちコンピューティングデバイス１０２が接続する１または複数に対応する情報（例えば、サービスセット識別子、無線チャネル、媒体アクセス制御アドレス等）を備えてもよい。パラメータデータベース２１６は、いくつかの実施形態では、１または複数のアルゴリズムを用いて算出される１または複数の予測パラメータを含んでもよい。
【００２６】
コンピューティングデバイス１０２の通信回路２１８は、ネットワーク２３０を介して、コンピューティングデバイス１０２と１または複数のリモートコンピューティングデバイスとの間の通信を可能にするための、任意の数のデバイス及び回路として具現されてもよい。例えば、通信回路２１８は、いくつかの実施形態では、ネットワークインタフェースコントローラ（ＮＩＣ）として具現されてもよい。ネットワーク２３０は、任意の数の様々な有線及び／または無線通信ネットワークとして具現されてもよい。例えば、ネットワーク２３０は、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、モバイルネットワークまたはインターネットなどの公衆アクセス可能なグローバルネットワークとして具現されてもよく、さもなければこれらを含んでもよい。さらに、ネットワーク２３０は、コンピューティングデバイス１０２及び複数のリモートコンピューティングデバイス間の通信を容易化するために、任意の数の追加のデバイスを含んでもよい。コンピューティングデバイス１０２及び複数のリモートコンピューティングデバイスは、例えば、特定のタイプのネットワーク２２０に応じて、ネットワーク２３０を介して互いに通信を行うために、任意の適した通信プロトコルを用いてもよい。さらに、いくつかの実施形態では、通信回路２１８は、ネットワーク２３０と通信可能に結合され得る１または複数の無線アクセスポイント１１０と無線接続してもよい。例えば、通信回路２１８は、ネットワーク２３０と通信可能に結合され得るＡＰ１２２と無線接続してもよい。このような複数の実施形態では、通信回路２１８は、ＡＰ１２２を用いて、ネットワーク２３０を介して複数のリモートコンピューティングデバイスと通信を行ってもよい。
【００２７】
コンピューティングデバイス１０２の複数の周辺機器２２０は、任意の数の追加の入出力デバイス、インタフェースデバイス及び／または他の周辺機器を含んでもよい。例えば、複数の周辺機器２２０は、コンテンツをユーザに表示するためのディスプレイ、キーボード、マウスまたは複数の他の入出力周辺機器を含んでもよい。複数の周辺機器２２０は、多数の信号経路を介してＩ／Ｏサブシステム２１０と通信可能に結合され、そのことによって、Ｉ／Ｏサブシステム２１０及び／またはプロセッサ２０４は、複数の周辺機器２２０からの複数の入力を受信し、複数の出力をここに送信することができる。
【００２８】
複数の無線アクセスポイント１１０は、本明細書で説明される複数の機能を実行可能な任意のタイプのコンピューティング及び／または通信デバイスとして具現されてもよい。このように、複数の無線アクセスポイント１１０は、典型的には、ネットワーク２３０を介してデータを通信、記憶、転送、維持、受信及び伝送するためのコンピューティングデバイス内にある様々なハードウェア及びソフトウェアコンポーネント（例えば、プロセッサ、メモリ及び通信回路）を含んでもよい。
【００２９】
ここで図３を参照すると、コンピューティングデバイス１０２の環境３００の一実施形態は、無線接続ロギングモジュール３０２、無線接続管理モジュール３０４、予測モジュール３０６、無線通信モジュール３０８、解析モジュール３１０、無線接続データベース２１４及びパラメータデータベース２１６を含む。当然のことながら、環境３００及び／またはこれに含まれる複数のモジュールのいずれかは、ハードウェア、ファームウェア、ソフトウェアまたはこれらの任意の組み合わせのかたちで実装されてもよい。
【００３０】
上述したように、いくつかの実施形態では、コンピューティングデバイス１０２は、複数の無線アクセスポイント１１０のうちの１または複数との無線接続を確立してもよい。そうするために、無線通信モジュール３０８は、コンピューティングデバイス１０２の近接範囲内に位置する１または複数の無線アクセスポイント１１０を特定するために、スキャンを実行してもよい。コンピューティングデバイス１０２の近接範囲内に位置する１または複数の無線アクセスポイント１１０を特定したことに応じて、無線通信モジュール３０８は、複数の無線アクセスポイント１１０の１つに接続してもよい。さらに、いくつかの実施形態では、無線通信モジュール３０８は、複数の無線アクセスポイント１１０のうちの１または複数と無線接続を再確立してもよい。
【００３１】
無線通信モジュール３０８は、無線接続管理モジュール３０４と通信可能に結合されてもよい。無線通信モジュール３０８は、１または複数の無線アクセスポイント１１０との接続の確立及び／または再確立を容易化してもよい。使用時において、無線接続管理モジュール３０４は、コンピューティングデバイス１０２の近接範囲内に位置する複数の無線アクセスポイント１１０を特定するために、無線通信モジュール３０８にスキャンの開始を命令してもよい。さらに、または代替的に、無線接続管理モジュール３０４は、無線通信モジュール３０８に、スキャンを開始する代わりに、複数の無線アクセスポイント１１０のうちの１または複数を直接プローブすることを命令してもよい。例えば、いくつかの実施形態では、無線接続管理モジュール３０４は、無線通信モジュール３０８に、コンピューティングデバイス１０２が再接続する確率が最も高い複数の無線アクセスポイント１１０に対応する複数の無線アクセスポイント１１０の参照番号に、プローブを送信することを命令してもよい。いくつかの実施形態では、無線接続管理モジュール３０４も、コンピューティングデバイス１０２のユーザによって提供された手動無線接続の設定に応じて、無線通信モジュール３０８に、複数の無線アクセスポイント１１０のうちの１または複数を直接プローブすることを命令してもよい。
【００３２】
無線接続ロギングモジュール３０２は、無線通信モジュール３０８及び１または複数の無線アクセスポイント１１０の間で確立された１または複数の過去または現在の無線接続に対応する接続情報を記録してもよい。接続情報は、複数の無線接続自体を説明する情報（例えば、接続開始時刻及び日付、接続終了時刻及び日付、接続時間等）、またはコンピューティングデバイス１０２が接続する１または複数の無線アクセスポイント１１０に関連付けられた複数の特性またはデータ（例えば、サービスセット識別子、無線チャネル、媒体アクセス制御アドレス等）を説明する情報を備えてもよい。
【００３３】
いくつかの実施形態では、無線接続ロギングモジュール３０２は、１または複数のデータベースとして具現され得るログに、接続情報を記憶するように構成されてよい。例えば、無線接続ロギングモジュール３０２は、無線接続データベース２１４に接続情報を記憶してもよい。当然のことながら、例示的な実施形態では、ログは、データベースとして具現されるとして説明されるが、他の実施形態では、ログは、異なるフォーマットを有するデータ構造で記憶されるデータ（例えば、文書、ファイル等）として具現されてもよい。例えば、ログは、カンマ区切り（ＣＳＶ）ファイル、テキストファイル、暗号データファイル、１または複数のＸＭＬ要素を有する拡張マークアップ言語（ＸＭＬ）文書またはコンピューティングデバイス１０２及び１または複数の無線アクセスポイント１１０の間での１または複数の過去または現在の無線接続に関連付けられた情報を記憶することに適した任意の他のフォーマットとして具現されてもよい。さらに、当然のことながら、無線接続ロギングモジュール３０２は、代わりに、コンピューティングデバイス１０２の任意の適したデータストレージ及び／またはメモリデバイス（例えば、揮発性及び／または複数の不揮発性メモリデバイス）に接続情報を記憶するよう構成されてもよい。
【００３４】
いくつかの実施形態では、基準間隔に対応し得る特定の間隔で、解析モジュール３１０は、無線接続データベース２１４に記憶される接続履歴情報を取得し、１または複数の無線アクセスポイント１１０のうち、すなわち、１または複数の無線アクセスポイント１１０のグループ１６０、１７０のうち、いずれが所定の時刻にコンピューティングデバイス１０２の圏内にある可能性が最も高い（例えば、最も確率が高い）かの予測を容易化するために、後で用いられ得る１または複数のパラメータを算出してもよい。例えば、解析モジュール３１０は、構成可能な基準間隔またはスケジュールに従って（例えば、１時間おき、４時間おきに、毎日１回または２回、毎週１回または２回、毎月１回または２回、スケジューリングされた日付及び／または時刻に、または任意の他の適切な基準間隔またはスケジュールに従って）、無線接続データベース２１４に記憶される接続履歴情報を取得し、１または複数のパラメータを算出してもよい。
【００３５】
いくつかの実施形態では、解析モジュール３１０は、１または複数の基準イベントまたは条件の発生に応じて、コンピューティングデバイス１０２の他の複数のコンポーネント及び複数の動作に対して非同期的に動作するようにも構成され得る。例えば、解析モジュール３１０は、コンピューティングデバイス１０２がアクティブに用いられていないこと（例えば、夜間、アイドリング等）が検出された場合にのみ、及び／またはコンピューティングデバイス１０２が電源に接続されていることに応じて、動作するように構成されてよい。さらに、または代替的に、解析モジュール３１０は、コンピューティングデバイス１０２の他の複数の動作（複数の接続試行、複数のウィルススキャン、読み出し／書き込み動作、システムメンテナンス等）が実行されていない場合にのみ動作するように構成されてよい。当然のことながら、任意の適したイベント及び／または条件が、解析モジュール３１０の動作のトリガとなってもよい。さらに、いくつかの実施形態では、解析モジュール３１０は、コンピューティングデバイス１０２の他の複数のコンポーネント及び複数の動作に対して同期的に（例えば、同時期に）動作してもよいことを理解されたい。
【００３６】
説明されたように、解析モジュール３１０は、１または複数の無線アクセスポイント１１０のうち、すなわち１または複数の無線アクセスポイント１１０のグループ１６０、１７０のうち、いずれが、特定の時刻にコンピューティングデバイス１０２の圏内にある可能性が最も高いかの予測を容易化するために後で用いられ得る１または複数のパラメータを算出する。そうするために、解析モジュール３１０は、接続履歴情報に応じて複数のパラメータを算出する、さもなければこれらを生成するために、１または複数の人工知能技術を用いてもよい。いくつかの実施形態では、例えば、解析モジュール３１０は、複数のパラメータのセットを算出するために、１または複数の遺伝的アルゴリズムを用いてもよい。このような複数の実施形態では、複数のパラメータのセットの各パラメータは、接続履歴情報から算出されてもよい。このように、各パラメータは、前の無線接続が生じた確率を表す定数として具現されてもよい。例えば、解析モジュール３１０によって算出される複数のパラメータのセットは、基準となる特定の時刻に確立された無線接続が、確立された最後の無線接続（例えば、前の無線接続）と同じであった確率を示すパラメータ、基準となる特定の時刻に確立された無線接続が、基準となる特定の時刻の２４時間前に確立された無線接続と同じであった確率を示すパラメータ、及び基準となる特定の時刻に確立された無線接続が、基準となる特定の時刻の１週間前に確立された無線接続と同じであった確率を示すパラメータを備えてもよい。このようにして、解析モジュール３１０は、複数のパラメータのセットとして［０．４，０．３５，０．２５］を算出してもよく、ここで、０．４は、基準となる特定の時刻（例えば、火曜午後５時）に確立された無線接続が（例えば、火曜午後３時、月曜午後１０時等に）確立された最後の無線接続と同じであった確率を示してもよく、０．３５は、基準となる特定の時刻（例えば、火曜午後５時）に確立された無線接続が、基準となる特定の時刻の２４時間前（例えば、月曜午後５時）に確立された無線接続と同じであった確率を示してもよく、０．２５は、基準となる特定の時刻（例えば、火曜午後５時）に確立された無線接続が、基準となる特定の時刻の１週間前（例えば、「最後の」火曜午後５時）に確立された無線接続と同じであった確率を示してもよい。
【００３７】
例示的な実施形態では、３つのパラメータのみが算出されるが、他の実施形態では、複数の異なる確率を有する任意の数の異なるパラメータが算出されてもよいことが理解されよう。例えば、いくつかの複数の実施形態の解析モジュール３１０は、基準となる特定の時刻に確立された無線接続が、基準となる特定の時刻の１時間前に確立された無線接続と同じであった確率を示すパラメータ、基準となる特定の時刻に確立された無線接続が、基準となる特定の時刻の１月前に確立された無線接続と同じであった確率を示すパラメータ、または特定の時刻に確立された無線接続が、過去に確立された他の無線接続と同じであった確率を示すために適した任意の追加的なパラメータを算出してもよい。
【００３８】
いくつかの実施形態では、解析モジュール３１０は、複数のパラメータのセットを算出するために、１または複数の遺伝的プログラミング技術を用いてもよい。このような複数の実施形態では、複数のパラメータのセットの各パラメータは、代わりに、複数の無線アクセスポイント１１０のうち、すなわち、複数の無線アクセスポイント１１０のグループ１６０、１７０のうち、いずれが所定の時刻にコンピューティングデバイス１０２の圏内にある可能性が最も高い（例えば、最も確率が高い）かの予測を容易化するために、予測モジュール３０６によって後で実行され得る１または複数の予測プログラム（例えば、複数の命令、複数のプログラムシーケンス等）として具現されてもよい。
【００３９】
いくつかの実施形態では、複数のパラメータを算出及び／または複数の予測プログラムを生成するために用いられる１または複数の人工知能技術（例えば、複数の遺伝的アルゴリズム、遺伝的プログラミング等）は、コンピューティングデバイス１０２に対して計算的及び／またはリソース集約的であってもよい。これは特に、コンピューティングデバイス１０２がモバイルコンピューティングデバイス（例えば、スマートフォン、タブレットコンピュータ、電子リーダ、ラップトップコンピュータ、携帯情報端末等）もしくは限定的なまたは削減された電源（例えば、バッテリ、手動クランク、太陽電池等）を用いて完全に又は部分的に動作可能な任意の他のタイプのコンピューティングデバイスを備える複数の実施形態において、あてはまる。従って、上述したように、いくつかの実施形態では、解析モジュール３１０は、１または複数の基準イベントまたは条件（例えば、コンピューティングデバイス１０２の非アクティブ状態、電源への接続等）の発生に応じて、コンピューティングデバイス１０２の他の複数のコンポーネント及び複数の動作に対して非同期的に動作するように構成されてよい。このように、解析モジュール３１０は、コンピューティングデバイス１０２の複数のリソース（例えば、電力レベル、バッテリレベル、処理能力等）が、このような計算を実行するために適切である場合にのみ、動作してもよい。このようにして、コンピューティングデバイス１０２の電力及び他の複数のリソースの量は、保持されてもよい。
【００４０】
当然のことながら、例示的な実施形態では、複数の遺伝的アルゴリズム及び複数の遺伝的プログラミング技術のみが、複数のパラメータを算出及び／または複数の予測プログラムを生成するために利用可能であるとして説明されるが、解析モジュール３１０は、１または複数の無線アクセスポイント１１０のうち、すなわち１または複数の無線アクセスポイント１１０のグループ１６０、１７０のうち、いずれが所定の時刻にコンピューティングデバイス１０２の圏内にある可能性が最も高い（例えば、最も確率が高い）かの予測を後で容易化するために、パラメータを算出または複数の予測プログラムを生成することに適した任意の他の技術を用いてもよい。例えば、解析モジュール３１０は、１または複数の無線アクセスポイント１１０のうち、すなわち１または複数の無線アクセスポイント１１０のグループ１６０、１７０のうち、いずれが所定の時刻にコンピューティングデバイス１０２の圏内にある可能性が最も高い（例えば、最も確率が高い）かの予測に後で用いるために最も適した（例えば、最適な）１または複数のアルゴリズムを算出、生成及び／または判断してもよい。
【００４１】
いくつかの実施形態では、解析モジュール３１０は、算出された複数のパラメータ及び／または生成された複数の予測プログラムを１または複数のデータベースに記憶するように構成されてよい。例えば、解析モジュール３１０は、算出された複数のパラメータ及び／または生成された複数の予測プログラムをパラメータデータベース２１６に記憶してもよい。勿論、当然のことながら、解析モジュール３１０は、代わりに、算出された複数のパラメータ及び／または生成された複数の予測プログラムを、コンピューティングデバイス１０２の任意の適したデータストレージ及び／またはメモリデバイス（例えば、揮発性及び／または複数の不揮発性メモリデバイス）に記憶するよう構成されてもよい。
【００４２】
１または複数の無線アクセスポイント１１０のうち、すなわち１または複数の無線アクセスポイント１１０のグループ１６０、１７０のうち、いずれが所定の時刻にコンピューティングデバイス１０２の圏内にある可能性が最も高い（例えば、最も確率が高い）かの予測を容易化するために、予測モジュール３０６は、無線接続管理モジュール３０４、無線接続データベース２１４及びパラメータデータベース２１６と通信可能に結合されてもよい。使用時において、予測モジュール３０６は、無線接続の再確立が要求されたことの通知及び／または表示を、無線接続管理モジュール３０４から受信してもよい。応答において、予測モジュール３０６は、１または複数のパラメータ及び／または予測プログラムを、パラメータデータベース２１６から取得してもよい。さらに、予測モジュール３０６は、追加の無線接続情報を、無線接続データベース２１４から取得してもよい。いくつかの実施形態では、無線接続データベース２１４から取得された追加の無線接続情報は、無線接続ロギングモジュール３０２によってログに記憶された最も直近の接続情報を含んでもよい。すなわち、無線接続データベース２１４から取得された最も直近の接続情報は、解析モジュール３１０がパラメータまたは予測プログラムをまだ算出していない１または複数の直近の無線接続に対応する無線情報を含んでもよい。
【００４３】
使用時において、予測モジュール３０６は、圏内にある可能性が最も高い、さもなければ所望の曜日及び／または予測時刻にコンピューティングデバイス１０２が利用可能な、複数の無線アクセスポイント１１０の異なるグループ１６０、１７０を予測してもよい。解析モジュール３１０によって算出された複数のパラメータが、接続履歴情報から導出された複数の接続確率を示す複数の定数として具現される複数の実施形態において、予測モジュール３０６は、前に算出された複数のパラメータ、無線接続データベース２１４から取得された追加の（例えば、最も直近の）接続情報、及び所望の予測時刻を、順番リストを生成する一般的な（例えば、標準的な、事前に定義された、デフォルトの、共通の等）アルゴリズムまたは式に対し、複数の入力として用いてもよい。このような複数の実施形態では、予測モジュール３０６は、所望の曜日及び／または予測時刻に対応するが、過去に生じた複数のパラメータ（例えば、接続履歴情報から生成された複数のパラメータ）を、パラメータデータベース２１６から取得してもよい。例えば、予測モジュール３０６が、所望の曜日及び／または予測時刻が現在の曜日及び時刻（例えば、火曜午後５時）に対応すると判断した場合、予測モジュール３０６は、接続履歴情報（最後の４回の火曜午後５時、最後の３回の火曜午後５時等）を用いて同じ曜日及び時刻に対する前に算出された複数のパラメータのセットを取得してもよい。
【００４４】
予測モジュール３０６は、次に、最も直近の複数の無線接続（例えば、解析モジュール３１０がパラメータまたは予測プログラムをまだ算出していない接続情報に対応する複数の無線接続）のうち、いずれが所望の予測時刻（例えば、火曜午後５時）に再接続可能である可能性が最も高いかを判断してもよい。そうするために、予測モジュール３０６は、最も直近の接続情報に対して、前に算出された複数のパラメータ（例えば、０．４，０．３５，０．２５）のそれぞれに関連付けられた複数の接続確率を割り当ててもよい。例えば、予測モジュール３０６は、確率０．４を、（例えば、火曜午後３時、月曜午後１０時等に）確立された最後の（例えば、前の）無線接続に対して、確率０．３５を、所望の予測時刻（例えば、火曜午後５時）の２４時間前（例えば、月曜午後５時）に確立された無線接続に対して、確率０．２５を、所望の予測時刻（例えば、火曜午後５時）の１週間前（例えば、「最後の」火曜午後５時）に確立された無線接続に対して、割り当ててもよい。
【００４５】
最も直近の複数の無線接続のうち、いずれが所望の時刻（例えば、火曜午後５時）に再接続可能である可能性が最も高いかを判断したことに応じて、予測モジュール３０６は、複数の無線アクセスポイント１１０（例えば、ＡＰ１２２、ＡＰ１２４、ＡＰ１２６等）のうち、いずれがこれらの複数の無線接続に対応し、そこから順番リストを生成するかを特定してもよい。そうするために、予測モジュール３０６は、複数の特性または対応する複数の無線アクセスポイント１１０（例えば、サービスセット識別子、無線チャネル、媒体アクセス制御アドレス等）に関連付けられたデータを説明するあらゆる情報を用いることにより、特定を容易化してもよい。結果的な順番リストは、従って、再接続可能である確率が最も高い複数の無線アクセスポイント１１０の参照番号（例えば、上位３つの無線アクセスポイント１１０）を備えてもよい。いくつかの実施形態では、複数の無線アクセスポイント１１０の順番リストは、それぞれについて判断された確率に従って降順で構成されてもよい。
【００４６】
解析モジュール３１０によって算出された複数のパラメータが、１または複数の予測プログラム（例えば、複数の命令、複数のプログラムシーケンス等）として代わりに具現される複数の実施形態において、予測モジュール３０６は、複数の無線アクセスポイント１１０の順番リストを生成するために、無線接続データベース２１４から取得された最も直近の接続情報及び所望の予測時刻を複数の入力として用いて、前に生成された複数の予測プログラムを実行してもよい。このような複数の実施形態では、結果的な順番リストは、同様に、再接続可能である確率が最も高い複数の無線アクセスポイント１１０の参照番号（例えば、上位３つの無線アクセスポイント１１０）を備えてもよい。さらに、または代替的に、複数の無線アクセスポイント１１０の順番リストは、それぞれについて判断された確率に従って降順で構成されてもよい。
【００４７】
無線接続を再確立するために必要な時間長を削減するために、無線接続管理モジュール３０４は、順番リストの少なくとも一部に基づいて、さもなければそれに応じて、無線通信モジュール３０８に、プローブまたは特定接続要求を複数の無線アクセスポイント１１０のうちの１または複数に送信することを命令してもよい。プローブされたときに、複数の無線アクセスポイント１１０のうちの１または複数がコンピューティングデバイス１０２の圏内にあるか、さもなければこれに利用可能である場合、１または複数の圏内の無線アクセスポイント１１０は、プローブへの応答を生成し、その後これを送信することができる。プローブ応答を受信すると、無線接続管理モジュール３０４は、無線通信モジュール３０８に、応答を生成した無線アクセスポイント１１０と無線接続を再確立することを命令してもよい。所定の時刻に無線接続を再確立できる可能性が最も高い複数の無線アクセスポイント１１０を予測及び直接プローブすることにより、コンピューティングデバイス１０２は、複数の利用可能な無線アクセスポイントに対し、典型的には、完了するために著しい量の時間を費やすスキャンを行う必要がない。このようにして、無線接続を再確立するための所要時間は、削減されることができる。しかしながら、プローブされたときに、複数の無線アクセスポイント１１０がいずれもコンピューティングデバイス１０２の圏内になく、さもなければこれに利用可能ではない場合、無線接続管理モジュール３０４は、コンピューティングデバイス１０２の近接範囲内に位置する他の複数の無線アクセスポイント１１０を特定するために、無線通信モジュール３０８に、スキャンを開始することを代わりに命令してもよい。
【００４８】
ここで図４及び図５を参照すると、無線アクセスポイント１１０及びコンピューティングデバイス１０２間の無線再接続時間を削減するために、利用可能な無線アクセスポイント１１０を予測するための方法４００の少なくとも１つの実施形態は、ブロック４０２から開始する。ブロック４０２では、コンピューティングデバイス１０２は、コンピューティングデバイス１０２及び１または複数の無線アクセスポイント１１０の間で確立された１または複数の過去または現在の無線接続に対応する接続情報を記録してもよい。接続情報は、複数の無線接続自体を説明する情報（例えば、接続開始時刻及び日付、接続終了時刻及び日付、接続時間等）、またはコンピューティングデバイス１０２が接続する１または複数の無線アクセスポイント１１０に関連付けられた複数の特性またはデータ（例えば、サービスセット識別子、無線チャネル、媒体アクセス制御アドレス等）を説明する情報を備えてもよい。コンピューティングデバイス１０２は、データベース（例えば、無線接続データベース２１４）に記録された接続情報を記憶してもよい。いくつかの実施形態では、接続情報は、ログファイルに、またはコンピューティングデバイス１０２及び１または複数の無線アクセスポイント１１０の間での１または複数の過去または現在の無線接続に関連付けられた情報を記憶することに適した任意の他のフォーマットで、さらに記憶されてもよい。
【００４９】
ブロック４０４では、コンピューティングデバイス１０２は、１または複数のパラメータ及び／または、１または複数の無線アクセスポイント１１０のうち、すなわち１または複数の無線アクセスポイント１１０のグループ１６０、１７０のうち、いずれが、特定の時刻（例えば、所望の予測時刻）にコンピューティングデバイス１０２の圏内にある可能性が最も高いかの予測を容易化するために後で用いられ得る予測プログラムを算出する。そうするために、コンピューティングデバイス１０２は、ログまたはデータベースに記憶される接続履歴情報に応じ、１または複数の人工知能技術を用いて、複数のパラメータ及び／または複数の予測プログラムを算出し、さもなければこれを生成してもよい。いくつかの実施形態では、コンピューティングデバイスは、複数のパラメータ及び／または複数の予測プログラムを生成するために、１または複数の遺伝的アルゴリズム及び／または複数の遺伝的プログラミング技術を用いる。各パラメータ及び／または予測プログラムは、接続履歴情報から算出された異なる接続確率を示してもよく、さもなければこれに対応してもよい。完了時または算出中の任意の適切な時刻に、コンピューティングデバイス１０２は、算出された複数のパラメータ及び／または複数の予測プログラムを、１または複数のデータベース（例えば、パラメータデータベース２１６）に記憶してもよい。算出された複数のパラメータ及び／または複数の予測プログラムを１または複数のデータベースに記憶すると、方法４００は、ブロック４０６に進む。
【００５０】
いくつかの実施形態では、コンピューティングデバイス１０２は、１または複数のパラメータ及び／または予測プログラムの算出に先立ち、任意の複数の動作が現在実行されているか否か、及び／またはコンピューティングデバイス１０２が現在使用中（例えば、アクティブ）か否かを検出してもよい。そうするために、このような複数の実施形態のコンピューティングデバイス１０２は、１または複数の動作及び／またはプロセスのパフォーマンスを監視してもよい。さらに、または代替的に、コンピューティングデバイス１０２は、コンピューティングデバイス１０２の複数の周辺機器２２０（すなわち、複数のキーパッド、複数のタッチスクリーン、複数の音声認識コンポーネント等）のうちの１または複数を介して、ユーザから受信された入力を監視してもよい。コンピューティングデバイス１０２がアクティブに用いられている及び／または電源に接続されていないと判断したことに応じて、コンピューティングデバイス１０２は、１または複数のパラメータ及び／または予測プログラムの算出に進んでもよい。しかしながら、代わりに、コンピューティングデバイス１０２がアクティブに用いられている及び／または電源に接続されていないと判断された場合に、コンピューティングデバイス１０２は、１または複数のパラメータ及び／または予測プログラムの算出前にデバイスがアクティブであるか、及び／または複数の動作が非アクティブであるかについて、監視を継続してもよい。コンピューティングデバイス１０２は、複数のパラメータ及び／または複数の予測プログラムを算出する場合、非アクティブ及び／または電源に接続されているため、このような複数の計算は、他の複数の動作またはコンピューティングデバイスの使用に対して非同期である。このようにして、コンピューティングデバイス１０２の複数のリソース（例えば、バッテリ電力、処理電力等）は、他の複数の動作のために保持されてもよい。
【００５１】
ブロック４０６では、コンピューティングデバイス１０２は、無線接続の再確立が要求されたか否かを判断する。そうするために、いくつかの実施形態では、コンピューティングデバイス１０２は、コンピューティングデバイス１０２の複数の周辺機器２２０（すなわち、複数のキーパッド、複数のタッチスクリーン、複数の音声認識コンポーネント等）のうちの１または複数を介してユーザから受信された入力を監視してもよい。入力は、複数の無線アクセスポイント１１０の１つと無線接続を再確立するというユーザによる要求を示してもよい。さらに、または代替的に、コンピューティングデバイス１０２は、コンピューティングデバイス１０２の１または複数のコンポーネントまたは動作によって生成される通知及び／または表示を監視してもよい。コンピューティングデバイス１０２が、無線接続の再確立が要求されたと判断した場合、方法４００は、ブロック４０８に進む。代わりに、コンピューティングデバイス１０２が、無線接続の再確立が要求されていないと判断した場合、方法４００は、コンピューティングデバイス１０２が、コンピューティングデバイス１０２及び１または複数の無線アクセスポイント１１０の間で確立された１または複数の過去または現在の無線接続に対応する接続情報の記録を継続するブロック４０２に戻る。
【００５２】
ブロック４０８では、コンピューティングデバイス１０２は、複数の無線アクセスポイントのうちの１または複数が、接続を再確立するために利用可能であり得るとの予測を容易化するために算出された複数のパラメータ及び接続履歴情報を取得する。そうするために、コンピューティングデバイス１０２は、ブロック４１０において、複数のパラメータ及び／または複数の予測プログラムを、パラメータデータベース２１６から取得する。さらに、コンピューティングデバイス１０２は、ブロック４１２において、追加の無線接続情報を、無線接続データベース２１４から取得する。いくつかの実施形態では、無線接続データベース２１４から取得された追加の無線接続情報は、コンピューティングデバイス１０２によってログに記憶された最も直近の接続情報を含んでもよい。すなわち、無線接続データベース２１４から取得された最も直近の接続情報は、コンピューティングデバイス１０２がパラメータまたは予測プログラムをまだ算出していない１または複数の直近の無線接続に対応する無線情報を含んでもよい。複数のパラメータ及び追加の接続情報（例えば、最も直近で記録された接続情報）を取得した後、方法４００は、ブロック４１４に進む。
【００５３】
ブロック４１４では、コンピューティングデバイス１０２は、再接続可能である確率が最も高い複数の無線アクセスポイント１１０の参照番号を備える順番リストを生成する。例えば、コンピューティングデバイス１０２は、無線接続を再確立可能である確率が最も高いと判断された３つの無線接続に対応し得る上位３つの無線アクセスポイント１１０を備える順番リストを生成してもよい。いくつかの実施形態では、複数の無線アクセスポイント１１０の順番リストは、それぞれについて判断された確率に従って降順で構成されてもよい。順番リストを生成すると、方法４００は、ブロック４１６に進む。
【００５４】
ブロック４１６では、コンピューティングデバイス１０２は、順番リストの複数の無線アクセスポイント１１０のうちの１または複数に、プローブまたは特定接続要求を送信する。いくつかの実施形態では、コンピューティングデバイス１０２は、順番リストの複数の無線アクセスポイント１１０のそれぞれについて判断された確率に従って、降順で複数のプローブを送信してもよい。このように、コンピューティングデバイス１０２は、無線接続を再確立可能である確率が最も高いと判断された無線アクセスポイント１１０に、順番リストの他の無線アクセスポイント１１０にプローブを送信する前に、プローブを最初に送信してもよい。例えば、コンピューティングデバイス１０２によって生成された順番リストが、複数の無線アクセスポイント１１０のうちの４つ（例えば、ＡＰ１２２、ＡＰ１２４、ＡＰ１２６及びＡＰ１２８）を備える場合、コンピューティングデバイス１０２は、ＡＰ１２４、ＡＰ１２６またはＡＰ１２８にプローブを送信する前に、ＡＰ１２２に、プローブを最初に送信してもよい。方法４００は、次に、ブロック４１８に進む。
【００５５】
ブロック４１８では、コンピューティングデバイス１０２は、プローブが向けられた無線アクセスポイント１１０からのプローブへの応答を、これが受信したか否かを判断する。すなわち、プローブが向けられた無線アクセスポイント１１０（例えば、ＡＰ１２２）がコンピューティングデバイス１０２の圏内にあり、これとの無線接続を再確立する可能である場合、プローブが向けられた無線アクセスポイント１１０（例えば、ＡＰ１２２）は、コンピューティングデバイス１０２によって受信され得るプローブへの応答を送信してもよい。コンピューティングデバイス１０２が、プローブが向けられた無線アクセスポイント１１０からの応答を受信した場合、方法４００は、ブロック４２０に進む。しかしながら、コンピューティングデバイス１０２が、プローブが向けられた無線アクセスポイント１１０からの応答を受信しなかった場合、方法４００は、代わりに、ブロック４２２に進む。
【００５６】
ブロック４２２では、コンピューティングデバイス１０２は、プローブが向けられた無線アクセスポイント１１０が、順番リストの最後の無線アクセスポイント１１０か否かを判断する。コンピューティングデバイス１０２が、プローブが向けられた無線アクセスポイント１１０が順番リストの最後の無線アクセスポイント１１０ではないと判断した場合、方法４００は、順番リストの次の無線アクセスポイント１１０（例えば、次に確率が最も高い無線アクセスポイント１１０）をプローブするために、ブロック４１６に戻る。しかしながら、コンピューティングデバイス１０２が、プローブが向けられた無線アクセスポイント１１０が順番リストの最後の無線アクセスポイント１１０と判断した場合、方法４００は、ブロック４２４に進む。ブロック４２４では、コンピューティングデバイス１０２は、コンピューティングデバイス１０２の近接範囲内に位置する他の複数の無線アクセスポイント１１０を特定するために、スキャンを開始してもよい。
【００５７】
ブロック４２０では、コンピューティングデバイス１０２は、プローブが向けられ、そこからの応答が受信された無線アクセスポイント１１０との無線接続を再確立してもよい。所定の時刻に無線接続を再確立できる可能性が最も高い複数の無線アクセスポイント１１０を予測及び直接プローブすることにより、コンピューティングデバイス１０２は、利用可能な無線アクセスポイント１１０に対して、典型的には、完了するために著しい量の時間を費やすスキャンを行う必要がない。このようにして、無線接続を再確立するための所要時間は、削減されることができる。
【００５８】
当然のことながら、例示的な実施形態のコンピューティングデバイス１０２は、順番リストの複数の無線アクセスポイント１１０のそれぞれについて判断された確率に従って、降順で複数のプローブを送信するが、いくつかの実施形態では、コンピューティングデバイス１０２は、同時期に（例えば、同時に）順番リストの各無線アクセスポイント１１０に、プローブをさらに送信してもよい。このような複数の実施形態では、コンピューティングデバイス１０２は、代わりに、ブロック４１８において、複数のプローブに対する応答を、複数のプローブが向けられた複数の無線アクセスポイント１１０のいずれか１つから、これが受信したか否かを判断してもよい。コンピューティングデバイス１０２が、複数のプローブが向けられた複数の無線アクセスポイント１１０のいずれか１つからの応答を受信した場合、コンピューティングデバイス１０２は、応答を送信した複数の無線アクセスポイント１１０のうちの１または複数との無線接続を再確立してもよい。いくつかの実施形態では、コンピューティングデバイス１０２は、一番にプローブに応答した無線アクセスポイント１１０との無線接続を再確立してもよい。当然のことながら、しかしながら、コンピューティングデバイス１０２は、代わりに、ポリシ（例えば、最大の信号強度、複数のデバイスセキュリティポリシ、複数のユーザの嗜好等）または、複数の応答した無線アクセスポイント１１０のうち、無線接続を再確立する１つを選択するための任意の他の適したメカニズムに従って、１または複数の無線アクセスポイント１１０のいずれかとの無線接続を再確立することを判断してもよい。
【００５９】
ここで図６を参照すると、利用可能な無線アクセスポイントを予測するために、コンピューティングデバイス１０２によってパラメータを算出するための方法の少なくとも１つの実施形態は、ブロック６０２から開始する。ブロック６０２では、コンピューティングデバイス１０２は、コンピューティングデバイス１０２及び１または複数の無線アクセスポイント１１０の間で確立された１または複数の過去または現在の無線接続に対応する接続情報を、データベース（例えば、無線接続データベース２１４）から取得してもよい。接続情報は、複数の無線接続自体を説明する情報（例えば、接続開始時刻及び日付、接続終了時刻及び日付、接続時間等）、またはコンピューティングデバイス１０２が接続する１または複数の無線アクセスポイント１１０に関連付けられた複数の特性またはデータ（例えば、サービスセット識別子、無線チャネル、媒体アクセス制御アドレス等）を説明する情報を備えてもよい。接続情報を取得した後、方法６００は、ブロック６０４に進む。
【００６０】
ブロック６０４では、コンピューティングデバイス１０２は、１または複数のパラメータ、及び／または、１または複数の無線アクセスポイント１１０のうち、すなわち１または複数の無線アクセスポイント１１０のグループ１６０、１７０のうち、いずれが、特定の時刻（例えば、所望の予測時刻）にコンピューティングデバイス１０２の圏内にある可能性が最も高いかの予測を容易化するために後で用いられ得る複数の予測プログラムを算出する。そうするために、コンピューティングデバイス１０２は、ログまたはデータベースに記憶される接続履歴情報に応じ、１または複数の人工知能技術を用いて、複数のパラメータ及び／または複数の予測プログラムを算出し、さもなければこれを生成してもよい。いくつかの実施形態では、コンピューティングデバイスは、複数のパラメータ及び／または複数の予測プログラムを生成するために、１または複数の遺伝的アルゴリズム及び／または複数の遺伝的プログラミング技術を用いる。各パラメータ及び／または予測プログラムは、接続履歴情報から算出された異なる接続確率を示してもよく、さもなければこれに対応してもよい。完了後または複数のパラメータ及び／または複数の予測プログラムを算出中の任意の適切な時刻に、方法６００は、ブロック６０６に進む。ブロック６０６では、コンピューティングデバイス１０２は、算出された複数のパラメータ及び／または複数の予測プログラムを、１または複数のデータベース（例えば、パラメータデータベース２１６）に記憶してもよい。いくつかの実施形態では、算出された複数のパラメータは、１または複数の無線アクセスポイント１１０のうち、すなわち１または複数の無線アクセスポイント１１０のグループ１６０、１７０のうち、いずれが所定の時刻にコンピューティングデバイス１０２の圏内にある可能性が最も高い（例えば、最も確率が高い）かの予測を容易化するために後で用いられてもよい。
【００６１】
［実施例］  本明細書で開示された複数のデバイス、複数のシステム及び複数の方法を示す複数の例が、以下、提供される。複数のデバイス、複数のシステム及び複数の方法の実施形態は、後述される複数の例のいずれか１または複数、及び任意の組み合わせを含んでもよい。
【００６２】
例１は、無線アクセスポイントへの接続時間を削減するためのコンピューティングデバイスを含み、コンピューティングデバイスは、コンピューティングデバイスに記憶されたログに、１または複数の無線アクセスポイントとの複数の無線接続についての無線接続情報を記録する無線接続ロギングモジュールを含み、ログは、無線接続履歴情報と、無線接続履歴情報の少なくとも一部に基づいて、複数のパラメータを算出する解析モジュールと、複数のパラメータの少なくとも一部に基づいて、所望の時刻に接続する１または複数の無線アクセスポイントの順番リストを生成する予測モジュールと、接続を試行するための順番リストから第１の無線アクセスポイントを選択する無線接続管理モジュールと、選択された第１の無線アクセスポイントにプローブフレームを送信する無線通信モジュールとを含む。
【００６３】
例２は、例１の主題を含み、ログは、解析モジュールによる複数のパラメータの計算でまだ用いられていない追加の無線接続情報をさらに含み、複数のパラメータの少なくとも一部に基づいて、所望の時刻に接続する１または複数の無線アクセスポイントの順番リストを生成することは、複数のパラメータ及び追加の無線接続情報の少なくとも一部に基づいて、所望の時刻に接続する１または複数の無線アクセスポイントの順番リストを生成することを含む。
【００６４】
例３は、例１および２のいずれかの主題を含み、各パラメータは、遺伝的プログラミングオペレーションを用いて生成される予測プログラムを含み、所望の時刻に接続する１または複数の無線アクセスポイントの順番リストを生成することは、１または複数の無線アクセスポイントの順番リストを生成するために、各パラメータに対して予測プログラムを実行することを含む。
【００６５】
例４は、例１―３のいずれかの主題を含み、各パラメータは、無線接続履歴情報の少なくとも一部に基づいて算出される確率を含む。
【００６６】
例５は、例１―４のいずれかの主題を含み、予測モジュールは、各パラメータに対して算出される確率を、ログに記録された複数の無線接続の異なる追加の無線接続にさらに割り当てる。
【００６７】
例６は、例１―５のいずれかの主題を含み、予測モジュールは、ログに記録されたそれぞれの追加の無線接続に対応する無線アクセスポイントを、さらに特定する。
【００６８】
例７は、例１―６のいずれかの主題を含み、順番リストは、ログに記録されたそれぞれの異なる追加の無線接続に割り当てられた対応する確率に従って、降順で構成される１または複数の無線アクセスポイントを含む。
【００６９】
例８は、例１―７のいずれかの主題を含み、ログに記録されたそれぞれの追加の無線接続に対応する無線アクセスポイントを特定することは、サービスセット識別子、無線チャネル及びログに記録された各無線アクセスポイントと関連付けられる媒体アクセス制御アドレスのうちの１または複数の少なくとも一部に基づいて、ログに記録されたそれぞれの追加の無線接続に対応する無線アクセスポイントを特定することを含む。
【００７０】
例９は、例１―８のいずれかの主題を含み、無線接続管理モジュールは、無線通信モジュールが、選択された第１の無線アクセスポイントからプローブフレームへの応答を受信したことに応じて、選択された第１の無線アクセスポイントとの接続をさらに確立する。
【００７１】
例１０は、例１―９のいずれかの主題を含み、無線接続管理モジュールは、無線通信モジュールが第１の無線アクセスポイントからプローブフレームへの応答を受信しなかったことに応じて、接続を試行するための順番リストから、第２の無線アクセスポイントをさらに選択する。
【００７２】
例１１は、例１―１０のいずれかの主題を含み、第１の無線アクセスポイントにプローブフレームを送信する無線通信モジュールは、第１の無線アクセスポイントに第１のプローブフレームを送信することを含み、無線接続管理モジュールは、第１の無線アクセスポイントから、第１のプローブフレームへの応答を受信しなかったことに応じて、選択された第２の無線アクセスポイントに、第２のプローブフレームをさらに送信する。
【００７３】
例１２は、例１―１１のいずれかの主題を含み、無線通信モジュールが、順番リストの複数の無線アクセスポイントのいずれからも、プローブフレームへの応答を受信しなかったことに応じて、無線接続管理モジュールは、１または複数の他の無線アクセスポイントの位置を探すために、スキャンをさらに開始する。
【００７４】
例１３は、例１―１２のいずれかの主題を含み、選択された第１の無線アクセスポイントにプローブフレームを送信することは、選択された第１の無線アクセスポイントに第１のプローブフレームを送信することを含み、無線接続管理モジュールは、接続を試行するための順番リストから、第２の無線アクセスポイント及び第３の無線アクセスポイントをさらに選択し、無線通信モジュール選択された第１の無線アクセスポイントへの第１のプローブフレームの送信と同時期に、第２のプローブフレームを選択された第２の無線アクセスポイントに、第３のプローブフレームを選択された第３の無線アクセスポイントに、さらに送信し、無線通信モジュールが、選択された第１、第２または第３の無線アクセスポイントの１つからプローブフレームへの応答を受信したことに応じて、無線接続管理モジュールは、対応する選択された第１、第２または第３の無線アクセスポイントの１つとの接続をさらに確立する。
【００７５】
例１４は、例１―１３のいずれかの主題を含み、コンピューティングデバイスが、コンピューティングデバイスのユーザにより使用されていない場合に、解析モジュールは、複数のパラメータを算出する。
【００７６】
例１５は、例１―１４のいずれかの主題を含み、コンピューティングデバイスが電力アダプタと結合されている場合にのみ、解析モジュールは、複数のパラメータを算出する。
【００７７】
例１６は、例１―１５のいずれかの主題を含み、解析モジュールは、基準間隔の少なくとも一部に基づいて、複数のパラメータを算出する。
【００７８】
例１７は、無線アクセスポイントへの接続時間を削減するための方法を含み、方法は、コンピューティングデバイス上で、コンピューティングデバイスに記憶されるログに、１または複数の無線アクセスポイントとの複数の無線接続についての無線接続情報を記録する段階であって、ログは、無線接続履歴情報を含む段階と、コンピューティングデバイス上で、無線接続履歴情報の少なくとも一部に基づいて、複数のパラメータを算出する段階と、コンピューティングデバイス上で、複数のパラメータの少なくとも一部に基づいて、所望の時刻に接続する１または複数の無線アクセスポイントの順番リストを生成する段階と、コンピューティングデバイス上で、接続を試行するための順番リストから、第１の無線アクセスポイントを選択する段階と、コンピューティングデバイス上で、選択された第１の無線アクセスポイントにプローブフレームを送信する段階とを含む。
【００７９】
例１８は、例１７の主題を含み、ログは、複数のパラメータの計算でまだ用いられていない追加の無線接続情報をさらに含み、複数のパラメータの少なくとも一部に基づいて、所望の時刻に接続する１または複数の無線アクセスポイントの順番リストを生成する段階は、複数のパラメータ及び追加の無線接続情報の少なくとも一部に基づいて、所望の時刻に接続する１または複数の無線アクセスポイントの順番リストを生成する段階を含む。
【００８０】
例１９は、例１７および１８のいずれかの主題を含み、コンピューティングデバイス上で、遺伝的プログラミングオペレーションを用いて各パラメータに対する予測プログラムを生成する段階をさらに含み、所望の時刻に接続する１または複数の無線アクセスポイントの順番リストを生成する段階は、１または複数の無線アクセスポイントの順番リストを生成するために、各パラメータから予測プログラムを実行する段階を含む。
【００８１】
例２０は、例１７―１９のいずれかの主題を含み、各パラメータは、無線接続履歴情報の少なくとも一部に基づいて算出される確率を含む。
【００８２】
例２１は、例１７―２０のいずれかの主題を含み、コンピューティングデバイス上で、ログに記録された複数の無線接続の異なる追加の無線接続に対して、各パラメータに対して算出される確率を割り当てる段階をさらに含む。
【００８３】
例２２は、例１７―２１のいずれかの主題を含み、コンピューティングデバイス上で、ログに記録されたそれぞれの追加の無線接続に対応する無線アクセスポイントを特定する段階をさらに含む。
【００８４】
例２３は、例１７―２２のいずれかの主題を含み、順番リストは、ログに記録されたそれぞれの異なる追加の無線接続に割り当てられた対応する確率に従って、降順で構成される１または複数の無線アクセスポイントを含む。
【００８５】
例２４は、例１７―２３のいずれかの主題を含み、ログに記録されたそれぞれの追加の無線接続に対応する無線アクセスポイントを特定することは、サービスセット識別子、無線チャネル及びログに記録された各無線アクセスポイントと関連付けられる媒体アクセス制御アドレスのうちの１または複数の少なくとも一部に基づいて、ログに記録されたそれぞれの追加の無線接続に対応する無線アクセスポイントを特定することを含む。
【００８６】
例２５は、例１７―２４のいずれかの主題を含み、選択された第１の無線アクセスポイントから、プローブフレームへの応答を受信したことに応じて、コンピューティングデバイス上で、選択された第１の無線アクセスポイントとの接続を確立する段階をさらに含む。
【００８７】
例２６は、例１７―２５のいずれかの主題を含み、第１の無線アクセスポイントからプローブフレームへの応答を受信しなかったことに応じて、コンピューティングデバイス上で、接続を試行するための順番リストから、第２の無線アクセスポイントを選択する段階をさらに含む。
【００８８】
例２７は、例１７―２６のいずれかの主題を含み、第１の無線アクセスポイントにプローブフレームを送信する段階は、第１の無線アクセスポイントに第１のプローブフレームを送信する段階を含み、方法は、第１の無線アクセスポイントから、第１のプローブフレームへの応答を受信しなかったことに応じて、コンピューティングデバイス上で、選択された第２の無線アクセスポイントに第２のプローブフレームを送信する段階をさらに含む。
【００８９】
例２８は、例１７―２７のいずれかの主題を含み、順番リストの複数の無線アクセスポイントのいずれからも、プローブフレームへの応答を受信しなかったことに応じて、コンピューティングデバイス上で、１または複数の他の無線アクセスポイントの位置を探すスキャンを開始する段階をさらに含む。
【００９０】
例２９は、例１７―２８のいずれかの主題を含み、選択された第１の無線アクセスポイントにプローブフレームを送信する段階は、選択された第１の無線アクセスポイントに第１のプローブフレームを送信する段階を含み、方法は、コンピューティングデバイス上で、接続を試行するための順番リストから、第２の無線アクセスポイント及び第３の無線アクセスポイントを選択する段階と、選択された第１の無線アクセスポイントへの第１のプローブフレームの送信と同時期に、コンピューティングデバイス上で、第２のプローブフレームを選択された第２の無線アクセスポイントに、第３のプローブフレームを選択された第３の無線アクセスポイントに送信する段階と、選択された第１、第２または第３の無線アクセスポイントの１つからの、プローブフレームへの応答の受信に応じて、コンピューティングデバイス上で、対応する選択された第１、第２または第３の無線アクセスポイントの１つとの接続を確立する段階とをさらに含む。
【００９１】
例３０は、例１７―２９のいずれかの主題を含み、無線接続履歴情報の少なくとも一部に基づいて、複数のパラメータを算出する段階は、コンピューティングデバイスが、コンピューティングデバイスのユーザにより使用されていない場合に、複数のパラメータを算出する段階を含む。
【００９２】
例３１は、例１７―３０のいずれかの主題を含み、無線接続履歴情報の少なくとも一部に基づいて、複数のパラメータを算出する段階は、コンピューティングデバイスが電力アダプタに結合されている場合にのみ、複数のパラメータを算出する段階を含む。
【００９３】
例３２は、例１７―３１のいずれかの主題を含み、無線接続履歴情報の少なくとも一部に基づいて、複数のパラメータを算出する段階は、基準間隔の少なくとも一部に基づいて、複数のパラメータを算出する段階を含む。
【００９４】
例３３は、無線アクセスポイントへの接続時間を削減するためのコンピューティングデバイスを含み、コンピューティングデバイスは、プロセッサと、複数の命令が記憶されているメモリとを含み、複数の命令は、プロセッサによって実行された場合に、コンピューティングデバイスに、例１７―３２のいずれかの方法を実行させる。
【００９５】
例３４は、複数の命令が記憶された１または複数の機械可読ストレージ媒体を含み、複数の命令は、実行されたことに応じて、コンピューティングデバイスに例１７―３２のいずれかの方法を実行させる。
【図１】
0005989249.tif 000002
【図２】
0005989249.tif 000003
【図３】
0005989249.tif 000004
【図４】
0005989249.tif 000005
【図５】
0005989249.tif 000006
【図６】
0005989249.tif 000007