(57)【特許請求の範囲】
【請求項１】
方法であって、
携帯デバイスによって、複数のジオフェンスに関連するフェンス情報をローカルストレージから取得し、
ジオフェンス判定を実行するか否かを決定し、
ジオフェンス判定の実行が決定された場合に、
前記携帯デバイスが前記複数のジオフェンスの１つの中に現在位置するか否かを順次判定し、前記順次判定が実行される時に従う順序は、前記複数のジオフェンスの少なくとも２つの内の対応するジオフェンスと、前記携帯デバイスの現在位置との間の距離に少なくとも部分的に基づき、
前記複数のジオフェンスの前記少なくとも２つの中で前記携帯デバイスに現在最も近いジオフェンスの位置に少なくとも部分的に基づいて、前記携帯デバイスが１または複数のジオフェンスに対応する特定の地理的領域に入ったか否かを判定するタイミングを示す次のジオフェンス判定の判定時間を決定すること、を備える、方法。
【請求項２】
請求項１に記載の方法であって、さらに、
前記携帯デバイスの前記現在位置を取得し、
前記携帯デバイスの前記現在位置をサーバに送信し、
前記サーバから、前記複数のジオフェンスの１または複数に関連するフェンス情報を受信し、前記サーバによって送信される前記フェンス情報は、前記携帯デバイスの前記現在位置に少なくとも部分的に基づいて選択される、こと、
を備える、方法。
【請求項３】
請求項１に記載の方法であって、さらに、
前記携帯デバイスが前記複数のジオフェンスの１つの中に位置する場合に、前記複数のジオフェンスの前記１つに関する予め定められた情報を受信することを備え、前記予め定められた情報は、サーバによって前記携帯デバイスに提供される、方法。
【請求項４】
請求項３に記載の方法であって、さらに、
前記携帯デバイスが前記複数のジオフェンスの１つの中に位置するか否かを判定すること、方法。
【請求項５】
請求項３に記載の方法であって、前記予め定められた情報は、前記ジオフェンス内の店舗または前記ジオフェンス内で利用可能なサービスの内の１または複数に関連する情報を含む、方法。
【請求項６】
請求項５に記載の方法であって、前記予め定められた情報は、前記ジオフェンス内の前記店舗に関連する販売情報を含む、方法。
【請求項７】
請求項１に記載の方法であって、前記次のジオフェンス判定の前記判定時間を決定することは、
前記複数のジオフェンスの内の２以上と、前記携帯デバイスの前記現在位置との間のそれぞれの初期距離を計算し、
前記計算された初期距離の中から最小値を選択し、
前記選択された最小値を予め定められた速度閾値で割ることに少なくとも部分的に基づいて、商の結果を計算し、
前記計算された商の結果に少なくとも部分的に基づいて、目標判定時間を決定すること、
を含む、方法。
【請求項８】
請求項１に記載の方法であって、ジオフェンス判定を実行するか否かを決定すること、
前記携帯デバイスの予め定められた移動閾値をリトリーブし、
前記携帯デバイスの移動量が前記予め定められた移動閾値を超えたか否かを判定すること、
を含む、方法。
【請求項９】
請求項１に記載の方法であって、ジオフェンス判定を実行するか否かを決定することは、
前記携帯デバイスによって計算された前記ジオフェンス判定のリアルタイム判定時間をリトリーブし、
現在時刻と、ジオフェンス判定が最も近時に実行された時刻との間の時間差が、前記リアルタイム判定時間以上であるか否かを判定すること、
を含む、方法。
【請求項１０】
デバイスであって、
少なくとも１つのプロセッサであって、
携帯デバイスによって、複数のジオフェンスに関連するフェンス情報をローカルストレージから取得し、
ジオフェンス判定を実行するか否かを決定し、
ジオフェンス判定の実行が決定された場合に、
前記携帯デバイスが前記複数のジオフェンスの１つの中に現在位置するか否かを順次判定し、前記順次判定が実行される時に従う順序は、前記複数のジオフェンスの少なくとも２つの内の対応するジオフェンスと、前記携帯デバイスの現在位置との間の距離に少なくとも部分的に基づき、
前記複数のジオフェンスの前記少なくとも２つの中で前記携帯デバイスに現在最も近いジオフェンスの位置に少なくとも部分的に基づいて、前記携帯デバイスが１または複数のジオフェンスに対応する特定の地理的領域に入ったか否かを判定するタイミングを示す次のジオフェンス判定の判定時間を決定するよう構成されている、少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに接続され、前記少なくとも１つのプロセッサに命令を提供するよう構成されているメモリと、
を備える、デバイス。
【請求項１１】
請求項１０に記載のデバイスであって、前記少なくとも１つのプロセッサは、さらに、
前記携帯デバイスの前記現在位置を取得し、
前記携帯デバイスの前記現在位置をサーバに送信し、
前記サーバから、前記複数のジオフェンスの１または複数に関連するフェンス情報を受信するよう構成され、
前記サーバによって送信される前記フェンス情報は、前記携帯デバイスの前記現在位置に少なくとも部分的に基づいて選択される、デバイス。
【請求項１２】
請求項１０に記載のデバイスであって、前記少なくとも１つのプロセッサは、さらに、
前記携帯デバイスが前記複数のジオフェンスの１つの中に位置する場合に、前記複数のジオフェンスの前記１つに関する予め定められた情報を受信するよう構成され、
前記予め定められた情報は、サーバによって前記携帯デバイスに提供される、デバイス。
【請求項１３】
請求項１２に記載のデバイスであって、前記少なくとも１つのプロセッサは、さらに、
前記携帯デバイスが前記複数のジオフェンスの１つの中に位置するか否かを判定するよう構成されている、デバイス。
【請求項１４】
請求項１２に記載のデバイスであって、前記予め定められた情報は、前記ジオフェンス内の店舗または前記ジオフェンス内で利用可能なサービスの内の１または複数に関連する情報を含む、デバイス。
【請求項１５】
請求項１４に記載のデバイスであって、前記予め定められた情報は、前記ジオフェンス内の前記店舗に関連する販売情報を含む、デバイス。
【請求項１６】
請求項１０に記載のデバイスであって、前記少なくとも１つのプロセッサは、さらに、
前記複数のジオフェンスの内の２以上と、前記携帯デバイスの前記現在位置との間のそれぞれの初期距離を計算し、
前記計算された初期距離の中から最小値を選択し、
前記選択された最小値を予め定められた速度閾値で割ることに少なくとも部分的に基づいて、商の結果を計算し、
前記計算された商の結果に少なくとも部分的に基づいて、目標判定時間を決定することにより、前記次のジオフェンス判定の前記判定時間を決定するよう構成されている、デバイス。
【請求項１７】
請求項１０に記載のデバイスであって、前記少なくとも１つのプロセッサは、さらに、
前記携帯デバイスの予め定められた移動閾値をリトリーブし、
前記携帯デバイスの移動量が前記予め定められた移動閾値を超えたか否かを判定することにより、ジオフェンス判定を実行するか否かを決定するよう構成されている、デバイス。
【請求項１８】
請求項１０に記載のデバイスであって、前記少なくとも１つのプロセッサは、さらに、
前記携帯デバイスによって計算された前記ジオフェンス判定のリアルタイム判定時間をリトリーブし、
現在時刻と、ジオフェンス判定が最も近時に実行された時刻との間の時間差が、前記リアルタイム判定時間以上であるか否かを判定することにより、ジオフェンス判定を実行するか否かを決定するよう構成されている、デバイス。
【請求項１９】
コンピュータプログラムであって、
携帯デバイスによって、複数のジオフェンスに関連するフェンス情報をローカルストレージから取得するための機能と、
ジオフェンス判定を実行するか否かを決定するための機能と、
ジオフェンス判定が実行されると決定された場合に、
前記携帯デバイスが前記複数のジオフェンスの１つの中に現在位置するか否かを順次判定するための機能と、前記順次判定が実行される時に従う順序は、前記複数のジオフェンスの少なくとも２つの内の対応するジオフェンスと、前記携帯デバイスの現在位置との間の距離に少なくとも部分的に基づき、
前記複数のジオフェンスの前記少なくとも２つの中で前記携帯デバイスに現在最も近いジオフェンスの位置に少なくとも部分的に基づいて、前記携帯デバイスが１または複数のジオフェンスに対応する特定の地理的領域に入ったか否かを判定するタイミングを示す次のジオフェンス判定の判定時間を決定するための機能と、をコンピュータによって実現させる、コンピュータプログラム。
【請求項２０】
請求項１に記載の方法であって、前記次のジオフェンス判定の判定時間は、前記携帯デバイスの現在位置と最後に前記ジオフェンス判定が実行された位置との間の距離が予め設定された移動閾値を超えることに少なくとも一部基づいて判定される、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
他の出願の相互参照
本願は、すべての目的のために参照により本明細書に組み込まれる、２０１４年１２月８日に出願された発明の名称を「Ａ  ＧＥＯ−ＦＥＮＣＥ−ＢＡＳＥＤ  ＰＯＳＩＴＩＯＮＩＮＧ  ＭＥＴＨＯＤ  ＡＮＤ  ＤＥＶＩＣＥ」とする中国特許出願第２０１４１０７４３７９４．０号に基づく優先権を主張する。
【０００２】
本願は、インターネットデータ処理技術の分野を含み、特に、ジオフェンスに基づく位置特定のための方法およびデバイスに関する。
【背景技術】
【０００３】
モバイルインターネットの需要の高まりと共に、ますます多くのユーザの現在位置を利用するアプリケーションが開発されている。例えば、アリペイウォレットは、ユーザが指定領域に入った時に（例えば、アリペイウォレットを利用する携帯デバイスが指定領域内に位置する時に）、対応するプロンプトまたは応答が生成され、ユーザに提示されるジオフェンス機能を提供する。ジオフェンスは、仮想のフェンスを用いて仮想の地理的境界を囲むＬＢＳ（位置情報サービス）の新しいアプリケーションである。携帯デバイスが特定の指定された地理的領域に入るかまたは離れた場合に、その携帯デバイスは、特定の指定された地理的領域に関する自動通知および警告を受信することができる。
【０００４】
ある関連技術において、携帯デバイスまたはその他のクライアント上で実行するウェブサービスまたはその他のアプリケーションに関連するサーバが、特定の地理的位置の近くのフェンス情報を携帯デバイスと同期させることができ、携帯デバイスまたはその他のクライアントは、フェンス情報に対応する特定の指定された地理的領域に入ったか否かを判定できる。通常、携帯デバイスまたはその他のクライアントが指定された地理的領域に入ったか否かの判定は、固定時間間隔で実行される。
【０００５】
しかしながら、ジオフェンス判定が実行される時、固定時間間隔が長すぎると、かかる判定は、適時ではなく不正確な判定結果につながる。逆に、かかる固定時間間隔が短すぎると、携帯デバイスまたはその他のクライアントは、頻繁に位置特定を実行することにより、トラフィック量およびエネルギ消費が増大する。したがって、ジオフェンスのより効果的な実施、もしくは、携帯デバイスまたはその他のクライアントがジオフェンスに関連する指定された地理的領域に入ったか否かの判定を提供するための方法、デバイス、および、システムが求められている。
【図面の簡単な説明】
【０００６】
以下の詳細な説明と添付の図面において、本発明の様々な実施形態を開示する。
【０００７】
本発明の実施形態における技術スキームをより明確に説明するために、実施形態の説明に必要な図面について、以下で簡単に説明する。明らかに、以下で説明する図面は、本願のいくつかの実施形態にすぎない。当業者であれば、発明の努力を費やすことなく、これらの図面に基づいて他の図面を得ることができる。
【０００８】
【図１】本願の様々な実施形態に従って、ジオフェンスに関連して位置特定を行うことを決定するための方法を示すフローチャート。
【０００９】
【図２】本願の様々な実施形態に従って、ジオフェンスに関連するフェンス情報を受信するための方法を示すフローチャート。
【００１０】
【図３】本願の様々な実施形態に従って、ジオフェンスに関連して位置特定を行うことを決定するためのデバイスを示すブロック図。
【００１１】
【図４】本願の様々な実施形態に従って、ジオフェンスに関連して位置特定を行うことを決定するためのシステムを示す図。
【００１２】
【図５】本願の様々な実施形態に従って、ジオフェンスに関連して位置特定を行うことを決定するためのコンピュータシステムを示す機能図。
【発明を実施するための形態】
【００１３】
本発明は、処理、装置、システム、物質の組成、コンピュータ読み取り可能な格納媒体上に具現化されたコンピュータプログラム製品、および／または、プロセッサ（プロセッサに接続されたメモリに格納および／またはそのメモリによって提供される命令を実行するよう構成されたプロセッサ）を含め、様々な形態で実装されうる。本明細書では、これらの実装または本発明が取りうる任意の他の形態を、技術と呼ぶ。一般に、開示された処理の工程の順序は、本発明の範囲内で変更されてもよい。特に言及しない限り、タスクを実行するよう構成されるものとして記載されたプロセッサまたはメモリなどの構成要素は、ある時間にタスクを実行するよう一時的に構成された一般的な構成要素として、または、タスクを実行するよう製造された特定の構成要素として実装されてよい。本明細書では、「プロセッサ」という用語は、１または複数のデバイス、回路、および／または、コンピュータプログラム命令などのデータを処理するよう構成された処理コアを指すものとする。
【００１４】
以下では、本発明の原理を示す図面を参照しつつ、本発明の１または複数の実施形態の詳細な説明を行う。本発明は、かかる実施形態に関連して説明されているが、どの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであり、本発明は、多くの代替物、変形物、および、等価物を含む。以下の説明では、本発明の完全な理解を提供するために、多くの具体的な詳細事項が記載されている。これらの詳細事項は、例示を目的としたものであり、本発明は、これらの具体的な詳細事項の一部または全てがなくとも特許請求の範囲に従って実施可能である。簡単のために、本発明に関連する技術分野で周知の技術事項については、本発明が必要以上にわかりにくくならないように、詳細には説明していない。
【００１５】
本願の実施形態の技術スキームについて、本願の具体的な実施形態で図面に照らして明確かつ完全に説明する。明らかに、記載した実施形態は、本願の実施形態の一部に過ぎず、すべての実施形態ではない。当業者によって本願の実施形態に基づいて得られる他の実施形態はすべて、それらを得る過程で発明の努力がなされない限りは、本願の保護の範囲内にある。
【００１６】
本願は、多くの汎用または専用コンピュータデバイス環境または構成で利用できる。例えば、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド装置またはポータブル装置、タブレット装置、マルチプロセッサデバイス、上記のデバイスまたは装置のいずれかを含む分散型コンピュータ環境などが挙げられる。
【００１７】
本願は、コンピュータによって実行されるコンピュータ実行可能なコマンド（プログラムモジュールなど）の一般的なコンテキストで記述されてよい。一般に、プログラムモジュールは、特定のタスクの実行または特定の抽象データ型の実施のためのルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを備える。本願は、分散型コンピュータ環境で実施されてもよく、かかる分散型コンピュータ環境では、通信ネットワークを介して接続されたリモート処理装置によってタスクが実行される。分散型コンピュータ環境において、プログラムモジュールは、記憶装置を含むローカルおよびリモートのコンピュータ記憶媒体に配置されてよい。
【００１８】
図１は、本願の様々な実施形態に従って、ジオフェンスに関連して位置特定を行うことを決定するための方法を示すフローチャートである。
【００１９】
図１を参照すると、ジオフェンスに関連して位置特定を行うことを決定するための処理１００が提供される。処理１００は、図３のデバイス３００、図４のシステム４００、または、図５のコンピュータシステム５００によって実施され得る。
【００２０】
工程１１０では、ジオフェンスの１または複数の情報が取得される。例えば、ジオフェンスに関連するフェンス情報が取得される。フェンス情報は、アドレスフェンス情報を含んでよく、この情報は、ジオフェンスの記述を含む地理情報コレクションである。例えば、フェンス情報は、ジオフェンスの緯度情報および経度情報を含みうる。ジオフェンスが円形のフェンスである場合、フェンス情報は、円形のジオフェンスの中心に関連する緯度情報および経度情報と、ジオフェンスの半径と、を含みうる。ジオフェンスがポリゴン形状のジオフェンスである場合、フェンス情報は、ポリゴンジオフェンスの頂点に関連する情報を含みうる。例えば、フェンス情報は、ポリゴン形状のジオフェンスの頂点の緯度情報および経度情報を含みうる。いくつかの実施形態では、フェンス情報またはその一部が、ＷＴＫフォーマットで提供される。いくつかの実施形態において、フェンス情報は、（例えば、地理的領域に対する識別子の対応づけに従って）具体的な地理的領域に関連する識別子（ＩＤ）を含む。例えば、識別子は、通り、道路、商業地区名（例えば、黄龍）などに対して対応づけられうる。いくつかの実施形態において、携帯デバイス（例えば、図３のデバイス３００）が、ローカルストレージからフェンス情報を取得する。例えば、携帯デバイス（図３のデバイス３００）は、フェンス情報をサーバから受信し、かかるフェンス情報を携帯デバイス上にローカルに格納できる。サーバは、携帯デバイスによってアクセスされるウェブサービスのホストであるサーバ、携帯デバイス上で実行するアプリケーションに関連（および通信）するサーバなどに対応しうる。いくつかの実施形態において、サーバは、携帯デバイスに関連するジオフェンスを実施できる。例えば、サーバは、（ジオフェンスに関連した地理的領域に関係する）携帯デバイスの位置に基づいて、携帯デバイスに様々な情報を提供したり、携帯デバイスに通信される（または、利用可能にされる）情報を制限したりすることができる。フェンス情報は、携帯デバイスにローカルに格納されうる。例えば、企業は、フェンス情報を用いて携帯デバイスを構成することができ、また、携帯デバイスは、サーバからのフェンス情報の受信に応じてフェンス情報を格納できる。いくつかの実施形態では、複数のジオフェンスに対応するフェンス情報が取得される。ジオフェンスに関連するフェンス情報は、携帯デバイスの地理的位置に少なくとも部分的に基づいて取得されうる。
【００２１】
携帯デバイス（または、その他のクライアント）は、図１の処理１００の工程１３０および１４０を実行する前に、１または複数のジオフェンスに関する情報（例えば、対応するフェンス情報）をリトリーブできる。いくつかの実施形態において、ジオフェンス判定を実行する前に、携帯デバイス（または、その他のクライアント）は、まず、１または複数のジオフェンスに関する情報（例えば、対応するフェンス情報）をリトリーブする。１または複数のジオフェンスに関する情報は、１または複数のジオフェンスに対応する位置情報を含みうる。携帯デバイスは、１または複数のジオフェンスの各々の地理情報コレクションを取得できる。
【００２２】
いくつかの実施形態において、ジオフェンス判定を実行する前に、携帯デバイス（または、その他のクライアント）は、まず、ローカルに格納された１または複数のジオフェンスに関する情報（例えば、フェンス情報）をリトリーブし、１または複数のジオフェンスの位置はすべて、携帯デバイスの現在の地理的位置に関連する。例えば、携帯デバイスの位置の閾値距離（例えば、５ｍ）以内のジオフェンスに関連するフェンス情報が取得される。フェンス情報に関連するジオフェンスは、サーバとの同期中に以前に携帯デバイスに送信されたジオフェンス、または、他の手段によって携帯デバイスによって取得されたジオフェンス（例えば、ユーザによって携帯デバイスに直接入力されたジオフェンス情報）でありうる。
【００２３】
具体的には、携帯デバイスが、ジオフェンス同期処理を通してジオフェンス情報をダウンロードする場合、携帯デバイスとサーバとの間の同期処理は、図２の処理２００を含んでよい。
【００２４】
工程１２０では、ジオフェンス判定を実行するか否かが決定される。いくつかの実施形態において、ジオフェンス判定を実行するか否かは、携帯デバイスの位置または時刻の内の一方または両方に基づいて決定されうる。ジオフェンス判定を実行するか否かを決定する工程は、現在時刻にジオフェンス判定をトリガするか否かを決定する工程を含みうる。例えば、現在時刻にジオフェンス判定をトリガするか否かを決定する工程は、現在時刻がジオフェンス判定をトリガするのに適切な判定時刻であるか否かを決定する工程を含みうる。適切な判定時刻は、閾値（例えば、３０分）に対して最後のジオフェンス判定から経過した時間に従ってジオフェンス判定がトリガされる時間に対応しうる。いくつかの実施形態において、ジオフェンス判定は、携帯デバイスがジオフェンスに対応する地理的領域（例えば、ジオフェンスによって規定された境界を有する区域）内にあるか否かを判定する工程を含む。
【００２５】
例えば、ジオフェンス判定を実行するか否かを決定するために、携帯デバイスの位置を利用することに関して、ジオフェンス判定を実行するか否かを決定する工程は、携帯デバイスの現在の地理的位置が、ジオフェンス判定が実行された携帯デバイスの以前の地理的位置から閾値距離を超えた距離であるか否かを判定する工程を含みうる。閾値距離は、携帯デバイスのユーザ、または、携帯デバイスが接続するネットワークに関連する企業の管理者によって設定されうる。閾値距離は、予め定められた移動閾値と呼んでもよい。
【００２６】
いくつかの実施形態において、携帯デバイスの位置がジオフェンス判定を実行するか否かを決定するために用いられる場合、移動閾値がリトリーブされる。例えば、移動閾値は、携帯デバイス上で予め設定され、リトリーブされうる。移動閾値は、携帯デバイスの移動がそれを超えた時に携帯デバイスのジオフェンス判定がトリガされる閾値に対応しうる。移動閾値は、以前のジオフェンス判定以来の携帯デバイスの移動と比較されうる。例えば、ジオフェンス判定が実行された最後の時刻以来の携帯デバイスの位置の変化に対応する値が移動閾値を超えた場合に、ジオフェンス判定がトリガされる。携帯デバイスの移動は、携帯デバイスにインストールされた重力センサもしくはその他の位置または移動ユニットと、関連するオペレーティングシステムユーティリティ（リアルタイムセンサインターフェースシステムの値を（例えば、メモリから）取得する別個のアプリケーションなど）とによって、あるいは、携帯デバイスが接続されたネットワークに接続するサーバによって決定されうる。一例として、移動閾値が１ｋｍである場合、携帯デバイスの行った移動が１ｋｍを超えたことを重力センサが検出すると、ジオフェンス判定処理が、携帯デバイスのためにトリガされる。いくつかの実施形態では、移動閾値が０に設定されてもよく、その結果、ジオフェンス判定処理は、携帯デバイスの状態が静止状態から移動へと変化した時に（例えば、携帯デバイスが移動していると判定した時に）トリガされうる。
【００２７】
移動閾値のリトリーブに応答して、移動が移動閾値を超えるように携帯デバイスが移動したか否かが判定される。
【００２８】
携帯デバイスの移動が移動閾値を超えたと判定された場合、ジオフェンス判定が実行される。
【００２９】
いくつかの実施形態において、ジオフェンス判定を実行するか否かを決定するために時間を利用することに関して、ジオフェンス判定を実行するか否かを決定する工程は、以前のジオフェンス判定以来の時間が時間閾値を超えたか否かを判定する工程を含みうる。例えば、現在時刻がジオフェンス判定をトリガするのに適切な判定時刻であるか否かを決定するために、動的時間間隔法を用いることができる。
【００３０】
動的時間間隔法は、携帯端末によって最も近時に計算されたジオフェンス判定のリアルタイム判定時間をリトリーブする工程（例えば、最後のジオフェンス判定が実行された時間を取得する工程）を含む。
【００３１】
いくつかの実施形態において、ジオフェンス判定がトリガされる方法にかかわらず、携帯デバイスが特定のジオフェンスに対応する領域に位置するか否かの各判定後、ジオフェンス判定の次のトリガのための時間間隔が計算されてよい。
【００３２】
いくつかの実施形態において、ジオフェンス判定を実行するか否かを決定するために時間が用いられる場合、目標判定時間が計算されてよい。目標判定時間は、次のジオフェンス判定が実行される時刻に対応しうる。目標判定時間を計算するための処理は、携帯デバイスによって現在受信されているジオフェンス（例えば、携帯デバイスの現在の地理的位置に対応する１または複数のジオフェンス）と、携帯デバイスの位置との間の初期距離を計算する工程を含みうる。いくつかの実施形態において、携帯デバイスによって現在受信されているジオフェンスは、対応するフェンス情報が携帯デバイスにローカルに格納された１または複数のジオフェンスに対応しうる。
【００３３】
いくつかの実施形態において、携帯デバイスは、サーバから現在受信している１または複数のジオフェンスと、携帯デバイスの位置（例えば、現在の地理的位置）との間のすべての初期距離を計算する。いくつかの実施形態において、目標判定時間が計算される場合、携帯デバイスは、目標判定時間が最後に計算された時またはジオフェンス判定が最後に実行された時から移動している場合があるので、携帯デバイスのジオフェンスと携帯デバイスの現在の地理的位置との間の距離が再計算され、携帯デバイスの現在の地理的位置に最も近いジオフェンスが再決定される。
【００３４】
いくつかの実施形態において、ジオフェンスと携帯デバイスの現在の地理的位置との間の距離を計算する処理において、円形のジオフェンスは、通例、中心点座標および半径を用いて表現される。携帯デバイスの現在の地理的位置と、対応する円形ジオフェンスの中心点との間の距離が、初期距離として機能するように計算されてよい。いくつかの実施形態では、不定形のポリゴンジオフェンスに対して、携帯デバイスの位置と、ポリゴンに沿った複数の位置との間の距離の合計が計算されてよく、携帯デバイスの位置と、ポリゴンに沿った複数の位置との間の距離の平均値が、携帯デバイスの位置と、対応するポリゴンジオフェンスとの間の初期位置を得るために計算されてよい。
【００３５】
いくつかの実施形態において、１または複数のジオフェンスと携帯デバイスの現在の地理的位置との間の初期距離を計算したことに応答して、かかる初期距離の間で最小値が選択され、予め定められた速度閾値で除算されて、商の結果が得られる。
【００３６】
最小値は、すべての初期距離の中から選択され、この最小値は、時間の単位の商を得るために、予め定められた速度閾値（例えば、２．７メートル／秒）で除算される。いくつかの実施形態において、速度閾値は、ユーザ、または、携帯デバイスが接続するネットワークに関連する管理者によって携帯デバイス上で予め設計されてもよいし、サーバ上で予め設定され、携帯デバイスに送信されてもよい。いくつかの実施形態において、速度閾値の設定は、経験値（例えば、５ｋｍ／ｈ）に基づいて決定されてもよい。例えば、速度閾値は、携帯デバイスで以前に起きた移動および時間に少なくとも部分的に基づいて計算および設定されうる。一例として、速度閾値の計算のための基準は、ジオフェンス判定に関係する携帯デバイスに関連する移動および時間の値の履歴の平均に少なくとも部分的に基づいてよい。
【００３７】
計算された初期距離の中の最小値および予め定められた速度閾値に従って商の結果を得たことに応答して、商の結果が、目標判定時間に設定される。
【００３８】
携帯端末によって最も近時に計算されたジオフェンス判定のリアルタイム判定時間がリトリーブされると、現在時刻と、ジオフェンス判定が最後に実行された時刻との間の時間差がリアルタイム判定時間に達したか否かが判定される。いくつかの実施形態において、リアルタイム判定時間は、目標判定時間に対応する。したがって、ジオフェンス判定が実行された最終時刻から経過した時間が目標判定時間以上であるか否かが判定される。
【００３９】
例えば、目標判定時間が１０分であると仮定すると、ジオフェンス判定が最後に実行された時刻から現在時刻までに経過した時間が１０分に達したか否かが判定される。
【００４０】
いくつかの実施形態において、現在時刻と、ジオフェンス判定が最後に実行された時刻との間の時間差がリアルタイム判定時間に達した場合、ジオフェンス判定がトリガされうる。例えば、処理１００は、工程１２０から１３０へ進みうる。逆に、現在時刻と、ジオフェンス判定が最後に実行された時刻との間の時間差がリアルタイム判定時間に達していない場合、処理１００は、工程１１０に戻りうる。
【００４１】
工程１３０では、携帯デバイスがジオフェンス内にあるか否かが判定される。いくつかの実施形態において、１または複数のジオフェンスの少なくとも１つと、携帯デバイスの位置との間のそれぞれの距離に従った順に、携帯端末が、対応するジオフェンス内に現在位置しているか否かがそれぞれ判定される。例えば、１または複数のジオフェンスの中の特定の各ジオフェンスについて、携帯デバイスがその特定のジオフェンス内に現在位置しているか否かが判定される。
【００４２】
携帯デバイスが複数のジオフェンスのフェンス情報を取得した時に（例えば、サーバが複数のジオフェンスを携帯デバイスに返した時に）、かかるジオフェンスと携帯デバイスとの間の距離が異なる可能性がある。したがって、サーバは、かかるジオフェンスと携帯デバイスとの間のそれぞれの距離を計算し、ジオフェンスの示唆を携帯デバイスに返すことができ、この示唆は、最も近いものから最も遠いものまでジオフェンスの並びを示す。携帯端末が携帯端末の位置（例えば、緯度および経度）を示す位置情報をサーバに提供できることから、携帯端末の現在位置と、最も近いジオフェンスとの間の距離を計算することが比較的容易であるため、ジオフェンスは、（例えば、ジオフェンスの並びの中で）距離でソートされてよい。いくつかの実施形態において、サーバは、携帯デバイスの現在の地理的位置に対して最も近いものから最も遠いものまでのジオフェンスの並びに対応する順に、ジオフェンスの情報を返すことができる。いくつかの実施形態において、サーバは、最も近いものから最も遠いものまでのジオフェンスの並びを示すジオフェンスのリストを送信できる。いくつかの実施形態において、サーバは、ジオフェンスに関連する情報を携帯デバイスに直接返し、クライアントは、かかるジオフェンスと携帯デバイスの現在の地理的位置との間の距離を計算することができ、距離に従った順序にソートした後、最も近いものから最も遠いものまで順に各ジオフェンスのための判定をトリガすることができる。
【００４３】
いくつかの実施形態において、携帯デバイスが特定のジオフェンス内に位置するか否かを判定する工程は、サーバから情報が受信されたジオフェンスから携帯デバイスの現在の地理的位置までのすべての初期距離を携帯デバイスが計算する工程を含む。円形のジオフェンスについて、円形のジオフェンスは、通例、中心点および半径を用いて表現され、通常の状況下では、携帯デバイスの距離と中心点との間の距離ｄが最初に計算されうる。距離ｄがジオフェンスの半径以下である場合、携帯デバイスの位置は、対応するジオフェンス内にあると見なされうる。距離ｄがジオフェンスの半径より大きい場合、携帯デバイスは、対応するジオフェンス内にないと見なされる。しかしながら、特定のその他の状況では、携帯デバイスについて決定された位置が、或る程度正確ではない。したがって、いくつかの実施形態において、携帯デバイスの地理的位置は、より小さい円で表される。したがって、いくつかの実施形態において、携帯デバイスがジオフェンス内にあるか否かを判定する工程は、携帯デバイスの現在の地理的位置を表す小さい円がジオフェンスの円と交差するか否かを判定する工程を含む。例えば、２つの円の中心（例えば、ジオフェンスの円の中心および携帯デバイスの現在の地理的位置を表す小さい円の中心）の間の距離が最初に計算されてよく、この距離が２つの円の半径の合計以下である場合に、携帯デバイスの現在の地理的位置がこのジオフェンス内にあると判定される。２つの円の間の距離が２つの円の半径の合計よりも大きい場合、携帯デバイスの現在の地理的位置はジオフェンスの外側にあると判定される。
【００４４】
一部の例において、ジオフェンスは、不定形のポリゴンである。したがって、携帯デバイスが、ジオフェンス内に現在位置しているか否かを判定する工程は、例えば、ｊａｖａ．ａｗｔ．Ｐｏｌｙｇｏｎオブジェクトを用いて、閉じたポリゴンを構築し、次いで、このオブジェクトにｃｏｎｔａｉｎｓメソッド（例えば、形状が、例えば座標または座標範囲によって表される別のオブジェクトを含むか否かを判定するための関数）を用いて、携帯端末の現在の地理的位置がポリゴンジオフェンス内にあるか否かを判定する工程を含んでよい。
【００４５】
携帯デバイスが特定のジオフェンス内に位置する場合、携帯デバイスの位置がこのジオフェンスの領域内にあると判定され、携帯デバイスが特定のジオフェンス内に位置しない場合、携帯デバイスの位置がこのジオフェンスの領域内にないと判定されうる。
【００４６】
工程１４０では、ジオフェンス判定の次の実行のための判定時刻が計算される。例えば、携帯デバイスが工程１３０でジオフェンス内に現在位置すると判定された場合、処理１００は、工程１４０に進み、工程１４０で、ジオフェンス判定の次の実行のための判定時間が計算される。別の例として、携帯デバイスが工程１３０でジオフェンス内に現在位置していないと判定された場合、処理１００は、工程１４０’に進み、工程１４０’で、ジオフェンス判定の次の実行のための判定時間が計算される。ジオフェンス判定の次の実行のための時間は、各ジオフェンス判定後に繰り返し計算されうる。いくつかの実施形態において、ジオフェンス判定の次の実行のための時間は、携帯デバイスが現在ジオフェンス内にあるか否かに関わらず計算される。
【００４７】
携帯デバイスが、現在ジオフェンス内に位置すると判定された場合、処理１００は、特定のジオフェンスに関する予め定められた情報がサーバから受信される工程１５０へ進む。例えば、特定のジオフェンスに関する予め定められた情報は、サーバによって携帯デバイスにプッシュされる。一例として、携帯端末の位置が、ネームアドレスフェンス黄龍商業地区のためのジオフェンスに対応するフェンスアドレスである場合、携帯端末は、商業情報（黄龍の食品商業地区の情報など）を携帯端末にプッシュする。
【００４８】
いくつかの実施形態において、携帯デバイスが、特定のジオフェンス内に現在位置している場合、携帯デバイスのユーザは、かかるジオフェンスに関連する商業地区に入ったと見なされうる。したがって、いくつかの実施形態において、携帯デバイスがジオフェンス内に位置する時、かかるジオフェンスに関する予め定められた情報が、携帯デバイスにプッシュされうる。例えば、予め定められた情報は、携帯デバイスがジオフェンス内に位置すると判定された後に、携帯デバイスに通信（例えば、プッシュ）されうる。サーバは、携帯デバイスがジオフェンス内に位置すると判定される限りは、携帯デバイスに予め定められた情報を通信し続けることができる。いくつかの実施形態において、予め定められた情報は、商業値引き情報（例えば、現在の特売またはセール）、店舗情報（例えば、位置、連絡先情報、提供サービス、提供物など）、および／または、同様の情報を含む。
【００４９】
いくつかの実施形態において、ジオフェンス判定の実行後、ジオフェンス判定の次の実行のための判定時間が計算される。次の判定時間は、携帯デバイスが位置特定された後に、携帯デバイスと、最も近いジオフェンスとの間の距離を計算することによって計算されうる。しかしながら、携帯デバイスの位置は（例えば、携帯デバイスが移動する間に）変化しうるので、携帯デバイスに最も近いジオフェンスも変化し、携帯デバイスと、最も近いジオフェンスとの間の距離が変化する。したがって、ジオフェンス判定の各実行後に計算された目標判定時間が異なりうる。様々な実施形態（処理１００を実行する実施形態など）が、携帯デバイスの移動速度を考慮するだけでなく、２つのジオフェンス判定時間の間の間隔が変わりうることを許容するため、携帯デバイスの移動に対してより良好な適合を達成する。携帯デバイスが比較的遅く移動する場合、次のジオフェンス判定のための目標判定時間は、より長くなるように決定され、したがって、複数回繰り返される携帯デバイスの位置特定によって消費される電力およびトラフィックを節約すると共に、ジオフェンスの判定を携帯デバイスにとってより適時かつ正確にする。
【００５０】
図２は、本願の様々な実施形態に従って、ジオフェンスに関連するフェンス情報を受信するための方法を示すフローチャートである。
【００５１】
図２を参照すると、ジオフェンスに関連したフェンス情報を受信のための処理２００が提供されている。処理２００は、図３のデバイス３００、図４のシステム４００、または、図５のコンピュータシステム５００によって実施できる。処理２００は、処理１００と共に実行されてもよいし、独立して実行されてもよい。一例として、処理２００は、図１の工程１１０の前に実行されてよい。別の例として、処理２００は、一定間隔で処理１００と並行に実行されてもよく、携帯デバイスにローカルに格納されたフェンス情報は、工程２３０で受信されたフェンス情報に従って更新されうる。
【００５２】
工程２１０では、携帯デバイスの現在の地理的位置が取得される。例えば、携帯デバイスは、それに接続または内蔵された地理ポジショニングシステム（ＧＰＳ）ユニットを用いて自身の現在の地理的位置を取得できる。別の例として、携帯デバイスは、１または複数のネットワークへの１または複数の信号強度もしくは携帯デバイスが接続されたネットワーク（例えば、セルタワー）に少なくとも部分的に基づいて、自身の現在の地理的位置を取得できる。地理的位置は、携帯デバイスでローカルに決定されてもよいし、携帯デバイスが接続されたネットワークに接続するサーバで決定されてもよい。携帯デバイスの現在の地理的位置を決定するためのその他の処理またはメカニズムが利用されてもよい。いくつかの実施形態において、携帯デバイスは、地理情報の形態で現在の地理的位置を通信する。地理的位置は、携帯デバイスの現在の地理的位置に対応する緯度情報および経度情報を含みうる。
【００５３】
工程２２０では、携帯デバイスの現在の地理的位置を取得したことに応答して、携帯デバイスは、サーバ（例えば、１または複数のジオフェンスを管理（または、他の形で関連する）サーバなど）に現在の地理的位置を送信する。
【００５４】
工程２３０では、ジオフェンスに関連するフェンス情報が受信される。例えば、携帯デバイスは、１または複数のジオフェンスを管理（または、他の形で関連する）サーバから、１または複数のジオフェンスのフェンス情報を受信しうる。サーバから受信された１または複数のジオフェンスのフェンス情報は、携帯デバイスの現在の地理的位置の具体的な閾値距離内の１または複数のジオフェンスに関連しうる。いくつかの実施形態において、サーバが携帯デバイスの現在の地理的位置を受信したことに応答して、サーバは、１または複数のジオフェンスについて、ジオフェンスと、ジオフェンスにそれぞれ関連する位置（例えば、ジオフェンスが関連する地理的区域）との対応関係を格納するデータベースにクエリできる。携帯端末の現在の地理的位置に対応する（例えば、その位置の閾値距離内の）１または複数のジオフェンスを決定したことに応答して、サーバは、対応するフェンス情報を携帯デバイスに通信できる。サーバがフェンス情報を通信する携帯デバイスの現在の地理的位置の具体的な閾値距離は、現在の地理的位置が位置する領域内の同期半径に対応しうる。同期半径は、予めサーバで設定されうる。例えば、複数の位置が、異なる領域に分けられてよく、各領域が同期半径に対応する。別の実施形態において、同期半径を設定するために、他の方法が用いられてもよい。例えば、同期半径が２０ｋｍである場合、サーバは、携帯デバイスの現在の地理的位置から２０ｋｍ以内のすべてのジオフェンスを検索する。
【００５５】
いくつかの実施形態において、携帯デバイスは、一定間隔で（例えば、２４時間ごとに）、自身の現在の地理的位置をサーバへ報告することにより、サーバと携帯デバイスとのジオフェンス同期処理をトリガすることができる。例えば、携帯デバイスは、一定間隔で工程２１０および／または２２０を実行できる。
【００５６】
図３は、本願の様々な実施形態に従って、ジオフェンスに関連して位置特定を行うことを決定するためのデバイスを示すブロック図である。
【００５７】
図３を参照すると、ジオフェンスに関連して位置を決定するためのデバイス３００が提供されている。デバイス３００は、図１の処理１００または図２の処理２００を実施できる。デバイス３００は、図４のシステム４００または図５のコンピュータシステム５００によって実施できる。デバイス３００は、携帯デバイスであってよい。
【００５８】
いくつかの実施形態において、デバイス３００は、ジオフェンス判定ユニット３０５を備える。ジオフェンス判定ユニット３０５は、取得ユニット３１０、第１判定ユニット３２０、第２判定ユニット３３０、計算ユニット３４０、および、所定情報受信ユニット３５０を備えてよい。
【００５９】
取得ユニット３１０は、１または複数のジオフェンスに関連するフェンス情報を取得するよう構成されうる。１または複数のジオフェンスに関連するフェンス情報は、デバイス３００にローカルに格納されうる。取得ユニット３１０は、図１の処理１００の工程１１０を実施できる。
【００６０】
第１判定ユニット３２０は、ジオフェンス判定をトリガする（例えば、実行する）か否かを判定するよう構成される。第１判定ユニット３２０は、携帯デバイスの位置または時刻の内の１または複数に基づいて、ジオフェンス判定を実行するか否かを判定できる。第１判定ユニット３２０は、現在時刻にジオフェンス判定をトリガするか否かを判定できる。第１判定ユニット３２０は、図１の処理１００の工程１２０を実施できる。
【００６１】
いくつかの実施形態において、第１判定ユニット３２０は、デバイス３００によって最も近時に計算されたジオフェンス判定のリアルタイム判定時間をリトリーブするよう構成された時間リトリーブサブユニットを含む。いくつかの実施形態において、第１判定ユニット３２０は、現在時刻と、実行された最後のジオフェンス判定の時刻との間の時間差が、リアルタイム判定時間に達したか否かを判定するよう構成された第２判定サブユニットを備える。
【００６２】
いくつかの実施形態において、第１判定ユニット３２０は、移動リトリーブサブユニットを備える。移動リトリーブサブユニットは、デバイス３００の予め定められた移動閾値をリトリーブするよう構成される。
【００６３】
いくつかの実施形態において、第１判定ユニット３２０は、第１判定サブユニットを含む。第１判定サブユニットは、デバイス３００が現在、予め定められた移動閾値を超える移動を行ったか否かを判定するよう構成される。
【００６４】
第２判定ユニット３３０は、ジオフェンス判定が実行されるべきであることを第１判定ユニットの結果が示す時に、少なくとも１つのジオフェンスとデバイス３００の現在の地理的位置との間の距離に従った順で、デバイス３００が対応する特定のジオフェンス内に現在位置するか否かを判定するよう構成される。例えば、取得ユニット３１０によって取得された１または複数のジオフェンスの中の各特定のジオフェンスについて、第２判定ユニット３３０は、デバイス３００がその特定のジオフェンス内に現在位置するか否かを判定する。第２判定ユニット３３０は、図１の処理１００の工程１３０の少なくとも一部を実施できる。
【００６５】
計算ユニット３４０は、デバイス３００に現在最も近いジオフェンスの位置に基づいて、次のジオフェンス判定のための判定時間を計算するよう構成される。計算ユニット３４０は、図１の処理１００の工程１４０を実施できる。
【００６６】
いくつかの実施形態において、計算ユニット３４０は、デバイス３００によって現在受信されているすべてのジオフェンスとデバイス３００の位置との間のすべての初期距離を計算するよう構成された第１計算サブユニットを備える。
【００６７】
いくつかの実施形態において、計算ユニット３４０は、すべての初期距離の中から最小値を選択するよう構成された選択サブユニットを備える。
【００６８】
いくつかの実施形態において、計算ユニット３４０は、最小値を予め定められた速度閾値で割って商の結果を取得するよう構成された第２計算サブユニットを備える。
【００６９】
いくつかの実施形態において、計算ユニット３４０は、商の結果を目標判定時間として決定するよう構成された決定サブユニットを備える。
【００７０】
いくつかの実施形態において、デバイス３００は、任意選択的に、ジオフェンス同期ユニット３５５を備える。ジオフェンス同期ユニット３５５は、図２の処理２００を実施できる。ジオフェンス同期ユニット３５５は、位置決定ユニット３６０、地理的位置送信ユニット３７０、および、ジオフェンス受信ユニット３８０を備えてよい。
【００７１】
位置決定ユニット３６０は、デバイス３００の現在の地理的位置を決定するよう構成される。例えば、位置決定ユニット３６０は、デバイス３００に接続または内蔵された地理ポジショニングシステム（ＧＰＳ）ユニットを用いて、デバイス３００の現在の地理的位置を取得できる。別の例として、位置決定ユニット３６０は、１または複数のネットワークへの１または複数の信号強度もしくはデバイス３００が接続されたネットワーク（例えば、セルタワー）に少なくとも部分的に基づいて、デバイス３００の現在の地理的位置を取得できる。地理的位置は、位置決定ユニット３６０でローカルに決定されてもよいし、デバイス３００が接続されたネットワークに接続するサーバで決定されてもよい。デバイス３００の現在の地理的位置を決定するためのその他の処理またはメカニズムが利用されてもよい。位置決定ユニット３６０は、図２の処理２００の工程２１０を実施できる。
【００７２】
地理的位置送信ユニット３７０は、デバイス３００の現在の地理的位置をサーバへ送信するよう構成される。地理的位置送信ユニット３７０は、図２の処理２００の工程２２０を実施できる。
【００７３】
ジオフェンス受信ユニット３８０は、ジオフェンスに関連するフェンス情報を受信するよう構成される。フェンス情報は、デバイス３００の現在の地理的位置に基づいて、サーバによって返されうる。ジオフェンス受信ユニット３８０は、図２の処理２００の工程２３０を実施できる。
【００７４】
いくつかの実施形態において、ジオフェンス判定ユニット３０５は、さらに、所定情報受信ユニット３５０を備える。所定情報受信ユニット３５０は、サーバによってプッシュされた特定のジオフェンスに関する予め定められた情報を受信するよう構成される。所定情報受信ユニット３５０は、任意選択的に、ジオフェンス判定ユニット３０５に備えられる。
【００７５】
いくつかの実施形態において、ジオフェンス判定の実行後、ジオフェンス判定の次の実行のための判定時間が計算される。次の判定時間は、クライアントが位置特定された後に、携帯デバイスと、最も近いジオフェンスとの間の距離を計算することによって計算されうる。しかしながら、携帯デバイスの位置は（例えば、携帯デバイスが移動する間に）変化しうるので、携帯デバイスに最も近いジオフェンスも変化し、携帯デバイスと、最も近いジオフェンスとの間の距離が変化する。したがって、ジオフェンス判定の各実行後に計算された目標判定時間が異なりうる。様々な実施形態が、携帯デバイスの移動速度を考慮するだけでなく、２つのジオフェンス判定時間の間の間隔が変わりうることを許容するため、携帯デバイスの移動に対してより良好な適合を達成する。携帯デバイスが比較的遅く移動する場合、次のジオフェンス判定のための目標判定時間は、より長くなるように決定され、したがって、複数回繰り返される携帯デバイスの位置特定によって消費される電力およびトラフィックを節約すると共に、ジオフェンスの判定を携帯デバイスにとってより適時かつ正確にする。
【００７６】
図４は、本願の様々な実施形態に従って、ジオフェンスに関連して位置決定を行うことを決定するためのシステムの図である。
【００７７】
図４を参照すると、ジオフェンスに関連して位置特定を行うことを決定するためのシステム４００が提供されている。システム４００は、図１の処理１００および図２の処理２００を実施できる。システム４００は、図３のデバイス３００を含みうる。
【００７８】
システム４００は、携帯デバイス４１０と、サーバ４２０と、携帯デバイス４１０およびサーバ４２０が通信するネットワーク４３０と、を含む。携帯デバイス４１０は、図３のデバイス３００によって実施されうる。いくつかの実施形態において、携帯デバイス４１０およびサーバ４２０は、携帯デバイス４１０に関係する１または複数のジオフェンスに関するフェンス情報を同期するために通信する。携帯デバイス４１０に関係する１または複数のジオフェンスは、携帯デバイス４１０の現在の地理的位置に少なくとも部分的に基づいて決定されうる（例えば、携帯デバイス４１０の閾値距離内の１または複数のジオフェンスが、携帯デバイス４１０に関係すると見なされうる）。サーバ４２０は、ジオフェンスと位置情報との対応関係、ジオフェンスとフェンス情報との対応関係、および／または、ジオフェンスとジオフェンス内で利用可能な店舗またはサービスに関する情報との対応関係を格納できる。サーバ４２０は、携帯デバイス４１０がジオフェンス内にある（すなわち、ジオフェンスの閾値距離内にある）との判定に応答して、ジオフェンスと関連する情報を携帯デバイス４１０にプッシュできる。サーバ４２０によって携帯デバイス４１０にプッシュされる情報は、商業値引き情報（例えば、現在の特売またはセール）、店舗情報（例えば、位置、連絡先情報、提供サービス、提供物など）、および／または、同様の情報を含む。
【００７９】
上述のユニット（または、サブユニット）は、１または複数の汎用プロセッサ上で実行されるソフトウェアコンポーネントとして、特定の機能を実行するよう設計されたプログラム可能論理デバイスおよび／または特定用途向け集積回路などのハードウェアとして、もしくは、それらの組み合わせとして実装することができる。いくつかの実施形態において、ユニットは、コンピュータデバイス（パーソナルコンピュータ、サーバ、ネットワーク装置など）に本発明の実施形態に記載された方法を実行させるための複数の命令など、不揮発性記憶媒体（光学ディスク、フラッシュ記憶装置、携帯用ハードディスクなど）に格納することができるソフトウェア製品の形態で具現化されてよい。ユニットは、単一のデバイス上に実装されてもよいし、複数のデバイスにわたって分散されてもよい。ユニットの機能は、互いに統合されてもよいし、複数のサブユニットにさらに分割されてもよい。
【００８０】
図５は、本願の様々な実施形態に従って、ジオフェンスに関連して位置特定を行うことを決定するためのコンピュータシステムを示す機能図である。
【００８１】
図５を参照すると、ジオフェンスに関連して位置を決定するためのコンピュータシステム５００が提供されている。明らかに、ジオフェンスに関連した位置特定の決定を実行するために、他のコンピュータシステムアーキテクチャおよび構成を用いることも可能である。以下に述べるような様々なサブシステムを備えるコンピュータシステム５００は、少なくとも１つのマイクロプロセッササブシステム（プロセッサまたは中央処理装置（ＣＰＵ）とも呼ばれる）５０２を備える。例えば、プロセッサ５０２は、シングルチッププロセッサまたはマルチプロセッサによって実装できる。いくつかの実施形態において、プロセッサ５０２は、コンピュータシステム５００の動作を制御する汎用デジタルプロセッサである。メモリ５１０から読み出された命令を用いて、プロセッサ５０２は、入力データの受信および操作、ならびに、出力デバイス（例えば、ディスプレイ５１８）上でのデータの出力および表示を制御する。
【００８２】
プロセッサ５０２は、メモリ５１０と双方向的に接続されており、メモリ５１０は、第１のプライマリストレージ（通例は、ランダムアクセスメモリ（ＲＡＭ））および第２のプライマリストレージ領域（通例は、リードオンリーメモリ（ＲＯＭ））を含みうる。当業者に周知のように、プライマリストレージは、一般的な記憶領域として、および、スクラッチパッドメモリとして利用可能であり、また、入力データおよび処理済みデータを格納するために利用可能である。プライマリストレージは、さらに、プロセッサ５０２上で実行される処理のための他のデータおよび命令に加えて、データオブジェクトおよびテキストオブジェクトの形態で、プログラミング命令およびデータを格納できる。また、当業者に周知のように、プライマリストレージは、通例、機能（例えば、プログラムされた命令）を実行するためにプロセッサ５０２によって用いられる基本的な動作命令、プログラムコード、データ、および、オブジェクトを備える。例えば、メモリ５１０は、例えば、データアクセスが双方向である必要があるか、単方向である必要があるかに応じて、後述する任意の適切なコンピュータ読み取り可能な記憶媒体を含みうる。例えば、プロセッサ５０２は、頻繁に必要になるデータをキャッシュメモリ（図示せず）に直接的かつ非常に迅速に格納し取り出すことができる。メモリは、持続性のコンピュータ読み取り可能な記憶媒体であってよい。
【００８３】
着脱可能マスストレージデバイス５１２が、コンピュータシステム５００にさらなるデータ記憶容量を提供しており、プロセッサ５０２に対して双方向（読み出し／書き込み）または単方向（読み出しのみ）に接続されている。例えば、ストレージ５１２は、磁気テープ、フラッシュメモリ、ＰＣカード、携帯型マスストレージデバイス、ホログラフィックストレージデバイス、および、その他のストレージデバイスなどのコンピュータ読み取り可能な媒体も含みうる。固定マスストレージ５２０も、例えば、さらなるデータ記憶容量を提供しうる。マスストレージ５２０の最も一般的な例は、ハードディスクドライブである。マスストレージデバイス５１２および固定マスストレージ５２０は、一般に、プロセッサ５０２によって通例はあまり利用されないさらなるプログラミング命令、データなどを格納する。マスストレージデバイス５１２および固定マスストレージ５２０に保持された情報は、必要であれば、仮想メモリとしてのメモリ５１０（例えば、ＲＡＭ）の一部に標準的な方式で組み込まれうることが理解される。
【００８４】
プロセッサ５０２がストレージサブシステムにアクセスできるようにすることに加えて、バス５１４が、その他のサブシステムおよびデバイスへのアクセスを可能にするために用いられてもよい。図に示すように、これらは、ディスプレイモニタ５１８、ネットワークインターフェース５１６、キーボード５０４、および、ポインティングデバイス５０６、ならびに、必要に応じて、補助入力／出力デバイスインターフェース、サウンドカード、スピーカ、および、その他のサブシステムを含みうる。例えば、ポインティングデバイス５０６は、マウス、スタイラス、トラックボール、または、タブレットであってよく、図に示すネットワーク接続を用いて、別のコンピュータ、コンピュータネットワーク、または、遠隔通信ネットワークに接続されるグラフィカルユーザインターフェースとの相互作用に有用である。例えば、ネットワークインターフェース５１６を通して、プロセッサ５０２は、方法／処理ステップを実行する過程で、別のネットワークから情報（例えば、データオブジェクトまたはプログラム命令）を受信したり、別のネットワークに情報を出力したりすることができる。情報は、しばしば、プロセッサ上で実行される一連の命令として表され、別のネットワークから受信されたり、別のネットワークへ出力されたりしうる。インターフェースカード（または同様のデバイス）と、プロセッサ５０２によって実装（例えば、実行／実施）される適切なソフトウェアとを用いて、コンピュータシステム５００を外部ネットワークに接続し、標準プロトコルに従ってデータを転送することができる。例えば、本明細書に開示された様々な処理の実施形態は、プロセッサ５０２上で実行されてもよいし、処理の一部を共有するリモートプロセッサと共に、ネットワーク（インターネット、イントラネットワーク、または、ローカルエリアネットワークなど）上で実行されてもよい。さらなるマスストレージデバイス（図示せず）が、ネットワークインターフェース５１６を通してプロセッサ５０２に接続されてもよい。
【００８５】
補助Ｉ／Ｏデバイスインターフェース（図示せず）が、コンピュータシステム５００と共に用いられてよい。補助Ｉ／Ｏデバイスインターフェースは、プロセッサ５０２がデータを送信すること、ならびに、より典型的には、他のデバイス（マイクロフォン、タッチセンサ方式ディスプレイ、トランスデューサカードリーダ、テープリーダ、音声または手書き認識装置、バイオメトリクスリーダ、カメラ、携帯型マスストレージデバイス、および、他のコンピュータなど）からデータを受信することを可能にする汎用インターフェースおよびカスタマイズされたインターフェースを含みうる。
【００８６】
図５に示したコンピュータシステムは、本明細書に開示された様々な実施形態と共に利用するのに適切なコンピュータシステムの一例にすぎない。かかる利用に適した他のコンピュータシステムは、より多いまたは少ないサブシステムを含みうる。さらに、バス５１４は、サブシステムをつなぐよう機能する任意の相互接続スキームの例である。異なる構成のサブシステムを有する他のコンピュータアーキテクチャが利用されてもよい。
【００８７】
当業者であれば、上述の実施形態の方法の実現に伴う処理の全部または一部が、コンピュータプログラムを通して適切なハードウェアに命令することによって達成されうることを理解できることに注意されたい。それらのコンピュータプログラムは、コンピュータ読み取り可能な記憶媒体に格納されてよい。プログラムが実行される時、それらは、上述した様々な方法の実施形態の処理を含みうる。上述の記憶媒体は、磁気ディスク、光学ディスク、リードオンリーメモリ（ＲＯＭ）、および、ランダムアクセスメモリ（ＲＡＭ）であってよい。
【００８８】
本願に含まれる実施形態の各々は漸進的に記載されており、各実施形態の説明は他の実施形態とは異なる領域に焦点を当てており、実施形態の記載は各実施形態の同一または類似の部分について相互に参照できる。デバイスタイプの実施形態に関しては、基本的に方法の実施形態と類似しているため、比較的簡略に説明している。方法実施形態の説明の関連部分を参照すること。
【００８９】
最後に、本明細書において、「第１」または「第２」などの関係語は、１つの実体または動作と別の実体または動作との間に実際の関係または順序があることを必ずしも必要とすることも示唆することもなく、それらの実体または動作を区別するためにのみ用いられている。さらに、用語「備える」または「含む」またはそれらの活用形は、非排他的な意味に取られる。したがって、一連の要素を備える処理、方法、物、または、装置は、それらの要素を備えるだけでなく、明示的に挙げられていない他の要素、もしくは、かかる処理、方法、物、または、装置に内在する要素をも備える。さらなる限定がなければ、「（単数の名詞）を備える」という表現によって限定される要素については、さらなる同一の要素が、かかる要素を備える処理、方法、物、または、装置に存在することが排除されない。
【００９０】
以上、本願で提供するジオフェンスに基づいた位置特定方法およびデバイスについて、詳細に説明した。本明細書は、具体的な例を用いて、本願の原理および実施方法を説明している。上記の実施形態の説明は、単に、本願で提供される方法およびその中心概念の理解の助けとして用いられるものである。同時に、当業者にとっては、本願の概念に基づいて、具体的な実施方法および応用範囲に関するバリエーションが存在する可能性があり；要約すると、この説明の内容は、本願を制限すると理解されるべきではない。
【００９１】
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供された詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示された実施形態は、例示であり、限定を意図するものではない。
適用例１：方法であって、
携帯デバイスによって、複数のジオフェンスに関連するフェンス情報をローカルストレージから取得し、
ジオフェンス判定を実行するか否かを決定し、
ジオフェンス判定の実行が決定された場合に、
前記携帯デバイスが前記複数のジオフェンスの１つの中に現在位置するか否かを順次判定し、前記順次判定が実行される時に従う順序は、前記複数のジオフェンスの少なくとも２つの内の対応するジオフェンスと、前記携帯デバイスの現在位置との間の距離に少なくとも部分的に基づき、
前記複数のジオフェンスの前記少なくとも２つの中で前記携帯デバイスに現在最も近いジオフェンスの位置に少なくとも部分的に基づいて、次のジオフェンス判定の判定時間を決定すること、
を備える、方法。
適用例２：適用例１に記載の方法であって、さらに、
前記携帯デバイスの前記現在位置を取得し、
前記携帯デバイスの前記現在位置をサーバに送信し、
前記サーバから、前記複数のジオフェンスの１または複数に関連するフェンス情報を受信し、前記サーバによって送信される前記フェンス情報は、前記携帯デバイスの前記現在位置に少なくとも部分的に基づいて選択される、こと、
を備える、方法。
適用例３：適用例１に記載の方法であって、さらに、
前記携帯デバイスが前記複数のジオフェンスの１つの中に位置する場合に、前記複数のジオフェンスの前記１つに関する予め定められた情報を受信することを備え、前記予め定められた情報は、サーバによって受信される、方法。
適用例４：適用例３に記載の方法であって、さらに、
前記携帯デバイスが前記複数のジオフェンスの１つの中に位置するか否かを判定すること、方法。
適用例５：適用例３に記載の方法であって、前記予め定められた情報は、前記ジオフェンス内の店舗または前記ジオフェンス内で利用可能なサービスの内の１または複数に関連する情報を含む、方法。
適用例６：適用例５に記載の方法であって、前記予め定められた情報は、前記ジオフェンス内の前記店舗に関連する販売情報を含む、方法。
適用例７：適用例１に記載の方法であって、前記次のジオフェンス判定の前記判定時間を決定することは、
前記複数のジオフェンスの内の２以上と、前記携帯デバイスの前記現在位置との間のそれぞれの初期距離を計算し、
前記計算された初期距離の中から最小値を選択し、
前記選択された最小値を予め定められた速度閾値で割ることに少なくとも部分的に基づいて、商の結果を計算し、
前記計算された商の結果に少なくとも部分的に基づいて、目標判定時間を決定すること、
を含む、方法。
適用例８：適用例１に記載の方法であって、ジオフェンス判定を実行するか否かを決定すること、
前記携帯デバイスの予め定められた移動閾値をリトリーブし、
前記携帯デバイスの移動量が前記予め定められた移動閾値を超えたか否かを判定すること、
を含む、方法。
適用例９：適用例１に記載の方法であって、ジオフェンス判定を実行するか否かを決定することは、
前記携帯デバイスによって計算された前記ジオフェンス判定のリアルタイム判定時間をリトリーブし、
現在時刻と、ジオフェンス判定が最も近時に実行された時刻との間の時間差が、前記リアルタイム判定時間以上であるか否かを判定すること、
を含む、方法。
適用例１０：デバイスであって、
少なくとも１つのプロセッサであって、
携帯デバイスによって、複数のジオフェンスに関連するフェンス情報をローカルストレージから取得し、
ジオフェンス判定を実行するか否かを決定し、
ジオフェンス判定の実行が決定された場合に、
前記携帯デバイスが前記複数のジオフェンスの１つの中に現在位置するか否かを順次判定し、前記順次判定が実行される時に従う順序は、前記複数のジオフェンスの少なくとも２つの内の対応するジオフェンスと、前記携帯デバイスの現在位置との間の距離に少なくとも部分的に基づき、
前記複数のジオフェンスの前記少なくとも２つの中で前記携帯デバイスに現在最も近いジオフェンスの位置に少なくとも部分的に基づいて、次のジオフェンス判定の判定時間を決定するよう構成されている、少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに接続され、前記少なくとも１つのプロセッサに命令を提供するよう構成されているメモリと、
を備える、デバイス。
適用例１１：適用例１０に記載のデバイスであって、前記少なくとも１つのプロセッサは、さらに、
前記携帯デバイスの前記現在位置を取得し、
前記携帯デバイスの前記現在位置をサーバに送信し、
前記サーバから、前記複数のジオフェンスの１または複数に関連するフェンス情報を受信するよう構成され、
前記サーバによって送信される前記フェンス情報は、前記携帯デバイスの前記現在位置に少なくとも部分的に基づいて選択される、デバイス。
適用例１２：適用例１０に記載のデバイスであって、前記少なくとも１つのプロセッサは、さらに、
前記携帯デバイスが前記複数のジオフェンスの１つの中に位置する場合に、前記複数のジオフェンスの前記１つに関する予め定められた情報を受信するよう構成され、
前記予め定められた情報は、サーバによって受信される、デバイス。
適用例１３：適用例１２に記載のデバイスであって、前記少なくとも１つのプロセッサは、さらに、
前記携帯デバイスが前記複数のジオフェンスの１つの中に位置するか否かを判定するよう構成されている、デバイス。
適用例１４：適用例１２に記載のデバイスであって、前記予め定められた情報は、前記ジオフェンス内の店舗または前記ジオフェンス内で利用可能なサービスの内の１または複数に関連する情報を含む、デバイス。
適用例１５：適用例１４に記載のデバイスであって、前記予め定められた情報は、前記ジオフェンス内の前記店舗に関連する販売情報を含む、デバイス。
適用例１６：適用例１０に記載のデバイスであって、前記少なくとも１つのプロセッサは、さらに、
前記複数のジオフェンスの内の２以上と、前記携帯デバイスの前記現在位置との間のそれぞれの初期距離を計算し、
前記計算された初期距離の中から最小値を選択し、
前記選択された最小値を予め定められた速度閾値で割ることに少なくとも部分的に基づいて、商の結果を計算し、
前記計算された商の結果に少なくとも部分的に基づいて、目標判定時間を決定することにより、前記次のジオフェンス判定の前記判定時間を決定するよう構成されている、デバイス。
適用例１７：適用例１０に記載のデバイスであって、前記少なくとも１つのプロセッサは、さらに、
前記携帯デバイスの予め定められた移動閾値をリトリーブし、
前記携帯デバイスの移動量が前記予め定められた移動閾値を超えたか否かを判定することにより、ジオフェンス判定を実行するか否かを決定するよう構成されている、デバイス。
適用例１８：適用例１０に記載のデバイスであって、前記少なくとも１つのプロセッサは、さらに、
前記携帯デバイスによって計算された前記ジオフェンス判定のリアルタイム判定時間をリトリーブし、
現在時刻と、ジオフェンス判定が最も近時に実行された時刻との間の時間差が、前記リアルタイム判定時間以上であるか否かを判定することにより、ジオフェンス判定を実行するか否かを決定するよう構成されている、デバイス。
適用例１９：コンピュータプログラム製品であって、持続性のコンピュータ読み取り可能な記憶媒体内に具現化され、
携帯デバイスによって、複数のジオフェンスに関連するフェンス情報をローカルストレージから取得するためのコンピュータ命令と、
ジオフェンス判定を実行するか否かを決定するためのコンピュータ命令と、
ジオフェンス判定が実行されると決定された場合に、
前記携帯デバイスが前記複数のジオフェンスの１つの中に現在位置するか否かを順次判定するためのコンピュータ命令と、前記順次判定が実行される時に従う順序は、前記複数のジオフェンスの少なくとも２つの内の対応するジオフェンスと、前記携帯デバイスの現在位置との間の距離に少なくとも部分的に基づき、
前記複数のジオフェンスの前記少なくとも２つの中で前記携帯デバイスに現在最も近いジオフェンスの位置に少なくとも部分的に基づいて、次のジオフェンス判定の判定時間を決定するためのコンピュータ命令と、
を備える、コンピュータプログラム製品。
【図１】
0006474895.tif 000002
【図２】
0006474895.tif 000003
【図３】
0006474895.tif 000004
【図４】
0006474895.tif 000005
【図５】
0006474895.tif 000006