(57)【特許請求の範囲】
【請求項１】
移動デバイスによって実行される方法であって、
前記移動デバイスが複数の第１の無線アクセスポイントによって規定される第１のジオフェンス及び複数の第２の無線アクセスポイントによって規定される第２のジオフェンスの内側に存在することを判定するステップであって、前記移動デバイスが前記第１の無線アクセスポイントの少なくとも１つ及び前記第２の無線アクセスポイントの少なくとも１つから信号を検出したことを判定することを含む、ステップと、
テンポラリジオフェンスを作成するステップであって、前記移動デバイスの現在のロケーションを前記テンポラリジオフェンスのフェンスロケーションとして指定することを含み、前記テンポラリジオフェンスは前記第１のジオフェンスと前記第２のジオフェンスとの両方と交差する、ステップと、
前記テンポラリジオフェンスをモニタリングするための１つ以上の共通ゲートウェイを識別するステップであって、前記共通ゲートウェイは、前記移動デバイスが前記第１のジオフェンスと前記第２のジオフェンスとの両方に位置する場合に、前記移動デバイスによって観測可能である１つ以上の無線アクセスポイントを含んでいる、ステップと、
識別された前記共通ゲートウェイのうちの少なくとも１つを、前記テンポラリジオフェンスからの退出をモニタリングするための退出ゲートウェイとして指定するステップと、
前記テンポラリジオフェンスからの前記移動デバイスの退出を検出するステップであって、少なくとも閾値回数のスキャンに対して、前記移動デバイスによって前記退出ゲートウェイが観測可能でないことを判定することを含む、ステップと、
前記テンポラリジオフェンスからの前記退出を検出したことに応じて、前記移動デバイスが、前記第１のジオフェンス又は第２のジオフェンスから退出したことを判定するステップと、
を備えることを特徴とする方法。
【請求項２】
前記移動デバイスが前記第１のジオフェンス及び前記第２のジオフェンスの内側に存在することを判定するステップは、前記移動デバイスの無線プロセッサによって前記信号を検出することを含んでいる
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記第１のジオフェンス又は前記第２のジオフェンスからの前記移動デバイスの退出を検出するステップは、
前記退出ゲートウェイが前記無線プロセッサによって観測可能でないことを判定すること、
前記移動デバイスのアプリケーションプロセッサを使用して、前記移動デバイスが前記第１のジオフェンス又は前記第２のジオフェンスを退出したことを判定すること
を含んでいる
ことを特徴とする請求項２に記載の方法。
【請求項４】
前記テンポラリジオフェンスは、事前に指定される半径を有する
ことを特徴とする請求項１に記載の方法。
【請求項５】
前記第２のジオフェンスは、前記第１のジオフェンスと交差する
ことを特徴とする請求項１に記載の方法。
【請求項６】
前記退出ゲートウェイは、前記移動デバイスが前記テンポラリジオフェンスの前記フェンスロケーションに位置するときに、ジオフェンスをモニタリングするためにあらかじめ選択されていない無線アクセスポイントであるが、前記移動デバイスによって観測可能である、
ことを特徴とする請求項１に記載の方法。
【請求項７】
前記移動デバイスが前記第１のジオフェンス又は前記第２のジオフェンスを退出したことを判定するステップは、
前記移動デバイスの新規のロケーションを判定すること、
前記新規のロケーションと前記第１のジオフェンスのロケーション又は前記第２のジオフェンスのロケーションとの間の比較に基づいて、前記移動デバイスが前記第１のジオフェンス又は前記第２のジオフェンスを退出したことを判定すること、
を含んでいる、
ことを特徴とする請求項６に記載の方法。
【請求項８】
前記第１のジオフェンス又は前記第２のジオフェンスから前記移動デバイスが退出したことを判定するステップは、
前記比較に基づいて、前記移動デバイスがなおも前記第１のジオフェンス及び前記第２のジオフェンスの両方に位置していることを判定すること、
第２のテンポラリジオフェンスを作成すること、
前記移動デバイスが前記第２のテンポラリジオフェンスを退出するときに前記移動デバイスが前記第１のジオフェンス又は前記第２のジオフェンスを退出したと判定すること、
を含んでいる
ことを特徴とする請求項７に記載の方法。
【請求項９】
移動デバイスに動作を実行させるコンピュータプログラムを記憶するコンピュータ可読記憶媒体であって、
前記動作は、
前記移動デバイスが複数の第１の無線アクセスポイントによって規定される第１のジオフェンス及び複数の第２の無線アクセスポイントによって規定される第２のジオフェンスの内側に存在することを判定するステップであって、前記移動デバイスが前記第１の無線アクセスポイントの少なくとも１つ及び前記第２の無線アクセスポイントの少なくとも１つから信号を検出したことを判定することを含む、ステップと、
テンポラリジオフェンスを作成するステップであって、前記移動デバイスの現在のロケーションを前記テンポラリジオフェンスのフェンスロケーションとして指定することを含み、前記テンポラリジオフェンスは前記第１のジオフェンスと前記第２のジオフェンスとの両方と交差する、ステップと、
前記テンポラリジオフェンスをモニタリングするための１つ以上の共通ゲートウェイを識別するステップであって、前記共通ゲートウェイは、前記移動デバイスが前記第１のジオフェンスと前記第２のジオフェンスとの両方に位置する場合に、前記移動デバイスによって観測可能である１つ以上の無線アクセスポイントを含んでいる、ステップと、
識別された前記共通ゲートウェイのうちの少なくとも１つを、前記テンポラリジオフェンスからの退出をモニタリングするための退出ゲートウェイとして指定するステップと、
前記テンポラリジオフェンスからの前記移動デバイスの退出を検出するステップであって、少なくとも閾値回数のスキャンに対して、前記移動デバイスによって前記退出ゲートウェイが観測可能でないことを判定することを含む、ステップと、
前記テンポラリジオフェンスからの前記退出を検出したことに応じて、前記移動デバイスが、前記第１のジオフェンス又は第２のジオフェンスから退出したことを判定するステップと、
を含んでいる
ことを特徴とするコンピュータ可読記憶媒体。
【請求項１０】
前記移動デバイスが前記第１のジオフェンス及び前記第２のジオフェンスの内側に存在することを判定するステップは、前記移動デバイスの無線プロセッサによって前記信号を検出することを含んでいる
ことを特徴とする請求項９に記載のコンピュータ可読記憶媒体。
【請求項１１】
前記第１のジオフェンス又は前記第２のジオフェンスからの前記移動デバイスの退出を検出するステップは、
前記退出ゲートウェイが前記無線プロセッサによって観測可能でないことを判定すること、
前記移動デバイスのアプリケーションプロセッサを使用して、前記移動デバイスが前記第１のジオフェンス又は前記第２のジオフェンスを退出したことを判定すること
を含んでいる
ことを特徴とする請求項１０に記載のコンピュータ可読記憶媒体。
【請求項１２】
前記テンポラリジオフェンスは、事前に指定される半径を有する
ことを特徴とする請求項９に記載のコンピュータ可読記憶媒体。
【請求項１３】
前記第２のジオフェンスは、前記第１のジオフェンスと交差する
ことを特徴とする請求項９に記載のコンピュータ可読記憶媒体。
【請求項１４】
前記退出ゲートウェイは、前記移動デバイスが前記テンポラリジオフェンスの前記フェンスロケーションに位置するときに、ジオフェンスをモニタリングするためにあらかじめ選択されていない無線アクセスポイントであるが、前記移動デバイスによって観測可能である、
ことを特徴とする請求項９に記載のコンピュータ可読記憶媒体。
【請求項１５】
前記移動デバイスが前記第１のジオフェンス又は前記第２のジオフェンスを退出したことを判定するステップは、
前記移動デバイスの新規のロケーションを判定すること、
前記新規のロケーションと前記第１のジオフェンスのロケーション又は前記第２のジオフェンスのロケーションとの間の比較に基づいて、前記移動デバイスが前記第１のジオフェンス又は前記第２のジオフェンスにいることを判定すること、
を含んでいる
ことを特徴とする請求項１４に記載のコンピュータ可読記憶媒体。
【請求項１６】
前記第１のジオフェンス又は前記第２のジオフェンスから前記移動デバイスが退出したことを判定するステップは、
前記比較に基づいて、前記移動デバイスがなおも前記第１のジオフェンス及び前記第２のジオフェンスの両方に位置していることを判定すること、
第２のテンポラリジオフェンスを作成すること、
前記移動デバイスが前記第２のテンポラリジオフェンスを退出するときに前記移動デバイスが前記第１のジオフェンス又は前記第２のジオフェンスを退出したと判定すること、
を含んでいる
ことを特徴とする請求項１５に記載のコンピュータ可読記憶媒体。
【請求項１７】
システムであって、
移動デバイスと、
前記移動デバイスに動作を実行させるコンピュータプログラムを記憶する記憶装置と、を備え、
前記動作は、
前記移動デバイスが複数の第１の無線アクセスポイントによって規定される第１のジオフェンス及び複数の第２の無線アクセスポイントによって規定される第２のジオフェンスの内側に存在することを判定するステップであって、前記移動デバイスが前記第１の無線アクセスポイントの少なくとも１つ及び前記第２の無線アクセスポイントの少なくとも１つから信号を検出したことを判定することを含む、ステップと、
テンポラリジオフェンスを作成するステップであって、前記移動デバイスの現在のロケーションを前記テンポラリジオフェンスのフェンスロケーションとして指定することを含み、前記テンポラリジオフェンスは前記第１のジオフェンスと前記第２のジオフェンスとの両方と交差する、ステップと、
前記テンポラリジオフェンスをモニタリングするための１つ以上の共通ゲートウェイを識別するステップであって、前記共通ゲートウェイは、前記移動デバイスが前記第１のジオフェンスと前記第２のジオフェンスとの両方に位置する場合に、前記移動デバイスによって観測可能である１つ以上の無線アクセスポイントを含んでいる、ステップと、
識別された前記共通ゲートウェイのうちの少なくとも１つを、前記テンポラリジオフェンスからの退出をモニタリングするための退出ゲートウェイとして指定するステップと、
前記テンポラリジオフェンスからの前記移動デバイスの退出を検出するステップであって、少なくとも閾値回数のスキャンに対して、前記移動デバイスによって前記退出ゲートウェイが観測可能でないことを判定することを含む、ステップと、
前記テンポラリジオフェンスからの前記退出を検出したことに応じて、前記移動デバイスが、前記第１のジオフェンス又は第２のジオフェンスから退出したことを判定するステップと、
を含んでいる
ことを特徴とするシステム。
【請求項１８】
前記移動デバイスが前記第１のジオフェンス及び前記第２のジオフェンスの内側に存在することを判定するステップは、前記移動デバイスの無線プロセッサによって前記信号を検出することを含んでいる
ことを特徴とする請求項１７に記載のシステム。
【請求項１９】
前記第１のジオフェンス又は前記第２のジオフェンスからの前記移動デバイスの退出を検出するステップは、
前記退出ゲートウェイが前記無線プロセッサによって観測可能でないことを判定すること、
前記移動デバイスのアプリケーションプロセッサを使用して、前記移動デバイスが前記第１のジオフェンス又は前記第２のジオフェンスを退出したことを判定すること
を含んでいる
ことを特徴とする請求項１８に記載のシステム。
【請求項２０】
前記テンポラリジオフェンスは、事前に指定される半径を有する
ことを特徴とする請求項１７に記載のシステム。
【請求項２１】
前記第２のジオフェンスは、前記第１のジオフェンスと交差する
ことを特徴とする請求項１７に記載のシステム。
【請求項２２】
前記退出ゲートウェイは、前記移動デバイスが前記テンポラリジオフェンスの前記フェンスロケーションに位置するときに、ジオフェンスをモニタリングするためにあらかじめ選択されていない無線アクセスポイントであるが、前記移動デバイスによって観測可能である、
ことを特徴とする請求項１７に記載のシステム。
【請求項２３】
前記移動デバイスが前記第１のジオフェンス又は前記第２のジオフェンスを退出したことを判定するステップは、
前記移動デバイスの新規のロケーションを判定すること、
前記新規のロケーションと前記第１のジオフェンスのロケーション又は前記第２のジオフェンスのロケーションとの間の比較に基づいて、前記移動デバイスが前記第１のジオフェンス又は前記第２のジオフェンスから退出したことを判定すること
を含んでいる
ことを特徴とする請求項２２に記載のシステム。
【請求項２４】
前記第１のジオフェンス又は前記第２のジオフェンスから前記移動デバイスが退出したことを判定するステップは、
前記比較に基づいて、前記移動デバイスがなおも前記第１のジオフェンス及び前記第２のジオフェンスの両方に位置していることを判定すること、
第２のテンポラリジオフェンスを作成すること、
前記移動デバイスが前記第２のテンポラリジオフェンスを退出するときに前記移動デバイスが前記第１のジオフェンス又は前記第２のジオフェンスを退出したと判定すること、
を含んでいる
ことを特徴とする請求項２３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的には、移動デバイス上でのロケーションベース処理に関するものである。
【背景技術】
【０００２】
現代の移動デバイスは、コンピュータ、セルラートランシーバ、及び無線（例えば、ＷｉＦｉ（登録商標））トランシーバの機能を組み込むことができる。例えば、移動デバイスは、伝統的なコンピュータ機能を実行することでき、このコンピュータ機能には、アプリケーションプログラムの実行、様々なデータの記憶、及びデジタル画像の表示がある。これらの機能は、移動デバイスのアプリケーションサブシステムで実行することができる。アプリケーションサブシステムは、アプリケーションプロセッサ、アプリケーションオペレーティングシステム、及び様々な入力／出力デバイスを含むことができる。セルラートランシーバを使用することで、移動デバイスは、セルラーフォンとして機能することができる。無線トランシーバを使用することで、移動デバイスは、１つ以上の無線アクセスポイントを介して通信ネットワークへアクセスすることができる。
【０００３】
移動デバイスによって実行される機能のいくつかは、ジオフェンス（geofence：仮想的な地理的境界線）に基づいて機能することができる。ジオフェンスは、実世界の地理的領域の仮想的な境界を含むことができる。移動デバイスは、移動デバイスがジオフェンスの内側に位置していると、タスクを実行するようにプログラムすることができる。移動デバイスは、移動デバイスのロケーション（位置）と、地理的エリアの座標とを比較することによって移動デバイスがジオフェンスの内側に位置しているかどうかを判定することができる。従来の移動デバイスは、基地局による三角測量機能あるいはグローバルポジショニングシステム（ＧＰＳ）機能を使用して現在のロケーションを判定することができる。移動デバイスのアプリケーションプロセッサは、この三角測量あるいはＧＰＳ計算を実行することができる。
【発明の概要】
【０００４】
無線アクセスポイントを使用してジオフェンスをモニタリングするための方法、プログラム及びシステムが開示される。一般的には、一態様では、移動デバイスは、ジオフェンスを定義するデータを受信する。移動デバイスは、複数の無線アクセスポイントから、ジオフェンスをモニタリングするための１つ以上の無線アクセスポイントを選択することができる。選択される無線アクセスポイントは、移動デバイスの無線プロセッサによってモニタすることができる。無線プロセッサは、選択される１つ以上の無線アクセスポイントの少なくとも１つが検出される場合、ジオフェンスの潜在的な進入を検出することができる。無線プロセッサによるジオフェンスの潜在的な進入の検出に応じて、移動デバイスは、移動デバイスのアプリケーションプロセッサをウェイクして、移動デバイスがジオフェンスの内側に存在するかどうかを判定することができる。
【０００５】
別の態様では、移動デバイスは、ジオフェンスをモニタリングするために選択される無線アクセスポイントである１つ以上の進入ゲートウェイを検出することができる。移動デバイスは、その検出に基づいて、移動デバイスがジオフェンス内に位置していることを判定することができる。移動デバイスは、進入ゲートウェイと１つ以上の退出ゲートウェイとをモニタすることができ、これらは、移動デバイスがジオフェンス内に存在する場合に移動デバイスによって観測可能な無線アクセスポイントであり得る。移動デバイスが、無線プロセッサを使用するいくつかのスキャンの後に、進入ゲートウェイと退出ゲートウェイが観測可能でないと判定する場合、移動デバイスは、アプリケーションプロセッサを使用して、移動デバイスがジオフェンスから退出しているかどうかを判定することができる。
【０００６】
別の態様では、移動デバイスは、複数のジオフェンスを同時にモニタすることができる。移動デバイスは、移動デバイスの現在のロケーションに基づいて暫定的なジオフェンスを作成することができる。移動デバイスは、複数のジオフェンスのそれぞれから観測可能な１つ以上の無線アクセスポイントを、テンポラリジオフェンスをモニタリングするための共通のゲートウェイとして指定することができる。移動デバイスが、無線プロセッサを使用するいくつかスキャンの後、共通のゲートウェイが観測可能でないと判定する場合、移動デバイスは、アプリケーションプロセッサをウェイクアップして、移動デバイスが複数のジオフェンスのそれぞれから退出しているかどうかを判定することができる。
【０００７】
別の態様では、移動デバイスは、ジオフェンスを定義するデータを受信することができる。移動デバイスは、複数の無線アクセスポイントから、ジオフェンスをモニタリングするための１つ以上の無線アクセスポイントを選択することができる。選択される無線アクセスポイントは、移動デバイスの無線プロセッサによってモニタすることができる。無線プロセッサは、連続スキャンの閾値数に対して、選択される１つ以上の無線アクセスポイントが１つも無線プロセッサによって検出されない場合、ジオフェンスの潜在的な退出を検出することができる。無線プロセッサによるジオフェンスの潜在的な退出の検出に応じて、移動デバイスは、移動デバイスのアプリケーションプロセッサをウェイクアップして、移動デバイスがジオフェンスを退出したかどうかを判定することができる。
【０００８】
別の態様では、複数の無線アクセスポイントから、ジオフェンスをモニタリングするための１つ以上の無線アクセスポイントを選択することができる。１つ以上の無線アクセスポイントを選択することは、ジオフェンスに対応する複数の地理的領域を判定することを含むことができる。移動デバイスは、選択される無線アクセスポイントの最大総数と、複数の地理的領域のそれぞれに対するアクセスポイント許容量に基づいて、１つ以上の無線アクセスポイントを選択することができる。アクセスポイント許容量は、地理的領域に対して選択される無線アクセスポイントの最大数を示すことができる。移動デバイスは、無線プロセッサを使用して、選択される１つ以上の無線アクセスポイントをモニタリングすることによって、ジオフェンスの潜在的な進入あるいは退出を検出することができる。無線プロセッサによるジオフェンスの潜在的な進入あるいは退出の検出に応じて、移動デバイスは、移動デバイスのアプリケーションプロセッサをウェイクアップして、移動デバイスがジオフェンスの内側あるいは外側に存在するかどうかを判定することができる。
【０００９】
本明細書で説明される技術は、以下の利点を達成するように実現することができる。バッテリ電力を節約することができる。ジオフェンスのモニタリングは、定期的なあるいは頻繁なロケーション識別を要求することができる。ロケーション識別は、アプリケーションプロセッサによって実行される。上述の技術を実現する移動デバイスは、無線プロセッサ（例えば、ＷｉＦｉ（登録商標）チップ）を使用してジオフェンスをモニタすることができ、これは、アプリケーションプロセッサよりも少ない電力を通常は消費する。アプリケーションプロセッサを、非アクティブモードにして、ジオフェンスとの相対的な移動デバイスのロケーションが変更されている場合にはその非アクティブモードを解除することができる。このようにして、定期的なあるいは頻繁なロケーション識別動作を、その時間のほとんどを、あまり電力を要求しないコンポーネントによって実行することができる。
【００１０】
移動デバイスとジオフェンスとの間の相対的な位置は、精度を犠牲にすることなく、制限のあるスキャン能力の無線プロセッサを使用して無線アクセスポイントをモニタリングすることによって検出することができる。ジオフェンスは、無線プロセッサがモニタすることができる以上の無線アクセスポイントに関連付けることができる。移動デバイスは、本明細書で説明される技術を使用して、スキャン用の、統計的により多くの重要な無線アクセスポイントを選択することができる。こうして、移動デバイスは、無線プロセッサの能力の制約下でジオフェンスをモニタすることができる、あるいは、同時に複数のジオフェンスをモニタすることができる。
【００１１】
本明細書の特徴事項の１つ以上の実装の詳細は、添付の図面と以下の記載で説明される。他の特徴、態様、及び特徴事項の利点は、記載、図面及び請求項から逸脱するものではない。
【図面の簡単な説明】
【００１２】
【図１Ａ】ジオフェンスをモニタリングする例示の技術を示す図である。
【図１Ｂ】ジオフェンスをモニタリングする例示の技術を示す図である。
【図１Ｃ】ジオフェンスをモニタリングする例示の技術を示す図である。
【図２】無線アクセスポイントを使用して、ジオフェンスをモニタリングする技術を実現するシステムの例示のコンポーネントを示すブロック図である。
【図３Ａ】ジオフェンスをモニタリングする際の例示の誤り防止技術を示す図である。
【図３Ｂ】ジオフェンスをモニタリングする際の例示の誤り防止技術を示す図である。
【図４Ａ】ジオフェンスをモニタリングする例示の動作を示すフローチャートである。
【図４Ｂ】ジオフェンスをモニタリングする例示の動作を示すフローチャートである。
【図４Ｃ】ジオフェンスをモニタリングする例示の動作を示すフローチャートである。
【図４Ｄ】ジオフェンスをモニタリングする例示の動作を示すフローチャートである。
【図５】ジオフェンスベースサービスを使用する、移動デバイスの例示のユーザインタフェースを示す図である。
【図６】ジオフェンスをモニタリングするための無線アクセスポイントを選択する例示のプロセスを示すフローチャートである。
【図７】地理的グリッドを使用してモニタリングするための無線アクセスポイントを選択するための例示の技術を示す図である。
【図８Ａ】選択用の候補無線アクセスポイントを識別する際に使用される例示の無線アクセスポイント許容量を示す図である。
【図８Ｂ】選択用の無線アクセスポイント候補を識別する際に使用される例示の無線アクセスポイント許容量を示す図である。
【図９Ａ】地理的グリッドに無線アクセスポイント許容量を割り当てる例示の段階を示す図である。
【図９Ｂ】地理的グリッドに無線アクセスポイント許容量を割り当てる例示の段階を示す図である。
【図９Ｃ】地理的領域に基づいて候補無線アクセスポイントを識別する例示のプロセスを示すフローチャートである。
【図９Ｄ】チャネル最適化に基づいて、候補無線アクセスポイントを識別する技術を示す例示のヒストグラムを示す図である。
【図１０】候補無線アクセスポイントのセットを評価するための例示の技術を示す図である。
【図１１】候補無線アクセスポイントのセットからジオフェンスをモニタリングするための無線アクセスポイントを選択する例示の技術を示す図である。
【図１２】候補無線アクセスポイントのセットから複数のジオフェンス用の無線アクセスポイントを選択する例示の技術を示す図である。
【図１３Ａ】複数のジオフェンスをモニタリングするための無線アクセスポイントを選択するための例示の動作を示すフローチャートである。
【図１３Ｂ】図１３Ａの動作の例示のアプリケーションを示す図である。
【図１４】ジオフェンスをモニタリングするための無線アクセスポイントを選択する技術を実現するシステムの例示のコンポーネントを示すブロック図である。
【図１５】無線アクセスポイント選択の例示の動作を示すフローチャートである。
【図１６】図１−図１５を参照して説明される特徴及び動作を実現する移動デバイスの例示のデバイスアーキテクチャを示すブロック図である。
【図１７】図１−図１６の移動デバイスの例示のネットワーク動作環境のブロック図である。  様々な図面中の同様の参照番号は、同様の要素を示している。
【発明を実施するための形態】
【００１３】
ジオフェンスの例示の検出
図１Ａ及び図１Ｂは、ジオフェンスを検出する例示の技術を示す図である。ジオフェンスを検出することは、移動デバイスがジオフェンスの内側あるいは外側に位置しているかどうかを検出することを含むことができる。図１Ａは、移動デバイス１００Ａによってジオフェンスへの進入を検出する例示の技術を示す図である。
【００１４】
移動デバイス１００は、ジオフェンスを検出する技術を実現する例示の移動デバイスとすることができる。移動デバイス１００は、アプリケーションプロセッサを含むアプリケーションサブシステム１０２、無線プロセッサを含む無線通信サブシステム１０４、及びベースバンドプロセッサを含むベースバンドサブシステムを含むことができる。
【００１５】
移動デバイス１００は、無線通信サブシステム１０４を使用して、ジオフェンスへの潜在的な進入を検出するように構成されている。ジオフェンス１１０は、フェンスロケーション（例えば、フェンスの中心）と、フェンスディメンジョン（例えば、フェンスが円である場合の半径）を含むことができる。フェンスロケーションは、緯度座標と経度座標とを含むことができる。ジオフェンス１１０は、エンティティ（例えば、会社、学校あるいは家）に関連付けることができる。
【００１６】
ジオフェンス１１０への潜在的な進入を検出するために、移動デバイス１００は、モニタリング用の１つ以上の無線アクセスポイントを選択することができる。１つ以上の無線アクセスポイントは、移動デバイスがジオフェンス１１０内に位置している場合に、移動デバイスから検出可能なものとして判定される無線アクセスポイントから選択することができる。選択された１つ以上の無線アクセスポイントは、黒三角印として、図１Ａ及び他の図面に示されている。選択された１つ以上の無線アクセスポイントは、無線アクセスポイント１１２を含むことができる。移動デバイスがジオフェンス１１０内に位置している場合に移動デバイスから検出可能な無線アクセスポイントのすべてが、ジオフェンス１１０のモニタリング用に選択されることが必要であるとは限らない。例えば、無線アクセスポイント１１４は、移動デバイス１００によって選択されるこのような無線アクセスポイントとすることができる。図１Ａ及び他の図面では、（ａ）移動デバイス１００がジオフェンス１１０内に位置している場合に移動デバイス１００から検出可能ではあるが、（ｂ）モニタリング用に移動デバイス１００によって選択されない無線アクセスポイントは白三角印で示されている。この選択は、仮想地理的グリッド１１６によって容易になる。仮想地理的グリッド１１６は、ジオフェンス１１０に対応する地理的エリアであり、このジオフェンス１１０は、選択する無線アクセスポイントを判定するために移動デバイス１００によって作成される。また、無線アクセスポイントの選択の詳細は、図６−図１５を参照して後述する。
【００１７】
移動デバイス１００は、無線通信サブシステム１０４を使用する、選択された１つ以上の無線アクセスポイントからの信号をスキャンすることによってジオフェンス１１０への進入をモニタすることができる。無線通信サブシステム１０４は、無線プロセッサとフェンス検出命令１０８を含むことができる。フェンス検出命令１０８の実行は、無線プロセッサに、１つ以上の通信チャネルをスキャンさせて、無線アクセスポイントからの信号を検出し、また、無線アクセスポイントのデバイス識別子を検出させることができる。無線アクセスポイントのデバイス識別子は、例えば、無線アクセスポイントのメディアアクセスコントロール（ＭＡＣ）アドレスを含むことができる。このスキャンがデバイス識別子を検出し、また、そのデバイス識別子が、選択された無線アクセスポイントの１つのデバイス識別子と一致する場合、潜在的なフェンス進入を検出することができる。無線通信サブシステム１０４が、各スキャン中に、少量の電力を消費する場合、移動デバイス１００は、バッテリを枯渇させることなく継続的にあるいは周期的に信号をスキャンすることができる。
【００１８】
この例では、移動デバイス１００の無線通信サブシステム１０４は、無線アクセスポイント１１２のデバイス識別子と一致するデバイス識別子に関連付けられている信号を検出する（１１１）。これに従って、無線通信サブシステム１０４は、ジオフェンスへの潜在的な進入を検出する。潜在的な進入の検出に応じて、無線通信サブシステム１０４は、アプリケーションサブシステム１０２をアクティベートすることができる。アプリケーションサブシステム１０２をアクティベートすることには、例えば、アプリケーションサブシステム１０２を「スリープ」状態からウェイクアップすることを含むことができる。インアクティブなアプリケーションサブシステム１０２は、図１Ａ及び他の図では、非ハッチングブロックとして示されている。アクティベートされているアプリケーションサブシステム１０２は、図１Ａ及び他の図面では、ハッチングブロックとして示されている。
【００１９】
アプリケーションサブシステム１０２は、アプリケーションプロセッサとジオフェンス命令１０６とを含むことができる。アプリケーションサブシステム１０２は、無線通信サブシステム１０４によってアクティベートされることに応じて、ジオフェンス命令１０６を実行して、移動デバイス１００がジオフェンス１１０に進入したかどうかを判定するように構成することができる。ジオフェンス命令１０６は、ロケーション判定命令とロケーション比較命令とを含むことができる。ロケーション判定命令は、実行に応じて、アプリケーションサブシステム１０２に、様々なロケーション判定デバイスあるいはプログラムを使用して移動デバイス１００の現在のロケーションを判定させることができる。移動デバイス１００の現在のロケーションを判定することは、無線通信サブシステム１０４による動作を含んでいても、いなくても良い。ロケーション比較命令は、実行に応じて、アプリケーションサブシステム１０２に、現在のロケーションとジオフェンス１１０とを比較させることができる（１１７）。
【００２０】
アプリケーションサブシステム１０２が、現在のロケーションがジオフェンス１１０（例えば、ロケーション１１８で）の内側にあると判定する場合、アプリケーションサブシステム１０２は、移動デバイス１００がジオフェンス１１０に進入したことを判定して、ジオフェンス１１０の進入に関連付けられているタスクを実行することができる。このタスクは、例えば、警告を表示することあるいは鳴らすこと、広告を表示すること、あるいはセキュリティ機能をアクティベートすることを含むことができる。
【００２１】
アプリケーションサブシステム１０２が、現在のロケーションがジオフェンス１１０内にないと判定する場合、アプリケーションサブシステム１０２は、移動デバイス１１０がジオフェンス１１０へ進入していないと判定し、また、無線通信サブシステム１０４によって検出される潜在的な進入は誤りである可能性があると判定することができる。アプリケーションサブシステム１０２は、無線アクセスポイント１１２に関する誤り防止動作を実行することができる（例えば、無線アクセスポイント１１２を「ブラックリストにのせる」）。誤り防止動作の更なる詳細は、図３Ａ及び図３Ｂを参照して以下で説明する。
【００２２】
移動デバイス１００の現在のロケーションを判定し、また、ジオフェンスへの進入が発生していることあるいは発生していないことを判定した後、アプリケーションサブシステム１０２は、現在のロケーションのモニタリングを停止し、無線通信サブシステムに、別のジオフェンスへの潜在的な進入を判定するためのスキャニング、あるいはジオフェンス１１０からの潜在的な退出を判定するためのスキャニングを継続することを許容する。このようにして、アプリケーションサブシステム１０２は、無線サブシステムがジオフェンス１１０のモニタリングを継続している間は、デアクティベートにすることができる（例えば、「スリープ」モードにする）。
【００２３】
図１Ｂは、ジオフェンスからの退出を検出する例示の技術を示す図である。移動デバイス１００は、図１Ａを参照して説明される技術を使用して、ジオフェンス１１０に位置していることが判定されているデバイスであり得る。移動デバイス１００のアプリケーションサブシステム１０２は、デアクティベートされるモードであり得る（例えば、「スリープ」モード）。
【００２４】
移動デバイス１００がジオフェンス１１０へ進入することを検出することに応じて、フェンス検出命令１０８は、無線通信サブシステム１０４の無線プロセッサに、無線アクセスポイントをスキャンして潜在的な退出を検出させることができる。この無線プロセッサは、（ａ）グリッド１１６に基づいて選択される無線アクセスポイントからの信号と、（ｂ）移動デバイス１１０がジオフェンス１１０内にある場合に移動デバイス１００によって検出可能であるが選択されない無線アクセスポイント（例えば、無線アクセスポイント１１４）からの信号と、に対する通信チャネルをスキャンすることができる。無線プロセッサが、Ｎ回の連続的なスキャンで、（ａ）と（ｂ）の無線アクセスポイントの任意の無線アクセスポイントからの信号を検出しない（１１３）場合、無線通信サブシステム１０４は、ジオフェンス１１０の潜在的な退出が発生していると判定することができる。このＮの数は、スキャン閾値となり得る。
【００２５】
潜在的な退出を検出することに応じて、無線通信サブシステム１０４は、アプリケーションサブシステム１０２をアクティベートすることができる。アプリケーションサブシステム１０２は、移動デバイス１００の現在のロケーション（例えば、ロケーション１２０）を判定し、その現在のロケーションとジオフェンス１１０とを比較する（１１７）ことができる。この比較に基づいて、アプリケーションサブシステム１０２が、現在のロケーションがジオフェンス１１０の外側にあると判定する場合、アプリケーションサブシステム１０２は、移動デバイス１００がジオフェンス１１０から退出したと判定することができる。無線通信サブシステム１０４は、グリッド１１６に基づいて選択された無線アクセスポイントをスキャンして、ジオフェンス１１０への別の潜在的な進入が存在するかどうかを判定することができる。いくつかの実装では、移動デバイス１００は、複数の無線アクセスポイントをモニタして、複数のジオフェンスをモニタすることができる。
【００２６】
図１Ｃは、複数のジオフェンスがモニタされている場合に、ジオフェンスからの退出を検出する例示の技術を示す図である。移動デバイス１００は、図１Ａと図１Ｂを参照して説明される技術を使用して、ジオフェンス１１０に位置していると判定されているデバイスとなり得る。移動デバイス１００のアプリケーションサブシステム１０２は、デアクティベートされるモード（例えば、「スリープ」モード）にすることができる。
【００２７】
ジオフェンス１１０に加えて、移動デバイス１００は、ジオフェンス１４４と１４６に位置することができる。ジオフェンス１４４と１４６は、ジオフェンス１１０と交差するジオフェンスであり得る。ジオフェンス１１０、１４４、及び１４６のそれぞれは、各ジオフェンスをモニタリングするための無線アクセスポイントのセットに対応する。移動デバイス１００は、他のジオフェンス（例えば、ジオフェンス１４４及び１４６）に残っていながら、移動デバイスがジオフェンス（例えば、ジオフェンス１１０）へ進入し、そして退出するような方法で移動することができる。例えば、移動デバイス１００は、ロケーション１４８（ジオフェンス１１０、１４４、及び１４６のそれぞれの内側にある）からロケーション１５０（ジオフェンス１４４と１４６の内側にあるが、ジオフェンス１１０の外側にある）へ移動することができる。
【００２８】
移動デバイス１００は、テンポラリジオフェンス１５２を作成することによって、ジオフェンス１１０、１４４及び１４６をモニタすることができる。移動デバイス１００は、移動デバイス１００が複数のジオフェンス内に位置している場合に、移動デバイス１００の現在のロケーションに基づいて、テンポラリジオフェンス１５２を作成することができる。例えば、移動デバイス１００のアプリケーションプロセッサは、ジオフェンス１１０とジオフェンス１４４内の移動デバイス１００は、第１のテンポラリジオフェンスを作成することができると判定する。アプリケーションプロセッサが、ジオフェンス１１０と１４４内に存在しながら、移動デバイス１００が続いてジオフェンス１４６へ進入したと判定する場合、移動デバイス１００はテンポラリジオフェンス１５２を作成することができる。移動デバイス１００は、現在のロケーション（例えば、ロケーション１４８）をテンポラリジオフェンス１５３のロケーションとして指定することができる。移動デバイス１００は、特定のディメンジョン（例えば、１００メートル）を、テンポラリジオフェンス１５２のディメンジョン（例えば、半径）として指定することができる。
【００２９】
移動デバイス１００は、テンポラリジオフェンス１５２をモニタリングするために１つ以上の退出ゲートウェイを指定することができる。この退出ゲートウェイは、テンポラリジオフェンス１５２内に位置している無線アクセスポイントから選択することができる、そうでなければ、テンポラリジオフェンス１５２に関連する無線アクセスポイントから選択することができる。この退出ゲートウェイは、移動デバイス１００が位置している、ジオフェンス１１０、１４２、及び１４６から観測可能な無線アクセスポイントとすることができる。退出ゲートウェイは無線アクセスポイント１５４を含むことができ、これは、ジオフェンス１１０、１４２あるいは１４６の少なくとも１つをモニタするために移動デバイス１００によって以前に選択されたものである。退出ゲートウェイは無線アクセスポイント１５６を含むことができ、これは、移動デバイス１００がロケーション１４８に位置している場合に、移動デバイス１００によって観測可能であるが、ジオフェンスをモニタリングするために以前には選択されていなかったものである。
【００３０】
テンポラリジオフェンス１５２を作成し、そして、退出ゲートウェイ（例えば、無線アクセスポイント１５４と１５６）を指定することに応じて、フェンス検出命令１０８は、無線通信サブシステム１０４の無線プロセッサに、退出ゲートウェイをスキャンして、潜在的な退出を検出させることができる。無線プロセッサは、退出ゲートウェイからの信号用の通信チャネルをスキャンすることができる（１５８と１６０）。無線プロセッサは、Ｎ回の連続スキャンで退出ゲートウェイの任意の退出ゲートウェイからの信号を検出しない場合、無線通信サブシステム１０４は、テンポラリジオフェンス１５２の潜在的な退出が発生していることを判定することができる。この数Ｎは、スキャン閾値とすることができる。
【００３１】
テンポラリジオフェンス１５２から潜在的な退出を検出することに応じて、無線通信サブシステム１０４はアプリケーションサブシステム１０２をアクティベートすることができる。アプリケーションサブシステム１０２は、移動デバイス１００の新規のロケーション１５０を判定して、新規のロケーション１５０とジオフェンス１１０、１４４及び１４６のそれぞれと比較することができる。この比較に基づいて、アプリケーションサブシステム１０２が、新規のロケーション１５０が、ジオフェンス１４４と１４６内には依然として存在しているが、ジオフェンス１１０の外側にあると判定する場合、アプリケーションサブシステム１０２は、移動デバイス１００がジオフェンス１１０を退出したと判定することができる。移動デバイス１００は、新規のテンポラリジオフェンスを作成して、新規のテンポラリジオフェンスをモニタリングするための、つまり、ジオフェンス１４４及び１４６の退出をモニタリングするための退出ゲートウェイの新規のセットと関連付けることができる。移動デバイス１００は、ジオフェンス１１０への再進入用のジオフェンス１１０に関連付けられている無線アクセスゲートウェイをモニタすることができる。
【００３２】
例示のフェンス検出システム
図２は、無線アクセスポイントを使用して、ジオフェンスをモニタリングする技術を実現するシステムの例示のコンポーネントを示すブロック図である。このシステムは、図１Ａと図１Ｂを参照して説明される上述の移動デバイス１００で実現することができる。
【００３３】
移動デバイス１００は、アプリケーションサブシステム１０２を含むことができる。アプリケーションサブシステム１０２は、ジオフェンス検出の動作を実行するように構成されているソフトウェアコンポーネントとハードウェアコンポーネントを含むことができる。アプリケーションサブシステム１０２は、ジオフェンス定義ユニット２０２を含むことができる。ジオフェンス定義ユニット２０２は、ジオフェンスを定義するデータを受信するように構成されているアプリケーションサブシステム１０２のコンポーネントである。ジオフェンス定義ユニット２０２は、ユーザインタフェース（例えば、タッチ感知ディスプレイスクリーン）から、リモートサーバから、あるいは、移動デバイス１００上で実行するアプリケーションプログラムから、ジオフェンスを定義するデータを受信することができる。
【００３４】
ジオフェンス定義ユニット２０２によって受信されるデータは、ジオフェンス処理ユニット２０４によって処理することができる。ジオフェンス処理ユニット２０４は、ジオフェンス検出に関連する動作を実行するように構成されているアプリケーションサブシステムのコンポーネントであり得る。ジオフェンス処理ユニット２０４は、ジオフェンス命令１０６とジオフェンスインタフェース２０６とを含むことができる。ジオフェンスインタフェース２０６は、システムコンポーネント（例えば、ジオフェンス定義ユニット２０２）とジオフェンス命令１０６との間をインタフェースするように構成されているジオフェンス処理ユニット２０４のコンポーネントであり得る。
【００３５】
ジオフェンス命令１０６は、実行時に、アプリケーションプロセッサ２０８に様座な動作を実行させることができる命令を含むことができる。この動作は、アクセスポイント選択動作、及びロケーション判定動作を含むことができる。アクセスポイント選択動作を実行する場合、アプリケーションプロセッサ２０８は、ジオフェンス定義ユニット２０２、から受信されるジオフェンスを定義するデータに基づいて、データ記憶装置２３０から１つ以上の無線アクセスポイントを選択することができる。データ記憶装置２３０は、無線アクセスポイントの識別子のリストと、それに関連する情報とを記憶するように構成されているアプリケーションサブシステム１０２のコンポーネントである。データ記憶装置２３０に記憶されているデータは、リモートサーバから受信することができる。
【００３６】
ジオフェンス処理ユニット２０４は、選択された無線アクセスポイントを、モニタリング用の無線通信サブシステム１０４へ送信することができる。無線通信サブシステム１０４は、情報をアプリケーションサブシステム１０２へ送信するように、あるいは、情報をアプリケーションサブシステム１０２から受信するように構成されているインタフェース２１２を含むことができる。無線通信サブシステム１０４は、データ記憶装置２１６を含むことができる。データ記憶装置２１６は、アプリケーションサブシステム１０２から受信される無線アクセスポイントのリストを記憶するように構成されている無線通信サブシステム１０４のコンポーネントである。無線通信サブシステム１０４は、無線トランシーバ２２０を含むことができる。フェンス検出命令１０８は、実行される場合に、無線トランシーバ２２０に、無線信号をスキャンさせることができる。
【００３７】
選択された無線アクセスポイントのリストに加えて、ジオフェンス処理ユニット２０４は、動作モード命令を無線通信サブシステム１０４へ送信することができる。動作モードは、進入検出モードと退出検出モードとを含むことができる。無線通信サブシステム１０４が進入検出モードで動作する場合において、無線トランシーバ２２０がデータ記憶装置２１６に記憶されている無線アクセスポイントの１つに一致する無線アクセスポイントからの信号を検出する場合、無線通信サブシステム１０４は進入を検出するためのアクティベーション信号をアプリケーションサブシステム１０２へ送信することができる。無線通信サブシステム１０４が退出検出モードで動作する場合、無線通信サブシステム１０４は、連続するスキャン数を計数することができる。この場合、無線トランシーバ２２０は、データ記憶装置２１６に記憶されている無線アクセスポイントに一致し得る任意の無線アクセスポイントを検出しない。次に、無線通信サブシステム１０４は、退出を検出するためのアクティベーション信号をアプリケーションサブシステム１０２へ送信することができる。
【００３８】
無線通信サブシステム１０４は、複数のジオフェンスを同時にするモニタすることができ、これには、ジオフェンスのそれぞれに対する無線アクセスポイントのモニタリングが含まれる。無線通信サブシステム１０４は、１つのジオフェンスに対して進入検出モードで動作することができ、また、別のジオフェンスに対して退出検出モードで動作することができる。無線通信サブシステム１０４のいくつかのコンポーネントあるいはすべてのコンポーネントは、無線プロセッサ（例えば、ＷｉＦｉ（登録商標）チップ）上で実現することができる。
【００３９】
例示の誤り防止
図３Ａと図３Ｂは、ジオフェンスのモニタリング時の誤り防止を示す図である。潜在的なジオフェンスへの進入あるいは退出の誤検出が発生し得る。誤検出は、無線プロセッサがジオフェンスの潜在的な進入を検出する場合に発生するが、その進入は実際には発生していない。誤り防止技術は、既知の誤検出に基づいて、将来の誤検出を防止するために利用することができる。
【００４０】
図３Ａは、例示のジオフェンス１１０と誤り許容範囲３０２とを示している。ジオフェンス１１０（図１Ａ−図１Ｃ、及び図２を参照して上述される）への移動デバイス１００の潜在的な進入のいくつかは、移動デバイス１００がジオフェンス１１０へ進入しなかった場合に検出され得る。誤検出を削減するために、誤り許容範囲３０２を作成することができる。
【００４１】
例示のジオフェンス１１０は、中心と半径を有する円状のジオフェンスである。移動デバイス１００の無線通信サブシステム１０４は、ジオフェンス１１０をモニタリングするための信号を無線アクセスポイント３０４から検出することができる。次に、アプリケーションサブシステムは、移動デバイス１００がロケーション３１４に位置していることを判定することができる。ロケーション３１４が誤り許容範囲３０２の外側にある場合、移動デバイス１００は、無線アクセスポイント３０４がジオフェンス１１０をモニタリングするためには信頼できないと判定することができる。これに従って、移動デバイス１００は、無線アクセスポイント３０４のブラックリストを作成することができる。いくつかの実装では、無線アクセスポイント３０４のブラックリストを作成することは、将来のモニタリングに、無線アクセスポイント３０４を除外することを含むことができる。いくつかの実装では、無線アクセスポイント３０４のブラックリストを作成することは、無線アクセスポイント３０４がジオフェンス１１０をモニタリングするために選択される確率を低くすることを含むことができる。例えば、移動デバイス１００は、デバイス選択動作で無線アクセスポイント３０４の重みを小さくするスコアを、無線アクセスポイント３０４に割り当てることができる。
【００４２】
誤り許容範囲３０２は、誤り許容値を使用して定義することができる。誤り許容値は、ジオフェンス１１０の縁からの閾値距離を含むことができる。つまり、ロケーション３１４とジオフェンス１１０の中心との間の距離がジオフェンス１１０の半径と閾値距離との総和よりも大きい場合、移動デバイス１００は、無線アクセスポイント３０４がジオフェンス１１０をモニタリングするためには信頼できないことを判定することができる。
【００４３】
図３Ｂは、例示のジオフェンス３１８と誤り許容範囲３２０を示している。ジオフェンスは、任意の形状とサイズを有することができる。例えば、ジオフェンス３１８は、中心と、幅及び高さを使用して定義される楕円とすることができる、あるいは、多角形（ポリゴン）の複数の頂点を使用して定義されるポリゴンとすることができる。誤り許容範囲３２０は、楕円あるいは多角形の各縁からの閾値距離を使用して定義することができる。
【００４４】
例示のフェンス検出プロセス
図４Ａと図４Ｂは、ジオフェンスをモニタリングする例示の動作を示すフローチャートである。図４Ａは、ジオフェンスをモニタリングする例示の動作４００を示すフローチャートである。この動作は、上述の図を参照して説明される移動デバイス１００によって実行することができる。
【００４５】
移動デバイス１００は、ジオフェンスを定義するデータを受信することができる（４０２）。ジオフェンスを定義するデータは、フェンスロケーションとフェンスディメンジョンとを含むことができる。フェンスロケーションは、緯度、経度及び高度座標を含むことができる。フェンスロケーションは、ジオフェンスの中心地点とすることができる。フェンスディメンジョンは、半径とすることができる。このデータは、ユーザから受信され得る。
【００４６】
移動デバイス１００は、ジオフェンスをモニタリングするための１つ以上の無線アクセスポイントを識別することができる（４０４）。１つ以上の無線アクセスポイントを識別することは、複数のジオフェンスから１つ以上の無線アクセスポイントを選択することを含むことができる。この選択動作は、図６−図１５を参照して、以下で詳細に説明する。
【００４７】
移動デバイス１００は、ジオフェンスとの相対的な移動デバイス１００の暫定的なロケーションを判定することができる（４０６）。ジオフェンスとの相対的な移動デバイス１００のロケーションは、ジオフェンスの内側のロケーションあるいはジオフェンスの外側のロケーションを含むことができる。移動デバイス１００は、移動デバイスの無線プロセッサを使用して、ジオフェンスとの相対的な移動デバイスの暫定的なロケーションを判定することができる。暫定的なロケーションを判定するために、移動デバイス１００は、１つ以上の識別される無線アクセスポイントをモニタすることができる。無線アクセスポイントのモニタリングは、１つ以上のチャネル上での、１つ以上の識別される無線アクセスポイントからの信号をスキャンすることを含むことができる。１つ以上の識別される無線アクセスポイントの少なくとも１つを検出することは、無線アクセスポイントのメディアアクセス制御（ＭＡＣ）アドレスに関連付けられている信号を受信することを含むことができ、この無線アクセスポイントのＭＡＣアドレスは、１つ以上の識別される無線アクセスポイントに関連付けられているＭＡＣアドレスのリストの１つに一致するものである。無線プロセッサは、アプリケーションプロセッサよりも消費電力が低い無線チップを含むことができる。
【００４８】
ジオフェンスとの相対的な移動デバイスの暫定的なロケーションを判定することは、ジオフェンスへの潜在的な進入を検出すること、あるいはジオフェンスからの潜在的な退出を検出することを含むことができる。潜在的な進入の場合、ジオフェンスとの相対的な移動デバイスの暫定的なロケーションを判定することは、１つ以上の識別される無線アクセスポイントの少なくとも１つが無線プロセッサによって検出される場合に、ジオフェンスの潜在的な進入を検出することを含むことができる。潜在的な退出の場合、ジオフェンスとの相対的な移動デバイスの暫定的なロケーションを判定することは、連続的なスキャン数の閾値において、１つ以上の識別される無線アクセスポイントが１つも検出されず、また、ジオフェンスで検出可能な無線アクセスポイントが１つも検出されない場合に、ジオフェンスからの潜在的な退出を検出することを含むことができる。
【００４９】
無線プロセッサによって、ジオフェンスとの相対的な移動デバイスの暫定的なロケーションの判定に応じて、移動デバイス１００は、移動デバイス１００のアプリケーションプロセッサをウェイクアップすることができる。移動デバイス１００のアプリケーションプロセッサをウェイクアップすることは、移動デバイス１００のアプリケーションプロセッサを、非アクティブ状態（例えば、省電力状態）からアクティブ状態へ切り替えることを含むことができる。移動デバイス１００は、アプリケーションプロセッサを使用して、移動デバイス１００がジオフェンスの内側に存在するかどうかを判定することができる（４０８）。移動デバイス１００がジオフェンスの内側にあるかどうかを判定することは、移動デバイス１００のアプリケーションプロセッサに、移動デバイス１００の現在のロケーションを判定させ、そして、現在のロケーションがジオフェンスの内側にあるかどうかを判定させることができる。移動デバイス１００のアプリケーションプロセッサが、現在のロケーションに基づいて、進入が発生していることを判定する場合、移動デバイス１００は、無線プロセッサを使用して潜在的な退出を判定することを進めることができる。
【００５０】
移動デバイス１００のアプリケーションプロセッサが移動デバイス１００がジオフェンスの内側に位置していると判定する場合、アプリケーションプロセッサはジオフェンスに関連するタスクを実行することができる。アプリケーションプロセッサは、無線プロセッサの動作モードを退出検出モードに設定することができる。無線プロセッサが移動デバイス１００がジオフェンスの内側に位置していると暫定的に判定するが、移動デバイス１００のアプリケーションプロセッサが、移動デバイス１００がジオフェンスの外側で、かつ少なくとも閾値を超えていると判定する場合、アプリケーションプロセッサは、誤り防止動作を実行することができる。例えば、無線プロセッサが移動デバイス１００がジオフェンスの内側に位置していると暫定的に判定した後は、移動デバイス１００は、アプリケーションプロセッサを使用して、移動デバイス１００がジオフェンスから離れている距離に位置している判定することができる。アプリケーションプロセッサは、その距離が誤り閾値を超えていると判定することができる。次に、移動デバイス１００は、検出した無線アクセスポイントを、信頼できない無線アクセスポイントとして指定することができ、これには、将来のモニタリングからその無線アクセスポイントを除外すること、あるいは、その無線アクセスポイントに関連付けられているアクセスポイントスコアを下げることを含んでいる。
【００５１】
ジオフェンスからの退出に応じて、移動デバイス１００は、無線プロセッサを進入検出モードに設定することができる。
【００５２】
図４Ｂは、ジオフェンスの退出をモニタリンする例示の動作４２０を示すフローチャートである。この動作は、上述の図を参照して説明される移動デバイス１００によって実行することができる。移動デバイス１００は、移動デバイス１００のアプリケーションプロセッサを使用して、移動デバイス１００がジオフェンスの内側にあることを判定することができる（４２２）。
【００５３】
移動デバイス１００は、無線プロセッサを使用して、無線アクセスポイントの組み合わせ集合体をモニタすることができる（４２４）。無線アクセスポイントの組み合わせ集合体は、図４Ａを参照して説明される段階４０４で識別される（ａ）１つ以上の無線アクセスポイントと、（ｂ）現在認識可能な１つ以上の無線アクセスポイントを含むことができる。無線アクセスポイントの組み合わせ集合体をモニタリングすることは、無線プロセッサを使用して、無線アクセスポイントの組み合わせ集合体からの信号をスキャンすることを含むことができる。
【００５４】
移動デバイス１００は、少なくともスキャンの閾値数に対して、無線アクセスポイントの組み合わせ集合体のどれもが観測可能でないことを判定することができる（４２６）。次に、移動デバイス１００は、移動デバイス１００のアプリケーションプロセッサをウェイクアップすることができる。移動デバイス１００は、移動デバイス１００がアプリケーションプロセッサを使用してジオフェンスから退出したかどうかを判定することができる（４２８）。移動デバイス１００のアプリケーションプロセッサが、移動デバイス１００がジオフェンスから退出したことを判定する場合、移動デバイス１００は、ジオフェンスからの退出に関連付けられているタスクを実行することができる（例えば、表示すること、あるいは警告音を鳴らすこと）。
【００５５】
図４Ｃは、ジオフェンス退出をモニタリングする例示の動作４４０を示すフローチャートである。この動作は、上述の図を参照して説明される移動デバイス１００によって実行することができる。移動デバイス１００は、移動デバイス１００のアプリケーションプロセッサを使用して、移動デバイス１００がジオフェンスの内側にあることを判定することができる（４４２）。移動デバイス１００がジオフェンスの内側にあることを判定することは、移動デバイス１００の無線プロセッサを使用して、１つ以上の進入ゲートウェイをモニタリングすることを含むことができる。１つ以上の進入ゲートウェイは、ジオフェンスへの進入をモニタリングするために選択される１つ以上の無線アクセスポイントとすることができる。移動デバイス１００がジオフェンスの内側にあることを判定することは、アプリケーションプロセッサをウェイクアップすること、そのアプリケーションプロセッサを使用して、無線プロセッサによる１つ以上の進入ゲートウェイの少なくとも１つを検出することに応じて、移動デバイスがジオフェンスへ進入したことを判定することを含むことができる。アプリケーションプロセッサは、様々なロケーション判定デバイスあるいはプログラムを使用して、移動デバイス１００のロケーションを判定することができる。
【００５６】
移動デバイス１００は、１つ以上の退出ゲートウェイを指定することができる（４４４）。退出ゲートウェイは、移動デバイス１００がジオフェンス内に存在する場合に観測可能な１つ以上の無線アクセスポイントを含むことができる。移動デバイス１００は、退出ゲートウェイを使用して、ジオフェンスからの退出をモニタすることができる。
【００５７】
移動デバイス１００は、退出ゲートウェイのモニタリングの少なくとも一部に基づいて、ジオフェンスからの退出を検出することができる（４４６）。この退出を検出することは、無線プロセッサを使用して、１つ以上の進入ゲートウェイと１つ以上の退出ゲートウェイとを含む無線アクセスポイントの組み合わせ集合体をモニタリンすることを含むことができる。移動デバイス１００は、無線プロセッサによるスキャンの少なくとも閾値数に対して、無線アクセスポイントの組み合わせ集合体のどれもが無線プロセッサによって観測可能でないことを判定することができる。そして、移動デバイス１００は、移動デバイスのアプリケーションプロセッサをウェイクアップして、移動デバイスがジオフェンスを退出したかどうかを判定することができる。
【００５８】
図４Ｄは、移動デバイスが複数のジオフェンス内にある場合にジオフェンスの退出をモニタリングする例示の動作４５０を示すフローチャートである。この動作は、上述の図を参照して説明される移動デバイス１００によって実行することができる。
【００５９】
移動デバイス１００は、移動デバイス１００が、複数のジオフェンス、例えば、第１のジオフェンスと第２のジオフェンスの内に位置していることを判定することができる。この第１のジオフェンスは、第２のジオフェンスと交差し得る。移動デバイス１００が両方のジオフェンス内に位置していると判定することに応じて、移動デバイス１００は、移動デバイス１００の現在の位置の周辺にテンポラリジオフェンスを作成することができる（４５２）。テンポラリジオフェンスを作成することは、フェンスロケーションとフェンスディメンジョンを使用してテンポラリジオフェンスを定義することを含むことができる。フェンスロケーションは、移動デバイス１００の現在のロケーションとすることができる。この現在のロケーションは、移動デバイス１００のアプリケーションプロセッサによって判定することができる。フェンスディメンジョンは、特定の値（例えば、１００メートル）とすることができる。いくつの実装では、フェンスディメンジョンは、第１のジオフェンスのサイズと第２のジオフェンスのサイズに基づいて判定することができる。
【００６０】
移動デバイス１００は、テンポラリジオフェンスをモニタリングするための１つ以上の共通ゲートウェイを識別することができる。この共通ゲートウェイは、移動デバイス１００が第１のジオフェンスと第２のジオフェンス内に存在する場合に移動デバイス１００によって観測可能な１つ以上の無線アクセスポイントを含むことができる。
【００６１】
移動デバイス１００は、テンポラリジオフェンスの退出をモニタすることができる（４５）。テンポラリジオフェンスの退出をモニタリングすることは、無線プロセッサを使用して識別された共通ゲートウェイからの信号をスキャンすることを含むことができる。
【００６２】
移動デバイス１００は、移動デバイスが第１のジオフェンスの内側に存在するかどうかと、テンポラリジオフェンスからの退出を検出することに応じて移動デバイスが第２の内側に存在するかどうかを検出することができる（４５６）。このテンポラリジオフェンスの退出を検出することに応じて、移動デバイス１００は、移動デバイス１００のアプリケーションプロセッサをウェイクアップして、移動デバイス１００が第１のジオフェンスから退出したかどうか、あるいは、移動デバイス１００が第２のジオフェンスから退出したかどうかを判定することができる。テンポラリジオフェンスからの退出を検出することは、移動デバイス１００の無線プロセッサを使用して、連続するスキャンの閾値数で共通のゲートウェイが観測可能でないことを判定することを含むことができる。
【００６３】
ジオフェンス検出システムの例示のユーザインタフェース
図５は、ジオフェンスベースサービスを使用する、移動デバイスの例示のユーザインタフェースを示す図である。移動デバイスは、上述の移動デバイス１００とすることができる。移動デバイス１００は、ユーザに、ユーザインタフェースを使用してジオフェンス１１０を作成することを許容することができる。移動デバイス１００は、例えば、ハンドヘルドコンピュータ、パーソナルデジタルアシスタント、セルラー電話、電子タブレット、ネットワーク機器、スマートフォン、拡張汎用パケット無線サービス（ＥＧＰＲＳ）移動電話、ネットワーク基地局、メディアプレーヤ、ナビゲーションデバイス、電子メールデバイス、ゲームコンソール、あるいは、これらのデータ処理デバイスあるいは他のデータ処理デバイスの任意の２つ以上を組み合わせたものとすることができる。
【００６４】
いくつかの実装では、移動デバイス１００は、タッチ感知スクリーン５０２を含むことができる。移動デバイス１００は、タッチ感知スクリーン５０２上に表示用の地図５０４を提供することができる。移動デバイス１００は、地図５０４上でタッチ入力を受信することができる。地図５０４上でのタッチ入力のロケーション（位置）に基づいて、移動デバイス１００は、移動デバイス１００が入力（例えば、「フェンス作成」ボタン５０８のタップ）を受信する場合にジオフェンス１１０を作成することができる。ジオフェンス１１０は、地図５０４上のタッチ入力のロケーションに対応するロケーション（例えば、中心）を有することができる。ジオフェンスの作成に応じて、移動デバイス１００は、複数の無線アクセスポイントから、ジオフェンス１１０をモニタリングするための１つ以上の無線アクセスポイントを選択することができる。
【００６５】
移動デバイス１００は、タスクとジオフェンス１１０とを関連付けることができる。例えば、移動デバイス１００は、アプリケーションプログラムとジオフェンス１１０とを関連付けるためのユーザ入力を受信することができる。この例では、ジオフェンス１１０は、ビーチエリアに対応させることができる。アプリケーションプログラムは、そのビーチエリアでサーフィンをする条件に関連する情報を取得するアプリケーションとすることができる。
【００６６】
移動デバイス１００は、移動デバイス１００がジオフェンス１１０へ進入する場合にアプリケーションプログラムを起動することができる。移動デバイス１００が選択された無線アクセスポイントの少なくとも１つを検出する場合、移動デバイス１００は、様々なロケーション判定動作を使用して、移動デバイス１００がジオフェンス１１０へ進入したことを判定することができる。移動デバイス１００がジオフェンス１１０へ進入したことの判定に応じて、移動デバイス１００は、アプリケーションプログラムのインタフェース５１０の表示を提供することができる。インタフェース５１０は、例えば、ジオフェンスに関連付けられているサーフィンをする条件に関連するテキスト情報、そのテキスト情報のページをナビゲートするためのコントロール５１２及び５１４を含むことができる。
【００６７】
検索バー５２４とブックマークリストオブジェクト５２６を、インタフェース５１０の上部に表示することができる。インタフェース５１０の下部には、１つ以上のディスプレイオブジェクトを表示することができ、これには、例えば、検索オブジェクト５２８、方向オブジェクト５３０、地図ビューオブジェクト５３２、及び現在位置（現在ロケーション）オブジェクト５３４がある。
【００６８】
検索バー５２４は、地図上の住所あるいは他のロケーションを検出するために使用することができる。例えば、ユーザは、検索バー５２４に自宅住所を入力することができる。ブックマークリストオブジェクト５２６は、例えば、頻繁に訪問する住所、例えば、ユーザの自宅住所を含むブックマークリストを表示することができる。ブックマークリストは、また、例えば、移動デバイス１００のブックマークされているロケーションのような特定のブックマークを含むことができる。
【００６９】
検索オブジェクト５２８は、検索バー５２４と他の地図関連検索メニュー群を表示するために使用することができる。方向オブジェクト５３０は、例えば、ユーザに始点ロケーションと終点ロケーションとを入力することを可能にするメニューインタフェースを表示することができる。このメニューインタフェースは、情報（例えば、始点ロケーションから終点ロケーションへの経路に対する方向及び移動時間）を表示することができる。地図ビューオブジェクト５３２は、ユーザに、クラウドウェア（crowdware）アプリケーションプログラムに対する表示オプションを選択すること可能にするメニューを表示することができる。現在位置オブジェクト５３４は、移動デバイス１００が現在位置している場所を示す地図５０４上の地理的領域をユーザが確認することを可能にすることができる。
【００７０】
例示のアクセスポイント選択技術
図６は、ジオフェンスをモニタリングするための無線アクセスポイントを選択するための例示のプロセス６００を示すフローチャートである。プロセス６００は、（上述の）移動デバイスによって実行することができる。
【００７１】
（図１及び図５を参照して説明される）ジオフェンス１１０を受信することに応じて、移動デバイス１００は、ジオフェンス１１０と対応づけるための複数の地理的領域を指定することができる（６０２）。移動デバイス１００は、それらの地理的領域に基づいて、ジオフェンス１１０をモニタリングするための無線アクセスポイントを選択することができる。これらの地理的領域を指定することの更なる詳細は、以下で、図７を参照して説明する。
【００７２】
移動デバイス１００は、それらの地理的領域のそれぞれでモニタリングするための候補無線アクセスポイントを識別することができる（６０４）。これらの地理的領域のそれぞれでモニタリングするための候補無線アクセスポイントを識別することの更なる詳細は、以下で、図８Ａ−図８Ｂ及び図９Ａ−図９Ｂを参照して説明する。
【００７３】
移動デバイス１００は、地理的領域を繰り返し通過して、各領域に対する検出確率を評価することができる（６０６）。領域の検出確率は、移動デバイス１００が、その領域内に位置している場合に、モニタリングするために、つまり、ジオフェンス１１０への潜在的な進入を検出するために、選択される無線アクセスポイントを検出することができる確率を示すものである。この領域の検出確率は、プロービング地点検出確率を使用して測定することができる。このプロービング地点検出確率を評価することの更なる詳細は、以下で、図１０を参照して説明する。
【００７４】
これらの領域の検出確率に基づいて、移動デバイス１００は、これらの領域の全体に対する検出確率を計算することができる（６０８）。これらの領域全体に対する検出確率は、移動デバイス１００が、候補無線アクセスポイントのセットを使用して、ジオフェンス１１０への潜在的なエントリを判定することができる尤度を示すことができる。この確率は、グリッド検出確率として指定される値を使用して測定することができる。このグリッド検出確率を計算して適用することの更なる詳細は、以下で、図１０を参照して説明する。このグリッド検出確率に基づいて、移動デバイス１００は、ジオフェンス１１０あるいは他のジオフェンス、あるいはその両方をモニタリングするための１つ以上の無線アクセスポイントを選択することができる（６１０）。
【００７５】
図７は、地理的グリッドを使用して、モニタリング用の無線アクセスポイントを選択するための例示の技術を示す図である。（上述の）移動デバイス１００は、この無線アクセスポイントを選択する動作を実行することができる。
【００７６】
移動デバイス１００は、ユーザからジオフェンス１１０を受信することができる（例えば、図５を参照して上述されるように）。ジオフェンス１１０を受信することに応じて、移動デバイス１００は、ジオフェンス１１０に対応する複数の地理的領域を指定することができる。例えば、移動デバイス１００は、ジオフェンス１１０に対応する仮想的な地理的グリッド１１６を作成することができる。移動デバイス１００は、仮想的な地理的グリッド１１６に基づいて、無線アクセスポイントを選択することができる。
【００７７】
地理的グリッド１１６は、Ｎ×Ｎに等しく分割されたタイル群を含むことができる。各タイルは、実質的には矩形エリアとすることができる。各タイルは同一のサイズを有することができる。例えば、地理的グリッド１１６は、２５の四角タイルを含むことができる。移動デバイス１００は、移動デバイス１００の無線プロセッサのスキャニング能力に基づいて、グリッド１１６内のタイルの総数（Ｎ2）を判定することができる。具体的には、このタイルの数は、以下の式を使用して判定することができる。
【００７８】
【数１】
0005770933.tif 000002
【００７９】
ここで、Ｎ2はタイルの総数であり、ＭＡＸ＿ＥＬは、最大要素数である。これは、無線プロセッサがモニタすることができる無線アクセスポイントの総数に対応する（例えば、１５０）。
【００８０】
ジオフェンス１１０がａの単位幅とａの単位長である場合、各タイルは、（ａ／Ｎ）2のサイズを有することができる。ジオフェンス１１０は、無線アクセスポイントのＭＡＸ＿ＡＰ数によって供され得る。この例では、ジオフェンス１１０は、中心７０２を有する実質的に円形のエリアである。中心７０２は、緯度と経度に関連付けることができる。ジオフェンス１１０は、半径ａ／２を有することができる。様々な実装では、ジオフェンス領域は、他の形状と可変サイズを有することができる。移動デバイス１００は、スキャンするための無線アクセスポイントの総数と、地理的領域群それぞれでスキャンするための無線アクセスポイントの最大数とに基づいて、ジオフェンス１１０をモニタリングするための無線アクセスポイントを選択することができる。この最大数は、無線アクセスポイント許容量と称し、以下で、図８Ａと図８Ｂを参照して更に説明する。
【００８１】
無線アクセスポイントを選択する際の領域毎の制限
図８Ａと図８Ｂは、無線アクセスポイントを選択する際に使用される例示の無線アクセスポイント許容量を示す図である。無線アクセスポイント許容量は、地理的グリッド１１６内のタイルに関連付けられている値とすることができる。この値は、選択することができる、タイル内に位置している無線アクセスポイントの最大数を示すことができる。図８Ａは、許容量設定を示していて、ここでは、無線アクセスポイント許容量は各タイルに対して「１」に設定されている。この許容量は、タイル内の数として示されている。この設定では、多くても１つの無線アクセスポイントを各タイル内で選択することができる。例えば、無線アクセスポイント８０２と８０４との両方が地理的グリッド１１６のタイル８０６内に位置している場合、無線アクセスポイント８０２と８０４との多くとも１つがジオフェンスをモニタリングするために選択することができる。選択された無線アクセスポイントは、黒三角を使用して示されていて、未選択の無線アクセスポイントは、白三角で示されている。
【００８２】
図８Ｂは、異なる無線アクセスポイント許容量が異なるタイルに関連付けられている許容量設定を示している。いくつかの実装では、タイル８０６に対する無線アクセスポイント許容量は３に設定される。従って、無線アクセスポイント８０２と８０４との両方を選択することができる。すべてのタイルが等しいとは限らない。いくつかのタイルは、他のタイルよりも大きい無線アクセスポイント許容量を有していても良い。例えば、地理的グリッド１１６の中心あるいはその近傍に位置しているタイル群は、その縁に位置しているタイル群よりもより高い無線アクセスポイント許容量を有することができる。
【００８３】
図９Ａと図９Ｂは、無線アクセスポイント許容量を地理的グリッドに割り当てる例示の段階を示す図である。無線アクセスポイントを選択することは、複数の繰り返しで、候補無線アクセスポイントのセットを識別することを含むことができる。各繰り返しで、候補無線アクセスポイントのセットを識別することができる。各繰り返しで、１つ以上の無線アクセスポイント許容量は増加し得る。図９Ａは、繰り返し（例えば、初期繰り返し）で割り当てられる例示の無線アクセスポイント許容量を示している。中心のタイル９０２に関連付けられている無線アクセスポイント許容量は、縁のタイル９０４に関連付けられている無線アクセスポイントよりも高い値を有することができる。図９Ｂは、連続繰り返しで割り当てられる例示の無線アクセスポイント許容量を示している。従前の繰り返しで割り当てられる無線アクセスポイント許容量は、増加し得る。
【００８４】
図９Ｃは、地理的領域に基づいて、候補無線アクセスポイントを識別する例示のプロセス９２０を示すフローチャートである。プロセス９２０は、上述の移動デバイス１００のような移動デバイスによって実行することができる。この地理的領域は、ジオフェンスに対応する地理的グリッド内のタイルとすることができる。移動デバイス１００は、複数の繰り返しで、無線アクセスポイント群を地理的領域群へ追加して、１つの繰り返しとその前の繰り返しで追加された無線アクセスポイント群を、候補無線アクセスポイントのセットとして指定することができる。
【００８５】
移動デバイス１００は、地理的領域を初期化することができる（９２２）。地理的領域の初期化は、無線アクセスポイント許容量を、図９Ａを参照して説明される設定での地理的領域群のそれぞれに割り当てることを含むことができる。
【００８６】
移動デバイス１００は、各無線アクセスポイントに関連付けられているアクセスポイントスコア（ＡＰスコア）によって、まだ、追加されていない無線アクセスポイントを順序付けることができる（９２４）。無線アクセスポイントのＡＰスコアは、無線アクセスポイントの重要度を示すことができる値である。無線アクセスポイントのＡＰスコアは、無線アクセスポイントの（ａ）観測数によって判定することができる、これは、過去に移動デバイスが検出されている回数、あるいは過去に無線アクセスポイントと移動デバイスが通信している回数であり、あるいは、（ｂ）現時点に最も近い観測がより高いスコアに対応し得る観測数によって判定することができる、あるいは、（ａ）と（ｂ）の組み合わせによって判定することができる。
【００８７】
移動デバイス１００は、ＡＰスコアと、各地理的領域の無線アクセスポイント許容量とに基づいて、まだ追加していない無線アクセスポイントを地理的領域に追加することができる（９２６）。例えば、（ａ）より高いＡＰスコアを有する無線アクセスポイントが（無線アクセスポイントのロケーションに基づいて）領域に関連付けられていて、（ｂ）その領域内で選択されているアクセスポイントの数が無線アクセスポイント許容量に到達していない場合、次に、移動デバイス１００は、無線アクセスポイントをその領域に追加することができる。いくつかの実装では、まだ追加していない無線アクセスポイントを地理的領域へ追加することは、ＡＰスコアに加えて、チャネル最適化に基づいて、追加する無線アクセスポイントを選択することを含むことができる。チャネル最適化は、以下で、図９Ｄを参照して更に詳細に説明する。
【００８８】
移動デバイス１００は、既に追加されている無線アクセスポイントに対するグリッド検出確率を計算することができる（９２８）。候補無線アクセスポイント群のセットのそれぞれを、グリッド検出確率に関連付けることができる。このグリッド検出確率は、そのセット内の候補無線アクセスポイント（例えば、既に追加されている無線アクセスポイント）をモニタリングすることによって、ジオフェンスを検出する確率を示すことができる。グリッド検出確率は、精度（モニタするためのより多くの無線アクセスポイント、より尤度の高い検出）と効率（モニタするためのより多くの無線アクセスポイント、より高い電力消費）とを調和させ、かつ、無線プロセッサの有限のスキャン能力（例えば、一度に１５０個のアクセスポイント）を使用して、このジオフェンスあるいは別のジオフェンスをモニタするかどうかを調和させるために使用することができる。グリッド検出確率の計算についての更なる詳細は、以下で、図１０を参照して説明する。
【００８９】
移動デバイス１００は、グリッドに地理的に対応するすべての無線アクセスポイントが追加されるかどうかを判定することができる（９３０）。このグリッドに地理的に対応するすべての無線アクセスポイントが追加されるかどうかを判定することは、グリッドのロケーションをインデックスとして使用する、無線アクセスポイントリスト内のサーチを実行することを含むことができる。すべてが追加される場合、プロセス９２０は終了することができる。
【００９０】
より多くの無線アクセスポイントが存在する場合、移動デバイス１００は、地理的領域に対する無線アクセスポイント許容量を増加させることができる。例えば、移動デバイス１００は、図９Ｂに従って無線アクセスポイント許容量を増加させることができる。この増加させる動作の後、移動デバイス１００は、段階９２４に戻ることによってこの動作を繰り返すことができる。
【００９１】
チャネル最適化
図９Ｄは、チャネル最適化に基づいて候補無線アクセスポイントを識別する技術を示す例示のヒストグラム９６０である。チャネル最適化は、上述の移動デバイス１００のような移動デバイスによって実行することができる。
【００９２】
移動デバイス１００は、無線プロセッサを使用して、ジオフェンスに対して選択された無線アクセスポイントをモニタすることができる。無線プロセッサは、無線アクセスポイントからの信号に対する複数のチャネルをスキャンすることができる。無線プロセッサは、より多くのチャネルがスキャンされる場合には、しばしばより多くの電力を消費し得る。移動デバイス１００は、他の条件が等しい場合、同一のチャネルで動作するより多くの無線アクセスポイントをできる限り選択することによってスキャンされるチャネルの数を削減することができる。
【００９３】
移動デバイス１００は、無線アクセスポイントのリストを記憶することができる。無線アクセスポイントのそれぞれは、無線アクセスポイントが動作するチャネルと関連付けることができる。移動デバイス１００は、確率密度関数を使用して、すべての無線チャネル（例えば、チャネル１からチャネル１１）に渡るヒストグラム９６０を生成することができる。各チャネルは、所与のジオフェンス、あるいは、所与のジオフェンスのグループに対する確率密度関数に基づいて、チャネルスコアを割り当てることができる。確率密度関数は、無線アクセスポイントが特定のチャネルで動作する尤度を示すことができる。いくつかの実装では、チャネルのチャネルスコアは、このチャネルを使用する無線アクセスポイントの数に基づいて判定することができる。
【００９４】
いくつかの実装では、移動デバイス１００は、確率密度関数を使用して、所与のフェンスのグループに対する最も多い共通のアクセスポイントを識別することができる。移動デバイス１００は、ジオフェンスのグループをモニタリングするためのこれらのアクセスポイントを選択することができる。この選択は、移動デバイス１００によって無線アクセスポイントを観測する尤度を改善することができる。いくつかの実装では、移動デバイス１００は、１つ以上の好適なチャネルを識別することができる。例えば、移動デバイス１００は、上位Ｘ（例えば、３あるいは４）までの最も好適なチャネルを選択することができる。いくつかの実装では、移動デバイス１００は、選択閾値９６２を特定することができる。移動デバイス１００は、チャネルスコアが選択閾値９６２を満足する無線チャネルをこの好適なチャネルとして指定することができる。
【００９５】
移動デバイス１００は、より選択される可能性が高い好適なチャネルで、無線アクセスポイントを動作させることができる。いくつかの実装では、移動デバイス１００は、公的なチャネルで動作する無線アクセスポイントのＡＰスコアを増加させることができる。いくつかの実装では、移動デバイス１００は、その好適なチャネルで動作する無線アクセスポイント群から、無線アクセスポイントを選択することができる。これに従って、ジオフェンスをモニタリングする場合、移動デバイス１００の無線プロセッサは、例えば、すべてのチャネルではなく３つあるいは４つのチャネルをスキャンしても良い。
【００９６】
選択された無線アクセスポイントの評価
図１０は、候補無線アクセスポイントのセットを評価するための例示の技術を示す図である。この技術は、上述の移動デバイス１００のような移動デバイスによって実現することができる。
【００９７】
移動デバイス１００は、候補無線アクセスポイントの複数のセットを評価し、ジオフェンス１１０をモニタリングするために、どの候補無線アクセスポイントのセットを最終的に選択するかを判定することができる。候補無線アクセスポイントのセットのそれぞれは、上述の図９Ｃで記載されるように、プロセス９２０の、繰り返し（Ｉ）と、その繰り返しの前の繰り返し（１，．．．，Ｉ−１）とで追加される無線アクセスポイントのセットとすることができる。候補無線アクセスポイントのセットのそれぞれを評価するために、移動デバイス１００は、各セットに対するグリッド検出確率を判定することができる。
【００９８】
移動デバイス１００は、複数のプロービングポイントを使用してグリッド検出確率を判定することができる。移動デバイス１００は、各地理的領域に対する少なくとも１つのプロービングポイント（例えば、プロービングポイント１００２）を指定することができる。プロービングポイント（ＰＰ）は仮想ポイントであり、これにより、既に追加されている無線アクセスピントの少なくとも１つを検出する確率を計算することができる。この確率は、プロービングポイント検出確率と呼ぶことにする。移動デバイス１００は、各プロービングポイントのプロービングポイント検出確率に基づいて、グリッド検出確率を判定することができる。
【００９９】
プロービングポイント１００２に対するプロービングポイント検出確率を計算するために、移動デバイス１００は、以下の経路損失計算式を使用して、無線アクセスポイントの信号伝搬のモデルを作成することができる。
【０１００】
【数２】
0005770933.tif 000003
【０１０１】
ここで、Ｐkは無線アクセスポイント（例えば、無線アクセスポイント１００４）から離れている距離ｄにおける地点での信号強度であり、Ｐ0は無線アクセスポイントにおける信号強度であり、ηはシステム損失を示す定数であり、βは経路損失指数である。経路損失指数は、信号伝搬の環境を反映することができる。例えば、屋外の自由空間では、βは２つの値を有することができ、影で覆われている市街地では、βは２．７と５の間の値を有することができる。建物内の障害物がない状態での無線波の送受信が可能な範囲では、βは１．６と１．８の間の値とすることができ、障害物が存在する場合は、βは４と６の間の値とすることができる。無線アクセスポイントの潜在的な検出範囲は、信号強度比Ｐk／Ｐ0が−３０ｄＢから−１１３ｄＢの範囲内である場合に判定することができる。
【０１０２】
式（２）に従えば、無線アクセスポイントの検出能は、屋内／屋外伝搬、無線送信電力のような可変のものを対象とすることができる。移動デバイス１００は、より低い境界検出距離におけるプロービングポイント検出確率の計算を基礎とすることができ、これは、以下の計算式を使用して定義することができる。
【０１０３】
【数３】
0005770933.tif 000004
【０１０４】
ここで、Ｚは下位境界検出距離、θuは潜在ユーザロケーション、θ0は無線アクセスポイントの推定ロケーション（サーバによる独立プロセスを使用して判定することができる）、及びσθuは推定下位境界信号伝搬である。
【０１０５】
移動デバイス１００は、以下の計算式を使用して、下位境界検出距離に渡って積分することによって、無線アクセスポイントを検出するプロービングポイントＰＰの確率を判定することができる。
【０１０６】
【数４】
0005770933.tif 000005
【０１０７】
ここで、ＰＤPP→ＳＡＰnはｎ番目に選択される無線アクセスポイントＳＡＰｎ（例えば、無線アクセスポイント１００４）を検出するプロービングポイントＰＰの確率であり、Ｚは下位境界検出距離であり、ｔはプロービングポイント検出確率が積分されている距離である。
【０１０８】
移動デバイス１００は、以下の計算式を使用して、プロービングポイントが、既に追加されている無線アクセスポイントを検出するあるいはしない確率に基づいて、プロービングポイント検出確率を判定することができる。
【０１０９】
【数５】
0005770933.tif 000006
【０１１０】
ここで、ＰＤ(ＰＰk)は、ｋ番目のプロービングポイントＰＰkに対するプロービングポイント検出確率である（例えば、プロービングポイント１００２）。
【０１１１】
移動デバイス１００は、各プロービングポイントに対するプロービングポイント検出確率に基づいて、候補無線アクセスポイントのセットに対するグリッド検出確率を判定することができる。グリッド検出確率は、すべてのプロービングポイントに対するプロービングポイント検出確率の平均、あるいは、すべてのプロービングポイントに渡る最小プロービングポイント検出確率とすることができる。
【０１１２】
候補からのアクセスポイントの選択
図１１は、候補無線アクセスポイントのセットから、ジオフェンスをモニタリングするための無線アクセスポイントを選択する例示の技術を示す図である。この技術は、上述の移動デバイス１００のような移動デバイスにおいて実現することができる。移動デバイス１００は、ジオフェンスに十分に近く位置している無線アクセスポイント１１０２のセットの識別子を記憶することができ、そうすることで、無線アクセスポイント１１０２をジオフェンスをモニタするために潜在的に使用することができる。
【０１１３】
（図８Ａ−図１０を参照する）上述の動作を使用することで、移動デバイス１００は、候補無線アクセスポイントのセット１１０４、１１０６及び１１０８を識別することができる。候補無線アクセスポイントのセット１１０４、１１０６あるいは１１０８のそれぞれは、無線アクセスポイントのセット１１０２から１つ以上の無線アクセスポイントを含むことができる。候補無線アクセスポイントのセット１１０４、１００６あるいは１１０８のそれぞれは、検出確率（例えば、図１０を参照して説明されるグリッド検出確率）に対応させることができる。例えば、無線アクセスポイントＡＰ１とＡＰ２を含むセット１１０４は、グリッド検出確率０．１に関連付けることができ、無線アクセスポイントＡＰ１からＡＰ４を含むセット１１０６は、グリッド検出確率０．３に関連付けることができ、無線アクセスポイントＡＰ１からＡＰ８を含むセット１１０８は、グリッド検出確率０．８に関連付けることができる。
【０１１４】
いくつかの実装では、移動デバイス１００は、候補無線アクセスポイントの別のセットを選択することを通じて改善された検出確率に基づいて、ジオフェンスをモニタするために、候補無線アクセスポイントを選択することができる。例えば、移動デバイス１００は、追加の無線アクセスポイントを追加する毎に検出確率を最も改善するセット（例えば、セット１１０８）を選択することができる。
【０１１５】
図１２は、候補無線アクセスポイントのセットから、複数のジオフェンスに対する無線アクセスポイントを選択する例示の技術を示す図である。上述の移動デバイス１００のような移動デバイスは、複数のジオフェンスをモニタすることができる。複数のジオフェンスをモニタリングすることは、各ジオフェンスをモニタリングするために指定される複数の無線アクセスポイントからの信号をスキャンすることを含むことができる。
【０１１６】
例えば、移動デバイス１００は、第１、第２、及び第３のジオフェンスをモニタするように構成することができる。（図８Ａ−図１１で参照される）上述の動作を使用することで、移動デバイス１００は、第１のジオフェンスをモニタリングするための候補無線アクセスポイントのセット１１０４、１１０６及び１１０８を識別することができる。移動デバイス１００は、第２のジオフェンスをモニタリングするための候補無線アクセスポイントのセット１２０４、１２０６、及び１２０８を識別することができる。移動デバイス１００は、第３のジオフェンスをモニタリングするための候補無線アクセスポイントのセット１２１４、１２１６及び１２１８を識別することができる。モニタするための無線アクセスポイントを選択する場合、移動デバイス１００は、第１、第２、及び第３のジオフェンスをモニタするための無線アクセスポイントの総数がアクセスポイント閾値を満足する（例えば、超えない）ことを保障することができる。アクセスポイント閾値は、移動デバイス１００の無線プロセッサの構成設定（例えば、ＷｉＦｉ（登録商標）チップの最大スキャン能力）に基づいて判定することができる。アクセスポイント閾値を満足する無線アクセスポイントを選択することの更なる詳細は、図１３Ａを参照して説明する。
【０１１７】
図１３Ａは、複数のジオフェンスをモニタリングするための無線アクセスポイントを選択するための例示の動作１３００を示すフローチャートである。この動作は、上述の移動デバイス１００のような移動デバイスによって実行することができる。
【０１１８】
移動デバイス１００は、アクセスポイント割当量とフェンススコアを初期化することができる（１３０２）。アクセスポイント割当量は、例えば、無線プロセッサのスキャン能力と、既に選択されている無線アクセスポイントに基づいて、どれくらいより多くの無線アクセスポイントを選択できるかを示す値とすることができる。アクセスポイント割当量を初期化することは、アクセスポイント割当量をスキャン能力に基づく初期値に設定することを含むことができる。ジオフェンスのフェンススコアは、ジオフェンスに対して既に選択されている無線アクセスポイントに基づいて判定される検出確率（例えば、グリッド検出確率）とすることができる。フェンススコアを初期化することは、想定されるジオフェンスのすべてのフェンススコアをゼロに設定することを含むことができる。
【０１１９】
移動デバイス１００は、複数のジオフェンスを通過することを繰り返して、無線アクセスポイントを選択することができる（１３０４）。複数のジオフェンスを通過することを繰り返すことは、各ジオフェンスをモニタリングするための無線アクセスポイントを選択することを含むことができる。繰り返しの間、移動デバイス１００は、アクセスポイント割当量がゼロより大きいままであるかどうかを判定することができる（１３０６）。アクセスポイント割当量がゼロに到達している場合、移動デバイス１００は、無線アクセスポイントの選択を停止することができる。そうでなければ、移動デバイス１００は繰り返しを継続することができる。
【０１２０】
アクセスポイント割当量がゼロより大きいままである場合、移動デバイス１００は、１つ以上の無線アクセスポイントを現在繰り返されているジオフェンスへ追加して、現在のフェンススコアを判定することができる（１３０８）。
【０１２１】
複数のジオフェンスを通過することを繰り返すこと（１３０４）は、モニタされるジオフェンスに基づいて以下の動作を実行することを含むことができる。移動デバイス１００は、繰り返し条件を満足する場合に、繰り返されるジオフェンス１１０のために１つ以上の無線アクセスポイントを選択することができる。この繰り返し条件は、以下の場合を満足し得る。
【０１２２】
（１）ジオフェンス１１０のフェンススコアが改善の余地がある（例えば、ジオフェンス１１０のフェンススコアが最大フェンススコアよりも低い）。
【０１２３】
（２）次点のフェンススコアが、現在のフェンススコアよりもかなり高い。次点のフェンススコアは、想定される１つ以上の無線アクセスポイントが実際に選択されている場合のジオフェンス１１０の検出確率である。次点のフェンススコアは、フェンススコアと現在のフェンススコアとの差分が閾値を満足する場合の現在のフェンススコアよりもかなり高い。
【０１２４】
（３）アクセスポイント割当量がゼロよりも大きい。
【０１２５】
１つ以上の無線アクセスポイントを選択することに応じて、移動デバイス１００は、上述の計算された次点のフェンススコアを、繰り返されるジオフェンスの新規の現在のフェンススコアとして割り当てることができ、そして、選択されている無線アクセスポイントの数でアクセスポイント割当量を減じることができる。
【０１２６】
図１３Ｂは、図１３Ａの動作の例示の用途を示している。図示のために、移動デバイス１００（上述の）は、第１のジオフェンス（ジオフェンス１３２０）、第２のジオフェンス（ジオフェンス１３２２）、及び第３のジオフェンス（ジオフェンス１３２４）をモニタリングするための無線アクセスポイントを選択している。ジオフェンス１３２０、１３２２、及び１３２４のそれぞれは、対応するフェンススコアとともに候補無線アクセスポイントのセットに関連付けることができる。例えば、ジオフェンス１３２０は、４個の候補無線アクセスポイントの第１のセットを関連するフェンススコア０．１とともに、６個の候補無線アクセスポイントの第２のセットを関連するフェンススコア０．５とともに、８個の候補無線アクセスポイントの第３のセットを関連するフェンススコア０．８とともに関連付けることができる。
【０１２７】
初期化動作中（「０」でマークされる矢印で示されている）に、ジオフェンス１３２０、１３２２及び１３２４のそれぞれのフェンススコアをゼロに設定することができる。初期化の後は、移動デバイス１００は、繰り返し条件が満足しなくなるまで、ジオフェンス１３２０、１３２２及び１３２４と、次の矢印で特定される順序（１−９）で複数のジオフェンスに関連付けられている候補無線アクセスポイントのセットを通過することを繰り返すことができる。
【０１２８】
例示のアクセスポイント選択システム
図１４は、ジオフェンスをモニタリングするための無線アクセスポイントを選択する技術を実現するシステムの例示のコンポーネントを示すブロック図である。無線アクセスポイント選択システム１４０２は、移動デバイス（例えば、上述の移動デバイス１００）のコンポーネントであり得り、これは、ジオフェンスをモニタリングするための１つ以上の無線アクセスポイントを選択するように構成されている。
【０１２９】
無線アクセスポイント選択システム１４０２は、データ記憶装置２３０を含むことができ、これは、無線アクセスポイントのリストを記憶することができる。各無線アクセスポイントは、ロケーション、チャネル及びＡＰスコアに関連付けることができる。無線アクセスポイントのロケーションは、推定されたロケーションであり得り、これは、無線アクセスポイントの物理的なロケーションに対応していても良いし、していなくても良い。ロケーションとＡＰスコアは、リモートサーバによって、あるいは移動デバイス１００によって判定することができる。データ記憶装置２３０は、データベース（例えば、リレーショナルあるいはオブジェクトデータベース）で、あるいは記憶装置に記憶されるフラットファイルで実現することができる。
【０１３０】
無線アクセスポイント選択システム１４０２は、ジオフェンスデータ記憶装置１４０４を含むことができる。ジオフェンスデータ記憶装置１４０４は、１つ以上のジオフェンスに情報を記憶することができ、これには、例えば、ジオフェンスのロケーション及びディメンジョンが含まれる。
【０１３１】
無線アクセスポイント選択システム１４０２は、ジオフェンス解析部１４０６を含むことができる。ジオフェンス解析部１４０６は、無線アクセスポイント選択システム１４０２のコンポーネントであり、１つ以上の地理的領域（例えば、タイル）を含む地理的グリッドを作成するように構成されている。データ記憶装置２３０の各無線アクセスポイントは、地理的領域の１つに対応するロケーションを有することができる。ジオフェンス解析部１４０６は、各地理的領域の１つ以上のポイントをプロービングポイントとして指定することができる。ジオフェンス解析部１４０６は、ハードウェアコンポーネント及びソフトウェアコンポーネントを含むことができる。
【０１３２】
無線アクセスポイント選択システム１４０２は、確率スコア計算部１４０８を含むことができる。確率スコア計算部１４０８は、無線アクセスポイント選択システム１４０２のコンポーネントであり、各プロービングポイントに対するプロービングポイント検出確率を計算し、かつ、そのプロービングポイント検出確率に基づいて候補無線アクセスポイントの各セットのグリッド検出確率を計算するように構成されている。確率スコア計算部１４０８からの出力は、図１３Ａを参照して説明される繰り返しプロセスに従ってジオフェンス解析部１４０６へ供給され得る。
【０１３３】
無線アクセスポイント選択システム１４０２は、チャネル最適化部１４１０を含むことができる。チャネル最適化部１４１０は、無線アクセスポイント選択システムのコンポーネントであり、データ記憶装置２３０からのチャネル情報に基づいてチャネル最適化動作を実行するように構成されている。チャネル最適化部１４１０は、ハードウェアコンポーネント及びソフトウェアコンポーネントを含むことができる。
【０１３４】
無線アクセスポイント選択システム１４０２は、無線アクセスポイント選択部１４１２を含むことができる。無線アクセスポイント選択部１４１２は、無線アクセスポイント選択システム１４０２のコンポーネントであり、確率スコア計算部１４０８によって計算される確率と、チャネル最適化部１４１０からのチャネル情報に基づいて、１つ以上のジオフェンスに対する選択動作を実行するように構成されている。無線アクセスポイント選択部１４１２は、ハードウェアコンポーネント及びソフトウェアコンポーネントを含むことができる。
【０１３５】
無線アクセスポイント選択システム１４０２は、選択済のアクセスポイントデータ記憶装置１４１４を含むことができる。選択済のアクセスポイントデータ記憶装置１４１４は、無線アクセスポイント選択システム１４０２のコンポーネントであり、無線アクセスポイント選択部１４１２によって選択される無線アクセスポイントのリストを記憶するように構成されている。無線アクセスポイント選択システム１４０２は、選択済の無線アクセスポイントを、１つ以上のジオフェンスをモニタリングするための移動デバイス１００の無線プロセッサへ送信することができる。
【０１３６】
例示の無線アクセスポイント選択動作
図１５は、無線アクセスポイントの例示の動作１５００を示すフローチャートである。動作１５００は、上述の移動デバイス１００によって実行することができる。
【０１３７】
移動デバイス１００は、ジオフェンスを受信する（１５０２）ことができる。このジオフェンスは、フェンスロケーションとフェンスディメンジョンによって定義することができる。ジオフェンスは、ユーザから受信することができる。
【０１３８】
移動デバイス１００は、複数の無線アクセスポイントから、ジオフェンスをモニタリングするための１つ以上の無線アクセスポイントを選択することができる（１５０４）。１つ以上の無線アクセスポイントを選択することは、ジオフェンスに対応する複数の地理的領域を判定すること、選択する無線アクセスポイントの最大数と、地理的領域のそれぞれに対するアクセスポイント許容量に基づいて、１つ以上の無線アクセスポイントを選択することを含むことができる。アクセスポイント許容量は、地理的領域に対して選択される無線アクセスポイントの最大数を示すことができる。移動デバイス１００は、無線プロセッサのモニタリング能力の少なくとも一部に基づいて選択される無線アクセスポイントの最大数を判定することができる。
【０１３９】
ジオフェンスに対応する地理的領域を判定することは、ジオフェンスに関連付けられている地理的エリアを複数のタイルに分割することを含むことができる。各地理的領域は、タイルに対応付けることができる。各タイルは、実質的な矩形エリアとすることができる。
【０１４０】
ジオフェンスをモニタリングするために選択される無線アクセスポイントは、移動デバイス１００に記憶することができる。各無線アクセスポイントは、無線アクセスポイント識別子（例えば、ＭＡＣアドレス）によって表すことができる。各無線アクセスポイントは、アクセスポイントロケーションに関連付けることができる。アクセスポイントロケーションは、モニタリングするための地理的領域群の１つに関連付ける（例えば、位置させる）ことができる。各無線アクセスポイントは、ジオフェンスをモニタリングする際の無線アクセスポイントの価値を示すアクセスポイントスコアに関連付けることができる。各無線アクセスポイントは、チャネル番号に関連付けることができる。チャネル番号は、無線アクセスポイントが信号を送受信するチャネルを示すことができる。
【０１４１】
１つ以上の無線アクセスポイントを選択することは、スコア計算動作を繰り返し実行することを含むことができる。スコア計算動作は、地理的領域群のそれぞれに対するアクセスポイント許容量を設定することあるいは増加させることを含むことができる。スコア計算動作は、アクセスポイントスコアに基づいて、地理的領域にまだ追加されていない無線アクセスポイントを順序付けすることを含むことができ、ここで、まだ追加されていない無線アクセスポイントに関連付けられているアクセスポイントロケーションは、宛先地理的領域に対応する。スコア計算動作は、既に追加されているアクセスポイントを候補無線アクセスポイントとして指定することと、候補無線アクセスポイントに基づいて検出確率を計算することを含むことができる。１つ以上の無線アクセスポイントを選択することは、無線アクセスポイントの最大総数と、繰り返しスコア計算動作で計算される検出確率に基づいて、候補無線アクセスポイントから、１つ以上の無線アクセスポイントを選択することを含むことができる。
【０１４２】
移動デバイス１００は、移動デバイス１００と無線アクセスポイントの間の通信チャネルに基づいて、更なる１つ以上の無線アクセスポイントを選択することができる。１つ以上の無線アクセスポイントを選択することは、確率密度関数を使用して通信チャネルのそれぞれに対する１つ以上の好適な無線アクセスポイントを判定することと、その好適な無線アクセスポイントから１つ以上の無線アクセスポイントを選択することを含むことができる。通信チャネルのそれぞれに対する１つ以上の好適な無線アクセスポイントを判定することは、確率密度関数と、通信チャネルを使用する無線アクセスポイントの数を使用して、通信チャネルのそれぞれの評判スコアを判定することを含むことができる。通信チャネルのそれぞれに対する１つ以上の好適な無線アクセスポイントを判定することは、通信チャネルの評判スコアに基づいて１つ以上の好適な無線アクセスポイントを判定することを含むことができる。
【０１４３】
移動デバイス１００は、確率計算動作を使用して検出確率を計算することができる。確率計算動作は、地理的領域のそれぞれにおける少なくとも１つのポイントをプロービングポイントとして指定することを含むことができる。移動デバイス１００は、各プロービングポイントに対するプロービングポイント検出確率を計算することができる。プロービングポイント検出確率は、そのプロービングポイントに位置している移動デバイスがジオフェンスをモニタリングするために任意に選択されるアクセスポイントを検出することができる尤度を示すことができる。移動デバイス１００は、プロービングポイントのプロービングポイント検出確率に基づいて検出確率を計算することができ、これは、図１０を参照して説明される計算式（５）を使用して、任意のプロービングポイントで選択されるアクセスポイントを検出しない確率を計算することを含んでいる。
【０１４４】
動作１５００は、別のジオフェンスをモニタリングするための１つ以上の無線アクセスポイントを選択することを含むことができ、そうすることで、ジオフェンスを表す選択さされた無線アクセスポイントと他のジオフェンスを表す選択された無線アクセスポイントとの総数が、一度に移動デバイス１００によってモニタすることができる無線アクセスポイントの最大数を超えないようにする。移動デバイス１００は、ジオフェンスをモニタリングするための１つ以上の候補無線アクセスポイントを選択すること、あるいは、他のジオフェンスをモニタリングするための１つ以上の候補無線アクセスポイントを選択することを、各繰り返しにおいて、各選択の結果から得られる改善の量に基づいて繰り返し判定することができる。
【０１４５】
移動デバイス１００は、ジオフェンスとの相対的な移動デバイスの暫定的なロケーションを判定する（１５０６）ことができ、これには、無線プロセッサを使用して選択された１つ以上の無線アクセスポイントをモニタリングすることを含み、また、移動デバイス１００は、例えば、移動デバイス１００がジオフェンスの内側にあるか、あるいはジオフェンスの外側にあるかを暫定的に判定することができる。無線プロセッサは、ＷｉＦｉ（登録商標）チップとすることができる。選択された１つ以上の無線アクセスポイントをモニタリングすることは、１つ以上のチャネル上で、選択された１つ以上の無線アクセスポイントからの信号をスキャンすることを備える。移動デバイス１００は、移動デバイス１００のアプリケーションプロセッサをウェイクアップすることができる。アプリケーションプロセッサを使用して、移動デバイス１００は、移動デバイス１００がジオフェンスの内側に位置しているかどうかを判定することができる。
【０１４６】
例示の移動デバイスアーキテクチャ
図１６は、図１−図８の移動デバイスに対する例示のアーキテクチャ１６００のブロック図である。移動デバイスは、メモリインタフェース１６０２、１つ以上のデータプロセッサ、画像プロセッサ、及びプロセッサ１６０４、及び周辺機器インタフェース１６０６を含むことができる。メモリインタフェース１６０２、１つ以上のプロセッサ１６０４、及び周辺機器インタフェース１６０６は、別々のコンポーネントすることができ、あるいは、１つ以上の集積回路に集積することができる。プロセッサ１６０４は、アプリケーションプロセッサ、ベースバンドプロセッサ、及び無線プロセッサを含むことができる。移動デバイス１００の各種コンポーネントは、例えば、１つ以上の通信バスあるいは信号線によって接続することができる。
【０１４７】
センサ、デバイス、及びサブシステムは、複数の機能を促進するために、周辺機器インタフェース１６０６に接続することができる。例えば、動きセンサ１６１０、光センサ１６１２、及び近接センサ１６１４は、移動デバイスの方向機能、照明機能、及び近接機能を促進するために周辺機器インタフェース１６０６と接続することができる。ロケーションプロセッサ１６１５（例えば、ＧＰＳ受信機）は、地理的位置決めを提供するために周辺機器インタフェース１６０６に接続することができる。電子磁力計１６１６（例えば、集積回路チップ）も、磁北の方向を判定するために使用することができるデータを提供するために、周辺機器インタフェース１６０６と接続することができる。こうして、電子磁力計１６１６は、電子コンパスとして使用することができる。動きセンサ１６１０は、移動デバイスの移動の速さ及び方向の変化を判定するように構成されている１つ以上の加速度計を含むことができる。重力計１６１７は、周辺機器インタフェース１６０６に接続されている１つ以上のデバイスを含み、そして、地球の局所的な重力場を測定するように構成されている。
【０１４８】
カメラサブシステム１６２０と光学センサ１６２２、例えば、電荷結合素子（ＣＣＤ）あるいは相補型金属酸化膜半導体（ＣＭＯＳ）光学センサは、写真及びビデオクリップの記録のようなカメラ機能を促進するために利用することができる。
【０１４９】
通信機能は、１つ以上の無線通信サブシステム１６２４を通じて促進することができ、これは、無線周波数受信機及び送信機、及び光学（例えば、赤外線）受信機及び送信機を含むことができる。通信サブシステム１６２４の専用の設計及び実装は、移動デバイスが動作するように意図されている通信ネットワーク（群）に依存し得る。例えば、移動デバイスは、ＧＳＭ（登録商標）ネットワーク、ＧＰＲＳネットワーク、ＥＤＧＥネットワーク、Ｗｉ−ＦｉあるいはＷｉＭａｘネットワーク、及びブルートゥースネットワークを介して動作するように設計されている通信サブシステム１６２４を含むことができる。特に、無線通信サブシステム１６２４は、ホスティングプロトコルを含むことができ、そうすることで、移動デバイスは、他の無線デバイスに対する基地局として構成することができる。
【０１５０】
オーディオサブシステム１６２６は、スピーカ１６２８とマイクロフォン１６３０に接続することで、音声対応機能、例えば、音声認識、音声複製、デジタル記録、及びテレフォニー機能を促進することができる。
【０１５１】
Ｉ／Ｏサブシステム１６４０は、タッチスクリーンコントローラ１６４２及び他の入力コントローラ（群）１６４４の少なくとも一方を含むことができる。タッチスクリーンコントローラ１６４２は、タッチスクリーン１６４６あるいはパッドに接続することができる。タッチスクリーン１６４６とタッチスクリーンコントローラ１６４２は、例えば、複数のタッチ感知技術の任意の技術を使用して、その接触、及び移動あるいは中断を検出することができ、これには、限定されるものではないが、容量性技術、抵抗性技術、赤外線技術、及び弾性表面波技術を含み、それらに加えて、他の近接センサアレー、あるいはタッチスクリーン１６４６との接触の１つ以上の部分を判定するための他の要素を含んでいる。
【０１５２】
他の入力コントローラ（群）１６４４は、他の入力／制御デバイス１６４８、例えば、１つ以上のボタン、ロックスイッチ、サムホイール、赤外線ポート、ＵＳＢポート、及びスタイラスのようなポインタデバイスの少なくとも１つに接続することができる。１つ以上のボタン（不図示）は、スピーカ１６２８及びマイクロフォン１６３０の少なくとも一方のボリュームコントロール用のアップボタン／ダウンボタンを含むことができる。
【０１５３】
一実装では、第１の期間の間のボタンの押下は、タッチスクリーン１６４６のロックを指示することができ、第１の期間より長い第２の期間の間のボタンの押下は、移動デバイス１００の電源のオンあるいはオフを行うことができる。ユーザは、１つ以上のボタンの機能をカスタマイズすることができる。タッチスクリーン１６４６は、例えば、仮想あるいはソフトボタン、及びキーボードの少なくとも一方を実装するために使用することができる。
【０１５４】
いくつかの実装では、移動デバイス１００は、ＭＰ３ファイル、ＡＡＣファイル及びＭＰＥＧファイルのような、記録済のオーディオファイル及びビデオファイルの少なくとも一方を提示することができる。いくつかの実装では、移動デバイス１００は、ｉＰｏｄ（登録商標）のようなＭＰ３プレーヤの機能を含むことができる。そのため、移動デバイス１００は、ｉＰｏｄと互換性のあるピンコネクタを含んでいても良い。他の入力／出力及び制御デバイスを使用することもできる。
【０１５５】
メモリインタフェース１６０２を、メモリ１６５０に接続することができる。メモリ１６５０は、高速ランダムアクセスメモリ及び不揮発性メモリの一方を含むことができ、これには、例えば、１つ以上の磁気ディスク記憶デバイス、１つ以上の光学記憶デバイス、及びフラッシュメモリ（例えば、ＮＡＮＤ、ＮＯＲ）の少なくとも１つがある。メモリ１６５０は、オペレーティングシステム１６５２を記憶することができ、これには、例えば、Ｄａｒｗｉｎ、ＲＴＸＣ、ＬＩＮＵＸ（登録商標）、ＵＮＩＸ（登録商標）、ＯＳ  Ｘ、  ＷＩＮＤＯＷＳ（登録商標）、あるいはＶｘＷｏｒｋｓのような埋込オペレーティングシステムがある。オペレーティングシステム１６５２は、基本システムサービスを処理するための機能、及びハードウェア依存タスクを実行するための機能を含むことができる。いくつかの実装では、オペレーティングシステム１６５２は、カーネル（例えば、ＵＮＩＸ（登録商標）カーネル）を含むことができる。
【０１５６】
メモリ１６５０は、通信命令１６５４を記憶することで、１つ以上の追加のデバイス、１つ以上のコンピュータ、及び１つ以上のサーバとの通信を促進することができる。メモリ１６５０は、グラフィカルユーザインタフェース命令１６５６を含むことで、グラフィックユーザインタフェース処理を促進し、センサ処理命令１６５８を含むことで、センサ関連処理及び機能を促進し、電話命令１６６０を含むことで、電話関連プロセス及び機能を促進し、電子メッセージング命令１６６２を含むことで、電子メッセージング関連プロセス及び機能を促進し、ウェブ閲覧命令１６６４を含むことで、ウェブ閲覧関連プロセス及び機能を促進し、メディア処理命令１６６６を含むことで、メディア処理関連プロセス及び機能を促進し、ＧＰＳ／ナビゲーション命令１６６８を含むことで、ＧＰＳ及びナビゲーション関連プロセス及び機能を促進し、カメラ命令１６７０を含むことで、カメラ関連プロセス及び機能を促進し、磁力計データ１６７２及びキャリブレーションデータ１６７４を含むことで、磁力計キャリブレーションを促進することができる。メモリ１６５０は、更に、他のソフトウェア命令（不図示）、例えば、セキュリティ命令、ウェブビデオ命令を記憶することで、ウェブビデオ関連プロセス及び機能を促進し、ウェブショッピング命令を記憶することで、ウェブショッピング関連プロセス及び機能を促進することができる。いくつかの実装では、メディア処理命令１６６６は、オーディオ処理命令とビデオ処理命令とに分割されて、オーディオ処理関連プロセス及び機能と、ビデオ処理関連プロセス及び機能とをそれぞれ促進する。アクティベーション記録及び国際移動機器アイデンティティ（ＩＭＥＩ）あるいは同様のハードウェア識別子を、メモリ１６５０に記憶することもできる。メモリ１６５０は、ジオフェンス命令１６７６を含むことができ、これは、ユーザによって定義されるジオフェンスを受信するために使用することができ、ジオフェンスをモニタリングするための１つ以上の無線アクセスポイントを識別すること、識別された無線アクセスポイントを使用してジオフェンスをモニタリングすることを含み、また、移動デバイスがジオフェンスの内側あるいは外側にあるかを判定することに応じてジオフェンスに関連付けられているタスクを実行する。
【０１５７】
上述の識別された命令とアプリケーションのそれぞれは、上述の１つ以上の機能を実行するための命令群のセットに対応し得る。これらの命令は、個別のソフトウェアプログラム、手順、あるいはモジュールとして実現される必要はない。メモリ１６５０は、追加の命令あるいはより少ない命令を含むことができる。また、移動デバイスの様々な機能を、ハードウェア及びソフトウェアの少なくとも一方で実現することができ、これには、１つ以上の信号処理及び特定用途集積回路の少なくとも一方を含むことができる。
【０１５８】
例示の動作環境
図１７は、図１−図９の移動デバイスに対する例示のネットワーク動作環境１７００のブロック図である。移動デバイス１７０２ａと１７０２ｂは、例えば、データ通信において、１つ以上の有線及び無線ネットワーク１７１０を介して通信することができる。例えば、無線ネットワーク１７１２は、例えば、セルラーネットワークは、ゲートウェイ１７１６を使用することによって、ワイドエリアネットワーク（ＷＡＮ）１７１４、例えば、インターネットと通信することができる。同様に、アクセスデバイス１７１８、例えば、８０２．１１ｇ無線アクセスポイントは、ワイドエリアネットワーク１７１４への通信アクセスを提供することができる。
【０１５９】
いくつかの実装では、音声通信及びデータ通信の両方を、無線ネットワーク１７１２とアクセスデバイス１７１８を介して確立することができる。例えば、移動デバイス１７０２ａは、発呼を行って、呼を受信すること（例えば、ボイスオーバインターネット（ＶｏＩＰ）プロトコルを使用して）、電子メールメッセージを送受信すること（例えば、ポストオフィスプロトコル３（ＰＯＰ３）を使用して）、及び、ウェブページ、写真及びビデオのような電子文書及び電子ストリームの少なくとも一方を取得することを、無線ネットワーク１７１２、ゲートウェイ１７１６及びワイドエリアネットワーク１７１４（例えば、送信制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）あるいはユーザデータグラムプロトコル（ＵＤＰ））を介して行うことができる。同様に、いくつかの実装では、移動デバイス１７０２ｂは、発呼を行って、呼を受信すること、電子メールメッセージを送受信すること、電子文書及び電子ストリームの少なくとも一方を取得することを、アクセスデバイス１７１８とワイドエリアネットワーク１７１４を介して行うことができる。いくつかの実装では、移動デバイス１７０２ａあるいは１７０２ｂは、１つ以上のケーブルを使用してアクセスデバイス１７１８と物理的に接続することができ、アクセスデバイス１７１８は、パーソナルコンピュータとすることができる。この構成設定では、移動デバイス１７０２ａあるいは１７０２ｂは、「テザリング」デバイスとして呼ぶことができる。
【０１６０】
移動デバイス１７０２ａ及び１７０２ｂは、他の手段によって通信を確立することもできる。例えば、無線デバイス１７０２ａは、他の無線デバイス、例えば、他の移動デバイス、セルラーフォン等と、無線ネットワーク１７１２を介して通信することができる。同様に、移動デバイス１７０２ａと１７０２ｂは、ピアツーピア通信１７２０、例えば、パーソナルエリアネットワークを、１つ以上の通信サブシステム、例えば、ブルートゥース（登録商標）通信デバイスを使用することによって確立することができる。他の通信プロトコルとトポロジーも実現することができる。
【０１６１】
移動デバイス１７０２ａと１７０２ｂは、例えば、１つ以上の有線ネットワーク及び無線ネットワークの少なくとも一方を介して、１つ以上のサービス１７３０及び１７４０と通信することができる。例えば、１つ以上のアクセスポイントリスティングサービス１７３０は、無線アクセスポイントの１つ以上の識別子を判定し、無線アクセスポイントに対するＡＰスコアを判定する１つ以上のロケーション感知デバイスから収集されるロケーションデータを使用して無線アクセスポイントのロケーションを推定し、各無線アクセスポイントに対するチャネルを判定し、そして、移動デバイス１７０２ａあるいは１７０２ｂへ情報を提供することができる。
【０１６２】
ジオフェンスサービス１７４０は、例えば、ジオフェンスベースのＡＰＩを提供することで、移動デバイス１７０２ａあるいは１７０２ｂのユーザは、ジオフェンスベースのアプリケーションプログラムを開発することができる。このアプリケーションプログラムは、移動デバイス１７０２ａあるいは１７０２ｂへダウンロードするために提供することができる。
【０１６３】
移動デバイス１７０２ａあるいは１７０２ｂは、１つ以上の有線ネットワーク及び無線ネットワークの少なくとも一方を介して他のデータ及びコンテンツへアクセスすることもできる。例えば、コンテンツ発行者、例えば、ニュースサイト、リアリーシンプルシンジケーション（ＲＳＳ：Really Simple Syndication）フィード、ウェブサイト、ブログ、ソーシャルネットワークサイト、開発者ネットワーク等は、移動デバイス１７０２ａあるいは１７０２ｂによってアクセスすることができる。このようなアクセスは、例えば、ウェブオブジェクトへのユーザタッチに応じて、ウェブブラウジング（閲覧）機能あるいはアプリケーション（例えば、ブラウザ）の起動によって提供することができる。
【０１６４】
本発明のいくつかの実装が記載されている。それでもなお、本発明の精神及び範囲を逸脱することなく、様々な変形を行うことができることが理解されるであろう。例えば、無線アクセスポイント選択で使用される地理的領域は、タイルとして表される。地理的領域の集合は、グリッドとして表される。地理的領域の実際の形状は、変化し得る。
【図１Ａ】
0005770933.tif 000007
【図１Ｂ】
0005770933.tif 000008
【図１Ｃ】
0005770933.tif 000009
【図２】
0005770933.tif 000010
【図３Ａ】
0005770933.tif 000011
【図３Ｂ】
0005770933.tif 000012
【図４Ａ】
0005770933.tif 000013
【図４Ｂ】
0005770933.tif 000014
【図４Ｃ】
0005770933.tif 000015
【図４Ｄ】
0005770933.tif 000016
【図５】
0005770933.tif 000017
【図６】
0005770933.tif 000018
【図７】
0005770933.tif 000019
【図８Ａ】
0005770933.tif 000020
【図８Ｂ】
0005770933.tif 000021
【図９Ａ】
0005770933.tif 000022
【図９Ｂ】
0005770933.tif 000023
【図９Ｃ】
0005770933.tif 000024
【図９Ｄ】
0005770933.tif 000025
【図１０】
0005770933.tif 000026
【図１１】
0005770933.tif 000027
【図１２】
0005770933.tif 000028
【図１３Ａ】
0005770933.tif 000029
【図１３Ｂ】
0005770933.tif 000030
【図１４】
0005770933.tif 000031
【図１５】
0005770933.tif 000032
【図１６】
0005770933.tif 000033
【図１７】
0005770933.tif 000034