(57)【要約】無線ネットワークを自動的に検出し、接続し、使用するために、動的無線ネットワーク検出システム、装置及び方法が無線デバイスのユーザに提供される。無線ネットワークについて新規に獲得された知識は中央サーバと共有され、様々な無線デバイスから収集された無線ネットワークについての知識が統合され、この統合された全ての知識を取得して、ネットワークの状態についての有用な情報を提供するデータを統合するために個別のデータポイントを減らす。中央サーバは、無線デバイスで動作しているソフトウェアクライアントに、この情報を分配する。動的に学習された無線ネットワーク情報は、分散型インテリジェンスネットワークを介し、中央サーバを介して又は他の無線デバイスとの通信によって、１つの無線デバイスから他の無線デバイスに共有され、無線ネットワークについての群に基づく情報が、他の無線デバイスに提供される。デバイスは、更に、使用できない無線ネットワークを動的に検出することができる。【選択図】図２
2014507850.tif 000002
【特許請求の範囲】
【請求項１】
使用可能な無線ネットワークを介して、モバイルデバイスをリモートの接続テストサーバに接続するステップと、
前記モバイルデバイスのローカルな設定データベースに格納された無線ネットワーク設定情報を、前記接続テストサーバへの接続から取得した情報で更新するステップと、
前記更新したローカル無線ネットワーク設定情報を、複数のモバイルデバイスから受信した無線ネットワーク設定情報を統合する中央サーバデータベースに送信するステップと、
１つ以上の無線ネットワークに対して、前記統合された無線ネットワーク設定情報に基づいて、変更された無線ネットワーク設定情報を前記中央サーバで生成するステップと、
前記変更された無線ネットワーク設定情報を、前記中央サーバから１つ以上のモバイルデバイス送信するステップと、
前記中央サーバにから受信した前記変更された無線ネットワーク設定情報を使用して、前記１つ以上のモバイルデバイスにローカルに格納された無線ネットワーク設定情報を更新するステップと、
を含む、動的無線ネットワーク検出方法。
【請求項２】
前記使用可能な無線ネットワークを介して、前記モバイルデバイスを前記リモートの接続テストサーバに接続する前に、
モバイルデバイスに使用可能な無線ネットワーク信号のリストを取得するステップと、
前記使用可能な無線ネットワーク信号を、前記ローカル設定データベースに格納された無線ネットワーク設定情報と比較するステップと、
前記使用可能な無線ネットワーク信号に関して、格納された無線ネットワーク設定情報を、前記モバイルデバイスにより取得した情報で更新するステップと、
前記使用可能な無線ネットワーク信号を、前記格納された無線ネットワーク設定情報に基づいて順位付けするステップと、
前記モバイルデバイスに対して望ましい順位を有する使用可能な無線ネットワーク信号を選択し、該無線ネットワーク信号を対応する無線ネットワークへの接続を確立するために使用するステップと、
を更に含む、請求項１に記載の方法。
【請求項３】
前記望ましい順位を有する選択された使用可能な無線ネットワーク信号が使用すべきでない信号として指定されているか否かを決定するステップを更に含む、請求項２に記載の方法。
【請求項４】
前記選択された使用可能な無線ネットワーク信号が使用すべきでない信号として指定されている場合、次に望ましい順位有する他の使用可能な無線ネットワーク信号を選択し、その対応する無線ネットワークへの接続を確立するために使用するステップを更に含む、請求項３に記載の方法。
【請求項５】
前記選択された使用可能な無線ネットワーク信号が使用すべきでない信号として指定されている場合、前記使用可能な無線ネットワーク信号のリストから、前記無線ネットワーク信号を除外するステップを更に含む、請求項３に記載の方法。
【請求項６】
前記選択された使用可能なネットワーク信号に関する無線ネットワークへの固有の接続命令が前記ローカル設定データベースに格納されているか否かを決定するステップと、
前記選択された使用可能な無線ネットワーク信号に固有のそれらの接続命令が前記ローカル設定データベースに格納されている場合に、前記対応する無線ネットワークに接続するために、前記格納された接続命令を使用するステップと、
前記選択された使用可能な無線ネットワーク信号に固有の接続命令が前記ローカル設定データベースに格納されていない場合に、前記対応する無線ネットワークに接続するために、予め定められた一般的な接続命令を使用するステップと、
を更に含む、請求項２に記載の方法。
【請求項７】
各無線ネットワークに対して、変更された無線ネットワーク設定情報を中央サーバで生成する前記ステップは、
各無線ネットワークに対する各モバイルデバイスから受信した前記更新されたローカル無線ネットワーク設定情報を、望ましい地理的な位置に制限するステップと、
各無線ネットワークに対する無線ネットワーク設定情報が以前に前記中央サーバに格納されているか否かを決定し、以前に格納されている場合、各モバイルデバイスから受信した前記ローカル無線ネットワーク設定情報で前記無線ネットワーク設定情報を更新するステップと、
前記無線ネットワークを特徴付けるため、及び前記変更された無線ネットワーク設定を生成するために、業務ルールを前記無線ネットワークの前記無線ネットワーク設定情報に適用するステップと、
前記特徴付けられた無線ネットワークが予め定められた設定要件を満たす場合、前記１つ以上の他のモバイルデバイスに分配するために、中央サーバで前記無線ネットワークに対して生成された前記変更された無線ネットワーク設定情報を格納するステップと、
を更に含む、請求項１に記載の方法。
【請求項８】
１つ以上の他のモバイルデバイスから送信される１つ以上の無線ネットワークの無線ネットワーク設定情報を、前記モバイルデバイスで受信するステップと、
前記モバイルデバイスのローカルな前記設定データベースに格納された無線ネットワーク設定情報を、前記他のモバイルデバイスから受信した前記無線ネットワーク設定情報で更新するステップと、
を更に含む、請求項１に記載の方法。
【請求項９】
１つ以上のアクセスポイントから送信される１つ以上の無線ネットワークの無線ネットワーク設定情報を、前記モバイルデバイスで受信するステップと、
前記モバイルデバイスのローカルな前記設定データベースに格納された無線ネットワーク設定情報を、前記１つ以上のアクセスポイントから受信した前記無線ネットワーク設定情報で更新するステップと、
を更に含む、請求項１に記載の方法。
【請求項１０】
使用可能な無線ネットワーク信号に関するネットワーク識別子が前記ローカル設定データベースに格納される無線ネットワークの除外リストに含まれる無線ネットワークに対応するか否かを決定するステップと、
前記無線ネットワークの除外リストに現れるネットワーク識別子を有する無線ネットワークへ、前記モバイルデバイスが接続を試行するのを阻止するステップと、
を更に含む、請求項２に記載の方法。
【請求項１１】
使用可能な無線ネットワークを介して、モバイルデバイスをリモートの接続テストサーバに接続する手段と、
モバイルデバイスのローカルな設定データベースに格納された無線ネットワーク設定情報を、前記接続テストサーバへの接続から取得した情報で更新する手段と、
前記更新したローカル無線ネットワーク設定情報を、複数のモバイルデバイスから受信した無線ネットワーク設定情報を統合する中央サーバデータベースに送信する手段と、
１つ以上の無線ネットワークに対して、前記統合された無線ネットワーク設定情報に基づいて、変更された無線ネットワーク設定情報を前記中央サーバで生成する手段と、
前記変更された無線ネットワーク設定情報を、前記中央サーバから１つ以上のモバイルデバイス送信する手段と、
前記中央サーバにから受信した前記変更された無線ネットワーク設定情報を使用して、前記１つ以上のモバイルデバイスにローカルに格納された無線ネットワーク設定情報を更新する手段と、
を備える、動的無線ネットワーク検出システム。
【請求項１２】
前記使用可能な無線ネットワークを介して、前記モバイルデバイスを前記リモートの接続テストサーバに接続する前に、モバイルデバイスに使用可能な無線ネットワーク信号のリストを取得する手段と、
前記使用可能な無線ネットワーク信号を、前記ローカル設定データベースに格納された無線ネットワーク設定情報と比較する手段と、
前記使用可能な無線ネットワーク信号に関して、格納された無線ネットワーク設定情報を、前記モバイルデバイスにより取得した情報で更新する手段と、
前記使用可能な無線ネットワーク信号を、前記格納された無線ネットワーク設定情報に基づいて順位付けする手段と、
前記モバイルデバイスに対して望ましい順位を有する使用可能な無線ネットワーク信号を選択し、対応する無線ネットワークへの接続を確立するために使用する手段と、
を更に備える、請求項１１に記載のシステム。
【請求項１３】
前記望ましい順位を有する選択された使用可能な無線ネットワーク信号が使用すべきでない信号として指定されているか否かを決定する手段を更に備える、請求項１２に記載のシステム。
【請求項１４】
前記選択された使用可能な無線ネットワーク信号が使用すべきでない信号として指定されている場合、次に望ましい順位を有する他の使用可能な無線ネットワーク信号を選択し、対応する無線ネットワークへの接続を確立するために使用する手段を更に備える、請求項１３に記載のシステム。
【請求項１５】
前記選択された使用可能な無線ネットワーク信号が使用すべきでない信号として指定されている場合、前記使用可能な無線ネットワーク信号のリストから、前記無線ネットワーク信号を除外する手段を更に備える、請求項１３に記載のシステム。
【請求項１６】
前記選択された使用可能なネットワーク信号に関する無線ネットワークへの固有の接続命令が前記ローカル設定データベースに格納されているか否かを決定する手段と、
前記選択された使用可能な無線ネットワーク信号に固有のそれらの接続命令が前記ローカル設定データベースに格納されている場合に、前記対応する無線ネットワークに接続するために、前記格納された接続命令を使用する手段と、
前記選択された使用可能な無線ネットワーク信号に固有の接続命令が前記ローカル設定データベースに格納されていない場合に、前記対応する無線ネットワークに接続するために、予め定められた一般的な接続命令を使用する手段と、
を更に備える、請求項１２に記載のシステム。
【請求項１７】
変更された無線ネットワーク設定情報を中央サーバで生成する前記手段は、各無線ネットワークに対して、
各無線ネットワークに対する各モバイルデバイスから受信した前記更新されたローカル無線ネットワーク設定情報を、望ましく地理的な位置に制限する手段と、
各無線ネットワークに対する無線ネットワーク設定情報が以前に前記中央サーバに格納されているか否かを決定し、以前に格納されている場合、各モバイルデバイスから受信した前記ローカル無線ネットワーク設定情報で前記無線ネットワーク設定情報を更新する手段と、
前記無線ネットワークを特徴付けるため、及び前記変更された無線ネットワーク設定を生成するために、業務ルールを前記無線ネットワークの前記無線ネットワーク設定情報に適用する手段と、
前記特徴付けられた無線ネットワークが予め定められた設定要件を満たす場合、前記１つ以上の他のモバイルデバイスに分配するために、中央サーバで前記無線ネットワークに対して生成された前記変更された無線ネットワーク設定情報を格納する手段と、
を更に備える、請求項１１に記載のシステム。
【請求項１８】
１つ以上のモバイルデバイスから送信される１つ以上の他の無線ネットワークの無線ネットワーク設定情報を、前記モバイルデバイスで受信する手段と、
前記モバイルデバイスのローカルな前記設定データベースに格納された無線ネットワーク設定情報を、前記他のモバイルデバイスから受信した前記無線ネットワーク設定情報で更新する手段と、
を更に備える、請求項１１に記載のシステム。
【請求項１９】
１つ以上のアクセスポイントから送信される１つ以上の無線ネットワークの無線ネットワーク設定情報を、前記モバイルデバイスで受信する手段と、
前記モバイルデバイスのローカルな前記設定データベースに格納された無線ネットワーク設定情報を、前記１つ以上のアクセスポイントから受信した前記無線ネットワーク設定情報で更新する手段と、
を更に備える、請求項１１に記載のシステム。
【請求項２０】
使用可能な無線ネットワーク信号に関するネットワーク識別子が前記ローカル設定データベースに格納される無線ネットワークの除外リストに含まれる無線ネットワークに対応するか否かを決定する手段と、
無線ネットワークの前記除外リストに現れるネットワーク識別子を有する無線ネットワークへ、前記モバイルデバイスが接続を試行するのを阻止する手段と、
を更に備える、請求項１２に記載のシステム。
【請求項２１】
１つ以上のモバイルデバイスにインストールされたソフトウェアアクセスモジュールと、
ネットワークの有用性の情報を前記モバイルデバイスから収集及び統合し、前記モバイルデバイスが遭遇する無線ネットワークへの接続に使用するためのネットワーク設定情報を生成し、前記モバイルデバイスに分配するように構成された中央サーバアーキテクチャと、
を備える、動的無線ネットワーク検出システム。
【請求項２２】
各ソフトウェアクライアントアクセスモジュールは、それぞれのモバイルデバイスが遭遇する１つ以上の無線ネットワークについての無線ネットワーク設定情報を取得し、そのような無線ネットワーク設定情報を前記中央サーバアーキテクチャに送信するように構成され、
前記中央サーバアーキテクチャは、無線ネットワークについての、様々なモバイルデバイスから収集されて個別に受信される無線ネットワーク設定情報を、各無線ネットワークについての統合された無線ネットワーク設定情報に統合するように構成される、
請求項２１に記載のシステム。
【請求項２３】
前記中央サーバアーキテクチャは、更に、前記統合された無線ネットワーク設定情報を、モバイルデバイスにインストールされた各ソフトウェアクライアントアクセスモジュールに分配するように構成される、請求項２２に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
〔関連出願の相互参照〕
本出願は、発明の名称「動的無線ネットワーク検出システム、方法及び装置」として２０１１年１月９日に出願した米国仮出願第６１／４３１０２８号の優先権を主張するものであり、この仮出願の内容は、その全てが参照により本出願に組み込まれる。
【０００２】
本開示は、動的無線ネットワーク検出システム、方法及び装置、特に、無線ネットワークアクセス情報をモバイルデバイス間で同化させ、且つ共有する分散型自己学習ネットワークアクセスシステムに関する。
【背景技術】
【０００３】
現在、ラップトップ、携帯電話、パーソナルメディアプレーヤ、カメラ、ブックリーダ等の多くのデバイスが、無線ネットワークを介してインターネットにアクセスする機能を備えている。異なる種類のネットワークにアクセスするために多くの異なる無線技術が組み込まれたデバイスの数も急速に増加している。今となっては、無線ＬＡＮネットワークに加えて、１つ以上のセルラーデータネットワークにアクセスできることは一般的である。加えて、特に無線ＬＡＮスペースにおいては、無料の又は無制限のインターネットアクセスを提供するネットワークがますます増えてきている。これらのネットワークのうちいくつかは、便宜的な方法で検出される。すなわち、特定のネットワークに接続して所望のインターネットサービスの実行を試行するまで、デバイスはそのネットワークにより提供される機能を認識しない。
【０００４】
無線ＬＡＮネットワーク、例えば、家庭、レストラン、コーヒーショップ、クイックサービスレストラン、ホテル、空港等に設置されるＷｉ−Ｆｉネットワークの大部分において、使用可能なオープンネットワークを検出するために、一般的に、ユーザは多かれ少なかれランダムに次々とネットワークを取得し、テストを行う必要がある。これらのネットワークのうちの１つが検出され、接続されると、ユーザ又はユーザに代わりユーザデバイスに常駐する１つのクライアントソフトウェアは、一般的に、インターネット接続を成功させるために、後続のネットワークの認証という、追加のステップを行う必要がある。このプロセスは、エラーが発生し易く、ユーザにとっては面倒であり、ネットワークのユーザに使用しないように通知する方法を提供しない。このプロセスは、１人のユーザがネットワーク情報を入手し、この情報を、空間及び時間における所定の地点で近接する他のユーザと又は協調分散型のネットワークを介した他のユーザと動的に共有する方法を提供することもない。
【発明の概要】
【０００５】
１つ以上の実施形態において、ユーザ及びユーザのコンピュータ又はモバイルデバイスがいくつかの例において事前知識を有さない無料のオープン無線ネットワークを、無線デバイスのユーザが検出し、接続し、使用するのに、より優れた、より自動化された方法を提供するシステム、装置及び方法が提供される。無線ネットワークについて新規に取得した情報は中央サーバと共有され、続いて中央サーバは、様々な無線デバイスから収集された無線ネットワークについての情報を統合し（aggregate）、この統合された全ての知識を取得し、個別のデータポイントを減らして、ネットワークの状態について有用な情報を提供するデータを統合する。そして、中央サーバは、他の無線デバイスで動作しているソフトウェアクライアントにこの情報を分配する。
【０００６】
加えて、１つ以上の実施形態において、本システム、装置及び方法は、１人のユーザ又は１つの無線デバイスから動的に学習したネットワーク情報を、分散型インテリジェンスネットワークを介して他の無線デバイスと共有する。１つの無線デバイスは、新たに使用可能なネットワークを検出することができ、この情報を他のデバイスと共有することができる。各デバイスがネットワーク情報を収集する多数の無線デバイスを使用することを通して、中央インフラストラクチャがこの知識を統合して、抽出する（distill）ことができ、この抽出された群ベースの情報を他のデバイスに提供する。１つ以上の実施形態において、システム、装置及び方法は、更に、例えば、アクセスポイントの又はアクセスポイントを越えたネットワークインフラストラクチャのオペレータの要求に応じてユーザが使用しない無線ネットワークを動的に検出するための包括的システムをデバイスに提供する。
【図面の簡単な説明】
【０００７】
【図１】本開示の１つ以上の実施形態における、自動的に様々な種類のモバイルネットワークを検出し、アクセスするモバイルデバイスのブロック図である。
【図２】本開示の１つ以上の実施形態における、データを統合及び分配する、エンドユーザデバイスと集中型システムの要素との間の相互作用のブロック図である。
【図３】本開示の１つ以上の実施形態における、二次ローカル通信リンクを使用してローカルに情報を共有する様々なモバイルデバイスを示すブロック図である。
【図４】本開示の１つ以上の実施形態における、多くのモバイルデバイスが検出したネットワークについての二次通信リンクを使用して共有する情報を示すブロック図である。
【図５】本開示の１つ以上の実施形態における、モバイルデバイスが検出した接続情報を共有するときに、位置のタグ付け及び使用可能な位置のデータを活用する方法を示すブロック図である。
【図６】本開示の１つ以上の実施形態における、二次ローカルエリア無線接続を直接使用してモバイルデバイス間で検出された接続情報を共有することによって、他の種類の接続情報の共有を提供するのに使用されうる様々なシステムコンポーネントの概略ブロック図である。
【図７】本開示の１つ以上の実施形態における、二次無線通信ネットワークを通じてネットワーク通信情報を送信するネットワークアクセスポイントを備えることにより、二次無線通信ネットワークを使用してネットワーク接続情報を互いに共有する様々なシステムコンポーネントの概略ブロック図である。
【図８】無線ネットワークのオペレータが、モバイルデバイスのユーザが自動的に無線ネットワークにアクセスするのを許可すべきでないか否かを決定することができる、本開示の１つ以上の実施形態における第１の除外方法の概略ブロック図である。
【図９】本開示の１つ以上の実施形態における、図８の動作に係るフローチャートである。
【図１０】モバイルデバイスのユーザが無線ネットワークに自動的にアクセスすることを許可すべきか否かを、無線ネットワークのオペレータが決定することができる、本開示の１つ以上の実施形態における第２の除外方法の概略ブロック図である。
【図１１】本開示の１つ以上の実施形態における、図１０の動作に係るフローチャートである。
【図１２】ローカルネットワーク上又はローカルネットワークの任意の上流ネットワーク上でドメイン名サーバを制御する団体がネットワークへのアクセスを制御できる、本開示の１つ以上の実施形態における第３の除外方法の概略ブロック図である。
【図１３】本開示の１つ以上の実施形態における、図１２の動作に係るフローチャートである。
【図１４】ネットワーク除外リストが中央サーバ上に保持される、本開示の１つ以上の実施形態における第４の除外方法の概略ブロック図である。
【図１５】無線ネットワーク上のアクセスコントローラのオペレータが、このネットワークに接続すべきでなく、このネットワークに接続するユーザに対して示される強制的なコンテンツを迂回すべきことをモバイルデバイスに示すことができる、本開示の１つ以上の実施形態における第５の除外方法の概略ブロック図である。
【図１６】接続情報の共有及びネットワーク除外のための様々な方法を単一の集合プロセスに結合した方法を示す、本開示の１つ以上の実施形態におけるフローチャートである。
【発明を実施するための形態】
【０００８】
以下の記載において、本発明は、無線ネットワークの動的な検出の１つ以上の実施形態に関して記載される。しかし、本発明は、いかなる特定の適用例に限定されるものでもなく、以下の実施例の記載により限定されるものでもない。開示される実施形態に対する様々な変更は当業者にとって明らかであり、本明細書で規定される一般的な原理は他の実施形態及び適用例に対しても、発明の要旨及び範囲を逸脱することなく適用されうる。従って、以下の実施形態の記載は、説明の目的のためであって、制限する目的ではない。
【０００９】
本明細書において言及される「１つの実施形態」、「他の実施形態」、「１つ以上の実施形態」又は同様の記載は、実施形態に関連して記載される特定の機能、構造又は特性が、開示された少なくとも１つの実施形態に含まれることを意味する。例えば、本明細書の様々な場所に記載される「１つの実施形態において」という表現があっても、必ずしも全てが同一の実施形態を指しているものではなく、また、他の実施形態と互いに排他的な個別の又は代替可能な実施形態でもない。さらに、いくつかの実施形態に表れるが他の実施形態に表れない様々な特徴が記載されている。同様に、いくつかの実施形態に必要であるが他の実施形態には必要でない様々な要件が記載されている。
【００１０】
本明細書において言及される「モバイルデバイス」は、例えばラップトップコンピュータ、携帯電話、スマートフォン又はこれに類するもの（例えばＡｐｐｌｅ社ｉＰｈｏｎｅ（登録商標）、ｉＰａｄ（登録商標）又はｉＰｏｄ  ｔｏｕｃｈ（登録商標）、Ｇｏｏｇｌｅ社のＡｎｄｒｏｉｄ（登録商標）、ＢｌａｃｋＢｅｒｒｙ（登録商標）、他の種類のＰＤＡ又はスマートフォン）、パーソナルメディアプレーヤ、カメラ、ブックリーダ又は手で持って操作ができるその他のコンピュータデバイス等、無線通信ネットワークに接続されるあらゆるモバイル技術コンピュータデバイスを対象にすることを意図する。さらに、本明細書において言及される「無線ネットワーク」又は「ネットワーク」は、例えば、以下に限定されるものではないが、無線ＬＡＮ、無線ＷＡＮ、無線ＰＡＮ、Ｗｉ−Ｆｉ（例えば、ＩＥＥＥ  ８０２．１１）、Ｂｌｕｅｔｏｏｔｈ（登録商標）又はこれらに類するもの等、あらゆる種類の無線ネットワークを対象にすることを意図する。「無線ネットワーク」又は「ネットワーク」という用語は、例えばＧＳＭ、ＣＤＭＡ、ＷＣＤＭＡ、ＬＴＥ等、電話通信オペレータにより提供されるセルラー無線通信プロトコルを更に含む。
【００１１】
１つ以上の実施形態において、ネットワーク情報を動的に学習し、１人のユーザ又は無線デバイスからのネットワーク情報を他の無線デバイスと共有するシステム及び方法は、分散型インテリジェンスネットワークを介して提供される。ここで図１を参照すると、複数のネットワークが使用可能な環境内に存在するモバイルデバイス１００が示されている。モバイルデバイス１００は、これらの任意のネットワークを検出できるネットワークインタフェースを備え、従って４つのネットワークのうち任意のネットワークと接続できる。あるネットワークと接続する場合、モバイルデバイス１００はインターネットに接続することができる一方、このインターネット接続は、他のネットワークでは使用できない。
【００１２】
モバイルデバイス１００は、アクセスクライアントソフトウェア（例えば、モバイルデバイス１００にインストールされ、モバイルデバイス１００で動作しているアクセスモジュール）を備え、このアクセスクライアントソフトウェアは、例えば、モバイルデバイス１００内の１つ以上のネットワークインタフェースを使用することによって、モバイルデバイス１００の周囲の無線ネットワークの使用可能性を検出することができる。この種のネットワーク検出は、例えば、８０２．１１タイプのＷｉ−Ｆｉネットワーク等の潜在的に無料のインターネットアクセスを提供することができるネットワークや、無料ネットワークアクセスを提供できる他の種類の無線ネットワークで行われる。現在、Ｗｉ−Ｆｉを含む多くの場合、ネットワークの特性及びオープンに使用できる可能性の指示はない。換言すれば、モバイルデバイス１００のアクセスモジュールソフトウェアクライアントは、ネットワークアクセスポイント１０１、１１１、１２１又は１３１から受信したビーコン信号の情報を確認するだけでは、対象のアクセスポイントに接続した場合に、無料でオープンなインターネットアクセスを取得できるか否かを判断できない。
【００１３】
モバイルデバイス１００のソフトウェアクライアントは、ソフトウェアクライアントが以前アクセスしていたネットワークについての詳細な情報を格納するデータベース１０６を含む。このデータベース１０６は、ソフトウェアクライアントによって使用され、以前行われたネットワーク接続の試行においてどのネットワークの使用が成功したか又は失敗したかを決定するために役立てられる。図１に示されるシナリオでは、如何なるネットワークに関してもアクセスポイント１０１、１１１、１２１又は１３１により送信されたエントリは、データベース内に存在しないものとする（すなわち、モバイルデバイス１００は、これらのネットワークにこれまで遭遇していない）。
【００１４】
これらのネットワークについての事前知識がないとすると、モバイルデバイス１００のソフトウェアクライアントは、各ネットワークの特性を、試行錯誤によって、すなわち、各ネットワークと通信し、接続を試行することによってのみ決定することができる。１つ以上の実施形態において、モバイルデバイス１００のソフトウェアクライアントは、各ネットワークの特性を決定するために、リモート（遠隔）の接続テストサーバ１０５と通信を試行する。
【００１５】
最初の試行において、モバイルデバイス１００は、アクセスポイント１３１と接続しようとする。アクセスポイント１３１との接続は、本例では暗号化を使用しないオープンネットワーク接続であり、ネットワークに接続するために事前知識又は事前情報を必要としない。デバイス１００は、新たに確立されたネットワークリンクを介してＴＣＰ／ＩＰ接続を確立し、インターネット１０４に接続されている接続テストサーバ１０５とＨＴＴＰ接続を確立することを試行する。この接続を確立する試行において、アクセスコントローラ１３２は要求をインターセプトし、モバイルデバイス１００で動作しているソフトウェアクライアントにリダイレクト応答を送る。このリダイレク応答の結果は、モバイルデバイス１００で動作しているソフトウェアクライアントによりインターセプトされ、その後ソフトウェアクライアントはアクセスコントローラ１３２とネゴシエートする。このカンバセーション（やり取り）は、次の図面において、より詳細に記載されている。カンバセーションが成功すると、アクセスコントローラ１３２はゲートウェイを開き、モバイルデバイス１００は、接続テストサーバ１０５と接続するために別の試行を行うことができる。しかしながら、本例においては、ルータ１３３がインターネット１０４と接続されていないため、この接続試行は、接続テストサーバ１０５に到達できない。このことから、モバイルデバイス１００のソフトウェアクライアントは、この時点でアクセスポイント１３１を介したインターネット接続を使用できないことを認識する。モバイルデバイス１００のソフトウェアクライアントは、アクセスポイント１３１及びそのネットワークに関連するネットワーク失敗についての新規の学習知識を、データベース１０６に格納する。この知識は、モバイルデバイス１００のソフトウェアクライアントによりローカルに格納される。データベース１０６に格納された知識は、アクセスポイント１３１に関するネットワーク名又はＥＳＳＩＤと、アクセスポイント１３１に関するエアインタフェースのメディアアクセス制御（ＭＡＣ）アドレス又はＢＳＳＩＤと、接続試行の日付及び時間と、可能な場合には接続試行時におけるモバイルデバイス１００の経度及び緯度の情報等の具体的な位置情報とを含み、更にモバイルデバイス１００で動作しているソフトウェアクライアントとアクセスコントローラ１３２との間でのネゴシエートプロセスにおけるネゴシエーションでの具体的な使用手順、タイミング、及びやりとりされたトラフィックに関する具体的な情報も含む。接続が成功した場合には、モバイルデバイス１００で動作しているソフトウェアクライアントと接続テストサーバ１０５との間の接続における速度及び待ち時間の情報も格納される。
【００１６】
続く試行において、モバイルデバイス１００は、アクセスポイント１２１と接続することができる。アクセスポイント１２１は、本例では暗号化を使用しないオープンネットワーク接続であり、アクセスポイント１２１に接続するために事前知識を必要としない。上述の記載と同様の方法で、ＴＣＰ／ＩＰ接続が確立され、モバイルデバイス１００のソフトウェアクライアントは、接続テストサーバ１０５にＨＴＴＰ接続を確立することを試行する。この接続は、アクセスコントローラ１２２のゲートウェイによりインターセプトされる。モバイルデバイス１００のソフトウェアクライアントは、アクセスコントローラ１２２とネゴシエートを試行するが、事前知識がない場合、このネゴシエーションは失敗する。この種のシナリオは、例えば、アクセスコントローラが、クライアントに知られていないアクセスコード又はパスワードをユーザが入力しなければならないウェブページを提供しているような場合である。クライアントは、アクセスポイント１２１を介してインターネットに接続できないことを認識し、この接続の失敗も、モバイルデバイス１００のソフトウェアクライアントにより、前述の補助情報とともに、ローカルデータベース１０６に格納される。本例では、ＨＴＴＰ試行は、ルータ１２３に到達さえしない。モバイルデバイス上のソフトウェアクライアントは、次のアクセスポイントに移行する。
【００１７】
第３の試行において、モバイルデバイス１００は、アクセスポイント１１１と接続する。本例では、アクセスポイント１１１も、暗号化を使用しないオープンネットワークであり、従って如何なる事前知識を必要としない。ＴＣＰ／ＩＰ接続が確立されると、モバイルデバイス１００のソフトウェアクライアントは、ＨＴＴＰを使用してインターネット１０４を介して接続テストサーバ１０５と接続することを試行する。この接続試行は、アクセスコントローラ１１２によりインターセプトされ、アクセスコントローラ１１２からモバイルデバイス１００で動作しているソフトウェアクライアントにリダイレクト要求が返送される。以下の説明で記載されるように、ソフトウェアクライアントは、アクセスコントローラ１１２とネゴシエートするように構成され、その後アクセスコントローラ１１２は、ルータ１１３への接続を許可する。この接続を介して、モバイルデバイス１００のソフトウェアクライアントは、インターネット１０４を介して接続テストサーバ１０５に接続することができる。このとき、ソフトウェアクライアントは、アクセスポイント１１１を介してインターネット１０４（及び接続テストサーバ１０５）に実際に接続できることを認識する。モバイルデバイス１００のソフトウェアクライアントは、前述の具体的な補助情報とともに、この時点でインターネット接続に成功できたことを示すアクセスポイント１１１の情報で、ローカルデータベース１０６を更新する。
【００１８】
モバイルデバイス１００のソフトウェアクライアントが様々なアクセスポイントに接続する順序は、変えることができる。上述の記載では、モバイルデバイス１００のソフトウェアクライアントは、３回目の接続試行で、アクセスポイント１１１を介してインターネットの接続性を得られることに気付く。しかし、他の順序として、モバイルデバイス１００のソフトウェアクライアントは、最初にアクセスポイント１０１に接続することを試行することもできる。アクセスポイント１０１は、本例では暗号化を使用せず、アクセスポイント１０１を検出するのに事前知識を必要としない。もしアクセスポイント１０１が最初にテストされていれば、モバイルデバイス１００のソフトウェアクライアントは、アクセスポイント１０１を介してＴＣＰ／ＩＰ接続を確立し、上述のように、接続テストサーバ１０５と接続することを試行し、インターネット１０４への接続が存在するか否かを決定することになる。ルータ１０３は、モバイルデバイス１００のソフトウェアクライアントからのトラフィックをインターネット１０４に直接送り、接続テストサーバ１０５に送られることになる。そして、接続テストサーバ１０５は、モバイルデバイス１００で動作しているソフトウェアクライアントに接続成功の応答を提供する。そして、モバイルデバイス１００のソフトウェアクライアントは、前述の付加的な具体的情報とともにアクセスポイント１０１への接続成功に関する情報をローカルデータベース１０６に格納する。
【００１９】
ここで図２を参照すると、モバイルデバイス１００のソフトウェアクライアントにより実行されるネットワークの検出及び信号の関連付けのプロセスを示すプロセスフローチャートが示されている。１つ以上の実施形態において、図２は、図１の説明で言及されたプロセスを更に説明するものである。モバイルデバイス１００のソフトウェアクライアントは、動作２００から開始する。動作２０１において、送信された（ブロードキャストされた）全ての使用可能な信号のリストが、モバイルデバイス１００の領域内のネットワークアクセスポイントにより送信されたビーコンフレームを認識することにより取得される。必要に応じて、モバイルデバイス１００は、それ自身のビーコンフレームを送信して、アクセスポイントを誘導し、存在を知らせる。モバイルデバイス１００では使用可能な全ての無線通信を使用できる。従って、この技術は、８０２．１１  Ｗｉ−Ｆｉに関連する技術に有効であるが、デバイスがインターネット接続を取得するのに使用する任意の他の無線通信技術にも使用できる。動作２０１で取得された信号は、動作２０２において、ソフトウェアクライアントの設定と比較される。この設定は、中央サーバインフラストラクチャから事前に送信され、ソフトウェアクライアントに、中央サーバが知っているソフトウェアクライアントの使用可能なネットワークを伝える。この設定は、モバイルデバイス１００にローカルに格納される。動作２０１でモバイルデバイス１００により検出された信号のいずれかが、読み出された設定に現れるネットワークと一致する場合、動作２０３において、これらの信号をネットワーク接続のために使用することに関する決定をソフトウェアクライアントが行う上で必要とされる全ての情報を、上記信号に加えることにより、これらの信号は更新される。これらの情報は、例えば、順位、速度、業務ルール、品質情報、及び、信号に関連するネットワークに接続して、ログインすることに成功するために必要な任意の情報である。
【００２０】
全ての信号が設定に一致されるわけではなく、また、ローカルデータベース１０６に格納されている信号情報をソフトウェアクライアントが既に取得している可能性があるため、動作２０４は、動作２０１でモバイルデバイス１００により検出されたリスト中の信号が、モバイルデバイス１００のソフトウェアクライアントにより保持されて、ローカルデータベース１０６に存在するものであるか否かを確認する。
【００２１】
いずれかの信号が、ローカルデータベース１０６内に現れる信号と一致する場合、動作２０５において、これらの信号の有用性、使用技術、品質及び安定性に関するクライアントにローカルの情報で、リストが更新される。例えば、モバイルデバイス１００のソフトウェアクライアントが、既に、図１で説明したような全てのネットワークについて全検出サイクルを終えたとする。このソフトウェアクライアントは、接続に成功した信号の識別子及びその品質情報又は他の補助情報を、ローカルデータベース１０６に追加する。動作２０１で検出された信号リストを、動作２０５において、先の検出サイクルから既に取得した情報で更新し、順位付けすることによって、モバイルデバイス１００のソフトウェアクライアントは、最終的に更新された信号リストを使用することとなるため、このユーザ又はモバイルデバイス１００のそれまでの経験に基づいて成功する可能性が最も高い信号が、接続リストの最初の試行として設定され、それによって、モバイルデバイス１００にとって最も効率的な接続プロセスがもたらされる。
【００２２】
動作２０６において、信号リストは、設定の基準（動作２０３で取得した業務ルール及びコストの情報等）により、且つ動作２０５から取得された信号の過去の経験（成功、失敗、速度等）により、順位付け及び／又は順序付けされ、順序付けされたリストの第１の信号は、最も接続されやすい信号となる。動作２０６において、最もインターネットに接続されやすいこの信号を指し示すポインタが設定される。
【００２３】
動作２０７及びこれに続くプロセスのフローは、信号の接続及びそれに続くインターネットの接続が成功するまで、又は、使用可能な全ての信号が使用し尽くされるまで、リスト上の各信号について繰り返される。
【００２４】
モバイルデバイス１００で動作しているソフトウェアクライアントは、動作２０７において、個々の信号を確認し、その信号が使用すべきでない信号としてタグ付けされているか否かを決定する。このタグは、（例えば動作２０３において、）中央サーバから既に受信された設定データと、（例えば動作２０５において、）ローカルデータベースデータに格納された情報と、モバイルデバイス１００によって（検出信号と共に又は別個の信号として）受信された通信信号とのいずれかから付加されうる。信号が「使用不可能」として表示されている場合、フローは後述する動作２１７に進む。「使用不可能」タグを信号に表示することによる利点及び特徴は、本開示における他の実施形態において、本明細書中で更に説明する。
【００２５】
使用可能と表示されている信号（使用可能又は特定用途に使用可能の特定タグを有する信号、又は使用不可能を示すタグを単に含んでいない信号）は、動作２０８において更に評価される。動作２０８では、モバイルデバイス１００のソフトウェアクライアントは、この信号が、中央設定を介して提供される任意の接続命令を有するか否かを確認する。これらの命令は、その信号に関連するネットワークに一般的に特有のものであり、最も高速で、ネットワークに接続及びログインするのに最も成功しやすい経路を概して提供するものである。
【００２６】
そのような設定データが存在する場合、モバイルデバイス１００のソフトウェアクライアントは動作２０９に進み、動作２０９において、モバイルデバイス１００のソフトウェアクライアントは、ネットワークとの接続を試行し、必要に応じて、設定において提供される設定パラメータに基づくログイン方法を使用して対象のネットワークにログインする。
【００２７】
ネットワーク用の設定データが存在しない場合、モバイルデバイス１００で動作しているソフトウェアクライアントは、動作２０９ではなく、ネットワークへのアクセスの試行のために一般的な方法が使用される動作２１０に進む。この方法は、ネットワーク接続の確立を試行するための多くの既知の技術を使用することによって、インターネット１０４へ到達する。そのような技術のうちの１つは、図１で説明したような、ネットワークに単に接続し、インターネット接続が利用可能か否かを確認することから成るものである。他の１つの方法は、ユーザに代わって条件及びサービスに合意しようとするため及びユーザとの相互作用を要求することなくオープンなインターネット接続を取得しようとするために、ゲートウェイにより提供されるウェブコンテンツと動的に相互作用をすることによって、接続ゲートウェイを検索する。動作２０９では、ネットワーク及びそのログイン手順についての具体的な事前知識が要求され、また、特定のネットワークにおいてのみその方法が機能するのに対し、動作２１０は、クライアントが具体的な情報を有さない多くのネットワークで機能する一般的な方法である。このように、動作２１０で使用される手順は、中央インフラストラクチャから受け取る一部の設定情報と比較して、よりオープンで無料のネットワークへの接続を提供することができる。また、動作２１０は、モバイルデバイス１００で動作しているソフトウェアクライアントがネットワーク接続を取得するために試行した正確な動作も記録する。これらの動作は、後述する次の接続試行をより成功しやすくするために用いられる。
【００２８】
動作２０９又は２１０の接続プロセスが成功すると、モバイルデバイス１００で動作しているソフトウェアクライアントは、図１の一部で説明されている接続テストサーバ１０５と交信することによって、インターネット接続の有効性を確認する。接続テストが成功した場合、モバイルデバイス１００で動作しているソフトウェアクライアントは、そのモバイルデバイスが「オンライン」状態であり、インターネットに接続されていることを認識する。加えて、このテストの一部として、読込みの速度及び待ち時間が測定され、これは、利用可能となった接続の品質の基準をユーザに提供することになる。このテストが成功しない場合、接続が使用できないという確定的な情報をモバイルデバイス１００で動作しているソフトウェアクライアントに提供する。
【００２９】
１つ以上の実施形態において、接続テストが終了した後、動作２１２において、ソフトウェアクライアントは、最適な位置の情報を取得することができる。この情報は、モバイルデバイス１００が備える全地球測位システム（ＧＰＳ）技術を使用した結果として提供されうるものである。また、位置の情報は、モバイルデバイスのインターネットアドレスに基づいてオンラインで入手可能な情報から又はソフトウェアクライアントが使用可能な任意の他の手段から生じうるものでもある。入手可能な範囲として、接続テストに関する日付及び時間の情報も取得される。この情報は、前の接続プロセスの動作で収集された情報と組み合わされ、ローカルデータベース１０６に格納される結果、ネットワークと、位置と、日付と、時間と、使用接続方法と、接続が成功した場合にはネットワーク接続の品質とがエンドユーザの知識となる。
【００３０】
ソフトウェアクライアントがモバイルデバイス１００で有する情報のローカルデータベース（例えば、データベース１０６）は、動作２１３で更新される。この動作は、モバイルデバイスのクライアントにより接続試行が行われるたびに毎回実行されるため、ソフトウェアクライアントが次に付加信号に関する接続を続けるにつれて、このデータベースには豊富な情報が蓄積される。この接続情報は、接続試行の結果が成功であるか否かにかかわらず格納され、従って、他の信号が代わりに使用できるときに、接続が成功しない信号を繰返し使用することがないため、クライアントは、時間とともに品質を確実に向上させることができる。
【００３１】
動作２１４において、モバイルデバイス１００で動作しているソフトウェアクライアントは、動作２１１で実行される接続テストの結果を考慮して、接続の確立が成功したか否かを決定する。成功の基準は様々に設定することができる。例えば、成功の基準は、「インターネットの接続性が実際に存在するか」という簡単なものとすることができる一方、インターネット接続の品質に拡大することもできる。例えば、接続の待ち時間、ドロップしたパケットの量、帯域幅又はスループット、及び他のサービスパラメータの品質が、所定の信号の適合性を決定するのに考慮され得る。
【００３２】
モバイルデバイス１００のソフトウェアクライアントは、動作２１４において接続の確立が成功したと決定した場合、動作２１５において、前回の更新情報を送信した後に作成された任意のローカルデータベースの更新情報を中央サーバに送信する。これらの更新情報は、以前の動作で収集された全ての情報を含んでおり、信号情報と、順位と、接続ステップと、成功と、失敗と、接続テストの情報と、日付と、時間と、他の可視ネットワーク及びアクセスポイントと、品質情報とを含んでいる。これは、本明細書に記載される中央サーバインフラストラクチャに、ネットワークに関する実際のエンドユーザの視点及びネットワークがどの程度機能するかを提供する。情報のデータベースは、本明細書に記載される様々なプロセスの動作間で維持されることに留意されたい。換言すれば、試行によって接続が成功しなかったとしても、モバイルデバイス１００で動作しているソフトウェアクライアントが、データベースの内容又は変更を中央サーバにアップロードすることは、（これらはインターネット接続の成功が必要であるため）潜在的に不可能にはなるが、ソフトウェアクライアントは、ローカルデータベースにこの情報のコピーを保有することになる。次の試行で接続が成功すると、全ての情報が中央サーバに送られる。この方法は、最も広範な一連の使用可能なデータを提供する。このデータは、中央サーバにより次々に処理されて設定情報に変更され、この設定情報は、多くのモバイルデバイスで動作している多くのソフトウェアクライアントに送り返され、分散型の自己学習システムが実現される。本方法におけるこの態様は、本明細書中で、他の図を参照して、より詳細に説明される。
【００３３】
ローカルデータベースの更新情報が中央サーバに送られると、動作２１６において、モバイルデバイス１００のソフトウェアクライアントは、中央サーバからの任意の新規情報で設定を更新する。この設定データは、ソフトウェアクライアントが使用できる既知のネットワークの新規情報を含むことができる。この新規情報は、このソフトウェアクライアント又は他のソフトウェアクライアントから中央サーバに送信されたデータベース更新情報から生じるものである。ソフトウェアクライアントが接続されて、完全に更新されると、動作２２０において、接続テスト及び更新プロセスは終了する。
【００３４】
動作２１４において接続が成功していないと判断された場合、又は、動作２０７において信号が使用するのに適していないと判断された場合、モバイルデバイス１００で動作しているソフトウェアクライアントは、動作２１７に進み、他の信号について検討すべきであるか否かを決定する。他の信号が動作２０６におけるリスト中に存在する場合、ポインタはリスト中の次の信号を示すように更新され、プロセスは次の信号における動作２０７に進む。モバイルデバイス１００で動作しているソフトウェアクライアントの現在の位置において検討すべき他の信号が存在しない場合、動作２１８でローカルデータベースは、現在の位置の情報と、可能な場合には、この位置では使用可能な信号が存在せず失敗に終わるという情報とで更新される。この情報は、次の接続試行においてモバイルデバイス１００で動作しているソフトウェアクライアントによって使用され、中央サーバへの接続が存在するときには、（以後の図で説明されるように）この情報は中央サーバに送られ、多くのクライアントからのこの情報は、有用性データ及び設定データへと処理される。
【００３５】
次に図３を参照すると、システム全体の構成要素の概略的なブロック図が示されており、モバイルデバイスがネットワークに接続されている間、モバイルデバイスで動作しているソフトウェアクライアントによって接続の成功及び失敗のデータがどのように収集され、全てのクライアントに有用な情報を抽出するようにこのデータがどのように処理され、更にモバイルデバイスで動作しているソフトウェアクライアントにこの情報がどのように返送されるかが示されている。
【００３６】
クラウド３００（斜線の影付き部分）は、一定の期間にモバイルデバイス３０１のソフトウェアクライアントによりアクセスされた一組のネットワークを取り囲んでいる。これらのネットワークは、一定の期間にアクセスされたものであり、すなわち、全てのネットワークが必ずしも一度にアクセスされたわけではない。図１及び図２において説明されるプロセスにより、モバイルデバイス３０１で動作しているクライアントソフトウェアは、接続の方法、有用性、位置、及びこれら全てのネットワークの品質についての情報を収集している。この情報は、モバイルデバイス３０１で動作しているソフトウェアクライアントにより、ローカルデータベース３０２にローカルに格納される。
【００３７】
同様に、クラウド３１０（縦線の影付き部分）は、同様の方法で、モバイルデバイス３１１で動作しているソフトウェアクライアントによりアクセスされ、接続試行が実行され、その結果がローカルデータベース３１２に格納される一組のネットワークを示している。
【００３８】
クラウド３３０（横線の影付き部分）は、同様の方法で、モバイルデバイス３３１で動作しているソフトウェアクライアントによりアクセスされ、接続試行が実行され、その結果がローカルデータベース３３２に格納される一組のネットワークを示している。クラウド３１０と３３０とが重なっているクロスハッチ領域は、モバイルデバイス３１１及び３３１の両方で動作しているソフトウェアクライアントによりアクセスされたアクセスポイントを有することに留意されたい。各モバイルデバイスは、これらのネットワークへのアクセスによって、それぞれ固有のデータを含んでいる。各モバイルデバイスでのネットワークへの接続の成功は異なるため、各モバイルデバイスが収集したデータは異なりうる。
【００３９】
クラウド３２０（影なし）は、同様の方法で、モバイルデバイス３２１で動作しているソフトウェアクライアントによりアクセスされ、接続試行が実行され、その結果がローカルデータベース３２２に格納される一組のネットワークを示している。データベース３２２に収集されるネットワーク情報は、モバイルデバイス３１１及び３３１に関連するデータベース３１２及び３３２にもデータが存在するいくつかのアクセスポイントに関連するが、各組のネットワークデータは、所定の位置及び所定の時間における所定のモバイルデバイスで動作する所定のソフトウェアクライアントの固有の視点から検討されることに留意されたい。
【００４０】
本例の目的のため、クラウド３００、３１０、３２０及び３３０で示されるネットワークは、中央インフラストラクチャ（例えば、設定サーバ３４４）から受信した設定データにおいてソフトウェアクライアントに既に開示されているネットワークでないとする。図１及び図２において説明された方法を使用して、各ネットワークは自動的に検出及びテストされ、モバイルデバイス３０１、３１１、３２１及び３３１で動作しているソフトウェアクライアントは、それぞれのデータベース３０２、３１２、３２２及び３３２内にこの新規に検出された知識をローカルに格納する。
【００４１】
データのこれら固有の点は全て、組み合わされて、異なる無線ネットワークの機能に関する集合的な判断を提供することができる。このデータは、組み合わされて、ネットワークの機能性に関する統合的な判断を提供することができ、これにより、モバイルデバイスのソフトウェアクライアントは、より効率的にモバイルネットワークを使用することができるようになる。
【００４２】
図１及び２において説明したようにインターネット接続の確立が成功すると、収集サーバ３４０は、モバイルデバイス３０１、３１１、３２１及び３３１のローカルデータベース３０２、３１２、３２２及び３３２に格納された情報から、更新情報のコピーを収集する。図２において説明されるように、各モバイルデバイスで動作しているソフトウェアクライアントは、これらローカルデータベースの更新情報のコピーを、破線３５３で表現されているように収集サーバ３４０に送信する。収集サーバ３４０は、全てのソフトウェアクライアントから受信して組み合わされた情報を、データベース３４１に格納する。
【００４３】
収集サーバ３４０と通信できるように接続された統合サーバ３４２は、業務ルールに従って収集サーバ３４０によって収集されたデータを処理し、統合されたデータは、その後データベース３４３に格納される。統合プロセスは、図４においてより詳細に説明する。
【００４４】
統合サーバ３４２と通信できるように接続された設定サーバ３４４は、統合されたデータを取得し、業務ルールを適用して、この統合されたデータを他の設定データとともにデータベース３４５に格納する。
【００４５】
インターネット接続が成功すると、モバイルデバイス３０１、３１１、３２１及び３３１で動作しているソフトウェアクライアントは、点線３５４で表現されているように、新規な設定データを設定サーバ３４４から読み出す。もしくは、新規な設定情報は、設定サーバ３４４から、モバイルデバイス３０１、３１１、３２１及び３３１で動作している様々なソフトウェアクライアントに送信される。このデータは、他のクライアントにより収集された、エンドユーザにとって有益なネットワークに関する情報を反映している。
【００４６】
システム全体により実行される動的ネットワークの検出及び状態更新手順の全体を更に説明するために、図３のネットワーク３５０及び３５１に関するプロセス全体を完了する例を説明する。モバイルデバイス３１１、３２１及び３３１のそれぞれは、これら２つのネットワーク３５０及び３５１にアクセスする。３つのモバイルデバイス３１１、３２１及び３３１は全て、ネットワーク３５０は使用不可能であり、ネットワーク３５１は使用可能であると報告するとする。モバイルデバイス３１１、３２１及び３３１の各ソフトウェアクライアントは、この情報を個別に収集サーバ３４０に送信し、収集サーバ３４０はこの情報をデータベース３４１に格納する。そして、統合サーバ３４２は、ネットワーク３５０は常に使用不可能であり、ネットワーク３５１は常に使用可能であると判断できる。１つ以上の実施形態において、このように判断するために、３つより多くのデータポイントが使用されることが望ましく、より多くのデータポイントを使用することによって、判断の正確性がより向上する。その結果、統合サーバ３４２は、ネットワーク３５１が好ましく、ネットワーク３５０は回避すべきであるという情報で、設定サーバ３４４を更新する。モバイルデバイス３０１で動作しているソフトウェアクライアントは、点線３５４で表現されているように設定サーバ３４４から設定の更新情報を取得すると、ネットワーク３５０及び３５１に関するこの情報を収集する。モバイルデバイス３０１は、以前にはネットワーク３５０及び３５１に遭遇していない。その後、モバイルデバイス３０１は、ネットワーク３５０及び３５１のいずれか又は両方を検出する状況にあることを認識すると、モバイルデバイス３０１は、ネットワーク３５０への接続試行に優先してネットワーク３５１の接続試行をすべきであること、又は、ネットワーク３５０への接続試行を回避すべきことを認識する。
【００４７】
収集サーバ３４０、統合サーバ３４２、設定サーバ３４４及びこれらに関連するデータベース３４１、３４３及び３４５の組合せは、本明細書で説明される中央サーバインフラストラクチャの主要な構成要素を含んでいる。収集サーバ３４０、統合サーバ３４２及び設定サーバ３４４と、これらに対応するそれぞれのデータベースとは、互いに通信している分離した構成要素として説明されているが、これらの構成要素の全て又は一部と、それに対応する機能性とは、同一の構成要素として結合することができ、又は、更なる構成要素に分離することができることが理解される。
【００４８】
１つ以上の実施形態において、図４は、モバイルデバイス３０１、３１１、３２１及び３３１で動作している多数のソフトウェアクライアントから収集サーバ３４０が受信できるデータの代表例を示すものである。図４の表中の列４０１−４０８それぞれは、データポイントの種類を表現するものであり、このデータポイントは、モバイルデバイス３０１、３１１、３２１及び３３１で動作しているクライアントソフトウェアにより収集され、収集サーバ３４０に報告される。
【００４９】
列４０１は、ソフトウェアクライアントが検出したネットワークのネットワーク識別子を含む。本例では、Ｗｉ−Ｆｉ（８０２．１１）の固有ＥＳＳＩＤが、ネットワーク識別子として使用されるが、他の技術で使用される任意の他のネットワーク識別子で代用することができる。これは、モバイルデバイスで動作しているソフトウェアクライアントにより認識される主要な識別子である。
【００５０】
列４０２は、検出されたネットワークに関連する所定のネットワークアクセスノードのハードウェアアドレスを含む。本例では、Ｗｉ−Ｆｉ（８０２．１１）固有のアドレス指定に関連するＢＳＳＩＤが示されているが、他の技術における適切なアドレス指定を使用することができる。この方法は、Ｗｉ−Ｆｉネットワークに限定されるものではない。
【００５１】
１つ以上の実施形態において、列４０１のネットワーク識別子は固有のものではないことに留意されたい。本例では、Ｗｉ−ＦｉのＥＳＳＩＤ識別子は一般に固有のものではないことを示している。列４０１と４０２との組合せは、固有の組を形成する可能性が高いことに留意されたい。これは、個々のネットワークを特定するための標識である。
【００５２】
簡略化するために、この表においては、１つのアクセスポイントにおけるただ１つの固有のネットワークが示されている。実際には、この表は、ここで示されているよりも多くのエントリを有する傾向にある。前述したように、収集され、処理されるデータが多いほど、ネットワークの評価はより正確になる傾向がある。
【００５３】
列４０３は、接続情報を報告する各ソフトウェアクライアント又はモバイルデバイスに固有の識別子を含む。この識別子は、収集サーバ及び統合サーバがデータ源にアクセスし、接続に関する様々な報告を関連付けることに役立つ。
【００５４】
列４０４は、報告されたネットワークに関する特定の位置データを含む。例えば、ＧＰＳ又は他の位置情報源により決定される経度及び緯度の座標である。この位置データにより、統合サーバ３４２は所定の位置にネットワークを構築し、モバイルデバイスで動作しているソフトウェアクライアントに、周辺の位置における環境に関す固有の設定データを提供することが可能になる。これは、モバイルデバイスが受信及び格納する必要がある設定データのサイズを制限する上で、重要な機能である。第２に、この位置データにより、地図上に使用可能なネットワークの位置を示し、システムが学習した使用可能な位置への経路をモバイルデバイスのユーザに示すことが可能になる。
【００５５】
列４０５は、報告された接続試行の日付及び時間を含む。これにより、統合サーバ３４２は、時間の推移とともになされた報告を関連付けることができ、時間の推移又は時間の関数として、ネットワークがどのように機能するかを評価することができる。この方法の利点は、ネットワークが時間の推移ともに変化したか、又は、十分なデータポイントが得られたときに、所定のネットワークが１日のうちの特定の時間においてのみ機能するか否かを、統合サーバ３４２が検出することができることにある。
【００５６】
列４０６は、接続の状態を含む。簡略化のため、本例では、接続成功と接続失敗のみが示されている。１つ以上の実施形態において、多くの他の状態も報告されうる。モバイルデバイスで動作しているソフトウェアクライアントが接続するネットワークの報告に加え、接続の間に見つけた周辺のネットワークに関する情報も報告される。これらのネットワークは、可視ネットワークとして報告されるが、接続されているものではない。統合サーバ３４２は、報告時のモバイルデバイスの位置におけるネットワークの可視性に関するグラフを作成するためにこのデータを取得することができる。
【００５７】
列４０７は、モバイルデバイスで動作しているソフトウェアクライアントが、接続の確立及び接続テストサーバ１０５とのテストの実施に基づいて報告する品質データの種類を、十分に簡略化した例を含む。本例では、この表は、最大ダウンロード速度（メガビット／秒）、最大アップロード速度（メガビット／秒）、待ち時間（ミリ秒）及びドロップしたＩＰパケットの割合を示している。１つ以上の実施形態において、その他の情報、例えば、相対的な信号強度、ネットワーク接続理論速度等の情報も報告され、特定の実施形態に望まれるが、本明細書の説明では、簡略化のため省略する。
【００５８】
列４０８は、接続プロセス情報を提供するものであり、モバイルデバイスで動作しているソフトウェアクライアントが、ネットワークに接続し、インターネット１０４に到達するために通過しなければならないステップの説明を提供するものである。ここでも、明確化のため、この列は、非常に簡略化した方法で示されている。「オープン信号」は、接続が確立されたときに、ネットワーク接続を確立するために追加のステップが必要ないことを示すものである。「リダイレクト、クリックスルーリンク」は、クライアントがゲートウェイに遭遇し、ゲートウェイが接続するのを誘導しなければならないプロセス（図１において説明されている）を示すものである。本例では、どのコンテンツがリダイレクトの一部として示され、ログインのためにクライアントが何をしなければならないかを、明確に説明した追加情報が報告される。同様に、「リダイレクト、ログイン不可能」の場合、クライアントソフトウェアが何に遭遇し、ゲートウェイの誘導を試行した際にどのような問題が発生したかを示す詳細な報告が提供される。
【００５９】
図４の表中の行４１０−４１４それぞれは、（列４０３の報告デバイスＩＤにより特定される）各モバイルデバイス３０１、３１１、３２１及び３３１で動作しているソフトウェアクライアントからの収集サーバ３４０への個別の報告を示すものである。
【００６０】
本例では、行４１０から４１２は、３つの異なるモバイルデバイスから１つのネットワークに対する３回の接続試行を示している。このネットワークの一意性は、列４０１及び４０２の情報の対応関係に基づいて、すなわち、ネットワーク識別子（例えば、ＥＳＳＩＤ＝「sysLink」）とアクセスポイント識別子（例えば、ＢＳＳＩＤ＝「01:aa:34:12:33」）との対応関係に基づいて、決定される。列４０４は、このネットワークのカバレッジエリア及びこのエリア内におけるネットワークの有用性を示している。各試行に対して有用性が生じた位置が固有のものでなくとも、３つの試行の位置の周辺から、この有用な情報が提供される。列４０５に示される時間の変化は、時間の推移に伴うこのネットワークの使用可能性を示すものである。図３で説明され、図５でより詳細に説明されるように、この情報は全て統合サーバにより組み合わされ、モバイルデバイスで動作している他のソフトウェアクライアントと共有させるネットワークの使用可能性及びネットワーク情報を決定する。
【００６１】
本例では、行４１３は、行４１０−４１２に示すネットワークと同一のＥＳＳＩＤを有するモバイルデバイス３０１のソフトウェアクライアントがネットワークへの接続に成功していることを示している。しかしながら、列４０４で特定される地理的な位置がこのワイヤレスネットワークの範囲外であるため、統合サーバ３４２は、このネットワークが別個に考慮されるべき異なる固有のネットワークであると決定することができる。
【００６２】
本例において、行４１４は、同一のネットワーク識別子（つまり同一のＥＳＳＩＤ）を有する他の１つのネットワークへの接続が失敗したモバイルデバイス３１１のソフトウェアクライアントを示している。列４０４で提供される位置情報に基づき、統合サーバ３４２は、このネットワークが、表中に列挙された他のネットワークとは全く異なるネットワークであると決定することができる。列４０６で示すように接続が失敗しても、統合サーバ３４２は、列４０８で示されるように、モバイルデバイスで動作しているソフトウェアクライアントがネットワーク接続を確立しようとした試行についての詳細な情報を取得する。前述のように、簡略化するために、詳細な報告はこの表からは省略されているが、一般に、この詳細な報告には、リダイレクト情報の性質及びクライアントがネットワークへの試行において実行したステップが含まれる。この情報は、ネットワークへの接続を成功させるためにクライアントが使用することができる方法の決定に使用され、又は、そのような方法が提供されない場合、以後このネットワークへの接続を試行しないように、ソフトウェアクライアントへ通知するために使用される。
【００６３】
１つ以上の実施形態において、モバイルデバイスで動作しているソフトウェアクライアントにより収集及び格納され、その収集サーバ３４０に送信されて統合サーバ３４２で統合されるデータは、図４の表中に示されているデータの一部のみを含むことができ、又は、本開示の分散型動的ネットワーク検出の統合に関係する他の更なるデータを含むことができる。
【００６４】
次に図５を参照すると、概略的なフローチャートが示されており、図３に示される統合サーバ３４２により、図４に示されるサンプルデータに基づいて実行されるデータ統合プロセスの１つの可能な実施形態を示すものである。本例は、Ｗｉ−Ｆｉ  ８０２．１１ネットワーク構築に使用される技術に固有のものとして示されているが、これと同一の方法は、異なる種類のネットワークにおいて使用されうる。
【００６５】
動作５０１において、統合サーバ３４２は、収集サーバ３４０からネットワーク情報の完全なリストを取得する。このリストは、モバイルデバイスで動作しているソフトウェアクライアントがネットワークを検出及び使用して、収集した全ての情報のリストである。図４で説明したように、このリストは、ネットワーク（ＥＳＳＩＤ又はサービス名）と、ハードウェア識別子及び／又はアドレス（ＢＳＳＩＤ）と、可能な場合には位置（緯度及び経度）と、接続試行の日付及び時間と、接続試行の結果と、接続時に行われた手順と、接続が確立された場合には接続の品質と、接続が確立されている間の他の可視ネットワークアクセスポイントの情報とを含んでいる。このリストは、ＥＳＳＩＤ（サービス名）及びアクセスポイントのＢＳＳＩＤ（ハードウェア識別子）によりソートされる。
【００６６】
動作５０２において、第１のＥＳＳＩＤ（サービス名）が選択され、このＥＳＳＩＤに関連する全てのデータが考慮される。Ｗｉ−Ｆｉでないサービスにおいては、他のサービス識別子が使用されうることに留意されたい。この所定のＥＳＳＩＤについての全てのＢＳＳＩＤは、最初は１つのネットワークとして考えられる。図４のデータに基づくと、最初に選択されるＥＳＳＩＤは「sysLink」である。以後の動作は、収集サーバ３４０内に現れる各ＥＳＳＩＤ（サービス名）において繰り返される。図４及び図５（及び本明細書中の他の図）に関連する具体例において、Ｗｉ−Ｆｉ（８０２．１１）固有のネットワーク又はサービス名（ＥＳＳＩＤ）とアクセスポイントのハードウェアアドレス（ＢＳＳＩＤ）とが説明されているが、本明細書で説明される本技術は、各技術に固有のパラメータを使用している任意の他の無線技術にも等しく適用され、それぞれ適切な識別子を含むことができる。
【００６７】
動作５０３において、このＥＳＳＩＤのエントリの地理的な位置は、使用されている技術における閾値の組と比較される。本例で、Ｗｉ−Ｆｉを使用しているとすると、エントリ４１０−４１４を考慮すると、全ての位置が閾値内で検出されるわけではない。許容される範囲内又は予め設定された範囲内に全ての位置が検出されない場合、動作５０４において、地理的な位置の組は、次の動作のために単一の地理的な位置になるように削減される。本例では、「sysLink」のＥＳＳＩＤの地理的な位置は、単一の地理的な位置の範囲内の列４１０−４１２に含まれるデータになるように削減される。後述するように、以後の反復過程において、付加データが考慮される。
【００６８】
単一の地理的な位置に制限された場合、又は、全ての位置が許容される範囲又は予め設定された範囲内で検出された場合、統合サーバ３４２による処理は、動作５０５へ進む。動作５０５において、統合サーバ３４２は、以前報告された情報に基づいて地理的境界の閾値内にこのネットワークに関する以前の情報が発見されるか否かについて、ローカルデータベース３４３を確認する。そのような情報が存在する場合には、動作５０６において、新規に取得された情報とともにデータベース３４３から情報が考慮のために読み出され、処理は動作５０７へ進む。そのような情報が存在しない場合には、以前の情報が考慮されることなく、処理は動作５０７へ進む。
【００６９】
動作５０７において、この信号の特性を決定するために、業務ルールが適用される。業務ルールは、いくつかの例を挙げれば、設定に信号を含めるために必要となる成功及び失敗の報告の回数、信号が使用可能又は使用不可能であった時間周期の推移、信号の品質、及び信号の不変性を含むことができる。他の業務ルールも適用されうることが理解される。適切な業務ルールを適用した後、信号について統合された情報（つまり、固有のネットワーク）が更新される。
【００７０】
動作５０８は、統合サーバ３４２が今後使用するために、この更新情報をデータベース３４３に格納する。動作５０９において、信号情報は、設定に含めて様々なソフトウェアクライアントに送信するのに相応しいか否かを決定するために、業務ルールに照らして考慮される。例えば、業務ルールに従って、本例では、試行４１０−４１２により報告されるような常に成功する接続に基づいて、対応する信号が十分な品質であり、この信号を設定に加えるべきであるということが決定される。その結果、モバイルデバイスにインストールされた他のソフトウェアクライアントがそれ自身この信号の地理的な近傍にいると認識したときにこの信号が好ましいと認識することが可能になる。
【００７１】
その結果、動作５１０において、設定サーバ３４４は、設定データベース３４５の設定にこの信号（すなわち、ネットワーク）を加えるように通知される。前述したように、設定サーバ３４４は、設定情報を適切なソフトウェアクライアントに（例えば、全てのソフトウェアクライアントに、又は所定の地理的な領域にあるモバイルデバイスのソフトウェアクライアントのみに）分配するときに、モバイルデバイス３１１、３２１及び３３１で動作しているソフトウェアクライアントにより新規に検出されたネットワークを、他のソフトウェアクライアントに分配する。本例では、モバイルデバイス３０１のソフトウェアクライアントは、追加されたネットワーク（すなわち、この地理的な位置における「sysLink」のＥＳＳＩＤを有するネットワーク、又は同一のネットワーク識別子を有するネットワーク）の使用可能性について学習し、モバイルデバイス３０１のソフトウェアクライアントが後にそれ自身がこのネットワークの周辺にいることを認識した場合、このネットワークの周辺におけるモバイルデバイスで動作している他のソフトウェアクライアントが接続に既に成功したという経験に基づいて、モバイルデバイス３０１は、ネットワークを使用できることを想定する。このネットワークが設定に加えられるべきではないという決定がされた場合、動作５１０は省略される。例えば、モバイルデバイスで動作している様々なソフトウェアクライアントからの成功又は失敗の試行の報告が、データベース３４５に格納された設定に含めるのに値する程十分ではない場合であっても、後にこのデータについて再検討できるように、これらの試行による知識は、データベース３４１及び３４３に保持される。
【００７２】
動作５１１において、このネットワークで未だ考慮されていない異なる地理的な位置における追加情報が存在するか否かを、このプロセスは検討する。例えば、図４の例に関しては、異なる地理的な位置における行４１３及び４１４は未だ考慮されていない。
【００７３】
動作５１２において、次の地理的な位置（この場合、行４１３で特定される位置）が選択され、プロセスは動作５０３に戻り、上述の動作を繰り返す。行４１３で特定される位置に関連する統合サーバ３４２のデータベース３４３に付加情報がない場合、この１つの位置に関するデータが、この位置を設定に対して公表するという業務ルールに適合するか否かを決定するために、業務ルールが適用される。そうでない場合、動作５０８のみにおいて、この新規な情報がデータベースに格納される一方、この情報を設定サーバ３４４に送信するという動作５１０は、省略される。
【００７４】
本例では、このプロセスは動作５１２へ続き、このネットワークにおける最後の地理的な位置が選択され、行４１４が評価される。本例では、業務ルールが、このネットワークが「使用不可能」であると設定するために１回の失敗では不十分であるとすると、行４１４で特定される位置は、行４１３の位置における結果と類似する。しかし、モバイルデバイスで動作している他のソフトウェアクライアントからの付加情報がその後届いたときに、この位置でこのネットワークに提供される設定の更新情報が、業務ルールの閾値を満たすか否かを決定するために、この位置に関する情報が統合されるように、この情報は統合サーバのデータベース３４３に格納される。
【００７５】
このネットワーク及びその地理的な位置に関して、全てのデータが処理されたとき、動作５１３は、追加ネットワークが処理される必要があるか否かを決定する。必要がある場合、動作５１４は次のネットワークを選択し、このプロセスは再び動作５０３を開始する。全てのネットワークが処理されるまで、このループは続く。処理すべきネットワークがない場合、動作５１５でプロセスを完了する。
【００７６】
上述の様々な実施形態において、ネットワークの検出及び有用性に関する情報は、モバイルデバイスで動作しているソフトウェアクライアントに分配され、中央サーバインフラストラクチャに報告されることにより動的に決定される。中央サーバインフラストラクチャにより収集されたデータは、この情報の信頼性を向上及び／又は改善するために、業務ルールに基づいて統合される。この設定情報は、モバイルデバイスで動作している特定のソフトウェアクライアントに、これらのモバイルデバイスの位置決定及び無線ネットワークとの接続の効率を改善するのに使用するために、分配される。
【００７７】
１つ以上の実施形態において、無線ネットワークの接続情報は、中央サーバアーキテクチャ以外のソースから、モバイルデバイスに受信されるようにすることもできる。例えば、モバイルデバイスは、モバイルデバイス間で検出された接続情報を共有することができる。更に、無線ネットワークの接続情報は、特定の周辺に存在するモバイルデバイスにより受信されるように、（例えば、ネットワークプロバイダにより、又はインターネットへの無線ネットワーク接続に関するＷｉ−Ｆｉアクセスポイントを提供する小売店により）送信されうる。１つ以上の実施形態において、このような送信されたネットワーク接続情報は、無線ネットワークへの接続を確立するのに使用される一次無線通信プロトコル又はチャネルとは異なる、二次的な又は個別の通信プロトコル又はチャネルにより送信されうる。
【００７８】
図６を参照すると、１つ以上の実施形態において、二次ローカルエリア無線接続を直接使用することにより検出された接続情報をモバイルデバイス間で共有することによって、他の種類の接続情報の共有を提供するのに使用される、様々なシステム構成要素のブロック概略図が示されている。
【００７９】
クラウド６１０、６２０及び６３０は、インターネットアクセスを取得するためにモバイルデバイスが接続を希望するネットワークである一次アクセス無線ネットワーク（例えば、８０２．１１Ｗｉ−Ｆｉネットワーク）を含んでいる。モバイルデバイス６１１は、クラウド６１０（縦線の影付き部分）の無線ネットワークを検出できる。本明細書で説明される１つ以上の実施形態における接続プロセスを使用して、モバイルデバイス６１１で動作しているソフトウェアクライアントは、前述の図３及び４において説明したように、接続するのに成功し及び失敗したクラウド６１０のネットワークを含む接続情報を、ローカルデータベース６１２に追加する。明確にするため、モバイルデバイス６１１とクラウド６１０に現れるネットワークとの一次無線接続は、無線接続６１３により示される。
【００８０】
同様に、モバイルデバイス６２１は、クラウド６２０（横線の影付き部分）に含まれる一次アクセスネットワークを検出することができ、図３及び４において説明したように、これらのネットワークへの接続の成功及び失敗の情報をローカルデータベース６２２に保持する。明確にするため、モバイルデバイス６２１からクラウド６２０内のネットワークへの一次無線接続リンクは、無線接続６２３によって示されている。無線デバイス６２１によって検出されるネットワークのうちのいくつかは、クラウド６１０及び６２０の線が重なっているクロスハッチ領域によって示されるように、モバイルデバイス６１１によっても検出されることに留意されたい。その結果、両モバイルデバイス６１１及び６２１は、それぞれのローカルデータベース６１２及び６２２に、これらのネットワークの組の情報を格納している。
【００８１】
モバイルデバイス６３１は、クラウド６３０（斜線の影付き部分）に含まれる一次アクセスネットワークを検出することができ、これらのネットワークにおいて検出した接続情報をローカルデータベース６３２に格納する。ここでも、明確にするため、モバイルデバイス６３１とクラウド６３０内のネットワークとの間の一次無線接続は、無線接続６３３により示されている。
【００８２】
前述したように、モバイルデバイス６１１、６２１及び６３１は、それ自身の地理的な位置を認識しており、それぞれのローカルデータベース６１２、６２２及び６３２を更新するとき、ネットワーク及びネットワークの状態に関する情報だけでなく、ネットワークの使用を試行した時間における位置、及び各モバイルデバイスがネットワークに接続を試行したときのデータ及び時間に関する情報も、格納する。
【００８３】
１つ以上の実施形態において、ローカルデータベースの接続情報コンテンツに関する情報を他のモバイルデバイスに送信（ブロードキャスト）するために、モバイルデバイス６１１、６２１、６３１及び６４１は、例えば主要無線通信技術の帯域外信号などの代替又は二次無線通信技術と通信する能力を備えている。これは、領域内の他のモバイルデバイスが受信及び理解できるビーコンの形式とすることができる。
【００８４】
例えば、モバイルデバイス６１１は、代替無線接続６１４を使用して、ローカルデータベース６１２のコンテンツに関する情報をモバイルデバイス６２１又は他のモバイルデバイスに送信することができる。本例では、クラウド６４０は、主要無線通信技術の帯域外信号のデバイスに使用される代替無線通信技術を意味する。この技術の例は、モバイルデバイスの二次的、独立的な無線通信により送信及び受信されるＢｌｕｅｔｏｏｔｈである。これにより、モバイルデバイスは、一次無線通信ネットワークを使用することと、ネットワークの知識に関する帯域外情報を、周辺の他のモバイルデバイスに提供することを、同時に行うことができる。
【００８５】
モバイルデバイス６１１は、接続６１３によりクラウド６１０のネットワークへの接続に成功している場合、ローカルデータベース６１２を更新することができる。モバイルデバイス６１１は、この接続の成功を二次無線送信により送信することができ、本例では、二次無線送信６１４は、モバイルデバイス６２１によって受信されることが示されている。モバイルデバイス６１１は、クラウド６２０内のネットワークのみを認識するモバイルデバイス６２１には検出されないクラウド６１０内のネットワークに関する知識を認識し、取得することが可能であるため、デバイス６２１は、二次無線送信の範囲内の他の無線デバイスからネットワークに関する成功又は失敗の情報を取得することができる。１つ以上の実施形態において、この二次無線送信は、例えばＢｌｕｅｔｏｏｔｈ等のように制限範囲を設けることができ、二次無線送信により送信される情報は局所的なものであるため、無線デバイス６２１が位置を移動したときに、無線デバイス６２１のユーザと関連する傾向にある。
【００８６】
クラウド６２０内のネットワークへの一次接続６２３介して、及び、モバイルデバイス６１１からの二次無線接続（二次更新接続）６１４を介して、モバイルデバイス６２１により学習された情報は、ローカルデータベース６２２にローカルに格納されたネットワーク接続情報を更新するのに使用されうる。更に、この情報は、二次無線接続を介して他のモバイルデバイスと共有されうる。換言すれば、モバイルデバイス６２１は、モバイルデバイス６１１から学習した情報を、モバイルデバイス６２１のローカルデータベース６２２に格納された他のネットワーク接続情報とともに、他の二次無線接続６３４を通して、他のモバイルデバイス６３１と共有することができる。
【００８７】
モバイルデバイス６３１は、一次無線接続６３３を使用して、クラウド６３０内のネットワークに接続する一方で、それと同時に、二次無線接続６３４を介して、クラウド６３０外のネットワークに関する情報（例えば、モバイルデバイス６２１から受信されるようなクラウド６２０及び６１０内のネットワーク情報）を受信することができる。モバイルデバイス６３１がクラウド６３０のネットワークの範囲外且つクラウド６２０のネットワークの範囲内に移動した場合、モバイルデバイス６３１は、クラウド６２０内のネットワークについて、既に収集した情報を保有しており、これによって、二次リンク６３４を介したクライアント６２１により共有される情報に基づき、クラウド６２０内のネットワークとの接続をより簡単にすることができる。
【００８８】
モバイルデバイス間でコンテンツを共有するこの技術は、さらに遠くに移動したモバイルデバイスにおいても機能する。例えば、図６において、モバイルデバイス６４１は、クラウド６１０、６２０及び６３０内の一次無線通信技術のネットワークの範囲外であるが、モバイルデバイス６３１の二次無線通信技術を使用できる範囲内に存在する。従って、モバイルデバイス６４１は、以前にはこれらのクラウドによって覆われた無線範囲内のネットワークを検出していないにもかかわらず、二次無線リンク６４４を介して、一次クラウド６１０、６２０及び６３０のネットワークに関するネットワーク情報を受信する。
【００８９】
モバイルデバイス６４１は、その後クラウド６１０、６２０又は６３０内のネットワークのうちの１つに範囲に移動すると、どのネットワークに最初に接続すべきかについての、より良い指示を取得し、これによって、効率の向上とともに接続時間及びバッテリ残量の節約を得ることができる。
【００９０】
前述したように、１つ以上の実施形態において、アクセスポイントに接続されたときの各モバイルデバイスの具体的な位置情報は、ローカルデータベースに格納され、この情報は、ネットワーク情報を交換するときに、モバイルデバイス間で交換されうる。モバイルデバイス６２１が、接続されている一次ネットワーク（すなわち、クラウド６２０内のネットワーク）についての情報を決定することができ、且つ、二次無線リンク６３４を介してモバイルデバイス６３１にこの更新情報を送信する場合、二次無線リンク６４４を介したモバイルデバイス６３１からモバイルデバイス６４１への更新情報は、この位置情報を含んでいる。モバイルデバイス６４１がその位置を決定することができないが、モバイルデバイス６２１によって報告されたおおよその位置情報に関するアクセスポイントのうちの１つの範囲内に移動した場合、モバイルデバイス６４１は、それ自身が位置するかなり正確な位置を認識する。これは、例えばＧＰＳ等の位置に関するサービスが実装されていないモバイルデバイスに対して、位置を推定する方法を提供する。
【００９１】
同様に、１つ以上の実施形態において、二次無線通信ネットワークを使用して互いにネットワーク接続情報を共有するモバイルデバイスの変形例は、図７の概略図で示されているように、二次無線通信ネットワークを介してネットワーク接続情報をブロードキャストするネットワークアクセスポイントを実装しうる。
【００９２】
図７において、モバイルデバイス７００は、一次無線通信技術リンク７０１を使用して無線ネットワーク７０２に接続されており、ネットワーク７０２に接続が成功したことに関する情報は、無線デバイス７００のローカルデータベース７０３に格納されている。
【００９３】
一次ネットワークアクセスポイント７１０も、二次無線通信送信（ブロードキャスト）を実行するための二次無線通信技術を実装している。任意の無線通信技術の組合せを使用することもできるが、本例では、Ｗｉ−Ｆｉ８０２．１１が一次無線技術として使用され、Ｂｌｕｅｔｏｏｔｈが二次無線通信技術として使用される。クラウド７４０は、二次無線通信ネットワークを示すものであり、二次無線通信ネットワーク及びその接続（例えば、７１１、７２２、７２３及び７４１の未時無線リンク）が、この二次無線通信技術を示す破線で表現されている。
【００９４】
二次無線通信を使用して、アクセスポイント７１０は、連続的、周期的又は選択的に、それ自身に関する接続情報を、二次無線通信送信の範囲内にある任意のモバイルデバイスにビーコン送信する。このビーコンは、ＥＳＳＩＤ、ログイン方法及びアクセスポイントの使用可能性に関する条件（例えば、無料のネットワークアクセスが使用できるか否か）のような、必要なパラメータを含んでいる。図７において、モバイルデバイス７００は、以前にはアクセスポイント７１０に接続されていないか又は以前にアクセスポイント７１０に関連するネットワークについての設定情報を受信していないにも関らず、ビーコン信号７１１は、モバイルデバイス７００により受信される。このモバイルデバイス７００は、ローカルデータベース７０３をこのアクセスポイント７１０の使用可能性に関する情報で更新することができる。前述したように、アクセスポイントにより送信されるビーコンにおける、アクセスポイント７１０に関する位置情報が使用可能であり、アクセスポイントの可視性に基づいて、位置の決定を可能にする。
【００９５】
１つ以上の実施形態において、アクセスポイント７２０は、２つの無線通信を備え、ローカルデータベース７３１に接続に関する情報を格納するモバイルデバイス７３０への一次無線接続７２１に、一次無線通信を使用する。アクセスポイント７２０は、アクセスポイント７２０を介したネットワークへの使用可能な接続性に関する情報をモバイルデバイス７３０に提供する二次無線通信リンク７２３に、二次無線通信を使用する。接続７２１を確立する前に、モバイルデバイス７３０は、ネットワーク７２０に接続するか又は他のネットワークが好ましいかを決定するために、二次無線通信リンク７２３を介して受信した、アクセスポイント７２０に関するこのネットワークの接続性の情報を使用することができる。
【００９６】
図６に関連して説明されるように、モバイルデバイス７００及び７３０が二次無線通信リンク７４１を介して二次無線通信技術の領域内にあるとき（クラウド７４０により示されている）、モバイルデバイス７００と７３０との間の情報も、交換されうる。モバイルデバイス７３０は、以前の接続試行から、ネットワーク７１０についての直接的な知識を取得していないが、モバイルデバイス７００は、二次無線通信リンク７１１を介してアクセスポイント７１０からネットワーク接続性の情報を取得し、この情報を二次無線通信リンク７４１を使用してモバイルデバイス７３０とこの情報を共有するので、モバイルデバイス７３０は、二次無線通信リンク７４１を介してモバイルデバイス７００からこの知識を取得できる。
【００９７】
従って、モバイルデバイス７３０は、アクセスポイント７２０の範囲外且つアクセスポイント７０２、７１０及び７５０の範囲内に移動するとき、モバイルデバイス７００から取得した情報に基づき、アクセスポイント７０２又は７１０と関連するネットワークを使用して試行することを認識し、従って、接続時間及びバッテリ残量を節約できるという利点を有する。
【００９８】
１つ以上の実施形態において、二次無線通信送信の範囲内の任意のモバイルデバイスに、接続情報を含むビーコンを送信する二次無線通信をアクセスポイント自体が実装する代わりに、このアクセスポイントの周辺の二次無線通信を備える個別のデバイスが、この情報をビーコン送信することができる。例えば、個別のＢｌｕｅｔｏｏｔｈ無線通信によってアクセスポイントに関する接続情報を含めたＢｌｕｅｔｏｏｔｈ信号を、ローカル無線デバイスに送信することができ、これはそのような二次ビーコン送信を行うことができる二次無線通信を実装していないアクセスポイントに二次無線通信ビーコンを提供するのに有用である。
【００９９】
１つ以上の実施形態において、インターネットにアクセスするために無線ネットワークを使用する能力をモバイルデバイスが有するとしても、システム、装置及び方法は、無線ネットワークに関するモバイルデバイスに対して、あるモバイルデバイスを使用すべきでないと通知するように提供される。そのような予防的な使用は、様々な手段、例えば、アクセスポイントのオペレータ又はアクセスポイント又は他の個人を超えたネットワークインフラストラクチャからの要求により、実装することができる。
【０１００】
図８の概略ブロック図を参照すると、１つ以上の実施形態における、無線ネットワークのオペレータが、モバイルデバイスユーザの無線ネットワークへの自動的なアクセスが許可されるべきか否かを、決定できるシナリオが示されている。ここで示されるシナリオは、Ｗｉ−Ｆｉ（８０２．１１）ネットワーク構築に固有のものであるが、任意の他の種類の無線ネットワークに対しても同様の技術を採用することができる。モバイルデバイス８００は、本明細書で説明されるように、様々な無線ネットワークを検出し、これらの無線ネットワークに接続することができるソフトウェアクライアントを動作させる。データベース８０１は、モバイルデバイス８００上に存在し、モバイルデバイス８００上で動作しているソフトウェアクライアントの設定情報を有している。１つ以上の実施形態において、データベースからの情報がこの接続シナリオに必要とされるため、このデータベースは、モバイルデバイス８００で動作しているソフトウェアクライアントにローカルであることが必須である。
【０１０１】
データベース８０１に格納された設定において、特定のネットワークが使用不可能であることを特定する情報が格納されている。例えば、使用不可能な特定のネットワークを示す情報又はルール８０２は、データベース８０１に格納されうる。例えば、ルール８０２の除外パターン部分は、データベース８０１に格納されている。モバイルデバイス８００で動作しているソフトウェアクライアントは、どのネットワークが使用可能又は使用不可能であるかを決定するとき、この除外パターンを評価するように構成されている。図８において、除外パターンは、ネットワーク名の最後が、スペース（ＡＳＣＩＩ  ３２）、文字ＮＦＡ、続いてもう１つのスペース（ＡＳＣＩＩ  ３２）で終わる任意のネットワーク名（例えば、「Exception: *.\ NFA\ $」（但し、\はバックスラッシュに相当する文字））に合致するような、通常の表現で示されている。この設定は、図３に示される設定サーバ３４４により動的に更新されうるため、除外パターンは、動的に変化され、拡張され、又は削除される。通常の表現パターンの使用は、極めて少ない設定データによって多くのネットワークを排除できるため、強力な方法である。この実施形態を説明するために、除外パターンの具体例が提供されるが、使用する特定の無線技術に適切な任意のパターンを使用することができることを理解されたい（例えば、８０２．１１Ｗｉ−Ｆｉネットワークに使用されるパターンは、他の無線技術で使用されるパターンと異なる）。
【０１０２】
モバイルデバイス８００が使用可能なネットワークをスキャンするとき、「Home Network NFA」というネットワーク名のネットワーク８１０及び「Free Coffeeshop」というネットワーク名のネットワーク８２０を検出する。ネットワーク８１０又は８２０のいずれかは、それぞれのルータ８１１又は８２１を介してインターネット８０３に接続するため、このモバイルデバイス８００による使用を阻止する設定がネットワークオペレータによりされなくとも、モバイルデバイス８００のソフトウェアクライアントがこの接続を確立するためにいずれかのネットワークを選択できる。
【０１０３】
しかしながら、ネットワーク８１０の「Home network NFA」というネットワーク名は、ルール８０２に格納される除外パターン「Exception: *.\ NFA\ $」に含まれるため、モバイルデバイス８００のソフトウェアクライアントはネットワーク８１０を使用することを想定しないと認識する。ネットワーク８２０のネットワークオペレータによってはモバイルデバイス８００に同様の制限は設定されない。ネットワーク８１０への接続は、ルール８０２により禁止されているため、データベース８０１に格納されるルール８０２により、モバイルデバイス８００のソフトウェアクライアントは、無線リンク８０４を使用してネットワーク８２０にのみ接続する。
【０１０４】
次に、図９を参照すると、図８に関する説明における、変更されたプロセスのフローチャートが示されている。これは、使用から除外されるネットワークを特定するものであり、そうでない場合には、本明細書で記載した図２のような接続プロセスを実行する。例えば、図９に関して説明される動作は、図２と関連する実施形態において動作２０１の代わりに実行される。
【０１０５】
新規な接続プロセスは、動作９００から開始される。図２の動作２０１における接続プロセスと同様に、動作９０１においてネットワークのリストが取得される。図８の具体的な例に準拠すれば、取得されたネットワークのリストは、「Home Network NFA」及び「Free Coffeeshop」である。
【０１０６】
動作９０２において、モバイルデバイスで動作しているソフトウェアクライアントは、動作９０１で取得したネットワークリスト内の任意のネットワークが、格納された除外パターンと一致するか否かを確認する。本例では、ネットワーク「Home Network NFA」は、ルール８０２に格納された除外パターン「Exception: *.\ NFA\ $」の基準に一致する。その結果、動作９０３において、格納された除外パターンに一致する任意のネットワーク、例えばネットワーク「Home Network NFA」は、ネットワークのリストから除外される。ネットワークリストに、格納された除外パターンに一致するネットワークがない場合、ネットワークはリストから除外されない。続いて、プロセスのフローは、動作９０４に移り、図２において説明した動作２０２から始まる残りの接続プロセスが完了される。この付加プロセスの結果、モバイルデバイスで動作しているソフトウェアクライアントは、図２及び３で説明されるように、例えば、モバイルデバイスに送信される設定データにプログラムされるネットワークのオペレータからの制約により、アクセスしないように設定されたネットワークへの接続を試行しない。
【０１０７】
次に図１０を参照すると、１つ以上の実施形態における他のシナリオの概略的なブロック図が示されており、この実施形態においては、モバイルデバイスのユーザが無線ネットワークに自動的にアクセスすることを許可すべきか否かを、無線ネットワークのオペレータが決定することができる。図１０に関する実施形態において、無線ネットワークのオペレータは、ネットワーク識別子を提供するために、モバイルデバイスを介してサービスを提供する会社に連絡することができる。これらの識別子は、様々なモバイルデバイスに送信される設定情報に含まれる。ここで示されるシナリオはＷｉ−Ｆｉ（８０２．１１）のネットワーク構築に固有のものであるが、任意の他の種類の無線ネットワークに同様の技術を使用することができる。
【０１０８】
モバイルデバイス１０００は、本明細書で説明されるように、様々な無線ネットワークを検出し、これらの無線ネットワークに接続することができるソフトウェアクライアントを動作させる。データベース１００１は、モバイルデバイス１０００上に存在し、モバイルデバイス１０００上で動作しているソフトウェアクライアントの設定情報を有している。１つ以上の実施形態において、データベースからの情報がこの接続シナリオに必要であるため、このデータベース１００１は、モバイルデバイス１０００で動作しているソフトウェアクライアントにローカルであることが必須である。
【０１０９】
除外テーブル又は除外リスト１００２は、モバイルデバイス１０００が接続できるものから除外されている無線ネットワーク及びアクセスポイントのリストを含むデータベース１００１に格納される。モバイルデバイス１０００で動作しているソフトウェアクライアントは、どのネットワークが使用可能で、どのネットワークが使用不可能かを決定するとき、除外リスト１００２を評価する。図１０において、除外リスト１００２は、Ｗｉ−Ｆｉ（８０２．１１）に固有のネットワーク名（ＥＳＳＩＤ）及びアクセスポイントハードウェアアドレス（ＢＳＳＩＤ）の双方を含むものとして示されているが、この技術は、各技術に固有のパラメータを使用した任意の他の無線技術にも同様に適用可能であり、それぞれ適切な識別子を含むことができる。除外リスト１００２を含むこの設定は、設定サーバ３４４により動的に更新される。除外リスト１００２は、動的に変更され、拡張され、又は除外される。この除外リストの使用は、ネットワーク構成要素の粒度ごとに、個々のネットワーク構成要素について、どのネットワークを使用し又は使用しないかを決定することを可能にするので、強力な方法である。
【０１１０】
モバイルデバイス１０００が使用可能なネットワークをスキャンするとき、「sysLink」というネットワーク名の無線ネットワーク１０１０及び「0c:fa:1d:08:1d:13」というハードウェアアドレスの無線ネットワーク１０２０を検出する。ネットワーク１０１０又は１０２０のいずれかは、それぞれのルータ１０１１又は１０２１を介して、インターネット１００３に接続しており、これらのネットワークがモバイルデバイス１０００の設定から除外されていなければ、モバイルデバイス１０００のソフトウェアクライアントは、接続を確立するために、いずれかのネットワークを選択することができる。
【０１１１】
しかし、ネットワーク１０１０のネットワーク名が除外リスト項目１００４と一致するため、設定データベース１００１の除外リスト１００２内に現れるルール１００４により、モバイルデバイス１０００のソフトウェアクライアントは、ネットワーク１０１０に接続されない。同様に、ネットワーク１０２０のハードウェア識別子が除外リスト項目１００５と一致するため、設定データベースの除外リスト１００２内に現れるルール１００５により、モバイルデバイス１０００のソフトウェアクライアントは、ネットワーク１０２０に接続されない。その結果、モバイルデバイス１０００は、図１０で検出されるいずれのネットワークにも接続を試行しない。更に、除外リスト１００２中の除外リスト項目１００６によって示されるように、１つ以上の実施形態において、図８と関連して導入される除外概念は、図１０において導入される除外概念と組み合わせることができる。
【０１１２】
図１１は、図８及び図２で説明された接続プロセスと少し異なる図１０に関して説明される接続プロセスの一部のフローチャートであり、図１０及び図１１に関して説明される動作は、図２と関連する実施形態において図２の動作２０１の代わりに実行される。
【０１１３】
新規な接続プロセスは、動作１１００から開始される。動作１１０１において、モバイルデバイス（例えば、モバイルデバイス１０００）で動作しているソフトウェアクライアントは、図２の接続プロセス２０１で実行されるように、ネットワークのリストを取得する。図１０の例において、取得されたネットワークリストは、ハードウェアアドレスが「01:aa:da:17:ac:23」の「sysLink」及びハードウェアアドレスが「0c:fa:1d:08:1d:13」の「Free Coffeeshop」である。
【０１１４】
動作１１０２は、ソフトウェアクライアントにより実行され、動作１１０１からのネットワークリスト内の任意のネットワーク又はハードウェアが、格納された除外リスト１００２に現れる任意の項目と一致するか否かを確認する。本例では、ＥＳＳＩＤ＝「sysLink」を有するネットワーク１０１０は、除外リスト項目１００４（ＥＳＳＩＤ：「sysLink」）と一致し、アクセスポイントアドレス「0c:fa:1d:08:1d:13」を有するネットワーク１０２０は、対応する除外リスト項目１００５中のエントリと一致する。その結果、ソフトウェアクライアントは、動作１１０３において、ネットワーク１０１０及び１０２０を、使用可能な信号のリストから除外する。プロセスのフローは、続いて動作１１０４に進み、前述した図２の動作２０２から開始する残りの接続動作を完了させる。図１０に示された例において、ネットワーク１０１０も１０２０も除外リスト１００２に現れるため、モバイルデバイス１０００は、いずれにもアクセスせず、ネットワーク１０１０及び１０２０のいずれにも接続を試行しない。
【０１１５】
次に図１２を参照すると、１つ以上の実施形態における他のシナリオの概略的なブロック図が示されており、この実施形態においては、無線信号を提供するネットワークのハードウェアにいかなる変更も要求することなく、更に、ネットワークのオペレータにモバイル無線デバイスを制御する会社との協調を要求することなく、モバイルデバイスのユーザが無線ネットワークに自動的にアクセスすることを許可すべきか否かを、無線ネットワークのオペレータが決定することができる。むしろ、ローカルネットワーク上又はローカルネットワークより上流ネットワーク上のドメイン名サーバを制御する団体は、ネットワークアクセスを制御することができる。ここで示されるシナリオは、Ｗｉ−Ｆｉ（８０２．１１）ネットワーク構築に固有のものであるが、任意の他の種類の無線ネットワークに同様の技術を使用することができる。
【０１１６】
ドメイン名サーバ（ＤＮＳ）がネットワークアクセスを除外するのに使用される１つ以上の実施形態において、モバイルデバイス１２００は、様々な無線ネットワークを検出して様々な無線ネットワークと接続することができるソフトウェアクライアントを動作させる。ローカル設定データベース１２０１及びローカル接続結果データベース１２０６を確認し、このネットワークに制限がないことを認識すると、最初に、モバイルデバイス１２００は、リンク１２０５によりネットワーク１２１０と接続する。１つ以上の実施形態において、ローカル設定データベース１２０１とローカル接続結果データベース１２０６とは、個別のデータベースを含むことができ、他の実施形態においては、ローカル設定データベース１２０１とローカル接続結果データベース１２０６とは、異なるコンテンツを、単一のローカルデータベース内の異なる部分に格納することができる。そのため、各モバイルデバイスに対して、単一のローカルデータベースが記載及び図示された本出願の他の図に関して説明される他の実施形態において、このような単一のローカルデータベースは、ローカル設定データベース１２０１及びローカル接続結果データベース１２０６に対応する１つ以上のデータベースを含んでいることが理解される。
【０１１７】
モバイルデバイス１２００とネットワーク１２１０との間で接続１２０５を確立すると、モバイルデバイス１２００は、動的に割り当てられたネットワークアドレスを、ＤＨＣＰを使用して、ＤＨＣＰサーバから取得する。ＤＨＣＰサーバでは、ネットワーク１２１０におけるＤＮＳサーバの役割は、ルータ１２１１により操作される。ルータ１２１１は、格納されたローカル設定１２１２を調査し、ＩＰアドレスをモバイルデバイス１２００に提供し、更に、制限されていないホスト名でドメイン名サービス要求を作成するときに、使用するドメイン名サーバのアドレス及びデフォルトドメイン（両方とも設定１２１２に示されている）を、ＤＨＣＰ応答に含める。
【０１１８】
モバイルデバイス１２００のソフトウェアクライアントは、有効なＩＰアドレスを受信した後、ローカル設定データベース１２０１を調査し、使用が許可されていない格納されたＤＮＳに関する設定ルール１２０２を読み出す。このように、１つ以上の実施形態において、モバイルデバイス１２００を制御する会社は、ネットワークオペレータに単にこのＤＮＳエントリの加入を許可することによって、特定の会社のモバイルデバイスがネットワークへのアクセスを与えるべきでないか否かを、ネットワークオペレータに選択させるという、ネットワークオペレータによる使用ルールを作成及び公表することができる。これ以後、ネットワークオペレータは、アクセスを制限するためにモバイルデバイス及びソフトウェアクライアントを制御する会社と情報を交換する必要がなく、ネットワークオペレータは、いかなるネットワークの変更もする必要もない。
【０１１９】
読み出した設定ルール１２０２に指定されているLookup属性とＤＨＣＰ応答により提供されるドメイン名属性とを組み合わせて、モバイルデバイス１２００で動作しているソフトウェアクライアントは、「NoFreeAccess.cable.pathcrawler.com」という名前のＤＮＳ要求を構築し、ＤＨＣＰ応答により提供されるＤＮＳサーバ１２１４のアドレスに、このＤＮＳ要求を送信する。設定１２１２ごとのＤＨＣＰ応答で定められるように、モバイルデバイス１２００で動作しているソフトウェアクライアントは、インターネット１２１３を介してＤＮＳサーバ１２１４を調査する。
【０１２０】
ドメイン名サーバ１２１４はＤＮＳ要求を受信し、１２１５の設定に従って255.255.255.255のアドレス（Ａ）応答で応答し、この応答は、モバイルデバイス１２０１に返送される。モバイルデバイス１２００で動作しているソフトウェアクライアントは、受信した応答と、ローカル設定１２０２から予想される応答の一部分（予想されるアドレス１２０４として示されている）とを比較する。返送された情報が予想される情報と一致するため、ローカル設定は、このネットワーク１２１０を使用するべきでないということを、ソフトウェアクライアントに示す。ソフトウェアクライアントは、すぐにネットワーク接続１２０５を切断し、ローカル接続結果データベース１２０６を、このネットワークの必須パラメータで更新し、使用不可能としてタグ付けする。これは、以前の図で説明したように、この後このネットワーク１２１０への接続が再び試行されないことを確実にするためである。
【０１２１】
図１２に関するこの第１の例は、下流ネットワークがネットワークを介して使用可能な無料アクセスを確立することを、上流デバイスが防止することができる方法を示すものである。本例では、顧客が、無料アクセスが許可されていないモバイルデバイス（すなわち、ＤＮＳサーバ内のケーブルブロードバンドプロバイダのエントリと一致する「No Access DNS Rule（アクセス不可能ＤＮＳルール）」を有するモバイルデバイス）に、ネットワークを介して無料アクセスを提供しないことを確実にするために、ケーブルブロードバンドプロバイダ「pathcrawler」は、ＤＮＳサーバに１つのエントリを作成することができる。
【０１２２】
１つ以上の実施形態において、更に、図１２においてネットワーク１２２０に関して更に示されるように、ローカルネットワーク管理者は、許可されていない又は好ましくないモバイルデバイスが無線ネットワークに接続を試行しないことを確実にすることができる。ネットワーク１２１０に接続できないと、モバイルデバイス１２００は、次に無線ネットワーク１２２０と接続１２０４を確立することを試行する。
【０１２３】
接続１２０４を確立すると、モバイルデバイス１２００は、ＤＨＣＰを使用してＩＰアドレスの取得を再度試行する。本例では、ＤＨＣＰサーバ１２２２はＤＨＣＰ要求に応答して、設定１２２３に示されるような設定情報を提供する。前述のように、モバイルデバイス１２００で動作しているソフトウェアクライアントは、設定データベース１２０１を調査して設定ルール１２０２を取得し、要求項目１２０３を設定１２２３に従ってＤＨＣＰ応答で受信した情報と組み合わせることによりＤＮＳ（ドメイン名サービス）クエリを構築する。モバイルデバイス１２２０のソフトウェアクライアントは、今は「NoFreeAccess.corporate.acme.com」というＤＮＳ要求を作成し、この要求をＤＮＳサーバ１２２４に送信する。ＤＮＳサーバ１２２４は設定１２２５を調査し、ドメイン名「NoFreeAccess.corporate.acme.com」に対する応答が255.255.255.255であることを認識し、この応答をモバイルデバイス１２００に返送する。
【０１２４】
モバイルデバイス１２００で動作しているソフトウェアクライアントは、この応答を、ローカル設定データベース１２０１に格納された設定ルール１２０２内の予想されるアドレス１２０４と比較し、応答が一致することを決定する。これは、モバイルデバイス１２００が、このネットワーク１２２０を使用すべきでないということを意味する。無線接続リンク１２０４はすぐに切断され、ローカル接続結果データベース１２０６は、前述のような、このネットワーク１２２０にはアクセスすべきでないということを示す情報を含む必要なネットワークパラメータで更新される。このデータベース１２０６は、次の試行の開始時に調査され、モバイルデバイス１２００が、以後このネットワーク１２２０に接続を試行しないことを確実にする。
【０１２５】
図１２におけるネットワークアクセスを制限するこの第２の例では、ドメイン名サーバ１２２４及びＤＨＣＰサーバ１２２２は、モバイルデバイス１２００により直接接続されたネットワーク１２２０のネットワーク管理者により制御され、オープンとされていないネットワークにモバイルデバイスが接続するのを避けるために、他のレベルの粒度制御が提供されることに留意されたい。ＤＨＣＰサーバ１２２２とドメイン名サーバ１２２４とは、互いに通信する別個の構成要素として説明され、示されているが、これらの構成要素及びそれらの関連する機能性は、同一の構成要素又はサーバとして結合することができ、又は、更なる構成要素に分離することができることが理解される。
【０１２６】
次に図１３を参照すると、図１２の１つ以上の実施形態に関して説明される接続プロセスの一部のフローチャートが示されており、以前の図で説明された接続プロセスと少し異なる。新規な接続プロセスは、動作１３０１から開始され、動作１３０２において、ソフトウェアクライアントは、図２で説明された動作２１１の前まで接続プロセスを実行する。動作１３０３において、ソフトウェアクライアントは、図１２に関して説明されるクライアントローカル設定１２０２を調査することによって、ＤＮＳ除外設定ルールが存在するか否か（すなわち、「No Access DNS Rule（アクセス不可能ＤＮＳルール）」が存在するか否か）を決定する。そのようなルールが存在しない場合、プロセスは、動作１３１０に進み、図２におけるプロセスは動作２１１へ継続して実行される。
【０１２７】
ＤＮＳ除外設定が存在する場合、動作１３０４において、設定１２０２からＤＮＳ除外ルールのコンテンツが読み出される。次に、動作１３０５において、図１２で説明されるＤＮＳルールのｌｏｏｋｕｐ部分を取得し、図１２に関して説明されたようにＤＨＣＰ応答からのドメイン名と組み合わせることにより、ＤＮＳクエリが構築される。ＤＮＳ要求は、動作１３０６において実行され、動作１３０７において、図１２で説明されたように予想される応答とＤＮＳ除外ルールの応答部分とが比較される。これらが一致する場合、動作１３０８において、このネットワークは使用不可能とされる。動作１３０９において、図２の接続プロセスが動作２１２から継続され、この情報でローカルデータベースが更新される。
【０１２８】
比較において一致しない場合、動作１３１０により、図２で説明された動作２１１における接続プロセスが継続される。動作１３１１において、図１３の実施形態に関するプロセスを終了する。
【０１２９】
次に図１４を参照すると、ネットワーク除外の更に他の可能性が概略的なブロック図で示され、この方法は除外リストがモバイルデバイスに保持されるのではなく中央サーバ（例えば、接続テストサーバ１４１３）に保持されることを除いて図１０に示される除外方法と類似する。ネットワーク１４１０におけるネットワークのオペレータは、ネットワーク１４１０に関する必要情報をサーバに基づくリストに含めるために、接続テストサーバ１４１３のオペレータに提供する。本明細書で示されるシナリオは、Ｗｉ−Ｆｉ（８０２．１１）ネットワーク構築に固有のものであるが、任意の他の種類の無線ネットワークに同様の技術を使用することができる。
【０１３０】
図１４に関する１つ以上の実施形態において、モバイルデバイス１４００は、本明細書で説明されるように、様々な無線ネットワークを検出し、これらの無線ネットワークに接続することができるソフトウェアクライアントを動作させる。図２及び他の以前の図に関連して説明されたように、モバイルデバイス１４００は、モバイルネットワーク１４１０と接続１４０３を確立する。接続１４０３が確立されると、モバイルデバイス１４００のソフトウェアクライアントは、ルータ１４１１及びインターネット１４１２を介して接続テストサーバ１４１３に接続するように構成される。ソフトウェアクライアントは、ネットワーク１４１０に関する必要情報を接続テストサーバ１４１３に報告する。
【０１３１】
接続テストサーバ１４１３は、いずれかのエントリがモバイルデバイス１４００から受信された接続テストに対応するか否かを決定するために、ローカル除外リスト１４１４内の検索を実行する。本例では、接続テストサーバ１４１３は、除外リストのエントリ１４１５が「sysLink」のＥＳＳＩＤで一致することを検出し、これは、モバイルクライアント１４００が「sysLink」のＥＳＳＩＤを有するアクセスネットワーク１４１０に接続すべきでないことを示している。そして、接続テストサーバ１４１３は、このネットワーク１４１０は使用するべきでないことを示す応答をモバイルデバイス１４００に送信し、モバイルデバイス１４００は、接続１４０３を切断して、ローカル接続結果データベース１４０４を、このネットワーク１４１０は以後使用できないことを示すネットワーク１４１０に関する情報で更新する。
【０１３２】
前述のように、モバイルデバイス１４００のソフトウェアクライアントにより保持されるローカルデータベース１４０４内のこのエントリは、以後モバイルデバイス１４００がこのネットワーク１４１０への接続を試行しないことを確実にする。接続テストサーバ１４１３の機能が、このシナリオの機能性を提供するように拡張されることにより、図２のフローチャートはこのシナリオを完全に含むので、この図に対して別途フローチャートは提供されない。
【０１３３】
図１５は、除外についての第５の方法に関する概略的なブロック図を示すものであり、この方法では、無線ネットワーク上のアクセスコントローラのオペレータがモバイルデバイスに、このネットワークに接続すべきでなく、このネットワークに接続するユーザに対して示される強制的なコンテンツを迂回すべきことを示すことができる。使用するネットワークは、任意の技術のものとすることができ、本例では無線接続が示されているが、同様の方法が任意の種類のネットワークにおいても機能する。
【０１３４】
モバイルデバイス１５００は、ネットワーク１５１０への接続１５０１を確立する。図１及び２で説明されるように、インターネット１５１３への接続を試行するとき、モバイルデバイス１５００のソフトウェアクライアントにより作成される要求は、アクセスコントローラ１５１１によりインターセプトされる。この要求は、ＨＴＴＰ要求の形式であり、アクセスコントローラ１５１１は、この要求をインターセプトして、モバイルデバイス１５００で動作している要求元のソフトウェアクライアントに対して、アクセスコントローラ１５１１で使用可能であるウェブコンテンツを示すリダイレクトを含むリダイレクトコマンドを送信する。
【０１３５】
このリダイレクト要求の一部として、又は返送されたコンテンツの一部として、アクセスコントローラ１５１１は、ページ又はページのヘッダ内のタグ（例えば<NoFreeAccess />の形式のタグ）を返送する。モバイルデバイス１５００で動作しているソフトウェアクライアントは、このネットワーク１５１０で無料のアクセスが提供されないことを、このタグが意味するということを認識する。その後、ソフトウェアクライアントは、ネットワーク接続１５０１を切断し、ローカル接続結果データベース１５０２を、ネットワーク１５１０に関する情報及びそのネットワークが使用するのに適切でないという情報で更新する。前述のように、これにより、ソフトウェアクライアントは、以後このネットワーク１５１０に接続を試行しなくなる。この検出プロセスは、図２の動作２１０の一部として実行され、従って、別個のフローチャートは提示されてない。
【０１３６】
次に図１６を参照すると、図３から図１５において説明された接続情報の共有及びネットワーク除外のための様々な方法を単一の集合プロセスに結合し、その結果としてモバイルデバイスが、予め設定されていない複数の使用可能なネットワークから１つのネットワークを選択する効果的で迅速な方法が得られるようにした、１つ以上の実施形態における動作のフローチャートが提示されている。
【０１３７】
このプロセスは、動作１６００から開始される。動作１６０１において、モバイルデバイスは、図２で説明したのと同様の方法で、接続できる全てのネットワークのリストを取得する。動作１６０２において、以前の図面に示される実施形態に関して本明細書で説明されるように、デバイスのローカル接続結果データベースで使用可能となっている以前の接続情報に基づいて信号の除外及び順位付けが行われる。動作１６０３において、図８及び９に関して説明したように、モバイルデバイスは、格納された設定中に除外ルールが存在するか否かを決定する。そのような信号が存在する場合には、動作１６０４において、図８及び９に関して説明したように、それらの信号は、使用不可能としてタグ付けされる。
【０１３８】
動作１６０５において、モバイルデバイスは、図１０及び１１に関して説明したように、いずれかの信号がローカル除外リストのローカル除外リストのエントリと一致するか否かを確認し、動作１６０６において、図１０及び１１に関して説明したように、これらの信号は、リスト中で使用不可能としてタグ付けされる。
【０１３９】
新規にタグ付けされたリストは、設定サーバ３４４から取得した高く信頼できる設定データに基づき更新されたものであるため、このリストは、動作１６０７においてローカルに格納される接続結果データベースに格納される。
【０１４０】
そして、動作１６０８において、図６及び７に関して説明したように、モバイルデバイスは、二次無線通信送信を介して任意のローカルビーコン情報を検査する。ローカルビーコン情報が存在する場合、動作１６０９において、ネットワークリストは、この情報に従って更新される。１つ以上の実施形態において、ローカルビーコン情報から学習されたネットワークアクセス情報は、格納された他のネットワークアクセス情報ほどの信頼性がないものとして示されるため、ネットワークリストは更新されるが、ローカルに格納される接続結果データベースは更新されない。
【０１４１】
使用可能な全ての前接続情報は、使用可能な信号リストに組み込まれ、動作１６１０において、このリストは全ての入力パラメータに従ってソートされ、ネットワーク接続及びインターネット接続を確立する可能性が最も高い信号が、リストの最上部に配される。また、使用不可能としてタグ付けされた任意の信号は、この時点でリストから除外され、結果として、リストには、使用可能な接続を確立する可能性の順で、潜在的に使用可能な信号のみが含まれる。全ての使用可能な入力、すなわち、設定、ローカル接続結果データベース、ビーコン情報、信号強度等が、この順位付けにおいて考慮される。
【０１４２】
動作１６１１において、図１及び２において説明した接続プロセスが、動作２０２から動作２１１の前まで実行される。図１４に関して説明したような接続に基づくサーバ除外リストプロセス、及び図１５に関して説明したようなアクセスゲートウェイタグ除外プロセスは、図２において説明したプロセスで黙示的に実行される。
【０１４３】
続いて、動作１６１２において、図１２及び１３に関して説明したＤＮＳに基づく除外プロセスが実行される。図１６には示されていないが、動作１６１１−１６１３は、使用可能な信号が検出され、無線ネットワーク接続が確立するまで、使用可能な各信号について繰り返される。動作１６１３において、ローカル接続結果データベースが更新され、収集サーバ３４０に送信される。図３−５に関して説明したように、このデータは、統合サーバ３４２により処理され、設定サーバ３４４で使用可能となる。
【０１４４】
動作１６１４において、モバイルデバイスで動作しているソフトウェアクライアントは、新規な一組の設定データを取得する。このデータは、ローカル接続試行からの任意の知識、及びモバイルデバイスで動作しているソフトウェアクライアントにより行われた接続試行からの任意の知識を含んでおり、分散型で自己学習型のネットワークアクセスシステムを実際に確立している。
【０１４５】
１つ以上の実施形態において、モバイルデバイスにインストールされ、モバイルデバイスで動作しているソフトウェアクライアント、及び様々なサーバの構成要素（例えば、接続テストサーバ１０５、収集サーバ３４０、統合サーバ３４２、設定サーバ３４４）により提供される機能性は、本明細書で説明される技術の１つ以上を実行するために、ソフトウェアに実装され、例えばデバイス（例えば、モバイルデバイス又はパーソナルコンピュータ）のプロセッサ又はコントローラにより実行されるプログラムコード等のコンピュータ可読命令を格納する各デバイスのメモリのようなコンピュータ可読媒体又はコンピュータ可読記憶媒体に格納される。
【０１４６】
本開示の目的のため、コンピュータ可読媒体は、コンピュータデータを格納し、そのデータは、コンピュータにより実行されるコンピュータプログラムコードを、機器に可読となる形式で含むことができる。限定されない例として、コンピュータ可読媒体は、データの有形記憶又は固定記憶のためのコンピュータ可読記憶媒体又はコード含有信号の一時的解釈のための通信媒体を含むことができる。ここで使用されるコンピュータ可読記憶媒体は、（信号とは対照的に）物理的又は有形的な記憶装置を意味しており、コンピュータ可読命令、データ構造、プログラムモジュール又は他のデータのような情報の有形記憶のために、任意の方法又は技術で実装される記憶媒体（揮発性か不揮発性か、取外し可能か不可能かの制限はない）が含まれる。コンピュータ可読記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ又は他のソリッドステートメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ又は他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置又は他の磁気記憶デバイス、又は、望ましい情報又はデータ又は命令を有形的に格納し、コンピュータ又はプロセッサによりアクセスされる任意の他の物理的若しくは物質媒体が含まれるが、これらに限定されない。１つ以上の実施形態において、方法、アルゴリズム又はモジュールの動作及び／又は事象は、コンピュータプログラム製品に組み込まれるコンピュータ可読媒体又は機械可読媒体上にコード及び／又は命令の１つ又は任意の組合せ又は組として存在させることができる。
【０１４７】
現在具体的な実施形態であると考えられるものに関する装置および方法について記載しているが、本発明は、開示された実施形態に限定される必要がない。請求項の精神及び範囲内に含まれる様々な修正例および同様の構成例を網羅することが意図されている本発明の範囲は、全てのこうした修正例及び同様の構造を包含するよう、最も広い解釈が許されるべきである。本開示は、以下の請求項の任意の及び全ての実施形態を包括する。
【図１】
2014507850.tif 000003
【図２】
2014507850.tif 000004
【図３】
2014507850.tif 000005
【図４】
2014507850.tif 000006
【図５】
2014507850.tif 000007
【図６】
2014507850.tif 000008
【図７】
2014507850.tif 000009
【図８】
2014507850.tif 000010
【図９】
2014507850.tif 000011
【図１０】
2014507850.tif 000012
【図１１】
2014507850.tif 000013
【図１２】
2014507850.tif 000014
【図１３】
2014507850.tif 000015
【図１４】
2014507850.tif 000016
【図１５】
2014507850.tif 000017
【図１６】
2014507850.tif 000018
【国際調査報告】
2014507850.tif 000019
2014507850.tif 000020