(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-07
(45)【発行日】2024-11-15
(54)【発明の名称】プログラム、非一時的でコンピュータ読取可能な記憶媒体、及び装置
(51)【国際特許分類】
G01C 21/28 20060101AFI20241108BHJP
G01S 19/22 20100101ALI20241108BHJP
【FI】
G01C21/28
G01S19/22
【外国語出願】
(21)【出願番号】P 2022081710
(22)【出願日】2022-05-18
【審査請求日】2022-06-29
(32)【優先日】2021-05-24
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】100099623
【氏名又は名称】奥山 尚一
(74)【代理人】
【識別番号】100125380
【氏名又は名称】中村 綾子
(74)【代理人】
【識別番号】100142996
【氏名又は名称】森本 聡二
(74)【代理人】
【識別番号】100166268
【氏名又は名称】田中 祐
(72)【発明者】
【氏名】シージョー・パイラッパン
【審査官】貞光 大樹
(56)【参考文献】
【文献】特開2012-233791(JP,A)
【文献】特開2014-224715(JP,A)
【文献】特開2000-352519(JP,A)
【文献】特開2009-281814(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01C 21/00 - 21/36
G08G 1/00 - 99/00
G01S 5/00 - 5/14
G01S 19/00 - 19/55
H04B 7/24 - 7/26
H04M 3/00
H04M 3/16 - 3/20
H04M 3/38 - 3/58
H04M 7/00 - 7/16
H04M 11/00 - 11/10
H04W 4/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
第1のサンプリングレートで得られた
、車内にあるか又は車の一部であるモバイルデバイスの位置データを取得するステップと、
前記位置データが前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向の検出には不十分であると判定するステップと、
前記位置データが前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向の検出には不十分であると判定されると、前記第1のサンプリングレートから第2のサンプリングレートへと位置データのサンプリングの増加をトリガするステップと、
前記第2のサンプリングレートで得られた前記モバイルデバイスの位置データから前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向を検出し、前記進行方向に基づいて前記モバイルデバイスの目的地までの経路を推定し、前記経路に基づいて前記モバイルデバイスの目的地への到着予定時刻を求めるステップと
をコンピュータに実行させるプログラム。
【請求項2】
前記第1のサンプリングレートで得られた前記モバイルデバイスの位置データが前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向の検出には不十分であると判定するステップは、前記第1のサンプリングレートで得られた前記モバイルデバイスの位置が、複数のルートの交差点からの基準距離を満たしていると判定するステップを含む、請求項1に記載のプログラム。
【請求項3】
前記第1のサンプリングレートで得られた前記モバイルデバイスの位置データが前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向の検出には不十分であると判定するステップは、前記第1のサンプリングレートで得られた前記モバイルデバイスの位置が、道路の、通行方向が互いに異なる2つの車線から基準距離内にあると判定するステップを含む、請求項1に記載のプログラム。
【請求項4】
前記モバイルデバイスの後続の位置データを取得するステップと、
前記後続の位置データが前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向の検出に十分であると判定するステップと、
前記後続の位置データが前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向の検出に十分であると判定されると、前記第2のサンプリングレートから前記第1のサンプリングレートへと位置データのサンプリングの減少をトリガするステップと
をさらに前記コンピュータに実行させる請求項1に記載のプログラム。
【請求項5】
前記後続の位置データが前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向の検出に十分であると判定するステップは、前記モバイルデバイスの位置が複数のルートの交差点からの基準距離を満たしていないと判定するステップを含む、請求項4に記載のプログラム。
【請求項6】
前記後続の位置データが前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向の検出に十分であると判定するステップは、前記モバイルデバイスの位置が前記第1のサンプリングレートで得られた前記モバイルデバイスの位置に対する周囲の
車線通行方向に沿った進行方向を示していると判定するステップを含む、請求項4に記載のプログラム。
【請求項7】
前記モバイルデバイスが静止していることが検出されると、前記モバイルデバイスに前記第2のサンプリングレートによるサンプリングを一時停止させるステップをさらに前記コンピュータに実行させる請求項1に記載のプログラム。
【請求項8】
処理デバイスにより実行されると前記処理デバイスに対し、
第1のサンプリングレートで得られた
、車内にあるか又は車の一部であるモバイルデバイスの位置データを取得するステップと、
前記位置データが前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向の検出には不十分であると判定するステップと、
前記位置データが前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向の検出には不十分であると判定されると、前記第1のサンプリングレートから第2のサンプリングレートへと位置データのサンプリングの増加をトリガするステップと、
前記第2のサンプリングレートで得られた前記モバイルデバイスの位置データから前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向を検出し、前記進行方向に基づいて前記モバイルデバイスの目的地までの経路を推定し、前記経路に基づいて前記モバイルデバイスの目的地への到着予定時刻を求めるステップと
を実行させる命令を有する非一時的でコンピュータ読取可能な記憶媒体。
【請求項9】
前記第1のサンプリングレートで得られた前記モバイルデバイスの位置データが前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向の検出には不十分であると判定するステップは、前記第1のサンプリングレートで得られた前記モバイルデバイスの位置が、複数のルートの交差点からの基準距離を満たしていると判定するステップを含む、請求項8に記載の非一時的でコンピュータ読取可能な記憶媒体。
【請求項10】
前記第1のサンプリングレートで得られた前記モバイルデバイスの位置データが前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向の検出には不十分であると判定するステップは、前記第1のサンプリングレートで得られた前記モバイルデバイスの位置が、道路の、通行方向が互いに異なる2つの車線から基準距離内にあると判定するステップを含む、請求項8に記載の非一時的でコンピュータ読取可能な記憶媒体。
【請求項11】
前記モバイルデバイスの後続の位置データを取得するステップと、
前記後続の位置データが前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向の検出に十分であると判定するステップと、
前記後続の位置データが前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向の検出に十分であると判定されると、前記第2のサンプリングレートから前記第1のサンプリングレートへと位置データのサンプリングの減少をトリガするステップと
を前記処理デバイスがさらに実行する、請求項8に記載の非一時的でコンピュータ読取可能な記憶媒体。
【請求項12】
前記後続の位置データが前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向の検出に十分であると判定するステップは、前記モバイルデバイスの位置が複数のルートの交差点からの基準距離を満たしていないと判定するステップを含む、請求項11に記載の非一時的でコンピュータ読取可能な記憶媒体。
【請求項13】
前記後続の位置データが前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向の検出に十分であると判定するステップは、前記モバイルデバイスの位置が前記第1のサンプリングレートで得られた前記モバイルデバイスの位置に対する周囲の
車線通行方向に沿った進行方向を示していると判定するステップを含む、請求項11に記載の非一時的でコンピュータ読取可能な記憶媒体。
【請求項14】
前記モバイルデバイスが静止していることが検出されると、前記モバイルデバイスに前記第2のサンプリングレートによるサンプリングを一時停止させるステップを前記処理デバイスがさらに実行する、請求項8に記載の非一時的でコンピュータ読取可能な記憶媒体。
【請求項15】
処理デバイスと、
前記処理デバイスに接続され、命令を記憶したメモリと
を備えた装置であって、
前記命令は、前記処理デバイスにより実行されると、前記装置に対し、
第1のサンプリングレートで得られた
、車内にあるか又は車の一部であるモバイルデバイスの位置データを取得するステップと、
前記位置データが前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向の検出には不十分であると判定するステップと、
前記位置データが前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向の検出には不十分であると判定されると、前記第1のサンプリングレートから第2のサンプリングレートへと位置データのサンプリングの増加をトリガするステップと、
前記第2のサンプリングレートで得られた前記モバイルデバイスの位置データから前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向を検出し、前記進行方向に基づいて前記モバイルデバイスの目的地までの経路を推定し、前記経路に基づいて前記モバイルデバイスの目的地への到着予定時刻を求めるステップと
を実行させる、
装置。
【請求項16】
前記第1のサンプリングレートで得られた前記モバイルデバイスの位置データが前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向の検出には不十分であると判定するステップは、前記第1のサンプリングレートで得られた前記モバイルデバイスの位置が、複数のルートの交差点からの基準距離を満たしていると判定するステップを含む、請求項15に記載の装置。
【請求項17】
前記第1のサンプリングレートで得られた前記モバイルデバイスの位置データが前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向の検出には不十分であると判定するステップは、前記第1のサンプリングレートで得られた前記モバイルデバイスの位置が、道路の、通行方向が互いに異なる2つの車線から基準距離内にあると判定するステップを含む、請求項15に記載の装置。
【請求項18】
前記モバイルデバイスの後続の位置データを取得するステップと、
前記後続の位置データが前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向の検出に十分であると判定するステップと、
前記後続の位置データが前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向の検出に十分であると判定されると、前記第2のサンプリングレートから前記第1のサンプリングレートへと位置データのサンプリングの減少をトリガするステップと
を前記処理デバイスがさらに実行する、請求項15に記載の装置。
【請求項19】
前記後続の位置データが前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向の検出に十分であると判定するステップは、前記モバイルデバイスの位置が複数のルートの交差点からの基準距離を満たしていないと判定するステップを含む、請求項18に記載の装置。
【請求項20】
前記後続の位置データが前記モバイルデバイスの周囲の
車線通行方向に沿った進行方向の検出に十分であると判定するステップは、前記モバイルデバイスの位置が前記第1のサンプリングレートで得られた前記モバイルデバイスの位置に対する周囲の
車線通行方向に沿った進行方向を示していると判定するステップを含む、請求項18に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は概して、デバイスの位置の追跡に関するものであり、より具体的には、無線通信損失が過去にあった地理的領域に向かって、またはその地理的領域まで基準距離内に移動すると判定されたときに、間隔を増やして位置データを共有するデバイスに関する。さらに、本開示は、現在の位置データが進行方向を判定するのに不十分な場合に、間隔を増やして位置データを共有するデバイスに関する。
【背景技術】
【0002】
人または物の配達及びピックアップを含むサービスは、位置の追跡により、見込まれる到着及び/又は差し迫った到着の情報をユーザに提供することができる。例えば、モバイルデバイスは、位置データを別のデバイスに送信し、人または物の見込まれる到着の追跡を容易にすることができる。
【0003】
本開示は、以下の詳細な説明及び本開示の様々な実施形態の添付の図面からより完全に理解されるであろう。しかし、図面は、説明及び理解を目的としているに過ぎず、開示内容を特定の実施形態に限定するものとして解釈すべきではない。
【図面の簡単な説明】
【0004】
【
図1】動的な位置追跡システムの例をブロック図の形式で示す。
【
図2】無線通信損失が過去にあった地理的領域に基づいてユーザデバイスの動的な追跡をトリガする例を示す。
【
図3】無線通信損失が過去にあった地理的領域に関するユーザデバイスの動的な追跡により、到着を推定する方法の例を示すフローチャートである。
【
図4】現在の位置データが進行方向を判定するのに不十分であるときに、ユーザデバイスの動的な追跡をトリガする例を示す。
【
図5】現在の位置データが進行方向を判定するのに不十分である場合に、ユーザデバイスの動的な追跡により、到着を推定する方法の例を示すフローチャートである。
【発明を実施するための形態】
【0005】
本開示の態様は、位置データを追跡し、推定到着時刻(estimated time of arrival, ETA)(到着予定時刻)を求めることに関する。例えば、人や物の配達とピックアップを含むサービスは、位置の追跡により、推定及び/または差し迫った到着の指標をユーザに提供する。携帯電話などのモバイルデバイスは、位置データをサーバに送り、人または物の到着予定の追跡を容易にすることができる。しかし、モバイルデバイスが位置データをサーバに送ることができない無線通信損失が生じたことがある地理的領域(「不感地帯」)をモバイルデバイスが通過する場合、推定到着時刻を求めることが難しい場合がある。
【0006】
さらに、推定到着時刻の決定は、進行方向を示すには不十分な位置データによって複雑となる可能性がある。例えば、モバイルデバイスは、システムが到着時刻を推定しようとしている位置への最も直接的な経路で移動しない場合がある。迂回路、中間の目的地、または最も直接的な経路からのその他の逸脱により、見込まれる到着または差し迫った到着の予測が大幅に変わる可能性がある。そのため、モバイルデバイスが特定の方向に移動しているかどうかを判定するには位置データが不十分な場合、正確な推定到着時刻を得ることは困難である。
【0007】
本明細書に記載の実施形態は、不感地帯または方向の曖昧さとの関連で、モバイルデバイスの位置に基づいた動的な頻度で位置データを追跡することにより、上述した問題及び他の問題に対処する。例えば、ホストシステムは、電力使用量及び/または処理リソースを最小限に抑えるために、デフォルト設定では、限られた間隔で位置データを受信する。ホストシステムは、1つまたは複数のメッセージをモバイルデバイスに送り、モバイルデバイスがホストシステムと位置データを共有するレートの増加をトリガする。例えば、モバイルデバイスが不感地帯まで基準距離内に位置する場合、またはモバイルデバイスの現在の位置データがモバイルデバイスの進行方向を判定するのに不十分な場合、モバイルデバイスは、より頻繁に位置データを送るようトリガされる。その結果、システムは、比較的低い位置の共有頻度で十分な場合に、ユーザデバイスの位置の追跡を最小限に抑えてユーザデバイスの電力を節約し、不感地帯を通過する際の複雑度及び/または方向の曖昧さを軽減する際にはモバイルデバイスが位置データを共有するレートを上げることができる。
【0008】
図1に、例としての動的な位置追跡システム100をブロック図形式で示す。動的な位置追跡システムは、1つまたは複数のネットワーク120に接続されたモバイルデバイス105と、ホストシステム110と、サードパーティデバイス115とを有する。例えば、モバイルデバイス105は、ある動的頻度で位置データをホストシステム110に送る。ホストシステム110は、1つまたは複数のメッセージをモバイルデバイス105に送り、モバイルデバイス105が位置データを送信する頻度の変化をトリガする(当該頻度を変化させる)。ホストシステム110はまた、モバイルデバイス105のサードパーティデバイス115への到着の推定結果を提供する。
【0009】
モバイルデバイス105は、メモリ130に接続されたプロセッサ125を含む。本明細書において、「に接続され」または「と接続され」は、一般に、構成要素間の接続を指し、これは、電気、光学、磁気などの接続を含み、有線または無線を問わず、間接通信接続または(例えば、介在する構成要素の無い)直接通信接続とすることができる。モバイルデバイス105は、プロセッサ125及びメモリ130を用いて、本明細書で説明される動的位置追跡に関わる1つまたは複数の処理を行う。
【0010】
プロセッサ125は、マイクロプロセッサ、中央処理装置などのような1つまたは複数の汎用処理デバイスを表す。より具体的には、プロセッサ125は、複雑な命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、非常に長い命令ワード(VLIW)マイクロプロセッサ、もしくは、他の命令セットを実装するプロセッサ、または命令セットの組み合わせを実装するプロセッサであり得る処理デバイスである。プロセッサ125はまた、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサなどのような1つまたは複数の専用処理デバイスであり得る。プロセッサ125は、本明細書で論じられる動作を実行するための命令を実行するように構成される。
【0011】
メモリ130は、不揮発性メモリ、揮発性メモリ、またはそれらの組み合わせを含むことができる。メモリ130は、本明細書に記載の方法論または機能のいずれか1つまたは複数を具体化する命令またはソフトウェアの1つまたは複数のセットが記憶される機械可読記憶媒体(コンピュータ可読記憶媒体としても知られる)の例である。例えば、位置データコントローラ135は、以下でより詳細に説明される動的位置追跡を管理する一組の命令または一組のソフトウェアとして実装することができる。一実施形態では、位置データコントローラ135は、以下に説明するように、1つまたは複数のトリガに応じて、位置データのサンプリングレート(例えば、モバイルデバイス105が位置データをホストシステム110に送るレート)を更新する。さらに、メモリ130は、ホストシステム110から受信したトリガメッセージ及び/またはデータを記憶することができる(例えば、位置データサンプリングレート、不感地帯の位置、不感地帯の閾の位置、不感地帯からの基準距離など)。
【0012】
モバイルデバイス105は、その位置を、地理的位置情報受信機140(例えば、全地球測位システム(GPS))、アシストGPS(A-GPS)、セルラータワーデータ(例えば、最も近いタワー、三角測量など)、無線ネットワークデータ(例えば、地理的領域内の既知のWi-Fiネットワーク接続のリスト)、またはそれらの組み合わせを用いて求める。例えば、モバイルデバイス105は、地理的位置情報受信機140によって決定された緯度及び経度の値、及び/またはモバイルデバイス105によって受信された無線ネットワーク信号に関連する緯度・経度の値に基づいて、不感地帯までの基準距離の内側若しくは外側、方向の曖昧さの位置、またはピックアップ位置、ドロップオフ位置にあると判定することができる。
【0013】
モバイルデバイス105は、ネットワーク120を介して通信するためのネットワークインターフェースデバイスなど、図示されていない追加の構成要素を含むことができる。例えば、モバイルデバイスには、Wi-Fiトランシーバ、Bluetoothトランシーバ、ワイヤレス携帯電話トランシーバ(3G、4G、5Gなど)、または、モバイルデバイス105を別のデバイス、外部構成要素、またはネットワークに接続し、命令、データなどを受信するための別の無線プロトコルトランシーバなどの1つまたは複数のワイヤレストランシーバを含めることができる。さらに、1つまたは複数のバスを使用して、モバイルデバイス105の様々な構成要素を相互接続することができる。
【0014】
ホストシステム110は、メモリ150に接続されたプロセッサ145を含む。上記のプロセッサ125の説明と同様に、プロセッサ145は、マイクロプロセッサ、中央処理装置などのような1つまたは複数の汎用処理デバイスを表す。さらに、メモリ150は、不揮発性メモリ、揮発性メモリ、またはそれらの組み合わせを含むことができる。
【0015】
メモリ150は、本明細書に記載の方法論または機能のいずれか1つまたは複数を具体化する命令またはソフトウェアの1つまたは複数のセットが記憶されるコンピュータ可読記憶媒体の別の例である。例えば、到着予測エンジン155及び不感地帯トラッカ160はそれぞれ、以下でより詳細に説明されるモバイルデバイス105の動的位置追跡及び到着の推定を管理する一組の命令または一組のソフトウェアとして実装できる。
【0016】
到着予測エンジン155は、モバイルデバイス105が目的地に着く推定到着時間を求める。例えば、到着予測エンジン155は、モバイルデバイス105が目的地に達するために移動するルート、そのルートに沿った距離、そのルートに沿った速度制限、そのルートに沿った交通パターンなどを判定(または推定)して、到着時間を推定することができる。一実施形態では、到着予測エンジンは、移動履歴データベース165に記憶されている、モバイルデバイスによって行われた以前の移動の履歴のデータを読み取るか、あるいは用いて、例えば、最も可能性の高いルート、交通パターンなどを判定する。一実施形態では、到着予測エンジン155は、1つまたは複数のメッセージをモバイルデバイス105に送り、モバイルデバイス105をトリガして(モバイルデバイス105の設定を変えて)、以下でより詳細に説明するように、より高い頻度またはより低い頻度で位置データを共有する。
【0017】
不感地帯トラッカ160は、無線通信損失が過去にあった地理的領域を求める。例えば、不感地帯トラッカ160は、ホスト110と共有された位置のヒートマップを作成し、ヒートマップ上の「コールド」スポット(基準量以上の位置データを受信していないマップ上の位置)が、無線通信損失が過去にあった領域に対応すると判定することができる。一実施形態では、不感地帯トラッカ160は、モバイルデバイスがたどる経路(例えば、道路、高速道路、鉄道など)と一致するコールドスポットを、無線通信損失が過去にあった領域と見なす。
【0018】
別の実施形態では、不感地帯トラッカ160は、移動履歴データベース165を使用して、モバイルデバイスによる位置データ共有の頻度に基づき、いつ、位置データが期待されたものの受信されなかったかを検出する。一実施形態では、到着予測エンジン155は、タイムスタンプとともに受信された、共有された位置及び/または位置データが期待されたものの受信されなかったときのタイムスタンプのログイン移動履歴データベース165を作成する。不感地帯トラッカ160は、「逃した」位置の前後のルート及び逃した位置の前後の位置に沿って位置データが共有された頻度に基づいて、位置データが期待されたものの受信できなかった位置または領域を推定することができる。一実施形態では、不感地帯トラッカ160は、移動履歴データベース165内の別々の移動の逃した位置どうしを関連付ける。例えば、不感地帯トラッカ160は、逃した別々の位置が互いに基準距離内にある場合、それらの位置を単一の地理的領域あるいは不感地帯にまとめることができる。地理的領域内の逃した位置の数が基準数に達すると、不感地帯トラッカ160はその領域を不感地帯として指定する。一実施形態では、不感地帯トラッカ160は、ルートに沿った交通パターン、速度制限、及び他のデータをさらに用いて、不感地帯の位置または領域を推定する。不感地帯トラッカ160は、例えば、移動履歴データベース165に、定められた不感地帯を記憶する。
【0019】
さらに、不感地帯トラッカ160は、移動履歴データベース165を使用して、位置または位置のETAが、移動における1つまたは複数の他の位置のそれぞれの位置またはETAと矛盾する場合を検出することができる。例えば、位置または位置のETAが基準(変化量または変化レート)以上のレートで変化する場合、不感地帯トラッカ160は、共有された位置データが正しくないと判定することができる。不正確な位置データは、例えば、都市の谷間や、GPS信号の受信不良の原因となる可能性のあるその他の物理的要因の結果である可能性がある。一実施形態では、不感地帯トラッカ160は、不正確な、またはそうでなければ信頼できない位置データに関連する領域も同様に不感地帯として指定する。
【0020】
ホストシステム110はまた、ネットワーク120を介して通信するためのネットワークインターフェースデバイス、及びモバイルデバイス105とホストシステム110との間及び/またはサードパーティデバイス115とホストシステム110との間の通信を可能にする1つまたは複数のAPIなどの図示されていない追加の構成要素を含むことができる。さらに、1つまたは複数のバスを使用して、様々な構成要素のホストシステム110を相互接続することができる。
【0021】
サードパーティデバイス115は、メモリ175に接続されたプロセッサ170を含む。上記のプロセッサ125の説明と同様に、プロセッサ170は、マイクロプロセッサ、中央処理装置などのような1つまたは複数の汎用処理デバイスを表す。さらに、メモリ175は、不揮発性メモリ、揮発性メモリ、またはそれらの組み合わせを含むことができる。
【0022】
メモリ175は、本明細書に記載の方法論または機能のいずれか1つまたは複数を具体化する命令またはソフトウェアの1つまたは複数のセットが記憶されるコンピュータ可読記憶媒体の別の例である。例えば、到着アラートアプリケーション180は、モバイルデバイス105の到着の推定に関してホストシステム110からメッセージを受信するための命令またはソフトウェアの組として実装することができる。一実施形態では、到着アラートアプリケーション180は、ホストシステム110からのメッセージを使用して、目的地でのモバイルデバイス105の差し迫った到着アラートを生成する。
【0023】
モバイルデバイス105及びホストシステム110と同様に、サードパーティデバイス115もまた、ネットワーク120を介して通信するためのネットワークインターフェースデバイス、もう1つのバスなど、図示されていない追加の構成要素を含むことができる。
【0024】
様々な実施形態において、ハードワイヤード回路は、本実施形態を実装するためにソフトウェア命令と組み合わせて使用され得る。したがって、技術は、ハードウェア回路とソフトウェアの特定の組み合わせ、またはプロセッサ125、プロセッサ145、及び/もしくはプロセッサ170によって実行される命令の特定のソースに限定されない。
【0025】
図2に、無線通信損失が過去にあった地理的領域に基づいて、ユーザデバイスの動的な追跡をトリガする例を示す。この例では、モバイルデバイス105は、ルート205に沿って目的地210まで移動する自動車内にあるか、または自動車の一部である。一実施形態では、到着予測エンジン155は、モバイルデバイス105及び/またはサードパーティデバイス115からの入力を用いて、目的地210の位置を定める。例えば、到着予測エンジン155は、入力された、モバイルデバイス105が誰かまたは何かをピックアップまたはドロップオフする住所または緯度及び経度を用いる。一実施形態では、サードパーティデバイス115は目的地210に置かれ、サードパーティデバイス115は、地理的位置情報受信機を使用して、目的地210の位置を決定及び共有する。到着予測エンジン155は、モバイルデバイス105によって共有される位置データをさらに使用して、モバイルデバイス105と目的地210との間のルート205を決定することができる。
【0026】
上記のように、不感地帯トラッカ160は、無線通信損失が過去にあった地理的領域を判定し記憶する。この例では、不感地帯トラッカ160が不感地帯215を検出して記憶する。さらに、到着予測エンジン155は、ルート205が不感地帯215を通過すると判定する。例えば、ルート205を判定するときに、到着予測エンジン155は、ルート205に沿った任意の位置が、不感地帯トラッカ160によって判定及び記憶された不感地帯内にあるかどうかを検出することができる。
【0027】
一実施形態では、ホストシステム110は、ユーザデバイスの動的な追跡のためのトリガとして機能するように、不感地帯の周りの基準距離を設定する。例えば、不感地帯の閾220は、不感地帯215の周りの領域を表し、この領域では、モバイルデバイス105の位置データのサンプリングレートが増加する。一実施形態では、ホストシステム110は、位置データのサンプリングレートの増加をトリガするためにモバイルデバイス105にメッセージを送る。例えば、ルート205が不感地帯215を通過すると到着予測エンジン155が判定したことに応じて、ホストシステム110は、モバイルデバイス105が不感地帯の閾220内にあることを示す位置データを受信すると、位置データサンプリングレートの増加を要求することができ、または、ホストシステム110は、不感地帯の閾220のデータをモバイルデバイス105に送ることができ、モバイルデバイス105は、いつ自らが不感地帯の閾220内にあるかを検出して、増加をトリガすることができる。一実施形態では、到着予測エンジン155は、交通パターン、速度制限、及びルート205に沿った、またはルート205に類似した、移動履歴データベース165からの他のデータを使用して、不感地帯の閾のサイズ及び/または位置を求める。例えば、到着予測エンジン155は、高速道路などの交通速度の速いルートには大きな閾を設定し、住宅道路などの交通速度の遅いルートには小さな閾を設定することができる。その結果、閾は、位置データのオーバーサンプリングとそれに対応するモバイルデバイスのリソース消耗(バッテリー寿命など)につながる可能性のある早期の増加を回避しながら、モバイルデバイスが不感地帯に入る前に位置サンプリングの増加をトリガするのに十分な距離を提供する。
【0028】
不感地帯の閾220は円として示しているが、別の境界を使用して、モバイルデバイス105の動的追跡における変化のトリガを容易にすることができる。例えば、不感地帯の閾220は、境界道路の組み合わせ、または緯度及び経度の点によって定められる任意の形状として実現することができる。
【0029】
一実施形態では、モバイルデバイス105は、セルラーまたは他のデータネットワークへの接続がないか、または不十分である場合(例えば、不感地帯215内)に、位置データをホストシステム110に送信しようとはしない。モバイルデバイス105は、例えば、GPS信号を介して位置データを取得することができるが、位置データをホストシステム110と効率的に通信しない(またはまったく通信しない)場合がある。このような状況で位置データを送信しようとすると、モバイルデバイス105のバッテリ寿命が不必要に消耗する可能性がある。したがって、モバイルデバイスは、ホストシステム110と位置データを共有するためのトリガとして、最小のネットワーク接続基準(例えば、信号強度値及び/または通信プロトコルに基づく)を使用することができる。例えば、位置データのサンプリングレートの増加により、モバイルデバイス105に、データ接続性をより頻繁にテストさせて、ネットワーク接続信号の強度が弱いか、または旧世代のプロトコル(例えば、第3世代すなわち3G)であるかを決定させることができる。モバイルデバイス105はネットワーク接続が不十分または切断されていると判定した場合、モバイルデバイス105は位置データを送信しようとせず、現在のサンプリングレートによって指示されるように再試行するのを待つ。
【0030】
図3は、無線通信損失が過去にあった地理的領域を有するユーザデバイスの動的な追跡により到着を推定する一例としての方法300を示すフローチャートである。方法300は、ハードウェア(例えば、処理デバイス、回路、専用論理、プログラマブル論理、マイクロコード、デバイスのハードウェア、集積回路など)、ソフトウェア(例えば、処理デバイスで動作または実行される命令)、またはそれらの組み合わせを含むことができる処理論理によって実行することができる。いくつかの実施形態では、方法300は、位置データコントローラ135、到着予測エンジン155、またはそれらの組み合わせによって実行される。例を説明するために、方法300は、処理デバイスによって実行されるものとして以下に説明される。
【0031】
ステップ305で、処理デバイスは、位置データサンプリングを第1のレートに設定する。第1の位置データサンプリングレートは、より頻繁にサンプリングするようにトリガされるまで、リソースが節約されるように設定できる。モバイルデバイス105は、定期的に及び/または位置の変化に基づいて位置データを共有することができる。一実施形態では、モバイルデバイス105は、第1のレートで、モバイルデバイス105の現在の位置を示すデータ(例えばGPS座標)を読み取るか、さもなければ取得し、1分以上の間隔(例えば5分)で、またはモバイルデバイス105の位置が相当程度(例えば、500メートル)変化したときに、最新位置情報を少ない頻度で共有する。上記のように、モバイルデバイス105は、モバイルデバイス105のネットワーク接続性が基準(例えば、信号強度及び/またはプロトコルの生成)を満たさない場合、位置データをホストシステム110に送信しようとはしない。
【0032】
一実施形態では、ホストシステム110は、動的な位置データサンプリングレートの変化をトリガするために、位置からの基準距離を含む1つまたは複数のメッセージをモバイルデバイス105に送る。例えば、ホストシステム110は、目的地210の緯度及び経度の値と、目的地210からの基準距離としての緯度及び経度の値から(例えば、半径として)使用される基準距離とを送ることができる。この目的地の閾外にあるとき、モバイルデバイス105は、少ない頻度のサンプリングレート(例えば、第1のレート)を使用し、目的地の閾内にあるとき、サンプリングをより頻度の高いレート(例えば、第2のレート)に増やすことができる。例えば、目的地210からの基準距離は、約800メートルとすることができる。
【0033】
さらに、ホストシステム110は、以下で説明するように、不感地帯215の緯度と経度の値を送信し、サンプリングレートの動的な変更をトリガするために使用される緯度と経度の値、または同等の位置(例えば、不感地帯の閾220)からの基準距離を送信できる。いくつかの実施形態では、ホストシステム110は、モバイルデバイス105から位置データを受信し、モバイルデバイス105が閾を超えたか、さもなければ満たしたとホストシステム110が検出したことに応じてサンプリングレートを変更する命令を送信する。
【0034】
一実施形態では、1つまたは複数の基準距離は、目的地210及び/または不感地帯215に近接する会社、住宅の密度に依存している。ルート205をたどるか完了する以外に、ユーザが目的地210及び/または不感地帯215の近くにいる可能性が高い結果として、より小さな基準距離は、より高密度の領域により適している可能性がある。1つまたは複数の小さい基準距離を使用した結果、密度のより高い領域のユーザは、それらの位置データにある程度のプライバシーがまだ与えられ、位置追跡がそれほど有用でない場合には処理とバッテリーリソースを節約できる。
【0035】
ステップ310において、処理デバイスは、位置データが、モバイルデバイスが不感地帯に接近していることを示しているかどうかを判定する。一実施形態では、モバイルデバイス105は、(例えば地理的位置情報受信機140を用いて)自己の位置を求め、求められた位置を不感地帯の閾220と比較する。別の実施形態では、ホストシステム110は、モバイルデバイス105から受信した位置データを求め、位置を不感地帯の閾220と比較する。位置データが、モバイルデバイスが現在、不感地帯に接近していないことを示す場合(例えば、モバイルデバイス105の位置が不感地帯の閾220の外側に留まっている場合)、方法300はステップ315に進む。位置データが、モバイルデバイスが不感地帯に接近していることを示す場合(例えば、モバイルデバイス105の位置が不感地帯の閾220内にある)、方法300はステップ323に進む。
【0036】
ステップ315で、処理デバイスは、位置データのサンプリングレートを変更するための別のトリガが発生したかどうかを判定する。例えば、処理デバイスは、位置データを別の基準(例えば、目的地210からの基準距離)と比較する。ステップ310と同様に、モバイルデバイス105またはホストシステム110は、位置データを1つまたは複数の基準と比較することができる。別のトリガが発生した場合(例えば、モバイルデバイス105の位置が目的地210の閾内にある場合)、方法300はステップ320に進む。別のトリガが発生しなかった場合、方法300はステップ310に戻り、モバイルデバイス105は、少ない頻度の(第1のレートで)位置データをサンプリング・共有し続ける。
【0037】
ステップ320で、処理デバイスは、他のトリガに応じて位置データのサンプリングレートを更新する。例えば、モバイルデバイス105が目的地基準(destination threshold)内にあることを位置データが示す場合、モバイルデバイス105は、データサンプリングレートを更新し、位置データをより頻繁に(例えば、第2のレートで)ホストシステム110に送信する。
【0038】
一実施形態では、サードパーティデバイス115は、位置データを使用して、モバイルデバイス105がいつ目的地210に接近しているかを判定する。例えば、目的地基準(または別の基準)は、ホストシステム110をトリガして、モバイルデバイス105からの位置データをサードパーティデバイス115と共有するか、そうでなければ、モバイルデバイス105が目的地210に接近していることをサードパーティデバイス115に通知することができる。
【0039】
ステップ323において、処理デバイスは、位置データが、モバイルデバイスが目的地に到着するためのETAが時間基準を満たすことを示しているかどうかを判定する。例えば、到着予測エンジン155は、ルート205に沿った、またはルート205に類似した現在の速度、交通パターン、速度制限、及び移動履歴データベース165からの他のデータのうちの1つまたは複数を使用して、モバイルデバイスが目的地210に到達するための現在のETAを計算することができる。現在のETAが基準時間値を超えた場合、処理デバイスは、ETAが時間基準を満たさないと判定することができ、サンプリングレートは不感地帯を補償すべく更新されることはなく、方法300はステップ310に戻る。現在のETAが基準時間値以下である場合、処理デバイスは、ETAが時間基準を満たしていると判定することができ、方法300はステップ325に進む。
【0040】
ステップ325において、処理デバイスは、モバイルデバイスが不感地帯に接近していることを示す位置データの判定に応じて、位置データのサンプリングレートを更新する。例えば、モバイルデバイス105が不感地帯の閾220内にあることを位置データが示す場合、モバイルデバイス105は、位置データのサンプリングレートを更新し、位置データをより頻繁に(例えば、第2のレートで)ホストシステム110に送信する。一実施形態では、モバイルデバイス105は、その位置データが不感地帯に接近していることを示すことを検出したことに応じて、位置データのサンプリングレートを更新する。別の実施形態では、モバイルデバイス105からの位置データが、モバイルデバイス105が不感地帯に接近していることを示すとホストシステム110が検出して、ホストシステム110がモバイルデバイス105に位置データのサンプリングレートを上げるように指示すると、モバイルデバイス105は位置データのサンプリングレートを更新する。一実施形態では、モバイルデバイス105は、第2のレートを使用して、1秒以上の間隔で(例えば毎秒)、及び/またはモバイルデバイス105の位置の検出可能な変化に基づいて、頻繁に最新位置情報を共有する。結果として、ホストシステム110は、不感地帯215内の通信の損失を補償し、モバイルデバイス105が目的地210に到着する時間をより正確に推定し、及び/またはモバイルデバイス105がルート205に沿って進んでいるか、または迂回しているかを判定することができる。この場合も、上記のように、モバイルデバイス105のネットワーク接続性が基準(例えば、信号強度及び/またはプロトコルの生成)を満たさない場合、モバイルデバイス105は、位置データをホストシステム110に送信しようとはしない。
【0041】
ステップ330において、処理デバイスは、位置データは、モバイルデバイスが不感地帯を離れることを示しているかどうかを判定する。一実施形態では、モバイルデバイス105は、(例えば地理的位置情報受信機140を使用して)自己の位置を求め、求められた位置を不感地帯の閾220と比較する。別の実施形態では、ホストシステム110は、モバイルデバイス105から受信した位置データを求め、位置を不感地帯の閾220と比較する。モバイルデバイスが現在不感地帯を離れていないことを位置データが示す場合(例えば、モバイルデバイス105の位置が不感地帯の閾220内に留まっている場合)、方法300はステップ340に進む。モバイルデバイスが不感地帯を離れていることを位置データが示す場合(例えば、モバイルデバイス105の位置が不感地帯の閾220の外にある)、方法300はステップ335に進む。
【0042】
ステップ335において、処理デバイスは、位置データが、モバイルデバイスが不感地帯を離れようとしていることを示していると判定したことに応じて、位置データのサンプリングレートを更新する。例えば、位置データが、モバイルデバイス105が不感地帯の閾220の外にあることを示す場合、モバイルデバイス105は、位置データのサンプリングレートを更新し、位置データをより少ない頻度で(例えば、第1のレートで)ホストシステム110に送る。一実施形態では、モバイルデバイス105は、その位置データが、不感地帯を離れることを示していることを検出したことに応じて、位置データのサンプリングレートを更新する。別の実施形態では、モバイルデバイス105が不感地帯を離れることをモバイルデバイス105からの位置データが示すことをホストシステム110が検出し、ホストシステム110がモバイルデバイス105に位置データのサンプリングレートを下げるように指示したことに応じて、モバイルデバイス105は位置データのサンプリングレートを更新する。
【0043】
ステップ340において、モバイルデバイスが現在不感地帯を離れていないことを位置データが示していると決定したことに応じて、処理デバイスは、位置データが、モバイルデバイスが静止していることを示すかどうかを判定する。例えば、位置データサンプルの基準数が、モバイルデバイス105が前の位置からの許容誤差または他の基準距離を超えて移動していないことを示す場合、モバイルデバイス105は、それ自体が静止していると見なすことができる。別の実施形態では、モバイルデバイス105は、加速度計などの別の入力を使用して、それが静止しているかどうかを判定することができる。モバイルデバイスが静止していることを位置データが示しているかどうかを処理デバイスが判定した場合、方法300はステップ345に進む。モバイルデバイスが静止していることを位置データが示さないかどうかを処理デバイスが判定した場合、方法300はステップ330に戻る。別の実施形態では、方法300は、ステップ340~355を省略し、モバイルデバイスが現在不感地帯を離れていないことを位置データが示したときにステップ330に戻る。
【0044】
ステップ345で、モバイルデバイスが静止していることを検出したことに応じて、処理デバイスは、位置データのサンプリングレートまたは位置データをホストサーバに送信しようとするレートを低下させる。例えば、モバイルデバイス105のユーザが不感地帯215内の位置で停止する場合、モバイルデバイス105は、静止位置をホストシステム110に報告する頻度を減らすか、単に報告しない、もしくは報告しようとしないことによって、処理リソースを節約することができる。
【0045】
ステップ350において、処理デバイスは、モバイルデバイスが静止したままであることを位置データが示すかどうかを判定する。例えば、モバイルデバイス105は、位置データのサンプリングを継続することができ(最小化している間か、またはホストシステム110に位置データを報告せずに)、またはモバイルデバイス105は、加速度計などの別の構成要素に基づいて検出された位置の検出された変化に応じて位置データをサンプリングすることができる。モバイルデバイスがまだ静止していることを位置データが示しているかどうかを処理デバイスが判定した場合、方法300はステップ350に戻り、モバイルデバイスが再び動き始めるまで待機し続ける。モバイルデバイスが静止していることを位置データが示さないかどうかを処理デバイスが判定した場合、方法300はステップ355に進む。
【0046】
ステップ355で、モバイルデバイスがもはや静止していないと検出したことに応じて、処理デバイスは、サンプリングレートの増加をトリガし、増加レート(例えば、第2のサンプリングレート)に戻す。方法300はステップ330に戻り、モバイルデバイスが不感地帯を離れたとき、または不感地帯を離れたことを検出する。
【0047】
図4に、現在の位置データが進行方向を決定するのに不十分であるときに、ユーザデバイスの動的な追跡をトリガする例を示す。
図2の説明と同様に、到着予測エンジン155は、入力されたアドレスまたは緯度及び経度を使用する。1つまたは複数のモバイルデバイスは、目的地で誰かまたは何かをそれぞれピックアップまたはドロップオフする。到着予測エンジン155は、各モバイルデバイスによって共有される位置データを使用して、モバイルデバイスとその目的地との間のルートを決定し、目的地へのモバイルデバイスのETAを決定することができる。ところが、モバイルデバイスA410は、2つの道路の交差点に入った自動車の内部または一部である。到着予測エンジン155は、(以前の位置に基づいて)目的地に進むためのモバイルデバイスA410の最短経路、推奨経路、または最も可能性の高い経路を決定できる一方、ユーザは、誤って直進したなどによりそのような経路を変えて他の停止をすることができる。到着予測エンジン115は、モバイルデバイスA410が移動するときに、モバイルデバイスA410の現在の位置のそれぞれまたは少なくとも一部でモバイルデバイスA410のETAを更新し、例えば、モバイルデバイスA410が目的地に接近している、または到着するときに、サードパーティに通知する。例えば、モバイルデバイスA410の現在の位置は、モバイルデバイスA410が移動(例えば、現在の道路に沿って続く)してきたのと同じ進行方向に続く経路(一部になることができる)、及びいずれかの方向へ曲がること(例えば、別の道路へ)を含む経路に対応する。これらの3つの可能な方向のそれぞれは、目的地への到着の推定時間が大きく異なる可能性のある経路に対応している。この方向の曖昧さを検出したことに応じて、到着予測エンジン155は、モバイルデバイスA410の進行方向の曖昧さを解決し、モバイルデバイスA410のETAを正確に更新できるように、モバイルデバイスA410の位置データのサンプリングレートの増加をトリガすることができる。
【0048】
モバイルデバイスB420の位置は、方向の曖昧さの別の位置を表す。モバイルデバイスB420は、両方向の通行が可能な2つの車線の間の位置する自動車内にあるか、または自動車の一部である。例えば、私道から道路に入る自動車には、進行方向を示す事前の位置がなく、モバイルデバイスが一方の方向の車線か他方の方向の車線かが明確でない位置を共有することにつながり得る。この方向の曖昧さの検出に応じて、到着予測エンジン155は、モバイルデバイスB420の進行方向の曖昧さを解決し、モバイルデバイスB420のETAを正確に更新できるように、モバイルデバイスB420の位置データのサンプリングレートの増加をトリガすることができる。方向の曖昧さによるモバイルデバイスの動的追跡については、
図5を参照してさらに説明する。
【0049】
一実施形態では、ホストシステム110は、ユーザデバイスの動的追跡のためのトリガとして機能するように、方向の曖昧さの位置の周りに基準距離を設定する。例えば、到着予測エンジン155は、上記の不感地帯の閾と同様の方法で、交差点の周りの基準距離を設定することができる。一実施形態では、到着予測エンジン155またはモバイルデバイスは、モバイルデバイスの現在の場所、位置データに基づいて、モバイルデバイスが方向の曖昧な位置(またはそのような位置までの基準距離内)にあると判定する。別の実施形態では、到着予測エンジン155またはモバイルデバイスは、位置情報の許容誤差を含むモバイルデバイスの現在の位置、位置データに基づいて、モバイルデバイスが方向の曖昧な位置(またはそのような位置までの基準距離内)にあると判定する。例えば、位置決めシステムの精度は、数フィートまたはメートルの許容誤差の影響を受ける可能性がある。モバイルデバイスA410は、位置情報の許容誤差430を有しているものとして示されている。位置情報の許容誤差430と交差点または方向の曖昧さの他の位置との重なりは、モバイルデバイスA410の動的追跡のためのトリガとして役立つことができる。同様に、モバイルデバイスB420は、位置情報の許容誤差440を有するものとして示され、これは、位置情報の許容誤差440が方向の曖昧さの位置と重なるときにモバイルデバイスB420の動的な追跡をトリガするために使用することができる。
図5は、現在の位置データが進行方向を決定するのに不十分である場合に、ユーザデバイスの動的追跡を使用して到着を推定する例としての方法を示すフローチャートである。方法500は、ハードウェア(例えば、処理デバイス、回路、専用論理、プログラマブル論理、マイクロコード、デバイスのハードウェア、集積回路など)、ソフトウェア(例えば、処理デバイス上で動作または実行される命令)、またはそれらの組み合わせを含むことができる処理論理によって実行することができる。いくつかの実施形態では、方法500は、位置データコントローラ135、到着予測エンジン155、またはそれらの組み合わせによって実行される。例を説明するために、方法500は、処理デバイスによって実行されるものとして以下に説明される。
【0050】
ステップ505で、処理デバイスは、位置データのサンプリングを第1のレートに設定する。上記の方法300の説明と同様に、第1の位置データサンプリングレートは、より頻繁にサンプリングするようにトリガされるまで、リソースを節約できるように設定することができる。モバイルデバイス105は、定期的に及び/または位置の変化に基づいて位置データを共有することができる。一実施形態では、モバイルデバイス105は、第1のレートにより、1分以上(例えば5分)の間隔で、またはモバイルデバイス105の位置が相当程度(例えば500メートル)変化したときに、少ない頻度による最新位置情報を共有する。
【0051】
ステップ510において、処理デバイスは、モバイルデバイスが方向が曖昧な位置にあることを位置データが示しているかどうかを決定する。例えば、処理デバイスは、モバイルデバイスの現在または最近の位置が、モバイルデバイスの進行方向を検出するには不十分な位置にあるかどうかを決定する。一実施形態では、処理デバイスは、モバイルデバイスA410で示したように、位置データが交差点の基準距離内にあるときに、位置データが進行方向を検出するには不十分であると判定する。
【0052】
別の実施形態では、処理デバイスは、モバイルデバイスB420で示したように、位置データが、両方向に通行可能な道路の複数の車線のそれぞれの基準距離内にある場合、位置データが進行方向を検出するには不十分であると判定する。例えば、モバイルデバイスの位置またはモバイルデバイスの位置の許容誤差が、通行方向が異なる2つの車線と重なる場合、処理デバイスは、位置データが、方向が曖昧な位置であると判定する。いくつかの実施形態では、処理デバイスは、この曖昧さを解決するために、後続の複数の位置サンプルを使用する。例えば、狭い2車線の道路では、各車線の通行方向が反対のため、1つの位置における方向が曖昧になる可能性があるが、複数の位置を考慮した場合、処理デバイスは、モバイルデバイスが一方向または他の方向に進行していると判定できる。
【0053】
さらに別の実施形態では、処理デバイスは、後続の位置サンプルの位置データが道路の車線の進行方向と一致しない場合、位置データが進行方向を検出するには不十分であると判定する。例えば、モバイルデバイスが私道から道路に入ると、後続の位置は、モバイルデバイスB420でも示したように、モバイルデバイスの最新の位置が存在する車線の通行方向に垂直またはほぼ垂直な方向に移動するモバイルデバイスを示す場合がある。
【0054】
位置データが、モバイルデバイスの進行方向を検出するのに十分であることを示している場合、方法500はステップ515に進む。位置データが、モバイルデバイスの進行方向を検出するには不十分であることを示している場合、方法500はステップ525に進む。
【0055】
ステップ515において、上記のステップ315の説明と同様に、処理デバイスは、位置データのサンプリングレートを変更するための別のトリガが発生したかどうかを判定する。ステップ520で、上記のステップ315の説明と同様に、処理デバイスは、他のトリガに応じて位置データのサンプリングレートを更新する。
【0056】
ステップ525において、処理デバイスは、方向の曖昧さの決定に応じて、位置サンプリングの第2のレートへの増加をトリガする。例えば、モバイルデバイス105は、位置データサンプリングレートを更新し、位置データを1秒以上の間隔(例えば毎秒)でより頻繁に(例えば第2のレートで)及び/またはモバイルデバイス105の位置の検出可能な任意の変化に基づいてホストシステム110に送信する。結果として、ホストシステム110は、方向の曖昧さをより迅速に解決し、それに応じてモバイルデバイスのETAを更新することができる。一実施形態では、上記のステップ323の説明と同様に、位置データが、目的地に到着するモバイルデバイスのETAが時間基準を満たしていることを示す場合、処理デバイスが位置サンプリングレートの増加をトリガし、目的地に到着するETAモバイルデバイスが時間基準を満たさない場合に増加のトリガを行わない。また、上記のように、モバイルデバイス105のネットワーク接続が基準(例えば、信号強度及び/またはプロトコルの生成)を満たさない場合、モバイルデバイス105は、位置データをホストシステム110に送信しようとしない。
【0057】
ステップ530で、処理デバイスは、モバイルデバイスの進行方向が解決されたかどうかを判定する。例えば、第2のレートを使用して、モバイルデバイス105は、その現在の位置を決定し(例えば、地理的位置情報受信機140を使用して)、2つ以上の後続の位置(例えば、現在の位置と方向の曖昧さをトリガした位置)が、モバイルデバイス105が移動している道路の車線の進行方向と一致するかどうかを判定する。モバイルデバイスの進行方向が解決された場合、方法500はステップ535に進む。モバイルデバイスの進行方向が解決されていない場合、方法500はステップ540に進む。
【0058】
ステップ535において、処理デバイスは、位置データが、方向の曖昧さが解決されたことを示すとの決定に応じて位置データのサンプリングレートを更新する。例えば、位置データが、モバイルデバイス105が道路の車線の予想される通行と一致する方向に移動していることを示す場合、モバイルデバイス105は、位置データのサンプリングレートを更新し、位置データをより少ない頻度で(例えば第1のレートで)ホストシステム110に送る。一実施形態では、モバイルデバイス105は、その位置データが方向の曖昧さを解決するとの検出に応じて位置データのサンプリングレートを更新する。別の実施形態では、モバイルデバイス105は、ホストシステム110が方向の曖昧さの解決を検出し、ホストシステム110がモバイルデバイス105に位置データのサンプリングレートを下げるように指示したことに応じて、位置データのサンプリングレートを更新する。方法500はステップ510に戻り、上記のように進むことができる。
【0059】
ステップ540で、処理デバイスは、モバイルデバイスが静止していることを位置データが示しているかどうかを判定する。例えば、位置データサンプルの基準数が、モバイルデバイス105が前の位置からの許容誤差または他の基準距離を超えて移動していないことを示す場合、モバイルデバイス105は、それ自体が静止していると見なすことができる。別の実施形態では、モバイルデバイス105は、加速度計などの別の入力を使用して、それ自体が静止しているかどうかを判定することができる。モバイルデバイスが静止していることを位置データが示しているかどうかを処理デバイスが判定した場合、方法500はステップ545に進む。モバイルデバイスが静止していることを位置データが示さないかどうかを処理デバイスが判定した場合、方法500はステップ530に戻る。別の実施形態では、方法500は、ステップ540~555を省略し、モバイルデバイスが現在不感地帯を離れていないことを位置データが示したときにステップ530に戻る。
【0060】
ステップ545において、モバイルデバイスが静止していることを検出したことに応じて、処理デバイスは、位置データのサンプリングレートまたは位置データをホストサーバに送信しようとするレートを低下させる。例えば、モバイルデバイス105のユーザが駐車場、交差点、交通などで停止する場合、モバイルデバイス105は、ホストシステム110に静止位置を報告する頻度を減らす、または単に報告しない、もしくは報告を試みないことによって処理リソースを節約することができる。
【0061】
ステップ550で、処理デバイスは、モバイルデバイスが静止したままであることを位置データが示しているかどうかを判定する。例えば、モバイルデバイス105は、位置データのサンプリングを継続することができ(最小化している間、またはホストシステム110に位置データを報告せずに)、またはモバイルデバイス105は、加速度計などの別の構成要素に基づいて検出された位置の変化に応じて位置データをサンプリングすることができる。位置データは、モバイルデバイスがまだ静止していることを示しているかどうかを処理デバイスが判定した場合、方法500はステップ550に戻り、モバイルデバイスが再び動き始めるまで待機し続ける。処理デバイスが、モバイルデバイスが静止していることを位置データが示さないかどうかを判定した場合、方法500はステップ555に進む。
【0062】
ステップ555において、モバイルデバイスがもはや静止していないことを検出したことに応じて、処理デバイスは、サンプリングレートの増加をトリガし、増加レート(例えば第2のサンプリングレート)に戻す。方法500はステップ530に戻り、モバイルデバイスの進行方向が解決されたかどうか、いつ解決されたかを検出する。
【0063】
前述の明細書では、本発明は、その特定の例示的な実施形態を参照して説明されてきた。本発明の様々な実施形態及び態様は、本明細書で論じられる詳細を参照して説明され、添付の図面は、様々な実施形態を示している。上記の説明及び図面は、本発明を例示するものであり、本発明を限定するものとして解釈されるべきではない。本明細書における「一実施形態」、「実施形態」、「例示的な実施形態」などへの言及は、説明された実施形態が特定の機能、構造、または特徴を含み得るが、すべての実施形態が必ずしも特定の機能、構造、または特徴を含み得るとは限らないことを示す。さらに、そのような句は必ずしも同じ実施形態を指しているわけではない。さらに、特定の機能、構造、または特徴が一実施形態に関連して説明される場合、そのような機能、構造、または特徴は、明示的に説明されるかどうかにかかわらず、他の実施形態に関連して実装され得る。本明細書では、破線の境界線(例えば、大きなダッシュ、小さなダッシュ、ドットダッシュ、ドット)を有するブロックを使用して、本発明の実施形態に追加の特徴を追加する任意の動作を説明することができる。しかし、そのような表記は、これらが唯一の任意選択もしくは任意選択の動作であること、及び/または本発明の特定の実施形態において実線の境界を有するブロックが任意選択ではないことを意味すると解釈されるべきではない。本発明の様々な実施形態の完全な理解を提供するために、多数の特定の詳細が説明されている。しかし、特定の例において、本発明の実施形態の簡潔な説明を提供するために、周知のまたは従来の詳細は記載されていない。
【0064】
以下の特許請求の範囲に記載されているように、本発明のより広い趣旨及び範囲から逸脱することなく、様々な修正を加えることができることは明らかであろう。例えば、本明細書に記載の方法は、より少ないもしくはより多い機能/動作で実行され得るか、または機能/動作が異なる順序で実行され得る。さらに、本明細書に記載の方法は、互いに並行して、または同じもしくは類似の方法の異なる実施例と並行して、繰り返されるか、または実行され得る。