IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ チャーター コミュニケーションズ オペレーティング、エルエルシーの特許一覧

<>
  • 特許-優先ネットワークの優先順位付け 図1
  • 特許-優先ネットワークの優先順位付け 図2
  • 特許-優先ネットワークの優先順位付け 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-28
(45)【発行日】2022-12-06
(54)【発明の名称】優先ネットワークの優先順位付け
(51)【国際特許分類】
   H04W 48/18 20090101AFI20221129BHJP
   H04W 48/16 20090101ALI20221129BHJP
【FI】
H04W48/18
H04W48/16 131
H04W48/16 132
H04W48/16 134
【請求項の数】 30
(21)【出願番号】P 2020529090
(86)(22)【出願日】2018-07-10
(65)【公表番号】
(43)【公表日】2020-10-08
(86)【国際出願番号】 US2018041514
(87)【国際公開番号】W WO2019027640
(87)【国際公開日】2019-02-07
【審査請求日】2020-04-03
(31)【優先権主張番号】15/669,167
(32)【優先日】2017-08-04
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520040566
【氏名又は名称】チャーター コミュニケーションズ オペレーティング、エルエルシー
(74)【代理人】
【識別番号】110000855
【氏名又は名称】弁理士法人浅村特許事務所
(72)【発明者】
【氏名】ローガン、ウィリアム、ケネス
(72)【発明者】
【氏名】ジョーンシイ、オリバー、ジェイムズ
【審査官】久松 和之
(56)【参考文献】
【文献】米国特許出願公開第2015/0373633(US,A1)
【文献】特開2012-147050(JP,A)
【文献】特開2004-208001(JP,A)
【文献】米国特許出願公開第2012/0238287(US,A1)
【文献】特開2016-208371(JP,A)
【文献】特表2012-515473(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04B 7/24 - 7/26
H04W 4/00 - 99/00
3GPP TSG RAN WG1-4
SA WG1-4
CT WG1、4
(57)【特許請求の範囲】
【請求項1】
コンピュータ化されたクライアントデバイスを操作するための方法であって、
前記コンピュータ化されたクライアントデバイスのモビリティ状態を検出するステップであって、前記モビリティ状態は、ワイヤレスネットワークの存在下の前記コンピュータ化されたクライアントデバイスによる運動の量に対応する、ステップと、
複数のワイヤレスネットワークに関連する1つ以上の属性に関連するデータを取得するステップであって、前記コンピュータ化されたクライアントデバイスは、前記複数のワイヤレスネットワークの各々に接続するように構成されている、ステップと、
前記モビリティ状態及び前記1つ以上の属性に関連するデータを評価するステップと、
前記評価に少なくとも部分的に基づいて、前記複数のワイヤレスネットワークのうちの第1のワイヤレスネットワークが前記コンピュータ化されたクライアントデバイスによる使用に最も適しているワイヤレスネットワークであることを判定するステップと、
前記第1のワイヤレスネットワークが前記最も適しているワイヤレスネットワークであることを判定するステップに基づいて、前記複数のワイヤレスネットワークのうちの他のワイヤレスネットワークのそれぞれの優先度に対して、前記第1のワイヤレスネットワークと関連付けられた優先度を引き上げるステップと、
前記コンピュータ化されたクライアントデバイスに、前記第1のワイヤレスネットワークの前記引き上げられた優先度に少なくとも部分的に基づいて、前記第1のワイヤレスネットワークとのデータ通信を確立させるステップと
を含み、
前記第1のワイヤレスネットワークの前記優先度を引き上げるステップは、前記コンピュータ化されたクライアントデバイスの1つ以上の投票モジュールのプロセスに1つ以上の重み付けをアルゴリズム的に適用するステップを含み、
前記1つ以上の投票モジュールのプロセスはそれぞれ、投票を生成するために前記1つ以上の属性に関連するデータを評価するように構成されている、方法。
【請求項2】
前記コンピュータ化されたクライアントデバイスが前記モビリティ状態にある一時的な期間を判定するステップ
を更に含み、
前記第1のワイヤレスネットワークが前記最も適しているワイヤレスネットワークであることを判定するステップは、更に前記判定された一時的な期間に少なくとも部分的に基づいている、請求項1に記載の方法。
【請求項3】
使用データを取得するステップであって、前記使用データは、前記第1のワイヤレスネットワークにおける前記コンピュータ化されたクライアントデバイスの実際の使用に関連する、ステップ
を更に含み、
前記第1のワイヤレスネットワークが前記最も適しているワイヤレスネットワークであることを判定するステップは、前記使用データに少なくとも部分的に基づいている、請求項1に記載の方法。
【請求項4】
前記使用データを取得するステップは、少なくとも一定期間に亘って前記第1のワイヤレスネットワーク上のパケットフローに関連するデータを取得するステップを含む、請求項3に記載の方法。
【請求項5】
経時的参照データを取得するステップであって、前記経時的参照データは、前記コンピュータ化されたクライアントデバイスがモビリティ状態にある時間に関連する、ステップ
を更に含み、
前記第1のワイヤレスネットワークが最も適したワイヤレスネットワークであることを判定するステップは、少なくとも部分的に前記時間情報に基づいている、請求項1に記載の方法。
【請求項6】
前記経時的参照データを取得するステップは、前記コンピュータ化されたクライアントデバイスが前記第1のワイヤレスネットワークの存在下にある時刻に関連するデータを取得するステップを含む、請求項5に記載の方法。
【請求項7】
一時的なデータを取得するステップであって、前記一時的なデータは、前記コンピュータ化されたクライアントデバイスが前記第1のワイヤレスネットワークの接続範囲にあった1つ以上の一定期間に基づいている、ステップ
を更に含み、
前記第1のワイヤレスネットワークが前記最も適しているワイヤレスネットワークであることを判定するステップは、前記一時的なデータに少なくとも部分的に基づいている、請求項1に記載の方法。
【請求項8】
前記モビリティ状態は、所定の時間周期に亘って複数回検出され、それによって、前記モビリティ状態の複数のデータインスタンスをもたらし、
前記第1のワイヤレスネットワークが前記最も適しているワイヤレスネットワークであることを判定するステップは、前記モビリティ状態の前記複数のデータインスタンスを少なくとも使用して、前記コンピュータ化されたクライアントデバイスの運動を判定するステップに少なくとも基づいている、請求項1に記載の方法。
【請求項9】
前記コンピュータ化されたクライアントデバイスがモビリティ状態にある時間の期間を判定するステップと、
使用データを取得するステップであって、前記使用データは、前記第1のワイヤレスネットワークにおける前記コンピュータ化されたクライアントデバイスの使用に関連する、ステップと、
時間データを取得するステップであって、前記時間データは、前記コンピュータ化されたクライアントデバイスが前記モビリティ状態に入った少なくとも1つの時間を示す、ステップと
を更に含み、
前記第1のワイヤレスネットワークが前記最も適しているワイヤレスネットワークであることを判定するステップは、前記時間の期間、前記使用データ、及び前記時間データに少なくとも部分的に基づいている、請求項1に記載の方法。
【請求項10】
記コンピュータ化されたクライアントデバイスに、前記第1のワイヤレスネットワークとのデータ通信を確立させるステップは、
前記1つ以上の投票モジュールの1つ以上のそれぞれの投票に少なくとも基づいて、前記コンピュータ化されたクライアントデバイスと前記第1のワイヤレスネットワークとの間の前記データ通信を確立することを判定するステップと、
前記データ通信の確立を生じさせるように前記コンピュータ化されたクライアントデバイスを制御するステップと
を含む、請求項1に記載の方法。
【請求項11】
前記評価に少なくとも部分的に基づいて、前記第1のワイヤレスネットワークが前記最も適しているワイヤレスネットワークであることを判定するステップは、前記コンピュータ化されたクライアントデバイスのユーザの構内ネットワークが最も適していることを判定するステップを含む、請求項1に記載の方法。
【請求項12】
前記コンピュータ化されたクライアントデバイスが、1回以上手動で、前記第1のワイヤレスネットワークから切り替え又は切断されたことを検出するステップ
を更に含む、請求項1に記載の方法。
【請求項13】
前記コンピュータ化されたクライアントデバイスのユーザが、1回以上手動で、前記第1のワイヤレスネットワークから切り替え又は切断されたことを検出するステップに基づいて、前記第1のワイヤレスネットワークが最も適したネットワークではないことを判定するステップと、
前記複数のワイヤレスネットワークのうちの他のワイヤレスネットワークの1つ以上のそれぞれの優先度と対して、前記第1のワイヤレスネットワークの優先度を引き下げるステップと
を更に含む、請求項12に記載の方法。
【請求項14】
前記1つ以上の属性に関連するデータを取得するステップは、(i)前記複数のワイヤレスネットワークのそれぞれのデータスループット、及び(ii)前記複数のワイヤレスネットワークのそれぞれのサービス品質(QoS)規則に関連するデータを取得するステップを含む、請求項1に記載の方法。
【請求項15】
非一時的記憶媒体を備えるコンピュータ可読装置であって、前記非一時的記憶媒体は、複数の命令を有する少なくとも1つのコンピュータプログラムを備え、前記複数の命令は、処理装置において実行される場合に、
コンピュータ化されたクライアントデバイスのモビリティ状態であって、前記コンピュータ化されたクライアントデバイスの速度に対応するモビリティ状態を識別し、
複数のワイヤレスネットワークであって、前記コンピュータ化されたクライアントデバイスは、各ワイヤレスネットワークとのデータ通信を確立するように構成されている、複数のワイヤレスネットワークの1つ以上の属性に関連するデータを取得し、
前記モビリティ状態及び前記1つ以上の属性に関連するデータを査定し、
前記査定に少なくとも部分的に基づいて、前記複数のワイヤレスネットワークのうちのあるワイヤレスネットワークが前記コンピュータ化されたクライアントデバイスのための優先ワイヤレスネットワークであることを判定し、
前記あるワイヤレスネットワークが前記優先ワイヤレスネットワークであるという判定に基づいて、前記複数のワイヤレスネットワークのうちの残りのワイヤレスネットワークのそれぞれの優先度に対して、前記あるワイヤレスネットワークの優先度を調整し、
前記コンピュータ化されたクライアントデバイスに、前記あるワイヤレスネットワークの前記調整された優先度に少なくとも部分的に基づいて、前記あるワイヤレスネットワークとのデータ通信を確立させる
ように構成され
前記モビリティ状態及び前記1つ以上の属性に関連するデータを査定することは、前記1つ以上の属性に関連するデータを重み付けすることを含み、前記重み付けすることは、所定数の投票を前記1つ以上の属性の各々にアルゴリズム的に適用することを含み、前記投票は、前記コンピュータ化されたクライアントデバイスの複数の投票モジュールによって生成される、コンピュータ可読装置。
【請求項16】
前記複数の命令は、前記処理装置において実行される場合に、前記コンピュータ化されたクライアントデバイスが前記モビリティ状態にある期間を判定するように更に構成され、
前記あるワイヤレスネットワークが前記優先ワイヤレスネットワークであるという判定は、前記期間に少なくとも部分的に基づいている、請求項1に記載のコンピュータ可読装置。
【請求項17】
前記複数の命令は、前記処理装置において実行される場合に、使用データを取得するように更に構成され、
前記使用データは、前記あるワイヤレスネットワーク内の前記コンピュータ化されたクライアントデバイスの使用に関連し、
前記あるワイヤレスネットワークが前記優先ワイヤレスネットワークであるという判定は、前記使用データに少なくとも部分的に基づいている、請求項1に記載のコンピュータ可読装置。
【請求項18】
前記使用データは、前記コンピュータ化されたクライアントデバイスと前記あるワイヤレスネットワークと関連付けられたヘッドエンドエンティティとの間で少なくとも一定期間に亘って交換されたデータに少なくとも基づいている、請求項1に記載のコンピュータ可読装置。
【請求項19】
前記複数の命令は、前記処理装置において実行される場合に、時間データを取得するように更に構成され、
前記時間データは、前記コンピュータ化されたクライアントデバイスが前記モビリティ状態にある1つ以上の時間を示し、
前記あるワイヤレスネットワークが前記優先ワイヤレスネットワークであるという判定は、前記時間データに少なくとも部分的に基づいている、請求項1に記載のコンピュータ可読装置。
【請求項20】
前記時間データは、時刻データを更に含み、前記時刻データは、前記コンピュータ化されたクライアントデバイスのユーザが前記あるワイヤレスネットワークとデータ通信していた少なくとも1つの時刻を示す、請求項19に記載のコンピュータ可読装置。
【請求項21】
前記モビリティ状態は、所定の一定期間に亘って複数回検出され、
前記モビリティ状態の複数の発生は、その複数の検出から生じ、
前記あるワイヤレスネットワークが前記優先ワイヤレスネットワークであるという判定は、前記モビリティ状態の前記複数の発生に少なくとも部分的に基づいている、請求項1に記載のコンピュータ可読装置。
【請求項22】
前記複数の命令は、前記処理装置において実行される場合に、
前記コンピュータ化されたクライアントデバイスが前記モビリティ状態にある期間を判定し、
使用情報であって、前記あるワイヤレスネットワークにおける前記コンピュータ化されたクライアントデバイスの使用に関連する使用情報を取得し、
時間情報であって、(i)前記コンピュータ化されたクライアントデバイスが前記モビリティ状態にある期間、又は(ii)前記コンピュータ化されたクライアントデバイスが前記あるワイヤレスネットワークの範囲内にある期間の1つ以上に基づいている時間情報を取得する
ように更に構成され、前記あるワイヤレスネットワークが前記優先ワイヤレスネットワークであるという判定は、前記期間、前記使用情報、及び前記時間情報の各々に少なくとも部分的に基づいている、請求項1に記載のコンピュータ可読装置。
【請求項23】
前記あるワイヤレスネットワークは、前記コンピュータ化されたクライアントデバイスのユーザの構内ネットワークを含み、前記構内ネットワークの構内は、前記ユーザの住居を含む、請求項1に記載のコンピュータ可読装置。
【請求項24】
前記複数の命令は、前記処理装置において実行される場合に、
ポリシーデータであって、(i)1つ以上の優先ネットワーク、及び(ii)前記コンピュータ化されたクライアントデバイスが少なくとも前記1つ以上の優先ネットワークの優先度を調整するための命令を示すポリシーデータをサーバー装置から受信する
ように更に構成されている、請求項1に記載のコンピュータ可読装置。
【請求項25】
前記モビリティ状態の前記識別は、前記コンピュータ化されたクライアントデバイスの速度の識別を含み、前記速度は、前記コンピュータ化されたクライアントデバイスが前記あるワイヤレスネットワークの存在下にあった期間に基づいている、請求項1に記載のコンピュータ可読装置。
【請求項26】
コンピュータ化されたモバイルデバイスであって、
処理装置と、
前記処理装置とデータ通信する記憶装置と
を備え、前記記憶装置は、前記処理装置において実行される場合に、前記コンピュータ化されたモバイルデバイスに、
前記コンピュータ化されたモバイルデバイスのモビリティ状態であって、ワイヤレスネットワーク内で前記コンピュータ化されたモバイルデバイスが経験した運動の量に対応するモビリティ状態に関連するデータを受信させ、
1つ以上の属性であって、前記コンピュータ化されたクライアントデバイス又は複数のワイヤレスネットワークのうちの1つ以上のワイヤレスネットワークの少なくとも1つと関連付けられた1つ以上の属性を識別させ、
前記モビリティ状態及び前記1つ以上の属性を評価させ、
前記評価に少なくとも部分的に基づいて、前記複数のワイヤレスネットワークのうちの第1のワイヤレスネットワークが前記コンピュータ化されたモバイルデバイスによる使用に最も適していることを判定させ、
前記判定に少なくとも基づいて、複数の他のワイヤレスネットワークと関連付けられた1つ以上の優先度に対して、前記第1のワイヤレスネットワークの優先度を引き上げさせ、
前記第1のワイヤレスネットワークの前記引き上げられた優先度に少なくとも部分的に基づいて、前記第1のワイヤレスネットワークとのデータ通信を確立させる
ように構成された少なくとも1つのコンピュータプラグラムを備え
前記第1のワイヤレスネットワークの前記優先度を引き上げることは、1つ以上の投票を生成するために、前記コンピュータ化されたモバイルデバイスの1つ以上の投票モジュールに1つ以上の重み付けを適用することを含み、
前記1つ以上の投票モジュールはそれぞれ、(i)前記1つ以上の属性を表すデータを評価し、(ii)前記評価に基づいて前記1つ以上の投票の個々の投票を生成するように構成されている、コンピュータ化されたモバイルデバイス。
【請求項27】
記コンピュータ化されたモバイルデバイスに、前記第1のワイヤレスネットワークとの前記データ通信を確立させることは、
前記1つ以上の投票に基づいて、前記コンピュータ化されたモバイルデバイスと前記第1のワイヤレスネットワークとの間で前記データ通信を確立することを判定すること、及び
前記データ通信を確立することを判定することに基づいて、前記データ通信の確立を生じさせるように、前記コンピュータ化されたモバイルデバイスの少なくとも1つの機能を制御すること
を含む、請求項2に記載のコンピュータ化されたモバイルデバイス。
【請求項28】
コンピュータ化されたクライアントデバイスを操作するための方法であって、
コンピュータ化されたサーバー装置と前記コンピュータ化されたクライアントデバイスとの間で同期を引き起こすステップと、
前記同期に少なくとも基づいて、前記コンピュータ化されたサーバー装置から1つ以上のポリシーに関連するデータを受信するステップと、
前記1つ以上のポリシーに従って複数のネットワークを識別するステップと、
1つ以上の所定の因子に少なくとも基づいて、前記複数のネットワークをランク付けするステップと、
(i)前記コンピュータ化されたクライアントデバイス、又は(ii)前記複数のネットワークのうちの1つ以上のネットワークの少なくとも1つに関連する1つ以上の属性を取得するステップと、
前記1つ以上の属性を評価するステップと、
前記ランク付け及び前記評価に少なくとも部分的に基づいて、前記コンピュータ化されたクライアントデバイスを前記複数のネットワークのうちの個々のネットワークに接続させるステップと
を含み、
前記複数のネットワークをランク付けするステップは、前記コンピュータ化されたクライアントデバイスの1つ以上の投票モジュールに1つ以上の重み付けを適用することによって、前記複数のネットワークのうちの少なくとも1つのネットワークの優先度を引き上げるステップを含む、方法。
【請求項29】
前記1つ以上の所定の因子を表すデータを取得するステップを更に含み、前記1つ以上の所定の因子を表すデータは、前記コンピュータ化されたクライアントデバイスのモビリティ状態を含む、請求項2に記載の方法。
【請求項30】
前記1つ以上の属性を取得するステップは、前記複数のネットワークの複数のそれぞれのスループット及び前記複数のネットワークと関連付けられたそれぞれのサービス品質(QoS)規則を取得するステップを含む、請求項2に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
優先権
本願は、2017年8月4日に出願され、参照によって全体が本明細書に組み込まれる「優先ネットワークの優先順位付け」という名称の共同所有であり、同時係属である米国特許出願第15/669,167号の優先権を主張する。
【0002】
本明細書は、一般的に、ワイヤレス(無線)ネットワークに接続する場合に優先ネットワークを優先順位付けするためのプロセスに関連する。
【背景技術】
【0003】
スマートフォンのようなモバイルデバイスは、WiFi(登録商標)ネットワークのようなワイヤレスネットワークに接続してもよい。ワイヤレスネットワークは、様々な場所において維持されることができる。例えば、モバイルデバイスのユーザは、ユーザの自宅においてワイヤレスネットワークを維持することができる。別の例においては、ユーザは、ユーザの事業所においてワイヤレスネットワークを維持することができる。
【発明の概要】
【課題を解決するための手段】
【0004】
デバイスにおいてクライアントによって実行される例示的な方法は、ワイヤレスネットワークの存在下にあるデバイスのモビリティ状態を検出するステップと、モビリティ状態に少なくとも部分的に基づいて、ワイヤレスネットワークがデバイスのための優先ワイヤレスネットワークであることを判定するステップと、ワイヤレスネットワークが優先ワイヤレスネットワークであることを判定するステップに応答して、デバイスが接続可能であるワイヤレスネットワークのセットにおいてワイヤレスネットワークの優先度を引き上げるステップと、ワイヤレスネットワークの優先度に少なくとも部分的に基づいて、デバイスをワイヤレスネットワークに接続するステップとを含む。例示的な方法は、単独又は組合せの何れかで、1つ以上の以下の特徴を含んでもよい。
【0005】
例示的な方法は、デバイスがワイヤレスネットワークの存在下においてモビリティ状態にある期間を判定するステップを含んでもよい。ワイヤレスネットワークが優先ワイヤレスネットワークであることを判定するステップは、期間に少なくとも部分的に基づいてもよい。例示的な方法は、ワイヤレスネットワークにおけるデバイスの使用についての使用情報を取得するステップを含んでもよい。ワイヤレスネットワークが優先ワイヤレスネットワークであることを判定するステップは、使用情報に少なくとも部分的に基づいてもよい。使用情報は、少なくとも一定期間に亘ってワイヤレスネットワークで交換されたデータに基づいてもよい。例示的な方法は、デバイスがモビリティ状態にある時間に基づいている時間情報を取得するステップを含んでもよい。ワイヤレスネットワークが優先ワイヤレスネットワークであることを判定するステップは、時間情報に少なくとも部分的に基づいてもよい。時間情報は、ユーザがワイヤレスネットワークの存在下にある時刻に基づいてもよい。例示的な方法は、デバイスがワイヤレスネットワークの存在下にある時間に基づいている時間情報を取得するステップを含んでもよい。ワイヤレスネットワークが優先ワイヤレスネットワークであることを判定するステップは、時間情報に少なくとも部分的に基づいてよい。
【0006】
モビリティ状態は、第1のモビリティ状態にあってもよい。モビリティ状態は、モビリティ状態の複数回の発生をもたらす時間周期に亘って複数回検出されてもよい。モビリティ状態の複数回の発生は、第1のモビリティ状態を含んでもよい。ワイヤレスネットワークが優先ワイヤレスネットワークであることを判定するステップは、モビリティ状態の複数回の発生に少なくとも部分的に基づいてもよい。
【0007】
例示的な方法は、デバイスがワイヤレスネットワークの存在下においてモビリティ状態にある期間を判定するステップと、ワイヤレスネットワークにおけるデバイスの使用についての使用情報を取得するステップと、デバイスがモビリティ状態にある時間、又はデバイスがワイヤレスネットワークの存在下にある時間に基づいている時間情報を取得するステップとの全てを含んでもよい。ワイヤレスネットワークが優先ワイヤレスネットワークであることを判定するステップは、期間、使用情報、及び時間情報に少なくとも部分的に基づいてもよい。
【0008】
ワイヤレスネットワークの優先度を引き上げるステップは、投票を生成するために、クライアントの1つ以上の投票モジュールに1つ以上の重み付けを適用するステップを含んでもよい。各投票モジュールは、1つ以上の属性を引き上げ、投票を生成してもよい。1つ以上の属性は、デバイス、1つ以上のワイヤレスネットワーク、又はデバイスと1つ以上のワイヤレスネットワークとの両方に関連してもよい。ワイヤレスネットワークの優先度に少なくとも部分的に基づいて、デバイスをワイヤレスネットワークに接続するステップは、デバイスをワイヤレスネットワークに接続するために、投票に基づいて判定するステップと、判定に基づいてワイヤレスネットワークに接続するようにデバイスを制御するステップとを含んでもよい。
【0009】
優先ネットワークは、デバイスのユーザのホームネットワークであってもよい。優先ネットワークは、ワイヤレスデバイスのユーザのワークネットワークであってもよい。例示的な方法は、ポリシーをサーバーから受信するステップを含んでもよい。ポリシーは、1つ以上の優先ネットワークを識別し、ワイヤレスネットワークのセットにおける1つ以上の優先ネットワークの優先度を引き上げるためのクライアントへの命令を含んでもよい。
【0010】
例示的な方法は、ユーザが、1回以上手動で、クライアントが接続されたワイヤレスネットワークから切り替え又は切断されたことを検出するステップと、検出に基づいて、ネットワークが優先ネットワークではないことを判定するステップと、デバイスが接続可能であるワイヤレスネットワークのセットにおいてネットワークの優先度を低下させるステップとを含んでもよい。
【0011】
本発明の概要を含む、本明細書で説明される任意の2つ以上の特徴が、本明細書で具体的に説明されていない実装を形成するために組合されてもよい。
【0012】
本明細書で説明されるプロセス、方法、システム、及び技術の全て又は一部が、1つ以上の非一時的機械可読記憶媒体に格納され、1つ以上の処理デバイスにおいて実行可能である命令を含むコンピュータプログラム製品として実装されてもよい。非一時的機械可読記憶媒体の例は、例えば、読み取り専用メモリ、光ディスクドライブ、メモリディスクドライブ、ランダムアクセスメモリ、等を含む。本明細書で説明されるプロセス、方法、システム、及び技術の全て又は一部は、記載された操作を実行するために、1つ以上の処理デバイスと、1つ以上の処理デバイスによって実行可能である命令を格納するメモリとを含む、装置、方法、又はシステムとして実装されてもよい。
【0013】
1つ以上の実装の詳細が、添付の図面及び以下の説明に記載される。他の特徴及び利点は、説明及び図面、並びに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0014】
図1】本明細書で説明される例示的なプロセスが実装されてもよい例示的なコンピュータ/ネットワークアーキテクチャのブロック図である。
図2】ワイヤレスネットワークに接続する場合に優先ネットワークに優先順位付けするための例示的なプロセスを示すフローチャートである。
図3】優先ネットワークを含む、様々なネットワークのランク付けを概念的に示すブロック図である。
【発明を実施するための形態】
【0015】
異なる図における同様の参照番号は、同様の要素を示す。
【0016】
本明細書では、ホームネットワーク又はワークネットワークのような優先ワイヤレスネットワークを識別し、他のネットワークよりこれらのネットワークへの接続を優先順位付けする、モバイルデバイス(「デバイス」)においてクライアントによって実行されてもよい例示的なプロセスが説明される。例えば、プロセスは、ユーザのホームネットワークを識別し、ユーザのホームネットワークへのデバイスの接続を優先順位付けしてもよい。例示的なプロセスは、コンピュータネットワークの領域において具体的に発生する問題を克服するためにコンピュータ技術において探る。この点について、様々なワイヤレスネットワークが、様々なパフォーマンスプロファイルを有する。例えば、幾つかのワイヤレスネットワークにおいては、デバイスのパフォーマンスが低下する場合がある。セキュリティの理由のために、幾つかのワイヤレスネットワークは、デバイスがローカルサーバーに保持されたドキュメントのような特定のコンテンツにアクセスすることを許可しない場合がある。対照的に、ワークネットワーク又はホームネットワークのような優先ワイヤレスネットワークは、他の非優先ワイヤレスネットワークより優れたパフォーマンスを提供する場合がある。同様に、優先ネットワークは、ユーザがそのネットワークにあるファイルのようなコンテンツにアクセスすることを許可する場合がある。具体的に列挙されない他の利点が、優先ネットワークへの接続から生じる場合がある。
【0017】
よって、本明細書で説明される例示的なプロセスは、ユーザの1つ以上の優先ネットワークを識別し、必要に応じてこれらのネットワークへの接続に優先順位付けする。幾つかの実装においては、プロセスは、一定期間に亘るデバイスの使用に基づいてユーザの優先ネットワークを識別する。例えば、プロセスは、7日間のような一定期間の間、デバイスを監視し、その期間中にデバイスが優先ネットワークとして接続した1つ以上のネットワークを識別してもよい。任意の適切な一定期間が使用されてもよく、プロセスは7日間に限定されない。監視することは、デバイスがその一定期間の間に接続したネットワークを識別すること、接続が発生した期間を識別すること、接続の時間を識別すること、接続の規則性を識別すること、及び接続中のデバイスのモビリティ状態を識別することを含んでもよいが、これらに限定されない。これらの属性の1つ以上があるベースラインに達する場合には、ネットワークは、デバイスのための優先ネットワークとして識別されてもよい。幾つかの実装においては、追加の情報が、例えば、ホームネットワーク又はワークネットワークとして、識別されたネットワークを特徴付けるために使用されてもよい。ベースラインの例は、閾値、閾値の組合せ、範囲、又は使用情報、モビリティ状態、等のような属性を評価する(例えば、比較する)ための任意の他の適切な情報である。
【0018】
この点について、モビリティ状態は、モバイルデバイスが経験する動きの量に対応する。例えば、モビリティ状態は、デバイスの速さ又は速度によって特徴付けられてもよい。少なくとも部分的に、デバイスにおいて加速度計を使用して、速度が検出されてもよい。幾つかの実装においては、デバイスが1つ以上のワイヤレスネットワークの存在下にあった時間の期間に部分的に基づいて、速度が検出されてもよい。この点について、速度は、加速度計の読み取り値、デバイスがワイヤレスネットワークの存在下にある時間の期間、全地球測位システム(GPS)の読み取り値、等を含むが、これらに限定されない適切な因子の組合せに基づいて検出されてもよい。幾つかの実装においては、モビリティ状態は、デバイスの速度に加えて、又はその代わりに、運動によって特徴付けられてもよい。例えば、場合によっては、回転運動、旋回運動、加速、減速、又は他のタイプの運動が、モビリティ状態の特性評価に影響を与え、又はその因子となってもよい。
【0019】
プロセスは、1つ以上のサーバーを含んでもよいサーバーシステムから受信された1つ以上のポリシーを使用して実装されてもよい。ポリシーは、優先ネットワークを識別するために使用するための属性、これらの属性の値、及びワイヤレスネットワーク接続を行う場合に他のネットワークより優先ネットワークを優先順位付けするための操作を指定してもよい。例として、ポリシーは、デバイスがワイヤレスネットワークの存在下で一定期間の間、相対的に高速で移動しない場合、ワイヤレスネットワークへのデバイスの接続が定期的である場合、及び/又は接続が典型的には、特定の時刻に発生する場合、ワイヤレスネットワークが優先ワイヤレスネットワークであることを指定されてもよい。ポリシーは、デバイスのためのインターネットサービスプロバイダ(ISP)のようなデバイスについての情報と、必要に応じて、居住地、勤務地、等のようなデバイスのユーザについての情報とを含んでもよい。優先ネットワークを示し、居住地又は勤務地に照合する、監視中に取得された情報が、ネットワークを特徴付けるために使用されてもよい。例えば、サブネットアドレスがユーザのホームアドレスと一致する場所を示し、その場所のネットワークが優先ネットワークとして識別される場合には、プロセスは、ネットワークをデバイスのホームネットワークとして特徴付けてもよい。幾つかの実装においては、特性評価が、自動的、例えば、ユーザ入力なしであってもよい。幾つかの実装においては、特性評価が、ユーザの確認を要求してもよい。例えば、ユーザは、モバイルデバイスにおける通知によって、ネットワークがこれらのホームネットワークであることを確認するように指示されてもよい。
【0020】
幾つかの実装においては、プロセスは、非優先ネットワークより1つ以上の優先ネットワークを優先順位付けする。幾つかの実装においては、優先順位付けは、優先ネットワーク及び非優先ネットワークのパフォーマンスに関係なく、非優先ネットワークより優先ネットワークに接続することを常に含む。幾つかの実装においては、優先順位付けは、デバイスが非優先ネットワークより優先ネットワークに接続する可能性を高めることを含む。例えば、優先ネットワーク及び非優先ネットワークを含む2つのネットワークが、スループット又は使用可能な帯域幅のような1つ以上の属性に関して実質的に等しい場合には、プロセスは、デバイスが非優先ネットワークではなく優先ネットワークに接続する可能性が高くなるようにデバイスを構成してもよい。幾つかの実装においては、デバイスは、非優先ネットワークが優先ネットワークより優れるパフォーマンスを提供する場合であっても、優先ネットワークに接続するように制御されてもよい。例えば、非優先ネットワークが、優先ネットワークに対して閾値未満のパフォーマンス向上をもたらす場合には、デバイスは優先ネットワークに接続してもよい。しかし、この例において、非優先ネットワークが閾値より大きいパフォーマンス向上を提供する場合には、デバイスは非優先ネットワークに接続してもよい。パフォーマンス以外の考慮事項が、デバイスのネットワーク接続の優先順位付けに影響を与えてもよい。非優先ネットワークより優先ネットワークに接続する方法、時間、及びその状況、並びにその逆を指定するための情報は、デバイスにアップロードされる1つ以上のポリシーにおいて指定されてもよい。
【0021】
幾つかの実装においては、ワイヤレスネットワークへの接続を優先順位付けすることは、ワイヤレスネットワークをランク付けすること、及びランク付けに少なくとも部分的に基づいてワイヤレスネットワークへの接続を制御することを含んでもよい。例えば、プロセスは、デバイスの操作中に、デバイスのための優先ワイヤレスネットワークを識別し、優先ワイヤレスネットワークをランク付けにおいて上に移動することによってこれらのワイヤレスネットワークより接続を優先順位付けしてもよい。ワイヤレスネットワークに接続するようにデバイスを制御する場合には、デバイスは、リストにおけるランクの最高のワイヤレスネットワークで開始し、デバイスの範囲内のワイヤレスネットワークに遭遇するまでリストを下に移動し、ワイヤレスネットワークへの接続を試行してもよい。何らかの理由のために接続が確立されることができない場合には、クライアントは、リストにおける次にランクの低いワイヤレスネットワークに移動して接続を試行してもよい。このプロセスは、接続が確立されるまで、又は検討するワイヤレスネットワークがなくなるまで継続する。1つのワイヤレスネットワークのみがある例においては、モバイルデバイスは、そのワイヤレスネットワークに接続し、追加のワイヤレスネットワークに遭遇するとリストを再評価してもよい。幾つかの実装においては、ネットワークのランク付けは、デバイスが優先ネットワークに接続するか否かを判定する複数の因子の中の単一の因子であってもよい。
【0022】
この点について、幾つかの実装においては、複数のネットワークの中の何れのネットワークに接続するかを判定する際に、ネットワークの優先順位付けに加えて属性が使用されてもよい。例えば、上記で説明されたように、ワイヤレスネットワーク上のデバイスのパフォーマンスは、優先又は非優先に関わらず、場合によってはワイヤレスネットワークに接続するためにデバイスの決定に影響してもよい。よって、幾つかの実装においては、プロセスは、ワイヤレスネットワークが優先される否かを含む、様々な属性に基づいて接続のための候補であるネットワーク(「候補ネットワーク」)を評価するための投票モジュールを用いる。幾つかの実装においては、様々な投票モジュールが様々な属性を評価してもよい。例えば、1つの投票モジュールが、ネットワークが優先ネットワークであるか否かを評価してもよく、別の投票モジュールが、候補ネットワークのためのスループットを評価してもよく、別のモジュールが、候補ネットワークのレイテンシを評価してもよく、その他を評価してもよい。
【0023】
幾つかの実装においては、各投票モジュールは、候補ネットワークに接続するか否かを示す投票を行う。投票は、候補ネットワークに接続するか否かを判定するために使用されてもよい。例えば、幾つかの実装においては、候補ネットワークに接続するために、満場一致の「はい」投票が要求される。幾つかの実装においては、優先ネットワークを優先順位付けするために、優先ネットワークを評価する1つ以上の投票モジュールによって行われた投票は、他の投票モジュールによって行われた投票より重く重み付けされてもよい。幾つかの実装においては、投票がネットワークのランク付けの順に行われてもよく、あるベースラインを満たす、例えば、優先ネットワークであり、及び/又は事前画定されたパフォーマンスのレベルを有する第1のネットワークが接続のために選択されてもよい。このように投票モジュールを用いることによって、場合によっては、モバイルデバイスを優先ネットワークに接続することが可能であり、幾つかの実装においては、パフォーマンスのような他の因子を考慮することがまた可能である。
【0024】
幾つかの例においては、ワイヤレスネットワークは、WiFi(登録商標)を含むが、接続のために優先ネットワークを優先順位付けするための本明細書で説明されるプロセス(「プロセス」)は、任意の適切なタイプのワイヤレスネットワークで使用されてもよく、その例が以下に提供される。幾つかの実装においては、少なくとも部分的にクライアントのモバイルデバイスにおいて例示的なプロセスが実行される。プロセスによって実行される操作は、ワイヤレスネットワークの存在下においてデバイスのモビリティ状態を検出すること、少なくとも部分的にモビリティ状態に基づいて、ワイヤレスネットワークがデバイスのための優先ワイヤレスネットワークであることを判定(例えば、推測)すること、及びネットワークのセットの中の優先ネットワークをランク付けすることを含んでもよい。操作はまた、モバイルデバイス、1つ以上のワイヤレスネットワーク、又はモバイルデバイスと1つ以上のワイヤレスネットワークとの両方に関連する属性を取得すること、並びにこれらの属性、及び投票を生成するためのクライアントの投票モジュールにおいて優先ネットワークの優先度を評価することを含んでもよい。幾つかの例においては、投票は、投票モジュールが候補ネットワークへの接続を承認するか、候補ネットワークへの接続を拒否するか、又は投票モジュールの投票が接続の決定の因子にならない場合に棄権するかを示す。幾つかの実装においては、各投票モジュールが1つの属性を評価し、単一の投票を行うが、幾つかの実装においては、単一の投票モジュールが1つ以上の属性を評価し、1つ以上の投票を行ってもよい。クライアントは、投票に基づいて、デバイスを候補ワイヤレスネットワークに接続するか、又はデバイスとワイヤレスネットワークとの間の既存の接続を維持するかを判定する。そして、クライアントは、この判定に基づいてデバイスを制御する。幾つかの実装においては、クライアントは、既存の接続を維持するように、又は既存の接続を切断して候補ネットワークに新たに接続するように、デバイスを制御してもよい。幾つかの実装においては、クライアントは、既存の接続を切断することなく新たに接続するようにデバイスを制御してもよい。例えば、切断するための既存の接続がない場合、又はデバイスが複数のワイヤレスネットワークへの接続を同時に支援する場合がある。この点について、ワイヤレスネットワークへの接続のための決定に続いて、クライアントは、接続することを試行してもよい。しかし、様々な理由でのために全ての試行が成功するとは限らない。そのために、ワイヤレスネットワークへの接続が投票された場合であっても、最終的に接続が確立されない場合がある。
【0025】
投票モジュールは、ワイヤレスネットワークに接続するか否かを判定する際に、1つ以上のネットワーク属性及び/又はデバイス属性を評価してもよい。例えば、投票モジュールは、候補ネットワークが優先ワイヤレスネットワークであるか否かを評価してもよい。投票モジュールによって評価されてもよい他の属性の例は、スループット、サービス品質(QoS)、利用可能な帯域幅、ネットワークセキュリティ、ネットワーク信号強度、ネットワーク信号-ノイズ比(SNR)、ネットワーク信号帯域、デバイスインターネットサービスプロバイダ(ISP)、ネットワークにおけるユーザ数、若しくはこれらの幾つかの組合せのようなネットワーク又はデバイス属性を含むが、これらに限定されず、又は他の属性が考慮されてもよい。このリストは網羅的ではなく、ワイヤレスネットワークに接続するか否かを判定する際に、適切な属性が考慮されてもよい。デバイスの処理能力(例えば、CPUが1秒間に実行することができるクロックサイクル数)、デバイスの内部メモリ、残りのデバイスのバッテリ寿命、デバイスのバッテリ容量、等がまた、例えば、ネットワークにおけるデバイスパフォーマンスを評価するために、投票モジュールによって考慮されてもよい。幾つかの実装においては、デバイスのユーザ又はデバイスに関連付けられる第三者(例えば、ISP)に対するこれらの重要度に応じて、1つ以上の属性が重み付けされてもよい。例えば、優先ネットワークへの接続が優先度としてポリシーによって指定される場合には、ネットワークパフィーマンスに基づく投票は、ワイヤレスネットワークに接続するか否かを判定する際の他の属性に基づく投票より大きく重み付けされてもよい。
【0026】
例示的なプロセスは、クライアントによって全体的又は部分的に実行されてもよく、モバイルデバイスにおけるメモリに格納されてもよい。クライアントは、ワイヤレスネットワークに接続する場合に、優先ネットワークを検出及び優先順位付けするためのものを含む、本明細書で説明されるプロセスを実装する実行可能命令で構成される1つ以上のソフトウェアモジュールを含んでもよい。幾つかの実装においては、クライアントは、デバイス操作中にバックグラウンドにおいて継続的に実行する。例示的なプロセスは、少なくとも部分的に、1つ以上のサーバーを使用してまた実装されてもよい。サーバーは、プロセスを実装するようにモバイルデバイスを構成するために実行可能命令で構成される1つ以上のソフトウェアモジュールを含んでもよい。例えば、幾つかの実装においては、サーバーは、クライアントによって何れの投票モジュールが使用されるか、投票モジュールがネットワーク及び/又はデバイスの属性、もしあれば、様々な投票に適用するための重み付け、ネットワーク接続を可能又は防止する投票結果をどのように評価するか、等に影響するポリシーを格納してもよい。幾つかの実装においては、ポリシーは、モバイルデバイスと1つ以上のワイヤレスネットワークとの間の接続に影響を及ぼすためのデータを含む。データは、例えば、投票モジュール、投票モジュールのためのベースライン値、及びデバイスとワイヤレスネットワークとの間の接続に影響を及ぼすための本明細書で説明される他の構成要素を表してもよい。
【0027】
ポリシーは、モバイルデバイスの所有者によって、又はモバイルデバイスの操作に関心のある任意の他の適切な関係者によってサーバーにロードされてもよい。例えば、ISP、モバイルネットワークプロバイダ、又は他の関係者が、サーバーにポリシーをロードしてもよい。Webインターフェイス、アプリケーションプログラミングインターフェイス(API)、又はその他の適切なインターフェイスが、ポリシーをサーバーにロードするために使用されてもよい。モバイルデバイスは、モバイルデバイスのために指定された運用ポリシー(「ポリシー」)をサーバーから受信するために、サーバーと断続的、定期的、又は任意の適切な時間にサーバーと同期(「シンク」)してもよい。同期はユーザが着手してもよく、或いは時間又は何らかの操作上のトリガーに基づいて自動的に実行されてもよい。モバイルデバイス又はサーバーの何れかが通信に着手してもよい。モバイルデバイス及びサーバーは、インターネット上で又は任意の他の適切な1つ以上のネットワーク上で相互に通信してもよい。幾つかの実装においては、サーバーが、ポリシーをモバイルデバイスにプッシュしてもよく、又はモバイルデバイスが、サーバーからポリシーをプルしてもよい。幾つかの例においては、サーバーにおけるポリシーは、電話番号、ユーザ名、住所、デバイス識別子、又は他の適切な指標によってインデックス付けされてもよい。サーバーは、このような情報に基づいてモバイルデバイスを認識し、モバイルデバイスのための適切なポリシーにアクセスしてもよい。
【0028】
モバイルデバイスのための例示的なポリシーは、とりわけ、クライアントが優先ワイヤレスネットワークへの接続の優先順位付けを与えることを指定してもよい。モバイルデバイスのための例示的なポリシーは、とりわけ、各投票モジュールが事前画定されたベースラインに関連して属性を評価することを指定してもよい。ベースラインの例は、閾値、閾値の組合せ、範囲、又は属性値のような1つ以上の値を評価(例えば、比較)するための任意の他の適切な情報である。ポリシーは、各属性が評価される事前画定されたベースラインの少なくとも一部を提供してもよい。例示的なポリシーはまた、各投票モジュールがその評価に基づいて単一の投票を出力すること、及び候補ワイヤレスネットワークに接続するか又は接続しないかの決定が少なくとも部分的に投票に基づくことを要求してもよい。幾つかの実装においては、候補ワイヤレスネットワークに接続するか又は接続しないかの決定は、ネットワークが優先ネットワークであるか否かの評価から生じる投票を含む投票のみに基づいてもよい。幾つかの実装においては、候補ワイヤレスネットワークに接続するか又は接続しないかの決定は、1つ以上の他の因子と組合せた投票に基づいてもよい。これらの他の因子の例は、デバイスのモビリティ状態を含むが、これに限定されない。
【0029】
幾つかの実装においては、各投票は、承認、拒否、又は棄権のうちの1つの値を有するが、ポリシーは、適切な方法で投票を画定してもよい。この例においては、承認するための投票は、候補ワイヤレスネットワークへの接続を承認することを示し、拒否するための投票は、候補ワイヤレスネットワークへの接続を拒否することを示し、棄権するための投票は、投票を投じる投票モジュールが候補ワイヤレスネットワークへの接続において影響を与えないことを意図することを示す。投票の結果は解釈され、接続は結果に基づいて試行及び実装され、又は試行及び実装されない。幾つかの実装においては、ワイヤレスネットワークへの接続を承認するために、投票は満場一致である必要がある。幾つかの実装においては、接続を承認するための少なくとも1つの投票が必要であり、接続を拒否するための投票はない。しかし、棄権するための投票があってもよい。幾つかの実装においては、ワイヤレスネットワークへの接続を拒否するために、単一の拒否投票のみが要求される。例えば、全ての他の投票が承認又は棄権であってもよいが、単一の拒否投票が投じられる場合には、接続が拒否されてもよい。幾つかの実装においては、拒否又は棄権の数に関係なく、接続を承認するために、承認するための投票の過半数が要求されてもよい。一般的に、ポリシーは、接続を承認又は拒否するための適切な基準を設定してもよい。
【0030】
図1は、ワイヤレスネットワークに接続する場合に優位ネットワークに優先順位付けするためのプロセスを含む、例示的なプロセスが実装されてもよい例示的なコンピュータ/ネットワークアーキテクチャ10を示す。しかし、プロセスは、図1のアーキテクチャでの使用に限定されず、任意の適切なコンピュータアーキテクチャ及び/又はネットワークアーキテクチャにおいて実装されてもよい。
【0031】
図1においては、例示的なコンピュータ/ネットワークアーキテクチャ10は、モバイルデバイス12及びサーバーシステム13を含む。モバイルデバイスは、スマートフォン、携帯電話、デジタルカメラ、タブレットコンピューティングデバイス、ラップトップコンピュータ、等を含むが、これらに限定されない、コンピュータネットワークにおいて通信することができる任意の適切なデバイスであってもよく、又はこれを含んでもよい。モバイルデバイス12は、1つ以上の処理デバイス14(例えば、マイクロプロセッサ)と、1つ以上の処理デバイスによって実行可能なコンピュータ/機械実行可能命令17を格納するメモリ16とを含んでもよい。命令は、優先ネットワークを識別し、優先ネットワークに接続するか否かを判定し、並びに接続を試行及び構成するための操作を含む、本明細書で説明される機能の全て又は一部を制御するクライアント18を実装する1つ以上のコンピュータプログラムの一部であってもよい。幾つかの実装においては、クライアントは、本明細書で説明されるプロセス及びシステムを実装する決定エンジン20を含んでもよい。幾つかの実装においては、クライアントは、ネットワーク属性、デバイス属性、又はネットワーク属性とデバイス属性との両方を取得し、これらの属性を決定エンジンに提供する収集エンジン29を含んでもよい。幾つかの実装においては、収集エンジンは、1つ以上の優先ネットワークに関する情報を取得するために本明細書で説明される監視を実行し、決定エンジンは、1つ以上の優先ネットワークを識別するためにその情報を使用する。幾つかの実装においては、決定エンジン及び収集エンジンは、本明細書で説明される機能以外の機能を含む。幾つかの実装においては、モバイルデバイス12は、WiFi(登録商標)ネットワーク、LTE(ロングタームエボリューション)ネットワーク、等のような任意の適切なネットワーク19に接続されてもよく、これを通じてアクセス可能であってもよい。
【0032】
サーバーシステム13は、1つ以上のコンピューティングデバイス21、22、23を含んでもよく、その例は、1つ以上のサーバー、デスクトップコンピュータ、モバイルデバイス、等を含んでもよい。例示的なサーバーシステムは、1つ以上の処理デバイス24(例えば、マイクロプロセッサ)と、1つ以上の処理デバイスによって実行可能命令26を格納するメモリ25とを含んでもよい。命令は、本明細書で説明されるプロセスの少なくとも一部を実装するために使用されてもよい1つ以上のコンピュータプログラムの一部である。例えば、命令は、モバイルデバイス上のクライアントに、本明細書で説明されるように優先ワイヤレスネットワークへの接続を優先順位付けすることを含む、デバイスの操作を制御するポリシー27をモバイルデバイスにおけるクライアントに提供するために、モバイルデバイスとサーバーシステムとの間の通信を可能にしてもよい。これらのポリシーは、サーバーシステムにおけるデータベース28、又はサーバーシステムにアクセス可能な任意の他の適切な場所に格納されてもよい。サーバーシステム12はまた、ワイヤード(有線)又はワイヤレスネットワーク19に接続され、これを通じてアクセス可能であってもよい。幾つかの実装においては、プロセスは、サーバーシステムを使用しなくてもよく、モバイルデバイスにおいてのみ実装されてもよい。例えば、ポリシーは、モバイルデバイスに事前にインストールされてもよく、又はモバイルデバイスのユーザは、1つ以上の適切なポリシーでモバイルデバイスをプログラムしてもよい。
【0033】
幾つかの実装においては、本明細書で説明されるように、クライアントによって使用されるポリシーは、学習されたポリシーであってもよい。より具体的には、サーバーシステムは、特定のタイプのスマートフォンのようなデバイスの1つ以上のクラスに汎用的で適用可能な規定を含む1つ以上のポリシーを提供してもよい。しかし、幾つかの実装においては、学習されたポリシーは、デバイス固有の規定を含み、例えば、これらは、モバイルデバイスインスタンスに固有であり、経時的にモバイルデバイスの操作に基づいて判定される。モバイルデバイスにおいて学習プロセスを実装するためのコンピュータ実行可能コードは、モバイルデバイスに事前に格納されてもよく、又はサーバーシステムから取得されてもよい。一例においては、モバイルデバイスにおいて利用可能な接続履歴又はその他の情報に基づいて、クライアントは、ホームネットワーク又はワークネットワークのようなモバイルデバイスの優先ネットワークの識別を学習してもよい。この情報はランク付けされ、候補ネットワークがデバイスのための優先ネットワークであるか否かを評価してもよい投票モジュールに組み込まれてもよい。候補ネットワークが優先ネットワークである場合には、投票モジュールは、例えば、接続を承認するために投票してもよい。候補ネットワークが優先ネットワークではない場合には、投票モジュールは、接続を拒否するか棄権するかを投票してもよい。幾つかの実装においては、ネットワークが優先ネットワークであるか否かを評価する投票モジュールは、他の投票モジュールを無視してもよい。例えば、優先ネットワークが識別される場合には、クライアントは、優先ネットワークに接続するようにデバイスを制御してもよい。複数の優先ネットワークが範囲内にある場合には、クライアントは、最適なパフォーマンス又は幾つかの他の基準を有する優先ネットワークを評価し、そしてそのネットワークに接続してもよい。幾つかの実装においては、優先ネットワークを示す投票は、他の投票より重み付けされてもよい。幾つかの実装においては、デバイスのクラスのためにサーバーによって提供されるポリシーは、そのデバイスによってその操作中に学習された情報に基づいて、特定のデバイスのためにカスタマイズされてもよい。
【0034】
幾つかの実装においては、サーバーシステムから受信されたポリシーは、ネットワークが優先ネットワークであるというデバイスによってなされた判定を具体的に無視してもよい。例えば、クライアントは、経時的なデバイスの動作に基づいて1つ以上の優先ネットワークを学習してもよく、既存のポリシー下において、他の非優先ネットワークよりこれらのネットワークへの接続を優先してもよい。しかし、後続又は他のポリシーが、クライアントに、これが学習したものを無視し、後続又は他のポリシーにおいて優先順位付けされるように識別されたネットワークのみを使用するように指示してもよい。幾つかの実装においては、これは、本明細書で説明されるように、デバイスが接続してもよいネットワークのランク付けにおいてポリシーから優先ネットワークを引き上げることに関与してもよい。
【0035】
モバイルデバイス12及びサーバーシステム13は、ワイヤレス及び/又はワイヤードネットワークを含んでもよい1つ以上のコンピュータネットワーク19を通じて、相互に、及び本明細書で説明されるシステムのような他のシステムと通信してもよい。
【0036】
図2は、候補ネットワークに接続するか否かを判定するためのシステムを実装するための例示的なプロセス30を示す。プロセス30は、図1のアーキテクチャにおいて、クライアント18によって全体的又は部分的に実行されてもよい。プロセス30によれば、モバイルデバイス12におけるクライアント18は、1つ以上のコンピュータネットワーク19を通じてサーバーシステム13と同期する(31)。説明されたように、この同期中に、ポリシーは、サーバーシステムによってクライアントにプッシュされてもよく、或いは、クライアントは、要求してサーバーシステムからポリシーを受信してもよい。ポリシーは、とりわけ、投票プロセスの内側又は外側の何れかで、候補ネットワークを識別する方法及び候補ネットワークへの接続を優先順位付けする方法を含む、候補ネットワークに接続するか否かを判定するために使用されてもよい基準を指定する。説明されたように、ポリシーは、接続を決定するために何れかの投票モジュールが使用されるか、評価するためにこれらの投票モジュールが使用するベースライン値、投票に基づいて接続を承認又は拒否するための要件、等を指定してもよい。幾つかの実装においては、投票モジュールは、ポリシーの一部としてサーバーシステムから受信され、サーバーシステムとの同期中にクライアントに組み込まれるソフトウェアプラグインモジュールである。幾つかの実装においては、投票モジュールの全て又は一部が、モバイルデバイスにハードコード化されてもよく、ポリシーは、これらの何れを使用するか、及びそのためのベースライン値を指定する。幾つかの実装においては、モバイルデバイスは、同期中にサーバーシステムから複数のポリシーを取得してもよい。必要に応じて、複数のポリシーが、クライアントにプログラムされ、本明細書で説明されるように使用されてもよい。
【0037】
幾つかの実装においては、クライアントは、投票モジュールが、例えば、デバイス属性、ネットワーク属性、又はデバイス属性とネットワーク属性との両方に基づいて、候補ワイヤレスネットワークに接続するか否かについて評価するように、受信したポリシーに基づいて投票モジュールを構成してもよい。投票モジュールによる評価のために使用されてもよい属性の例は、ネットワークが優先ネットワークであるか否か、例えば、デバイスのネットワークの優先順位付け、ネットワークスループット、ネットワークQoS、利用可能なネットワーク帯域幅、ネットワークレイテンシ、ネットワークセキュリティ、ネットワーク信号強度、ネットワーク信号-ノイズ比(SNR)、信号帯域、デバイスISP、ネットワークにおけるユーザの数、デバイス処理能力、デバイス内部メモリ、残りのデバイスバッテリ寿命、デバイスバッテリ容量、等を含むが、これらに限定されない。本明細書で指定されない他の属性が、指定された属性の代わりに、又はこれに追加して使用されてもよい。加えて、デバイス及び候補ネットワークの属性以外の属性が、投票の決定に組み込まれてもよい。例えば、デバイスがワイヤレス周波数(RF)バックグラウンド信号の他の放射、又は様々な障壁若しくは障害物がある領域に移動している場合には、これらは投票に影響を与えてもよい。例えば、投票モジュールは、高RF領域におけるネットワークが接続のために適するか否かを評価し、領域のRFノイズの量に基づいて投票するように構成されてもよい。
【0038】
幾つかの実装においては、各投票モジュールは様々な属性を評価する。例えば、主にネットワーク信号強度に基づいて評価するための投票モジュール、主にスループットに基づいて評価するための別個の投票モジュール、主にネットワークがデバイスのための優先ネットワークであるか否かに基づいて評価するための別個の投票モジュール、等がある。幾つかの実装においては、各投票モジュールは、その対応する属性を評価するのに適する評価プロセスを実装する。よって、各投票モジュールは異なるプロセスを実装してもよい。しかし、各投票モジュールによって実装されるプロセスは、様々な属性を考慮してもよい。例えば、弱い信号が強い信号より多くのデバイスリソースを消費し、この結果、バッテリ寿命を消費する場合があるので、デバイスのバッテリ寿命を決定する投票モジュールはまた、ネットワーク信号の強度を考慮してもよい。
【0039】
幾つかの実装においては、投票モジュールは、複数の属性を評価し、その評価に基づいて1つ以上の投票を出力してもよい。例えば、単一の投票モジュールが、ネットワークの優先度とレイテンシとの両方に基づいて評価し、そして2つの投票(ネットワークの優先度に関連する1つの投票及びネットワークのレイテンシに関連する1つの投票)を出力するように構成されてもよい。幾つかの実装においては、投票モジュールは、異なる評価プロセスを使用して同じ属性を評価してもよい。例えば、同じ属性を評価する2つ以上の異なるプロセスが、単一のプロセスより正確にその属性を査定してもよい。例えば、1つプロセスが、パケット損失に関してネットワークQoSを測定してもよく、別のプロセスが、遅延に関してネットワークQoSを測定してもよく、別のプロセスが、ジッタに関してネットワークQoSを測定してもよく、別のプロセスが、これらの属性の2つ以上の組合せに関してネットワークQoSを測定してもよい。幾つかの実装においては、異なる投票モジュールがこれらの判定をなし、各々が単一の投票を出力し、4つのQoS投票を効果的にもたらしてもよい。幾つかの実装においては、単一の投票モジュールが、全てのこれらのプロセスを実装し、4つの投票(各プロセスに対して1つ)を出力してもよい。ポリシーは、QoSのような属性を判定するための適切な方法を指定し、決定エンジンにおいてその方法をプログラムしてもよい。
【0040】
前述のように、幾つかの実装においては、調整可能であってもよく、又は調整可能でなくてもよい属性及びベースライン値に基づいて評価を実行するために、投票モジュールはハードコード化されてもよい。幾つかの実装においては、投票モジュールは適応性があってもよい。例えば、適応性投票モジュールは、デバイスの使用に基づくモバイルデバイスについての情報を収集し、その情報に基づいて判定するようにそれ自体を構成してもよい。前に提供された例においては、適応性投票モジュールは、特定のネットワークが優先ネットワークであることを学習し、その情報をその投票プロセスに組み込んでもよい。例えば、適応性投票モジュールは、例えば、ネットワークへの定期的且つ長期の接続、デバイスモビリティ状態、等に基づいて、モバイルデバイスの優先ネットワークとしてネットワークを識別してもよい。そして、適応性投票モジュールは、例えば、ホームネットワーク又はワークネットワークとしてネットワークを特徴付けるための基礎として、サブネットアドレス、ネットワークに関連するISPのようなネットワークアドレス、及び/又はネットワークについての他の情報を使用してもよい。本明細書で説明される例示的なプロセスを使用して、ホームネットワーク及びワークネットワーク以外の、又はこれらに加えて、優先ネットワークが識別されてもよい。
【0041】
幾つかの実装においては、ポリシーは、ネットワークに接続するか否かについての決定がある毎に、全ての投票モジュールが使用されることを要求してもよい。幾つかの実装においては、ポリシーは、ネットワークに接続するか否かについての決定がある場合に、全ての投票モジュールのサブセットが使用されることを可能にしてもよい。例えば、収集エンジンは、投票モジュールに属性を提供してもよく、属性が提供されるこれらの投票モジュールのみが、投票を投じることが要求されてもよく、又は投票を投じることを可能にしてもよい。幾つかの実装においては、ポリシーは、ネットワークに接続するか否かについて投票が行われることができる前に、投票を投じることができる画定された定足数の投票モジュールが必要であることを指定してもよい。画定された定足数は、幾つかの画定された最小数の投票モジュールを含んでもよい。幾つかの実装においては、ポリシーは、定足数が達成される前に、重要なものとして指定された全て又は一部の投票モジュールが要求されてもよいことを要求してもよい。幾つかの実装においては、モバイルデバイスのユーザ又はポリシーを制御する第三者は、接続の決定に対して重要なものして1つ以上の属性を指定してもよい。この例においては、対応する投票モジュールはまた、定足数を達成することに重要なものとして指定されてもよい。例えば、ネットワークの優先順位付けは、ネットワークに接続するために決定する場合に評価するための重要な属性とみなされてもよい。そして、デバイスのための優先ネットワークについての情報が投票のために利用可能でなく、この結果、対応する投票モジュールがネットワークの優先順位付けに関連する投票を投じることができない場合には、クライアントは、定足数が達成されていないと考慮してもよく、この場合には、候補ネットワークについての投票は行われず、候補ネットワークへの接続は試行されない。別の例においては、ネットワークへの接続を決定する場合に、ネットワークの信号強度は、評価するための重要な属性と見なされてもよい。そして、候補ネットワークの信号強度についての情報が投票にために利用可能でなく、この結果、対応する投票モジュールがネットワークの信号強度に関連する投票を投じることができない場合には、クライアントは、定足数に達成していないとみなしてもよく、この場合には、候補ネットワークについての投票は行われず、候補ネットワークへの接続は試行されない。
【0042】
幾つかの実装においては、ポリシーは、1つ以上の適切な因子に基づいて投票が重み付けられることを可能にしてもよい。例えば、属性が重要であるとみなされる場合には、その属性に関連する投票は、重要ではないとみなされる属性に関連する投票より重く重み付けされてもよい。重み付けは、所与の投票方法のために適するように実装されてもよい。例えば、投票は、ネットワーク接続を承認するためにその投票が要求される場合には、他の投票より重く重み付けられてもよい。幾つかの実装においては、投票は数値を有してもよく、重み付けは、重要な属性に関連する投票の数値を増加させるために使用されてもよい。例えば、重み付けは、関連する属性が重要であることを反映するために投票の数値を増加させてもよい。幾つかの実装においては、重み付けは、重要であるとみなされる属性に関連する投票数を増加させることを含んでもよい。例えば、接続するために「承認」投票の単純な又は他の過半数を要求するシステムにおいては、追加の「承認」投票が、対応する(例えば、重要な)属性に適用されるより重い重み付けを反映するために投じられてもよい。一般的に、任意の適切な重み付けスキームが使用されてもよい。幾つかの実装においては、重み付けは適応性であってもよく、経時的に変化してもよい。例えば、ユーザが優先ネットワークと対話するほど、その優先ネットワークに関連する投票に置かれてもよい重み付けが重くなる。
【0043】
これに関して、前述のように、例示的なポリシーは、各投票が承認、拒否、又は棄権のうちの1つの値を有するように要求するが、ポリシーは、任意の適切な方法で投票を画定してもよく、指定に限定されない。この例においては、承認の投票は、候補ワイヤレスネットワークへの接続を承認することを示し、拒否の投票は、候補ワイヤレスネットワークへの接続を拒否することを示し、棄権の投票は、投票を投じる投票モジュールが候補ワイヤレスネットワークへの接続に影響を与えないことを意図することを示す。投票の結果は解釈され、接続は結果に基づいて試行され、又は試行されない。幾つかの実装においては、ワイヤレスネットワークへの接続を承認するために、投票は満場一致である必要がある。幾つかの実装においては、接続を承認するための少なくとも1つの投票が必要であり、接続を拒否するための投票はない。しかし、棄権するための投票があってもよい。幾つかの実装においては、ワイヤレスネットワークへの接続を拒否するために、単一の拒否投票のみが要求される。例えば、全ての他の投票は、接続の承認又は棄権であるが、単一の拒否投票が投じられる場合には、接続は拒否されてもよく、この場合には、接続は試行されない。幾つかの実装においては、全ての投票モジュールが棄権する場合には、接続は試行されない。
【0044】
前述のように、他の投票メカニズムはポリシーによって画定されてもよい。例えば、前述のように、投票は数値を有してもよい。数値は、例えば、接続に対して対応する属性の画定された重要度に基づいてもよい。例えば、より大きい数値が、特定の属性が接続に対してより重要であることを示してもよい。例えば、デバイスのネットワークの優先順位付けがネットワークセキュリティより重要であると画定される場合には、優先ネットワークへの接続を反映する承認投票が10の値を有し、一方、ネットワークが安全であることを示す承認投票(例えば、画定されたベースラインを超えるセキュリティレベル)は、1の値を有してもよい。幾つかの実装においては、拒否投票は、欠落した属性又は準拠していない属性が接続に対してどのくらい重要であるかを反映する負の値を有してもよい。例えば、利用可能なネットワーク帯域幅が重要な属性であり、候補ネットワークのために利用可能なネットワーク帯域幅が許容範囲外である場合には、相対的に高い負の数(例えば、-10)は強い拒否投票を表してもよい。同様に、パケット損失がそれほど重要ではない属性であり、候補ネットワークのための測定されたパケット損失が許容されない場合には、比較的に低い負数(例えば、-1)は弱い拒否投票を表してもよい。幾つかの実装においては、これらのような投票は合計されてもよく、或いはさもなければ処理され、接続が試行されるか否かを判定するために事前画定された閾値と比較されてもよい。前述のように、重み付けはこれらの数値に適用されてもよい。幾つかの実装形態においては、数値は、デバイスの使用、デバイスの機能、様々なネットワークへの接続によって取得された情報、等に基づいて、経時的に適応されてもよい。幾つかの実装においては、機械学習技術が、経時的に数値を適応するために実行されてもよい。
【0045】
ポリシーはまた、投票モジュールからの投票がどのように解釈されるか、例えば査定又は評価されるかを画定してもよい。例えば、説明されたように、投票がカウントされ、コンテンツのために分析され、合計され、又はさもなければ接続が承認されるか拒否されるかを判定するために任意の適切な方法で処理されてもよい。この点について、候補ネットワークへの接続が承認された後、ポリシーは、接続を試行及び構成するようにデバイスを制御するための実行可能命令を含んでもよい。接続が実際になされるか否かは、デバイスが候補ネットワークのために適切なセキュリティ認証情報を有するか否か、デバイスとネットワークサーバーとの間のハンドシェイクが成功したか否か、等のような様々な因子に依存してもよい。幾つかの実装においては、試行される接続が新しいネットワーク接続であってもよい。例えば、デバイスが、現在ネットワークに接続されていなくてもよく、又はデバイスが、第2のネットワーク接続を試行してもよい。幾つかの実装においては、試行される接続は、ネットワークへの既存の接続が切断され、候補ネットワークへの代替接続が試行されるネットワーク切り替え操作の一部であってもよい。ポリシーは、既存の接続を切断し、候補ネットワークへの接続が失敗した場合に以前のネットワーク接続を再確立することを許可する条件を判定するための命令を含んでもよい。
【0046】
幾つかの実装においては、ポリシーは、ワイヤレスネットワークをランク付けし、ランク付けに基づいてワイヤレスネットワークへの接続を制御することによって、優先ワイヤレスネットワークへの接続を優先順位付することを指定してもよい。例えば、ポリシーは、クライアントが優先ワイヤレスネットワークを識別するために実行する操作を指定してもよく、優先ワイヤレスネットワークが、ランク付けされたリストにおいて優先ワイヤレスネットワークを上に移動することによって、これらのワイヤレスネットワーク上で接続を優先順位付けするように識別された後、指定してもよい。プロセスは、ネットワークに接続するか否かを判定するために、リストにある各ネットワークについての投票を用いてもよい。説明されたように、投票は、様々な属性に基づいてもよく、又は投票は、ネットワークが優先ネットワークであるか否かのみに基づいてもよい。幾つかの実装においては、投票は使用されなくてもよい。例えば、リストにおける優先ワイヤレスネットワークに遭遇する場合には、デバイスは、投票又はその他の属性に関係なく、そのネットワークに自動的に接続し、又はそのネットワークへの接続を試行してもよい。ワイヤレスネットワークに接続するようにデバイスを制御する場合には、デバイスは、リストにおける最高ランクのワイヤレスネットワークで開始し、デバイスの範囲内のワイヤレスネットワークに遭遇するまでリストを下に移動し、ワイヤレスネットワークへの接続を試行してもよい。任意の理由のために接続をなすことができない場合には、クライアントは、接続を試行する際に、リストにおける次のより低いランクのワイヤレスネットワークに移動してもよい。このプロセスは、接続がなされるまで、又は考慮するためのワイヤレスネットワークがなくなるまで継続してもよい。
【0047】
上述のポリシーは例にすぎない。本明細書で説明されるサーバーシステム及びモバイルデバイスを使用して、任意の適切なポリシーが実装されてもよい。
【0048】
図2を戻って参照すると、クライアント18は、サーバーシステムとの同期の結果として1つ以上のポリシーを受信する(32)。受信された1つ以上のポリシーが、デバイスをポリシーに従って操作させるためにクライアント18にプログラムされてもよい。デバイスへのポリシーのプログラミングは、優先ネットワークをクライアントに識別する方法についての命令を組み込むこと、投票モジュール及びにこれらのベースライン値を決定エンジンに組み込むこと、ベースライン値を決定エンジンにおける既存の投票モジュールに組み込むこと、等を含んでもよい。幾つかの実装においては、デバイスへのポリシーのプログラミングは、デバイスネットワークの優先順位付けについて投票するための投票モジュールのような、デバイス固有の投票モジュールを作り出す目的のためのデバイスの使用を監視するために、監視コードをデバイスに追加することを含んでもよい。幾つかの実装においては、複数のポリシーがクライアントにプログラムされてもよい。2つ以上のポリシーが非互換性の規定を有する場合には、クライアントは、1つ以上の格納されたルールに従って任意の非互換性を解決してもよい。
【0049】
クライアント18は、優先ワイヤレスネットワークを識別する(33)。幾つかの実装形態においては、ポリシーは、例えば、ネットワークアドレス又はポリシーにおいて提供される幾つかの他の適切な基準によって、優先ワイヤレスネットワークを識別してもよい。幾つかの実装においては、優先ワイヤレスネットワークを識別することは経時的に発生してもよく、優先ワイヤレスネットワークを識別するための操作はポリシーにおいて記載されてもよく、又はさもなければ、デバイスおいて格納されてもよい。この点について、図2は、ポリシーを受信するための例示的な操作の後に発生する優先ワイヤレスネットワークを識別するための例示的な操作を示すが、優先ワイヤレスネットワークを識別するためのプロセスは、経時的に発生し、進行してもよい。例えば、幾つかの実装においては、ワイヤレスネットワークを識別するためのプロセスは、週、月、等のような画定された期間に実行されてもよい。様々なワイヤレスネットワークへの接続を含む、その期間中のデバイスの使用に基づいて、プロセスは、これらのワイヤレスネットワークの1つ以上が優先ネットワークであると推測されてもよい。しかし、デバイスが操作を継続すると、これは、その元の推論の改良を継続し、幾つかの実装においては、画定された時間に続くデバイスの使用に基づいて、そのネットワークの特性を優先ネットワーク又は非優先ネットワークとして更新してもよい。
【0050】
ワイヤレスネットワークを識別するための操作(33)は、ワイヤレスネットワークの存在下でデバイスのモビリティ状態を検出すること(33a)を含んでもよい。ワイヤレスネットワークが優先付けされるか否かについての判定は、少なくとも部分的にモビリティ状態に基づいてもよい。よって、クライアントは、デバイスのモビリティ状態を検出する(33)。検出は、受信された1つ以上のポリシーに基づいてもよい。例えば、ポリシーがデバイスのモビリティ状態を画定する3つの速度範囲を指定する場合には、クライアントは、デバイスの速度を取得し、検出された速度が収まる速度範囲を判定する。例えば、デバイスの速度は、速度が第1の範囲にあるか否かを判定するために第1の閾値(例えば、3mph(マイル/時))に比較されてもよく、デバイスの速度は、速度が第1の範囲にあるか否かを判定するために第1の閾値及び第2の閾値(例えば、3mph及び15mph)に比較されてもよく、デバイスの速度は、速度が第3の範囲にあるか否かを判定するために第2の閾値(例えば、15mph)に比較されてもよい。幾つかの実装においては、デバイスの速度は、少なくとも部分的に、デバイスにおける加速度計を使用して検出されてもよい。例えば、クライアントは、デバイスの速度を取得するためにデバイスの加速度計を読み取ってもよい。幾つかの実装においては、速度は、デバイスが1つ以上のワイヤレスネットワークの存在下にあった時間の期間に基づいて検出されてもよい。例えば、場合によっては、デバイスは、移動する物体内で移動してもよい。よって、加速度計は運動を示してもよい。しかし、関連する運動は、デバイスの全体的な動きではなく、移動する物体内でのデバイスの運動である。このような場合においては、運動は、デバイスがワイヤレスネットワークの存在下にあった期間にまた基づいて検出されてもよい。この結果、幾つかの実装においては、速度は、本明細書に列挙されたものを含むが、これらに限定されない因子の組合せに基づいて検出されてもよい。
【0051】
この点について、速度は、加速度計の読み取り値、デバイスがワイヤレスネットワークの存在下にある時間の期間、全地球測位システム(GPS)の読み取り値、等を含むが、これらに限定されない適切な因子の任意の組合せに基づいて検出されてもよい。幾つかの実装においては、モビリティ状態は、デバイスの速度に加えて、又はその代わりに、運動によって特徴付けられてもよい。例えば、場合によっては、回転運動、旋回運動、加速、減速、又は他のタイプの運動が、モビリティ状態の特性に影響を与え、又はこれを組み込んでもよい。
【0052】
ワイヤレスネットワークを識別する(33)ための操作は、時間周期に亘ってデバイスのモビリティ状態を複数回検出すること(33b)を含んでもよい。ワイヤレスネットワークが優先順位付けされるか否かについての判定は、少なくとも部分的に、モビリティ状態が変化する回数に基づいてもよい。
【0053】
ワイヤレスネットワークを識別する(33)ための操作は、クライアントがワイヤレスネットワークに接続され、又はその範囲内にある期間を取得すること(33c)を含んでもよい。ワイヤレスネットワークが優先順位付けされるか否かについての判定は、少なくとも部分的に期間に基づいてもよい。例えば、クライアントは、デバイスにおけるクロック又はリモートタイムソースを読み取ってもよい。幾つかの実装においては、クライアントは、デバイスがワイヤレスネットワークに接続する時間、及びデバイスがワイヤレスネットワークから切断する時間を記録してもよい。その時間は、期間であるように指定されてもよい。幾つかの実装においては、クライアントは、デバイスがワイヤレスネットワークの範囲に入る時間、及びデバイスがワイヤレスネットワークの範囲から出る時間を記録してもよい。その時間は、期間であるように指定されてもよい。幾つかの実装においては、両方のタイプの期間測定が使用されてもよい。
【0054】
ワイヤレスネットワークを識別する(33)ための操作は、デバイスがワイヤレスネットワークにある(例えば、接続されている)間に、デバイスの使用を表す使用情報を取得すること(33d)を含んでもよい。ワイヤレスネットワークが優先順位付けされるか否かについての判定は、少なくとも部分的に使用情報に基づいてもよい。例えば、クライアントは、ワイヤレスネットワーク上のデバイスからの又はこれへのパケットフローを監視してもよい。一例においては、クライアントは、少なくとも一定期間(例えば、デバイスとネットワークとの接続中、又は他の一定期間)に亘って、ワイヤレスネットワークと交換されたデータを監視し、追跡してもよい。クライアントは、ネットワーク上のデバイスによって着手されたHTTP(ハイパーテキスト転送プロトコル)コマンドの数を監視してもよい。ネットワークにおけるデバイスの使用の適切なインジケータが、その機能に基づいてクライアントによって監視されてもよい。
【0055】
ワイヤレスネットワークを識別する(33)ための操作は、デバイスがワイヤレスネットワークにある間に時間情報を取得すること(33e)を含んでもよい。ワイヤレスネットワークが優先順位付けされるか否かについての判定は、少なくとも部分的に時間情報に基づいてもよい。例えば、クライアントは、デバイスがワイヤレスネットワークに接続し、又はその範囲に入る時間を取得するために、デバイスにおけるクロック又はリモートタイムソースを読み取ってもよい。クライアントは、ワイヤレスネットワークの規則的な接続又はその範囲へのエントリを記録してもよい。例えば、クライアントは、デバイスが毎日午後6時から午後8時までの間に同じワイヤレスネットワークに接続することを記録してもよい。ネットワークアドレスが、ワイヤレスネットワークを識別するために使用されてもよい。
【0056】
優先ワイヤレスネットワークを識別する(33)ためのプロセスは、ワイヤレスネットワークの存在下でのデバイスのモビリティ状態、ワイヤレスネットワークの存在下でモビリティ状態が変化する回数、デバイスがワイヤレスネットワークの存在下にある期間、デバイスがワイヤレスネットワークの存在下にある時刻及び規則性、並びにワイヤレスネットワークの存在下にある間のデバイスの使用を含むが、これらに限定されない因子に基づいてもよい。例示的な操作においては、デバイスがワイヤレスネットワークの存在下で少なくとも一定期間の間に低モビリティ状態(例えば、0-<3mph)のままである場合には、クライアントは、デバイスが優先ネットワークにあると推測してもよい。例示的な操作においては、デバイスがワイヤレスネットワークの存在下で一定期間の間にモビリティ状態を変化させない場合には、クライアントは、デバイスが優先ネットワークにあると推測してもよい。一例においては、デバイスが事前画定された期間を超えてワイヤレスネットワークの存在下にあることをクライアントが判定する場合には、プロセスは、デバイスが優先ネットワークにあると推測してもよい。一例においては、デバイスが特定の時刻において規則的にワイヤレスネットワークの存在下にあるとクライアントが判定する場合には、プロセスは、デバイスが優先ネットワークにあると推測してもよい。2つ以上のこれらの因子の組合せは、デバイスが優先ネットワークにある尤度を増加させてもよい。幾つかの実装においては、優先ワイヤレスネットワークを識別するためのプロセス(33)は、これらの因子の各々にスコアを割り当ててもよい。プロセスは、因子のためのスコアを編集又はさもなければ処理し、デバイスが優先ネットワークにあるか否かについての結果に基づいて判定してもよい。例えば、結果が数値で定量化され、閾値に比較されてもよく、スコアは、結果を生成するために定性的に分析されてもよい。上記で説明されたように、クライアントは、そのサブネットアドレスのようなネットワークについての情報に基づいて、及び/又はユーザについてのポリシーからの情報に基づいて、ネットワークを特徴付けてもよい。例えば、デバイスのユーザがロードアイランド州プロビデンスに居住し、マサチューセッツ州ボストンで働くことをポリシーが示す場合には、クライアントは、ボストンにおける優先ネットワークを「ワーク」ネットワークであるとして、及びプロビデンスにおける優先ネットワークを「ホーム」ネットワークであるとして識別してもよい。
【0057】
上述のポリシーは例にすぎない。本明細書で説明されるサーバーシステム及びモバイルデバイスを使用して、任意の適切なポリシーが実装されてもよい。更に、上記の例示的な値は、低い、中間/適度の、及び高い速度範囲に帰するが、これらの異なる範囲が、任意の適切な数値速度によって画定されてもよい。本明細書で説明されるものを含む他の因子が、ポリシーが実装される方法に影響を与えてもよく、又はポリシーそれ自体に含まれてもよい。更に、モバイルデバイスのための3つのモビリティ状態は、これより少なくてもよく、多くてもよい。
【0058】
図2を参照すると、クライアント18は、優先されるように判定されたワイヤレスネットワークをランク付けする(34)。幾つかの実装においては、ランク付けは、他の非優先ネットワークより優先ネットワークの優先度を引き上げることを含んでもよい。幾つかの実装においては、ランク付けは、最も高く優先順位付けされたものから低く優先順位付けされたものの順にネットワークを列挙することを含んでもよい。幾つかの実装においては、特定のネットワークのためのスコアが高いほど、そのネットワークは高く優先順位付けされる。幾つかの実装においては、本明細書で説明されるパフォーマンスに影響を与える属性を含む他の属性が、ネットワークのランク付けに影響を与えてもよい。例えば、より高いパフォーマンスのネットワークが、より低いパフォーマンスのネットワークより優先順位付けされてもよい。ワイヤレスデバイスが遭遇する新しいネットワークは、最初はリストになくてもよいが、これらが評価されるとリストに追加されてもよい。幾つかの実装においては、ランク付けは動的であってもよい。例えば、異なる時刻において、幾つかのネットワークが、他のネットワークより優先順位付けされてもよい。例えば、夕方には、ホームネットワークが最も高い優先度を有してもよく、一方、日中には、ワークネットワークが最も高い優先度を有してもよい。幾つかの実装においては、ランク付けプロセスは、ワイヤレスネットワークに接続するか否かを判定するために、投票又は他の機構に追加の重み付けを追加することを含んでもよい。これに点について、任意の適切なランク付け機構が使用されてもよい。ネットワークへの接続は、少なくとも部分的にそのランク付けに基づいてもよい。
【0059】
クライアント18は、デバイス、1つ以上の候補ワイヤレスネットワーク、又はデバイスと1つ以上の候補ネットワークとの両方に関連する属性を取得する(35)。幾つかの実装においては、前述のように、収集エンジン29が属性を取得する。例えば、デバイスに関連する属性は、デバイス自体から、又はポリシーが取得される時間においてサーバーシステムから取得されたデバイスプロファイルから取得されてもよい。幾つかの実装においては、1つ以上の候補ネットワークに関連する属性は、測定を通して(例えば、テストパケットを送信及び受信することによって)ネットワークから、又はポリシーが取得される時間においてサーバーシステムから取得されたネットワークプロファイルから取得されてもよい。優先ネットワークを識別するための場合にあったように、幾つかの実装においては、デバイス、ワイヤレスネットワーク、又はデバイスとワイヤレスネットワークとの両方に関連する属性は、デバイスを経時的に監視することによって取得されてもよい。図2はランク付け後に属性を取得することを示すが、属性は、任意の適切な時間において取得されてもよく、図2に示されるシーケンスに限定されない。
【0060】
幾つかの実装においては、クライアント18は、ワイヤレスネットワークの範囲に入り、これを認識する(35)。この文脈において、認識は、既知のネットワークを識別することに限定されず、任意のネットワークの存在を識別することを含む。幾つかの実装においては、ネットワークの認識に続いて、クライアント18は、リストにおいて最高にランク付けされたワイヤレスネットワークで開始して優先ネットワークのリストを横切り、識別されたワイヤレスネットワークに遭遇するまでリストを下に移動してもよい。ネットワークがリストにおいて見つけられると、クライアントは、他の属性の分析に関係なく、ワイヤレスネットワークへの接続を試行してもよい。つまり、接続は、ランク付けにのみ基づいてもよい。幾つかの実装においては、デバイスが現在、新しく識別されたワイヤレスネットワークより高くランク付けされる優先ネットワークに接続されている場合には、デバイスは、ネットワークを切り替えることを控えてもよい。そして、新しく識別されたワイヤレスネットワークがリストにない場合には、他の因子が、デバイスがワイヤレスネットワークに接続するか否かを規定してもよい。
【0061】
幾つかの実装においては、クライアント18は、ワイヤレスネットワークの範囲に入り、これを認識する(35)。幾つかの実装においては、クライアント18は、識別されたワイヤレスネットワークを検索するために、リストにおいて最高にランク付けされたワイヤレスネットワークで開始してリストを横切り、リストを下に移動する。この例においては、ワイヤレスネットワークは、優先ワイヤレスネットワークとして識別されてもよい。幾つかの実装においては、優先ネットワークは、そのサービスのレベルを判定するために評価されてもよい。従って、幾つかの実装においては、接続の決定は、ネットワークが優先ネットワークであるという事実と、優先ネットワークが提供するサービスのレベルとの両方に基づいてもよい。例えば、場合によっては、優先ネットワークによって提供されるサービスのレベルは、非優先ネットワークによって提供されるサービスのレベルより大幅に低くてもよい。このような場合には、非優先ネットワークに接続し、又はこれに接続したままにすることが望ましい場合がある。よって、優先ネットワークと非優先ネットワークとの両方が、優先ネットワーク又は非優先ネットワークに接続するかを判定するために、例えば、投票モジュールによって評価されてもよい。
【0062】
この点について、クライアントにおける投票モジュールは、投票を生成するために、ネットワークの優先順位付け等を含む、様々な属性を評価する(36)。説明されたように、投票モジュールは、1つ以上の属性を評価し、評価に基づいて1つ以上の投票を生成する。ネットワークが優先ネットワークであることを示す投票は、他の投票が優先ネットワークに接続するか否かを判定する際の因子になってもよいが、これらの他の投票より重くなってもよい。そして、クライアントは、本明細書で説明されるように投票を解釈し(37)、投票に基づいてワイヤレスネットワークに接続するか否かを判定し(38)てもよい。
【0063】
クライアントは、判定に基づいてモバイルデバイスを制御する(39)。ワイヤレスネットワークへの接続を試行又は実装するようにデバイスを制御することは、本明細書で説明されるように、1つ以上のポリシーにおいて画定された制約に基づいて、デバイスに既存のネットワーク接続を維持させることを含んでもよい。ワイヤレスネットワークへの接続を試行又は実装するようにデバイスを制御することは、本明細書で説明されるように、デバイスに第1のワイヤレスネットワークへの既存の接続を切断させ、1つ以上のポリシーによって画定された制約に基づいて第2のワイヤレスネットワークへの新しい接続を作り出すことを含んでもよい。
【0064】
図3は、本明細書で説明されるプロセスによって作成された例示的なランク付けを示す。説明されたように、このランク付きは、ワイヤレスネットワークへの接続がなされる順序に影響する。この例においては、ネットワーク42及び45は、これらが接続される時刻、期間、及びモビリティ状態のために、それぞれホームネットワーク及びワークネットワークであるとみなされる。この例においては、ポリシーは、ネットワークがまたスループットによってランク付けされることを要求する。ここで、ネットワーク45は、高いスループットを有するとみなされ、一方、ネットワーク42はそうとはみなされない。よって、これらの2つのネットワークのうちのネットワーク45がより高くランク付けされる。他のポリシーは、他の属性を優先順位付けしてもよい。例えば、幾つかの実装においては、ホームネットワークが常に最も高くランク付けされてもよい。2つの残りのネットワークのうちのネットワーク44は、測定された低いレイテンシを有し、ネットワーク43のためのデータはない。例示的なポリシーによれば、ネットワークパフォーマンスは優先ネットワークより重要ではないが、一部のデータを有するネットワークは、データを有さないネットワークより高くランク付けされる。よって、ネットワーク44は3番目にランク付けされ、ネットワーク43は最後にランク付けされる。本明細書で説明されるように、これらのランキングは、本明細書で説明されるように、ネットワーク接続の優先度を判定する際に、及び本明細書で説明されるように、ネットワーク接続を構成するためのプロセスの際に使用されてもよい。
【0065】
幾つかの実装においては、ユーザの動作又はモバイルデバイスとの対話は、優先順位付けされたワイヤレスネットワークの特性に影響を与えてもよい。例えば、クライアントが優先として特徴付けたユーザネットワークに接続し、又は既存のネットワークからクライアントが優先として特徴付けたネットワークに接続を切り替える場合には、デバイスのユーザは、手動で、クライアントが優先として特徴付けたネットワークから切断し、又はクライアントが優先として特徴付けたネットワークから既存のネットワークに戻すように切り替えてもよい。クライアントは、デバイス入力に基づいてこのアクションが発生する毎に検出してもよい。そして、このアクション(ユーザの手動切り替え)が1回以上起こる場合には、クライアントは、クライアントがネットワークを優先として誤って特徴付けたと推測してもよい。幾つかの実装においては、このアクションは、クライアントがネットワークを優先として誤って特徴付けたと推測するために一度だけ起こる必要がある。幾つかの実装においては、このアクションは、クライアントがネットワークを優先として誤って特徴付けたと推測するために、閾値の回数(例えば、3、5、10回、等)より多く起こる必要がある。幾つかの実装においては、このアクションは、クライアントがネットワークを優先として誤って特徴付けたと推測するために、測定された画定された一定期間に亘る、例えば、分、時間、日、等における閾値の回数より多く起こる必要がある。クライアントがネットワークを優先として誤って特徴付けた場合には、クライアントは、ネットワークを非優先として再特徴付けし、ネットワークをその他の属性と釣り合ったランク付けに下げる。例えば、ネットワークの元のランク付けが復元されてもよい。
【0066】
プロセスは、WiFi(登録商標)ネットワークの文脈において説明されたが、これらのプロセスは、任意の適切な1つ以上のワイヤレスネットワークで使用されてもよい。このような他のネットワークの例は、LTEネットワーク、3Gネットワーク、4Gネットワークのようなセルラーネットワーク、モノのインターネット(IoT)ネットワーク、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、又はワイヤレスネットワークの適切な組合せを含むが、これらに限定されない。この点について、プロセスは、同じタイプのワイヤレスネットワーク間又は異なるタイプのワイヤレスネットワーク間で接続を切り替えるために適用されてもよい。
【0067】
プロセスは、管理されるワイヤレスネットワークと管理されないワイヤレスネットワークとの両方で使用されてもよい。幾つかの例においては、管理されるネットワークにおいて操作するために、クライアントは、ポリシーと共にデバイスセキュリティ認証情報を取得する。一例は、ユーザ名及びパスワードを含むが、これらに限定されない。この情報は、接続操作中にワイヤレスネットワークに提供される。幾つかの例においては、管理されないネットワークにおいて操作するために、デバイスそれ自体がセキュリティ認証情報を既知であり、例えば、セキュリティ認識情報は、ポリシーと共にサーバーシステムによって提供されない。この情報は、接続操作中にワイヤレスネットワークに提供される。
【0068】
本明細書で説明されるサーバーシステムの全て又は一部を実装するために使用されてもよいコンピューティングシステムは、様々な形態のデジタルコンピュータを含んでもよい。デジタルコンピュータの例は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末(PDA)、サーバー、ブレードサーバー、メインフレーム、及び他の適切なコンピュータを含むが、これらに限定されない。コンピューティングシステムは、本明細書で説明されるモバイルデバイスの一部であり、これに含まれ、又はその全て若しくは一部を実装するために使用されてもよい。モバイルデバイスの例は、タブレットコンピューティングデバイス、携帯情報端末、携帯電話、スマートフォン、デジタルカメラ、デジタルグラス、及びその他のポータブルコンピューティングデバイスを含むが、これらに限定されない。本明細書で説明されるコンピューティングデバイス、これらの接続及び関係、並びこれらの機能は、例にすぎないことが意味され、技術の実装を制限することが意味されない。
【0069】
本明細書で説明されるプロセス、及びこれらの様々な変更の全て又は一部(以下「プロセス」と呼ぶ)は、少なくとも部分的に、データ処理装置、例えば、プログラム可能なプロセッサ、コンピュータ、若しくは複数のコンピュータによる実行のために、又はその操作の制御に対して、コンピュータプログラム製品、例えば、1つ以上の情報担体、例えば、1つ以上の触知可能な機械可読記憶媒体に触知可能に具現化されたコンピュータプログラムを介して実装されことができる。
【0070】
コンピュータプログラムは、コンパイル又はインタープリター言語を含む、任意の形態のプログラミング言語において記述されることができ、これは、スタンドアロンプログラムとして、又はコンピューティング環境における使用に適するモジュール、部品、サブルーチン、若しくはその他のユニットとして含む、任意の形態において展開されることができる。コンピュータプログラムは、1つのコンピュータにおいて、又は1つのサイトにあり、若しくは複数のサイトに亘って分散され、ネットワークによって相互接続される複数のコンピュータにおいて実行されるように展開されることができる。
【0071】
プロセスの実装に関連するアクションは、キャリブレーションプロセスの機能を実行するために、1つ以上のコンピュータプログラムを実行する1つ以上のプログラム可能なプロセッサによって実行されることができる。プロセスの全て又は一部は、専用ロジック回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)及び/又はASIC(特定用途向け集積回路)として実装されることができる。
【0072】
コンピュータプログラムの実行のために適するプロセッサは、例として、汎用と専用との両方のマイクロプロセッサ、及び任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般的に、プロセッサは、読み取り専用記憶領域、ランダムアクセス記憶領域、又はこれらの両方から命令及びデータを受け取る。コンピュータ(サーバーを含む)の要素は、命令を実行するための1つ以上のプロセッサ、並びに命令及びデータを格納するための1つ以上の記憶領域デバイスを含む。一般的に、コンピュータはまた、データを保存するための大容量記憶デバイス、例えば、磁気、光磁気ディスク、若しくは光ディスクのような、1つ以上の機械可読記憶媒体を含み、又はこれらからデータを受け取り、これらにデータを転送し、若しくはこれらの両方をするように操作可能に結合される。コンピュータプログラムの命令及びデータを具現化するために適する非一時的機械可読記憶媒体は、例として、半導体記憶領域デバイス、例えば、EPROM、EEPROM、及びフラッシュ記憶領域デバイス、磁気ディスク、例えば、内蔵ハードディスク又はリムーバブルディスク、光磁気ディスク、並びにCD-ROM及びDVD-ROMディスクを含む、全ての形態の不揮発性記憶領域を含む。
【0073】
スマートフォン又はサーバーのような各コンピューティングデバイスは、データ及びコンピュータプログラムを格納するためのハードドライブ、並びにコンピュータプログラムを実行するための処理デバイス(例えば、マイクロプロセッサ)及びメモリ(例えば、RAM)を含んでもよい。
【0074】
コンピューティングデバイスは、ディスプレイ画面を含むグラフィックシステムを含んでもよい。LCD又はCRT(Cathode Ray Tube)のようなディスプレイ画面は、コンピューティングデバイスのグラフィックスシステムによって生成される画像をユーザに表示する。周知のように、コンピュータディスプレイ(例えば、モニタ)における表示は、コンピュータディスプレイを物理的に変換する。例えば、コンピュータディスプレイがLCDベースである場合には、液晶の配向は、ユーザに視覚的に明らかである物理的変換におけるバイアス電圧の印加によって変化することができる。別の例として、コンピュータディスプレイがCRTである場合には、蛍光スクリーンの状態は、視覚的に明らかである物理的変換における電子の影響によって変化することができる。各ディスプレイ画面は、タッチセンサ式であってもよく、ユーザが仮想キーボードを介してディスプレイ画面に情報を入力することを可能にする。デスクトップ又はスマートフォンのような幾つかのコンピューティングデバイスにおいては、ディスプレイ画面に情報を入力するために物理的なQWERTYキーボード及びスクロールホイールが提供されてもよい。コンピューティングデバイス、及びこれにおいて実行されるコンピュータプログラムはまた、音声コマンドを受け入れ、このようなコマンドに応答して機能を実行するように構成されてもよい。例えば、本明細書で説明される例示的なプロセスは、可能な範囲で、音声コマンドを介してクライアントにおいて着手されてもよい。
【0075】
本明細書で説明される様々な実装の要素は、上記で具体的に説明されない他の実装を形成するために組合されてもよい。要素は、本明細書で説明されるプロセス、コンピュータプログラム、インターフェイス、等から、これらの操作又は一般的なシステムの操作に悪影響を与えることなく除外されてもよい。更に、本明細書で説明される機能を実行するために、様々な別個の要素が、1つ以上の個々の要素に組合されてもよい。
【0076】
本明細書で具体的に説明されない他の実装がまた、添付の特許請求の範囲内にある。
図1
図2
図3